Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(772)

Side by Side Diff: chrome/browser/resources/settings/controls/controlled_radio_button.html

Issue 2816883002: MD Settings: compose a <paper-radio-button> instead of wrapping one in <controlled-radio-button> (Closed)
Patch Set: nits Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <link rel="import" href="chrome://resources/html/polymer.html"> 1 <link rel="import" href="chrome://resources/html/polymer.html">
2 <link rel="import" href="chrome://resources/polymer/v1_0/paper-radio-button/pape r-radio-button.html"> 2 <link rel="import" href="chrome://resources/polymer/v1_0/paper-radio-button/pape r-radio-button.html">
dpapad 2017/04/13 00:35:09 No longer needed?
Dan Beam 2017/04/13 00:59:01 Done. (with pleasure)
3 <link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_pref_in dicator.html"> 3 <link rel="import" href="chrome://resources/cr_elements/policy/cr_policy_pref_in dicator.html">
4 <link rel="import" href="pref_control_behavior.html"> 4 <link rel="import" href="pref_control_behavior.html">
5 <link rel="import" href="../prefs/pref_util.html"> 5 <link rel="import" href="../prefs/pref_util.html">
6 <link rel="import" href="../settings_shared_css.html"> 6 <link rel="import" href="../settings_shared_css.html">
7 7
8 <dom-module id="controlled-radio-button"> 8 <dom-module id="controlled-radio-button">
9 <template> 9 <template>
10 <style include="settings-shared"> 10 <style include="settings-shared">
11 :host { 11 :host {
12 --ink-to-circle: calc((var(--paper-radio-button-ink-size) -
13 var(--paper-radio-button-size)) / 2);
12 align-items: center; 14 align-items: center;
13 display: flex; 15 display: flex;
14 outline: none; 16 outline: none;
15 } 17 }
16 18
17 #radioButton { 19 #labelWrapper {
20 -webkit-margin-start: var(--paper-radio-button-label-spacing, 10px);
18 flex: 1; 21 flex: 1;
19 } 22 }
20 23
24 #label {
25 color: var(--paper-radio-button-label-color, var(--primary-text-color));
26 }
27
28 .circle,
29 .disc,
30 .disc-wrapper,
31 paper-ripple {
32 border-radius: 50%;
33 }
34
35 .disc-wrapper {
36 height: var(--paper-radio-button-ink-size);
37 margin: 0 calc(-1 * var(--ink-to-circle));
38 position: relative;
39 width: var(--paper-radio-button-ink-size);
40 }
41
42 .circle,
43 .disc {
44 box-sizing: border-box;
45 height: var(--paper-radio-button-size);
46 left: var(--ink-to-circle);
47 position: absolute;
48 top: var(--ink-to-circle);
49 width: var(--paper-radio-button-size);
50 }
51
52 .circle {
53 border: 2px solid var(--paper-radio-button-unchecked-color,
54 --primary-text-color);
55 }
56
57 :host([checked]) .circle {
58 border-color: var(--paper-radio-button-checked-color, --primary-color);
59 }
60
61 .disc {
62 background-color: var(--paper-radio-button-unchecked-background-color,
63 transparent);
64 transform: scale(0);
65 transition: border-color 200ms, transform 200ms;
66 }
67
68 :host([checked]) .disc {
69 background-color: var(--paper-radio-button-checked-color,
70 --primary-color);
71 transform: scale(0.5);
72 }
73
74 paper-ripple {
75 color: var(--paper-radio-button-unchecked-ink-color,
76 --primary-text-color);
77 opacity: .6;
78 }
79
80 :host([checked]) paper-ripple {
81 color: var(--paper-radio-button-checked-ink-color,
82 --primary-text-color);
83 }
84
21 :host([controlled_]) { 85 :host([controlled_]) {
22 /* Disable pointer events for this whole element, as outer on-tap gets 86 /* Disable pointer events for this whole element, as outer on-tap gets
23 * triggered when clicking/tapping anywhere in :host. */ 87 * triggered when clicking/tapping anywhere in :host. */
24 pointer-events: none; 88 pointer-events: none;
25 } 89 }
26 90
91 :host([controlled_]) :-webkit-any(.circle, .disc) {
92 opacity: .5;
93 }
94
95 :host([controlled_]) .circle {
96 border-color: var(--paper-radio-button-unchecked-color,
97 --primary-text-color);
98 }
99
100 :host([controlled_][checked]) .disc {
101 background-color: var(--paper-radio-button-unchecked-color,
102 --primary-text-color);
103 }
104
105 :host([controlled_]) #labelWrapper {
106 opacity: .65;
107 }
108
27 cr-policy-pref-indicator { 109 cr-policy-pref-indicator {
28 -webkit-margin-start: var(--settings-control-spacing); 110 -webkit-margin-start: var(--settings-control-spacing);
29 /* Enable pointer events for the indicator so :hover works. Disable 111 /* Enable pointer events for the indicator so :hover works. Disable
30 * clicks/taps via onIndicatorTap_ so outer on-tap doesn't trigger. */ 112 * clicks/taps via onIndicatorTap_ so outer on-tap doesn't trigger. */
31 pointer-events: all; 113 pointer-events: all;
32 } 114 }
33 </style> 115 </style>
34 116
35 <paper-radio-button id="radioButton" name="{{name}}" checked="{{checked}}" 117 <div class="disc-wrapper">
36 disabled="[[controlled_]]" tabindex$="[[tabindex]]"> 118 <div class="circle"></div>
37 [[label]] <content></content> 119 <div class="disc"></div>
38 </paper-radio-button> 120 <paper-ripple center hold-down="[[pressed_]]"></paper-ripple>
121 </div>
122
123 <div id="labelWrapper">
124 <span id="label" hidden$="[[!label]]">[[label]]</span>
125 <content></content>
126 </div>
39 127
40 <template is="dom-if" if="[[showIndicator_(controlled_, name, pref.*)]]"> 128 <template is="dom-if" if="[[showIndicator_(controlled_, name, pref.*)]]">
41 <cr-policy-pref-indicator pref="[[pref]]" on-tap="onIndicatorTap_" 129 <cr-policy-pref-indicator pref="[[pref]]" on-tap="onIndicatorTap_"
42 icon-aria-label="[[label]]"> 130 icon-aria-label="[[label]]">
43 </cr-policy-pref-indicator> 131 </cr-policy-pref-indicator>
44 </template> 132 </template>
45 133
46 </template> 134 </template>
47 <script src="controlled_radio_button.js"></script> 135 <script src="controlled_radio_button.js"></script>
48 </dom-module> 136 </dom-module>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698