blob: 13c6a47673e26f2e653153c7ea27cd666b58efdf [file] [log] [blame]
<link rel="import" href="chrome://resources/html/polymer.html">
<link rel="import" href="chrome://resources/polymer/v1_0/paper-radio-button/paper-radio-button.html">
<link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_pref_indicator.html">
<link rel="import" href="/controls/pref_control_behavior.html">
<link rel="import" href="/prefs/pref_util.html">
<link rel="import" href="/settings_shared_css.html">
<dom-module id="controlled-radio-button">
<template>
<style include="settings-shared">
:host {
align-items: center;
display: flex;
outline: none;
}
:host([controlled_]) {
/* Disable pointer events for this whole element, as outer on-tap gets
* triggered when clicking/tapping anywhere in :host. */
pointer-events: none;
}
cr-policy-pref-indicator {
-webkit-margin-start: var(--checkbox-spacing);
/* Enable pointer events for the indicator so :hover works. Disable
* clicks/taps via onIndicatorTap_ so outer on-tap doesn't trigger. */
pointer-events: all;
}
</style>
<paper-radio-button id="radioButton" name="{{name}}" checked="{{checked}}"
disabled="[[controlled_]]" tabindex$="[[tabindex]]">
<content></content>
</paper-radio-button>
<template is="dom-if" if="[[showIndicator_(controlled_, name, pref)]]">
<cr-policy-pref-indicator pref="[[pref]]" on-tap="onIndicatorTap_">
</cr-policy-pref-indicator>
</template>
</template>
<script src="/controls/controlled_radio_button.js"></script>
</dom-module>