@api-client/ui 0.2.10 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/build/src/elements/http/CertificateAdd.element.d.ts.map +1 -1
  2. package/build/src/elements/http/CertificateAdd.element.js +2 -5
  3. package/build/src/elements/http/CertificateAdd.element.js.map +1 -1
  4. package/build/src/elements/user/internals/UserAvatar.styles.d.ts.map +1 -1
  5. package/build/src/elements/user/internals/UserAvatar.styles.js +0 -1
  6. package/build/src/elements/user/internals/UserAvatar.styles.js.map +1 -1
  7. package/build/src/md/UiElement.d.ts +5 -0
  8. package/build/src/md/UiElement.d.ts.map +1 -1
  9. package/build/src/md/UiElement.js +7 -0
  10. package/build/src/md/UiElement.js.map +1 -1
  11. package/build/src/md/button/ui-elevated-button.d.ts +1 -1
  12. package/build/src/md/button/ui-elevated-button.js +1 -1
  13. package/build/src/md/button/ui-elevated-button.js.map +1 -1
  14. package/build/src/md/button/ui-filled-button.d.ts +1 -1
  15. package/build/src/md/button/ui-filled-button.js +1 -1
  16. package/build/src/md/button/ui-filled-button.js.map +1 -1
  17. package/build/src/md/button/ui-filled-tonal-button.d.ts +3 -3
  18. package/build/src/md/button/ui-filled-tonal-button.d.ts.map +1 -1
  19. package/build/src/md/button/ui-filled-tonal-button.js +6 -6
  20. package/build/src/md/button/ui-filled-tonal-button.js.map +1 -1
  21. package/build/src/md/button/ui-outlined-button.d.ts +1 -1
  22. package/build/src/md/button/ui-outlined-button.js +1 -1
  23. package/build/src/md/button/ui-outlined-button.js.map +1 -1
  24. package/build/src/md/button/ui-text-button.d.ts +1 -1
  25. package/build/src/md/button/ui-text-button.js +1 -1
  26. package/build/src/md/button/ui-text-button.js.map +1 -1
  27. package/build/src/md/checkbox/internals/Checkbox.styles.d.ts.map +1 -1
  28. package/build/src/md/checkbox/internals/Checkbox.styles.js +55 -216
  29. package/build/src/md/checkbox/internals/Checkbox.styles.js.map +1 -1
  30. package/build/src/md/checkbox/internals/CheckboxElement.d.ts +10 -7
  31. package/build/src/md/checkbox/internals/CheckboxElement.d.ts.map +1 -1
  32. package/build/src/md/checkbox/internals/CheckboxElement.js +39 -32
  33. package/build/src/md/checkbox/internals/CheckboxElement.js.map +1 -1
  34. package/build/src/md/checkbox/internals/CheckedElement.d.ts.map +1 -1
  35. package/build/src/md/checkbox/internals/CheckedElement.js +1 -0
  36. package/build/src/md/checkbox/internals/CheckedElement.js.map +1 -1
  37. package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts +13 -2
  38. package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts.map +1 -1
  39. package/build/src/md/dropdown-list/internals/UiDropdownList.js +59 -20
  40. package/build/src/md/dropdown-list/internals/UiDropdownList.js.map +1 -1
  41. package/build/src/md/icon-button/internals/IconButton.d.ts +8 -24
  42. package/build/src/md/icon-button/internals/IconButton.d.ts.map +1 -1
  43. package/build/src/md/icon-button/internals/IconButton.js +35 -63
  44. package/build/src/md/icon-button/internals/IconButton.js.map +1 -1
  45. package/build/src/md/icon-button/internals/{IconButton.styles.d.ts → base.styles.d.ts} +1 -1
  46. package/build/src/md/icon-button/internals/base.styles.d.ts.map +1 -0
  47. package/build/src/md/icon-button/internals/base.styles.js +93 -0
  48. package/build/src/md/icon-button/internals/base.styles.js.map +1 -0
  49. package/build/src/md/icon-button/internals/filled-tonal.styles.d.ts +3 -0
  50. package/build/src/md/icon-button/internals/filled-tonal.styles.d.ts.map +1 -0
  51. package/build/src/md/icon-button/internals/filled-tonal.styles.js +30 -0
  52. package/build/src/md/icon-button/internals/filled-tonal.styles.js.map +1 -0
  53. package/build/src/md/icon-button/internals/filled.styles.d.ts +3 -0
  54. package/build/src/md/icon-button/internals/filled.styles.d.ts.map +1 -0
  55. package/build/src/md/icon-button/internals/filled.styles.js +36 -0
  56. package/build/src/md/icon-button/internals/filled.styles.js.map +1 -0
  57. package/build/src/md/icon-button/internals/outlined.styles.d.ts +3 -0
  58. package/build/src/md/icon-button/internals/outlined.styles.d.ts.map +1 -0
  59. package/build/src/md/icon-button/internals/outlined.styles.js +31 -0
  60. package/build/src/md/icon-button/internals/outlined.styles.js.map +1 -0
  61. package/build/src/md/icon-button/internals/standard.styles.d.ts +3 -0
  62. package/build/src/md/icon-button/internals/standard.styles.d.ts.map +1 -0
  63. package/build/src/md/icon-button/internals/standard.styles.js +18 -0
  64. package/build/src/md/icon-button/internals/standard.styles.js.map +1 -0
  65. package/build/src/md/icon-button/ui-filled-icon-button.d.ts +11 -0
  66. package/build/src/md/icon-button/ui-filled-icon-button.d.ts.map +1 -0
  67. package/build/src/md/icon-button/ui-filled-icon-button.js +28 -0
  68. package/build/src/md/icon-button/ui-filled-icon-button.js.map +1 -0
  69. package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts +11 -0
  70. package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts.map +1 -0
  71. package/build/src/md/icon-button/ui-filled-tonal-icon-button.js +28 -0
  72. package/build/src/md/icon-button/ui-filled-tonal-icon-button.js.map +1 -0
  73. package/build/src/md/icon-button/ui-icon-button.d.ts.map +1 -1
  74. package/build/src/md/icon-button/ui-icon-button.js +3 -2
  75. package/build/src/md/icon-button/ui-icon-button.js.map +1 -1
  76. package/build/src/md/icon-button/ui-outlined-icon-button.d.ts +11 -0
  77. package/build/src/md/icon-button/ui-outlined-icon-button.d.ts.map +1 -0
  78. package/build/src/md/icon-button/ui-outlined-icon-button.js +28 -0
  79. package/build/src/md/icon-button/ui-outlined-icon-button.js.map +1 -0
  80. package/build/src/md/icons/internals/Icon.d.ts +1 -0
  81. package/build/src/md/icons/internals/Icon.d.ts.map +1 -1
  82. package/build/src/md/icons/internals/Icon.js +13 -0
  83. package/build/src/md/icons/internals/Icon.js.map +1 -1
  84. package/build/src/md/icons/internals/Icon.styles.d.ts.map +1 -1
  85. package/build/src/md/icons/internals/Icon.styles.js +31 -2
  86. package/build/src/md/icons/internals/Icon.styles.js.map +1 -1
  87. package/build/src/md/list/internals/ListItem.d.ts +4 -3
  88. package/build/src/md/list/internals/ListItem.d.ts.map +1 -1
  89. package/build/src/md/list/internals/ListItem.js +20 -18
  90. package/build/src/md/list/internals/ListItem.js.map +1 -1
  91. package/build/src/md/list/internals/ListItem.styles.d.ts.map +1 -1
  92. package/build/src/md/list/internals/ListItem.styles.js +6 -2
  93. package/build/src/md/list/internals/ListItem.styles.js.map +1 -1
  94. package/build/src/md/ripple/internals/ripple.d.ts +2 -1
  95. package/build/src/md/ripple/internals/ripple.d.ts.map +1 -1
  96. package/build/src/md/ripple/internals/ripple.js +42 -12
  97. package/build/src/md/ripple/internals/ripple.js.map +1 -1
  98. package/build/src/md/segmented-button/internals/SegmentedButton.d.ts +1 -1
  99. package/build/src/md/segmented-button/internals/SegmentedButton.d.ts.map +1 -1
  100. package/build/src/md/segmented-button/internals/SegmentedButton.js +1 -1
  101. package/build/src/md/segmented-button/internals/SegmentedButton.js.map +1 -1
  102. package/demo/md/buttons/{button.html → index.html} +1 -1
  103. package/demo/md/{inputs/checkbox.html → checkbox/index.html} +1 -1
  104. package/demo/md/{list/dropdown-list.html → dropdown-list/index.html} +1 -1
  105. package/demo/md/{buttons/icon-button.html → icon-button/index.html} +5 -1
  106. package/demo/md/icon-button/index.ts +236 -0
  107. package/demo/md/index.html +36 -29
  108. package/demo/md/listbox/listbox.html +31 -0
  109. package/demo/md/listbox/listbox.ts +27 -0
  110. package/demo/md/{buttons/segmented-buttons.html → segmented-button/index.html} +1 -1
  111. package/package.json +2 -2
  112. package/src/elements/http/CertificateAdd.element.ts +2 -5
  113. package/src/elements/user/internals/UserAvatar.styles.ts +0 -1
  114. package/src/md/UiElement.ts +8 -0
  115. package/src/md/button/ui-elevated-button.ts +1 -1
  116. package/src/md/button/ui-filled-button.ts +1 -1
  117. package/src/md/button/ui-filled-tonal-button.ts +3 -3
  118. package/src/md/button/ui-outlined-button.ts +1 -1
  119. package/src/md/button/ui-text-button.ts +1 -1
  120. package/src/md/checkbox/internals/Checkbox.styles.ts +55 -216
  121. package/src/md/checkbox/internals/CheckboxElement.ts +39 -26
  122. package/src/md/checkbox/internals/CheckedElement.ts +1 -0
  123. package/src/md/dropdown-list/internals/UiDropdownList.ts +60 -21
  124. package/src/md/icon-button/internals/IconButton.ts +29 -46
  125. package/src/md/icon-button/internals/base.styles.ts +93 -0
  126. package/src/md/icon-button/internals/filled-tonal.styles.ts +30 -0
  127. package/src/md/icon-button/internals/filled.styles.ts +36 -0
  128. package/src/md/icon-button/internals/outlined.styles.ts +31 -0
  129. package/src/md/icon-button/internals/standard.styles.ts +18 -0
  130. package/src/md/icon-button/ui-filled-icon-button.ts +16 -0
  131. package/src/md/icon-button/ui-filled-tonal-icon-button.ts +16 -0
  132. package/src/md/icon-button/ui-icon-button.ts +3 -2
  133. package/src/md/icon-button/ui-outlined-icon-button.ts +16 -0
  134. package/src/md/icons/internals/Icon.styles.ts +31 -2
  135. package/src/md/icons/internals/Icon.ts +14 -0
  136. package/src/md/list/internals/ListItem.styles.ts +6 -2
  137. package/src/md/list/internals/ListItem.ts +16 -21
  138. package/src/md/ripple/internals/ripple.ts +47 -13
  139. package/src/md/segmented-button/internals/SegmentedButton.ts +2 -2
  140. package/test/ui/button/UiIconButton.test.ts +1 -8
  141. package/build/src/lib/UserCache.d.ts +0 -13
  142. package/build/src/lib/UserCache.d.ts.map +0 -1
  143. package/build/src/lib/UserCache.js +0 -30
  144. package/build/src/lib/UserCache.js.map +0 -1
  145. package/build/src/md/icon-button/internals/IconButton.styles.d.ts.map +0 -1
  146. package/build/src/md/icon-button/internals/IconButton.styles.js +0 -614
  147. package/build/src/md/icon-button/internals/IconButton.styles.js.map +0 -1
  148. package/demo/md/buttons/icon-button.ts +0 -184
  149. package/src/lib/UserCache.ts +0 -33
  150. package/src/md/icon-button/internals/IconButton.styles.ts +0 -614
  151. /package/demo/md/buttons/{button.ts → index.ts} +0 -0
  152. /package/demo/md/{inputs/checkbox.ts → checkbox/index.ts} +0 -0
  153. /package/demo/md/{list/dropdown-list.ts → dropdown-list/index.ts} +0 -0
  154. /package/demo/md/{buttons/segmented-buttons.ts → segmented-button/index.ts} +0 -0
@@ -6,29 +6,44 @@ export default css `
6
6
  outline: none;
7
7
  -webkit-tap-highlight-color: transparent;
8
8
 
9
+ position: relative;
10
+
9
11
  --md-ripple-hover-state-layer-color: var(--md-sys-color-on-surface);
10
12
  --md-ripple-focus-state-layer-color: var(--md-sys-color-on-surface);
11
13
  --md-ripple-pressed-state-layer-color: var(--md-sys-color-primary);
14
+
15
+ --_container-border-color: var(--md-sys-color-on-surface);
16
+ --_container-border-width: 2px;
17
+ --_container-background-color: transparent;
18
+ --_container-opacity: 1;
19
+
20
+ --_check-mark-color: currentColor;
21
+
22
+ --_checkbox-width: 18px;
23
+ --_checkbox-height: 18px;
24
+ --_state-width: 40px;
25
+ --_state-height: 40px;
12
26
  }
13
27
 
14
28
  .surface {
15
29
  position: relative;
16
- min-width: 40px;
17
- height: 40px;
30
+ min-width: var(--_state-width);
31
+ height: var(--_state-height);
18
32
  display: flex;
19
33
  align-items: center;
20
34
  }
21
35
 
22
36
  .container {
23
37
  border-radius: 2px;
24
- border: 2px var(--md-sys-color-on-surface) solid;
25
- background-color: transparent;
38
+ border: var(--_container-border-width) var(--_container-border-color) solid;
39
+ background-color: var(--_container-background-color);
40
+ opacity: var(--_container-opacity);
26
41
 
27
42
  position: absolute;
28
43
  inset: 11px 0px 0px 11px;
29
44
 
30
- width: 18px;
31
- height: 18px;
45
+ width: var(--_checkbox-width);
46
+ height: var(--_checkbox-height);
32
47
 
33
48
  box-sizing: border-box;
34
49
 
@@ -39,22 +54,23 @@ export default css `
39
54
  }
40
55
 
41
56
  .icon {
42
- width: 18px;
43
- height: 18px;
57
+ width: var(--_checkbox-width);
58
+ height: var(--_checkbox-height);
44
59
  position: absolute;
45
60
  inset: 11px 0 0 11px;
46
61
  }
47
62
 
48
63
  .icon > svg {
49
- width: 18px !important;
50
- height: 18px !important;
64
+ width: var(--_checkbox-width) !important;
65
+ height: var(--_checkbox-height) !important;
66
+ fill: var(--_check-mark-color);
51
67
  }
52
68
 
53
69
  .state {
54
70
  position: absolute;
55
71
  inset: 0;
56
- width: 40px;
57
- height: 40px;
72
+ width: var(--_state-width);
73
+ height: var(--_state-height);
58
74
  border-radius: var(--md-sys-shape-corner-full);
59
75
  }
60
76
 
@@ -63,223 +79,46 @@ export default css `
63
79
  z-index: 3;
64
80
  }
65
81
 
66
- :host([checked]) .container,
67
- :host([indeterminate]) .container {
68
- border-width: 0px;
69
- background-color: var(--md-sys-color-primary);
70
- }
71
-
72
- :host([checked]) .icon > svg,
73
- :host([indeterminate]) .icon > svg {
74
- fill: var(--md-sys-color-on-primary);
75
- }
76
-
77
- /* Invalid state */
78
-
79
- :host([invalid]) .container {
80
- border-color: var(--md-sys-color-error);
81
- }
82
-
83
- :host([checked][invalid]) .container,
84
- :host([indeterminate][invalid]) .container {
85
- border-color: transparent;
86
- background-color: var(--md-sys-color-error);
87
- }
88
-
89
- :host([checked][invalid]) .icon > svg,
90
- :host([indeterminate][invalid]) .icon > svg {
91
- fill: var(--md-sys-color-on-error);
92
- }
93
-
94
- /* Disabled state */
95
-
96
- :host([disabled]) {
97
- pointer-events: none;
98
- }
99
-
100
- :host([disabled]) .container {
101
- border-color: var(--md-sys-color-on-surface);
102
- border-width: 2px;
103
- opacity: 38%;
82
+ :host([checked]) {
83
+ --md-ripple-hover-state-layer-color: var(--md-sys-color-primary);
84
+ --md-ripple-focus-state-layer-color: var(--md-sys-color-primary);
85
+ --md-ripple-pressed-state-layer-color: var(--md-sys-color-on-surface);
104
86
  }
105
87
 
106
- :host([checked][disabled]) .container,
107
- :host([indeterminate][disabled]) .container {
108
- background-color: var(--md-sys-color-on-surface);
109
- border-width: 0;
110
- opacity: 38%;
88
+ :host([checked]),
89
+ :host([indeterminate]) {
90
+ --_container-border-width: 0px;
91
+ --_container-background-color: var(--md-sys-color-primary);
92
+ --_check-mark-color: var(--md-sys-color-on-primary);
111
93
  }
112
94
 
113
- :host([checked][disabled]) .icon > svg,
114
- :host([indeterminate][disabled]) .icon > svg {
115
- fill: var(--md-sys-color-surface);
116
- }
117
-
118
- /* Hover state */
119
-
120
- /* :host(:hover) .state {
121
- background-color: var(--md-sys-color-on-surface);
122
- opacity: var(--md-sys-state-hover-state-layer-opacity);
123
- } */
124
-
125
- /* :host([checked]:hover) .state,
126
- :host([indeterminate]:hover) .state {
127
- background-color: var(--md-sys-color-primary);
128
- opacity: var(--md-sys-state-hover-state-layer-opacity);
129
- } */
130
-
131
- :host(:hover) .container {
132
- border-color: var(--md-sys-color-on-surface);
133
- border-width: 2px;
134
- }
135
-
136
- :host([checked]:hover) .container,
137
- :host([indeterminate]:hover) .container {
138
- background-color: var(--md-sys-color-primary);
139
- border-width: 0px;
140
- }
141
-
142
- :host(:hover) .icon > svg {
143
- fill: var(--md-sys-color-on-primary);
144
- }
145
-
146
- :host([invalid]:hover) {
95
+ :host([invalid]) {
147
96
  --md-ripple-hover-state-layer-color: var(--md-sys-color-error);
148
97
  --md-ripple-focus-state-layer-color: var(--md-sys-color-error);
149
98
  --md-ripple-pressed-state-layer-color: var(--md-sys-color-error);
99
+ --_container-border-color: var(--md-sys-color-error);
150
100
  }
151
101
 
152
- /* :host([invalid]:hover) .state {
153
- background-color: var(--md-sys-color-error);
154
- opacity: var(--md-sys-state-hover-state-layer-opacity);
155
- } */
156
-
157
- :host([invalid]:hover) .container {
158
- border-color: var(--md-sys-color-error);
159
- border-width: 2px;
102
+ :host([checked][invalid]),
103
+ :host([indeterminate][invalid]) {
104
+ --_check-mark-color: var(--md-sys-color-on-error);
105
+ --_container-border-color: transparent;
106
+ --_container-background-color: var(--md-sys-color-error);
160
107
  }
161
108
 
162
- :host([checked][invalid]:hover) .container,
163
- :host([indeterminate][invalid]:hover) .container {
164
- background-color: var(--md-sys-color-error);
165
- border-width: 0px;
166
- }
167
-
168
- :host([checked][invalid]:hover) .icon > svg,
169
- :host([indeterminate][invalid]:hover) .icon > svg {
170
- fill: var(--md-sys-color-on-error);
171
- }
172
-
173
- /* Focus state */
174
-
175
- /* :host(:focus) .state {
176
- background-color: var(--md-sys-color-primary);
177
- opacity: var(--md-sys-state-focus-state-layer-opacity);
178
- }
179
-
180
- :host([checked]:focus) .state,
181
- :host([indeterminate]:focus) .state {
182
- background-color: var(--md-sys-color-on-surface);
183
- opacity: var(--md-sys-state-focus-state-layer-opacity);
184
- } */
185
-
186
- :host(:focus) .container {
187
- border-color: var(--md-sys-color-on-surface);
188
- border-width: 2px;
189
- }
190
-
191
- :host([checked]:focus) .container,
192
- :host([indeterminate]:focus) .container {
193
- background-color: var(--md-sys-color-primary);
194
- border-width: 0px;
195
- }
196
-
197
- :host(:focus) .icon > svg {
198
- fill: var(--md-sys-color-on-primary);
199
- }
200
-
201
- /* :host([invalid]:focus) .state {
202
- background-color: var(--md-sys-color-error);
203
- opacity: var(--md-sys-state-focus-state-layer-opacity);
204
- } */
205
-
206
- :host([invalid]:focus) .container {
207
- border-color: var(--md-sys-color-error);
208
- border-width: 2px;
209
- }
210
-
211
- :host([checked][invalid]:focus) .container,
212
- :host([indeterminate][invalid]:focus) .container {
213
- background-color: var(--md-sys-color-error);
214
- border-width: 0px;
215
- }
216
-
217
- :host([checked][invalid]:focus) .icon > svg,
218
- :host([indeterminate][invalid]:focus) .icon > svg {
219
- fill: var(--md-sys-color-on-error);
220
- }
221
-
222
- /* Pressed state */
223
-
224
- /* :host(:active) .state,
225
- :host .pressed .state {
226
- background-color: var(--md-sys-color-primary);
227
- opacity: var(--md-sys-state-pressed-state-layer-opacity);
228
- }
229
-
230
- :host([checked]:active) .state,
231
- :host([checked]) .pressed .state,
232
- :host([indeterminate]:active) .state,
233
- :host([indeterminate]) .pressed .state {
234
- background-color: var(--md-sys-color-on-surface);
235
- opacity: var(--md-sys-state-pressed-state-layer-opacity);
236
- } */
237
-
238
- :host(:active) .container,
239
- :host .pressed .container {
240
- border-color: var(--md-sys-color-on-surface);
241
- border-width: 2px;
242
- }
243
-
244
- :host([checked]:active) .container,
245
- :host([checked]) .pressed .container,
246
- :host([indeterminate]:active) .container,
247
- :host([indeterminate]) .pressed .container {
248
- background-color: var(--md-sys-color-primary);
249
- border-width: 0px;
250
- }
251
-
252
- :host([checked]:active) .icon > svg,
253
- :host([checked]) .pressed .icon > svg,
254
- :host([indeterminate]:active) .icon > svg,
255
- :host([indeterminate]) .pressed .icon > svg {
256
- fill: var(--md-sys-color-on-primary);
257
- }
258
-
259
- /* :host([invalid]:active) .state,
260
- :host([invalid]) .pressed .state {
261
- background-color: var(--md-sys-color-error);
262
- opacity: var(--md-sys-state-pressed-state-layer-opacity);
263
- } */
264
-
265
- :host([invalid]:active) .container,
266
- :host([invalid]) .pressed .container {
267
- border-color: var(--md-sys-color-error);
268
- border-width: 2px;
269
- }
270
-
271
- :host([checked][invalid]:active) .container,
272
- :host([checked][invalid]) .pressed .container,
273
- :host([indeterminate][invalid]:active) .container :host([indeterminate][invalid]) .pressed .container {
274
- background-color: var(--md-sys-color-error);
275
- border-width: 0px;
109
+ :host([disabled]) {
110
+ pointer-events: none;
111
+ --_check-mark-color: var(--md-sys-color-surface);
112
+ --_container-border-color: var(--md-sys-color-on-surface);
113
+ --_container-border-width: 2px;
114
+ --_container-opacity: 38%;
276
115
  }
277
116
 
278
- :host([checked][invalid]:active) .icon > svg,
279
- :host([checked][invalid]) .pressed .icon > svg,
280
- :host([indeterminate][invalid]:active) .icon > svg,
281
- :host([indeterminate][invalid]) .pressed .icon > svg {
282
- fill: var(--md-sys-color-on-error);
117
+ :host([checked][disabled]),
118
+ :host([indeterminate][disabled]) {
119
+ --_container-background-color: var(--md-sys-color-on-surface);
120
+ --_container-border-width: 0;
121
+ --_container-opacity: 38%;
283
122
  }
284
123
  `;
285
124
  //# sourceMappingURL=Checkbox.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.styles.js","sourceRoot":"","sources":["../../../../../src/md/checkbox/internals/Checkbox.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0RjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n display: inline-block;\n vertical-align: middle;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n\n --md-ripple-hover-state-layer-color: var(--md-sys-color-on-surface);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-on-surface);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-primary);\n }\n\n .surface {\n position: relative;\n min-width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n }\n\n .container {\n border-radius: 2px;\n border: 2px var(--md-sys-color-on-surface) solid;\n background-color: transparent;\n\n position: absolute;\n inset: 11px 0px 0px 11px;\n\n width: 18px;\n height: 18px;\n\n box-sizing: border-box;\n\n transition:\n cubic-bezier(0.4, 0, 0.2, 1) border-radius 0.23s,\n cubic-bezier(0.4, 0, 0.2, 1) border-color 0.23s,\n cubic-bezier(0.4, 0, 0.2, 1) background-color 0.13s;\n }\n\n .icon {\n width: 18px;\n height: 18px;\n position: absolute;\n inset: 11px 0 0 11px;\n }\n\n .icon > svg {\n width: 18px !important;\n height: 18px !important;\n }\n\n .state {\n position: absolute;\n inset: 0;\n width: 40px;\n height: 40px;\n border-radius: var(--md-sys-shape-corner-full);\n }\n\n .ripple {\n border-radius: var(--md-sys-shape-corner-full);\n z-index: 3;\n }\n\n :host([checked]) .container,\n :host([indeterminate]) .container {\n border-width: 0px;\n background-color: var(--md-sys-color-primary);\n }\n\n :host([checked]) .icon > svg,\n :host([indeterminate]) .icon > svg {\n fill: var(--md-sys-color-on-primary);\n }\n\n /* Invalid state */\n\n :host([invalid]) .container {\n border-color: var(--md-sys-color-error);\n }\n\n :host([checked][invalid]) .container,\n :host([indeterminate][invalid]) .container {\n border-color: transparent;\n background-color: var(--md-sys-color-error);\n }\n\n :host([checked][invalid]) .icon > svg,\n :host([indeterminate][invalid]) .icon > svg {\n fill: var(--md-sys-color-on-error);\n }\n\n /* Disabled state */\n\n :host([disabled]) {\n pointer-events: none;\n }\n\n :host([disabled]) .container {\n border-color: var(--md-sys-color-on-surface);\n border-width: 2px;\n opacity: 38%;\n }\n\n :host([checked][disabled]) .container,\n :host([indeterminate][disabled]) .container {\n background-color: var(--md-sys-color-on-surface);\n border-width: 0;\n opacity: 38%;\n }\n\n :host([checked][disabled]) .icon > svg,\n :host([indeterminate][disabled]) .icon > svg {\n fill: var(--md-sys-color-surface);\n }\n\n /* Hover state */\n\n /* :host(:hover) .state {\n background-color: var(--md-sys-color-on-surface);\n opacity: var(--md-sys-state-hover-state-layer-opacity);\n} */\n\n /* :host([checked]:hover) .state,\n:host([indeterminate]:hover) .state {\n background-color: var(--md-sys-color-primary);\n opacity: var(--md-sys-state-hover-state-layer-opacity);\n} */\n\n :host(:hover) .container {\n border-color: var(--md-sys-color-on-surface);\n border-width: 2px;\n }\n\n :host([checked]:hover) .container,\n :host([indeterminate]:hover) .container {\n background-color: var(--md-sys-color-primary);\n border-width: 0px;\n }\n\n :host(:hover) .icon > svg {\n fill: var(--md-sys-color-on-primary);\n }\n\n :host([invalid]:hover) {\n --md-ripple-hover-state-layer-color: var(--md-sys-color-error);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-error);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-error);\n }\n\n /* :host([invalid]:hover) .state {\n background-color: var(--md-sys-color-error);\n opacity: var(--md-sys-state-hover-state-layer-opacity);\n} */\n\n :host([invalid]:hover) .container {\n border-color: var(--md-sys-color-error);\n border-width: 2px;\n }\n\n :host([checked][invalid]:hover) .container,\n :host([indeterminate][invalid]:hover) .container {\n background-color: var(--md-sys-color-error);\n border-width: 0px;\n }\n\n :host([checked][invalid]:hover) .icon > svg,\n :host([indeterminate][invalid]:hover) .icon > svg {\n fill: var(--md-sys-color-on-error);\n }\n\n /* Focus state */\n\n /* :host(:focus) .state {\n background-color: var(--md-sys-color-primary);\n opacity: var(--md-sys-state-focus-state-layer-opacity);\n}\n\n:host([checked]:focus) .state,\n:host([indeterminate]:focus) .state {\n background-color: var(--md-sys-color-on-surface);\n opacity: var(--md-sys-state-focus-state-layer-opacity);\n} */\n\n :host(:focus) .container {\n border-color: var(--md-sys-color-on-surface);\n border-width: 2px;\n }\n\n :host([checked]:focus) .container,\n :host([indeterminate]:focus) .container {\n background-color: var(--md-sys-color-primary);\n border-width: 0px;\n }\n\n :host(:focus) .icon > svg {\n fill: var(--md-sys-color-on-primary);\n }\n\n /* :host([invalid]:focus) .state {\n background-color: var(--md-sys-color-error);\n opacity: var(--md-sys-state-focus-state-layer-opacity);\n} */\n\n :host([invalid]:focus) .container {\n border-color: var(--md-sys-color-error);\n border-width: 2px;\n }\n\n :host([checked][invalid]:focus) .container,\n :host([indeterminate][invalid]:focus) .container {\n background-color: var(--md-sys-color-error);\n border-width: 0px;\n }\n\n :host([checked][invalid]:focus) .icon > svg,\n :host([indeterminate][invalid]:focus) .icon > svg {\n fill: var(--md-sys-color-on-error);\n }\n\n /* Pressed state */\n\n /* :host(:active) .state,\n:host .pressed .state {\n background-color: var(--md-sys-color-primary);\n opacity: var(--md-sys-state-pressed-state-layer-opacity);\n}\n\n:host([checked]:active) .state,\n:host([checked]) .pressed .state,\n:host([indeterminate]:active) .state,\n:host([indeterminate]) .pressed .state {\n background-color: var(--md-sys-color-on-surface);\n opacity: var(--md-sys-state-pressed-state-layer-opacity);\n} */\n\n :host(:active) .container,\n :host .pressed .container {\n border-color: var(--md-sys-color-on-surface);\n border-width: 2px;\n }\n\n :host([checked]:active) .container,\n :host([checked]) .pressed .container,\n :host([indeterminate]:active) .container,\n :host([indeterminate]) .pressed .container {\n background-color: var(--md-sys-color-primary);\n border-width: 0px;\n }\n\n :host([checked]:active) .icon > svg,\n :host([checked]) .pressed .icon > svg,\n :host([indeterminate]:active) .icon > svg,\n :host([indeterminate]) .pressed .icon > svg {\n fill: var(--md-sys-color-on-primary);\n }\n\n /* :host([invalid]:active) .state,\n:host([invalid]) .pressed .state {\n background-color: var(--md-sys-color-error);\n opacity: var(--md-sys-state-pressed-state-layer-opacity);\n} */\n\n :host([invalid]:active) .container,\n :host([invalid]) .pressed .container {\n border-color: var(--md-sys-color-error);\n border-width: 2px;\n }\n\n :host([checked][invalid]:active) .container,\n :host([checked][invalid]) .pressed .container,\n :host([indeterminate][invalid]:active) .container :host([indeterminate][invalid]) .pressed .container {\n background-color: var(--md-sys-color-error);\n border-width: 0px;\n }\n\n :host([checked][invalid]:active) .icon > svg,\n :host([checked][invalid]) .pressed .icon > svg,\n :host([indeterminate][invalid]:active) .icon > svg,\n :host([indeterminate][invalid]) .pressed .icon > svg {\n fill: var(--md-sys-color-on-error);\n }\n`\n"]}
1
+ {"version":3,"file":"Checkbox.styles.js","sourceRoot":"","sources":["../../../../../src/md/checkbox/internals/Checkbox.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyHjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n display: inline-block;\n vertical-align: middle;\n outline: none;\n -webkit-tap-highlight-color: transparent;\n\n position: relative;\n\n --md-ripple-hover-state-layer-color: var(--md-sys-color-on-surface);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-on-surface);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-primary);\n\n --_container-border-color: var(--md-sys-color-on-surface);\n --_container-border-width: 2px;\n --_container-background-color: transparent;\n --_container-opacity: 1;\n\n --_check-mark-color: currentColor;\n\n --_checkbox-width: 18px;\n --_checkbox-height: 18px;\n --_state-width: 40px;\n --_state-height: 40px;\n }\n\n .surface {\n position: relative;\n min-width: var(--_state-width);\n height: var(--_state-height);\n display: flex;\n align-items: center;\n }\n\n .container {\n border-radius: 2px;\n border: var(--_container-border-width) var(--_container-border-color) solid;\n background-color: var(--_container-background-color);\n opacity: var(--_container-opacity);\n\n position: absolute;\n inset: 11px 0px 0px 11px;\n\n width: var(--_checkbox-width);\n height: var(--_checkbox-height);\n\n box-sizing: border-box;\n\n transition:\n cubic-bezier(0.4, 0, 0.2, 1) border-radius 0.23s,\n cubic-bezier(0.4, 0, 0.2, 1) border-color 0.23s,\n cubic-bezier(0.4, 0, 0.2, 1) background-color 0.13s;\n }\n\n .icon {\n width: var(--_checkbox-width);\n height: var(--_checkbox-height);\n position: absolute;\n inset: 11px 0 0 11px;\n }\n\n .icon > svg {\n width: var(--_checkbox-width) !important;\n height: var(--_checkbox-height) !important;\n fill: var(--_check-mark-color);\n }\n\n .state {\n position: absolute;\n inset: 0;\n width: var(--_state-width);\n height: var(--_state-height);\n border-radius: var(--md-sys-shape-corner-full);\n }\n\n .ripple {\n border-radius: var(--md-sys-shape-corner-full);\n z-index: 3;\n }\n\n :host([checked]) {\n --md-ripple-hover-state-layer-color: var(--md-sys-color-primary);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-primary);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-on-surface);\n }\n\n :host([checked]),\n :host([indeterminate]) {\n --_container-border-width: 0px;\n --_container-background-color: var(--md-sys-color-primary);\n --_check-mark-color: var(--md-sys-color-on-primary);\n }\n\n :host([invalid]) {\n --md-ripple-hover-state-layer-color: var(--md-sys-color-error);\n --md-ripple-focus-state-layer-color: var(--md-sys-color-error);\n --md-ripple-pressed-state-layer-color: var(--md-sys-color-error);\n --_container-border-color: var(--md-sys-color-error);\n }\n\n :host([checked][invalid]),\n :host([indeterminate][invalid]) {\n --_check-mark-color: var(--md-sys-color-on-error);\n --_container-border-color: transparent;\n --_container-background-color: var(--md-sys-color-error);\n }\n\n :host([disabled]) {\n pointer-events: none;\n --_check-mark-color: var(--md-sys-color-surface);\n --_container-border-color: var(--md-sys-color-on-surface);\n --_container-border-width: 2px;\n --_container-opacity: 38%;\n }\n\n :host([checked][disabled]),\n :host([indeterminate][disabled]) {\n --_container-background-color: var(--md-sys-color-on-surface);\n --_container-border-width: 0;\n --_container-opacity: 38%;\n }\n`\n"]}
@@ -1,17 +1,20 @@
1
1
  import { SVGTemplateResult, TemplateResult, nothing } from 'lit';
2
2
  import CheckedElement from './CheckedElement.js';
3
- import UiRipple from '../../ripple/internals/ripple.js';
3
+ import type UiRipple from '../../ripple/internals/ripple.js';
4
+ import type { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js';
4
5
  import '../../ripple/ui-ripple.js';
6
+ import '@material/web/focus/md-focus-ring.js';
5
7
  export default class CheckboxElement extends CheckedElement {
6
8
  protected get _icon(): SVGTemplateResult | typeof nothing;
7
- protected accessor ripple: Promise<UiRipple | null>;
8
- protected accessor showRipple: boolean;
9
- protected readonly getRipple: () => Promise<UiRipple | null>;
10
- protected handleFocus(): Promise<void>;
11
- protected handleBlur(): Promise<void>;
9
+ protected accessor ripple: UiRipple | null;
10
+ protected pressRipple(options: BeginPressConfig): void;
11
+ protected endRipple(): void;
12
+ beginPress(options: BeginPressConfig): void;
13
+ endPress(config: EndPressConfig): void;
12
14
  handleKeyDown(e: KeyboardEvent): Promise<void>;
13
15
  handleKeyUp(e: KeyboardEvent): Promise<void>;
16
+ handlePointerEnter(e: PointerEvent): void;
17
+ handlePointerLeave(e: PointerEvent): void;
14
18
  protected render(): TemplateResult;
15
- protected renderRipple: () => TemplateResult;
16
19
  }
17
20
  //# sourceMappingURL=CheckboxElement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxElement.d.ts","sourceRoot":"","sources":["../../../../../src/md/checkbox/internals/CheckboxElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAItE,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAGhD,OAAO,QAAQ,MAAM,kCAAkC,CAAA;AACvD,OAAO,2BAA2B,CAAA;AAElC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,cAAc;IACzD,SAAS,KAAK,KAAK,IAAI,iBAAiB,GAAG,OAAO,OAAO,CASxD;IAEwB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAEpE,SAAS,CAAC,QAAQ,CAAC,UAAU,UAAQ;IAE9C,SAAS,CAAC,QAAQ,CAAC,SAAS,QAAO,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAG1D;cAEwB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;cAK5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrC,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;cAQxC,MAAM,IAAI,cAAc;IAgB3C,SAAS,CAAC,YAAY,QAAO,cAAc,CAG1C;CACF"}
1
+ {"version":3,"file":"CheckboxElement.d.ts","sourceRoot":"","sources":["../../../../../src/md/checkbox/internals/CheckboxElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAGtE,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAEhD,OAAO,KAAK,QAAQ,MAAM,kCAAkC,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AAEhG,OAAO,2BAA2B,CAAA;AAClC,OAAO,sCAAsC,CAAA;AAE7C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,cAAc;IACzD,SAAS,KAAK,KAAK,IAAI,iBAAiB,GAAG,OAAO,OAAO,CASxD;IAEmB,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,QAAQ,GAAG,IAAI,CAAA;IAE/D,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAOtD,SAAS,CAAC,SAAS,IAAI,IAAI;IAIlB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAK3C,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAKhC,aAAa,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C,WAAW,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOlD,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;IAOzC,kBAAkB,CAAC,CAAC,EAAE,YAAY,GAAG,IAAI;cAO/B,MAAM,IAAI,cAAc;CAgB5C"}
@@ -1,27 +1,21 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { html, nothing } from 'lit';
3
- import { queryAsync, state } from 'lit/decorators.js';
3
+ import { query } from 'lit/decorators.js';
4
4
  import { classMap } from 'lit/directives/class-map.js';
5
- import { when } from 'lit/directives/when.js';
6
5
  import CheckedElement from './CheckedElement.js';
7
6
  import { check, checkIndeterminate } from '../../icons/Icons.js';
8
- import { ripple } from '../../effects/rippleDirective.js';
9
7
  import '../../ripple/ui-ripple.js';
8
+ import '@material/web/focus/md-focus-ring.js';
10
9
  let CheckboxElement = (() => {
11
10
  let _classSuper = CheckedElement;
12
11
  let _ripple_decorators;
13
12
  let _ripple_initializers = [];
14
13
  let _ripple_extraInitializers = [];
15
- let _showRipple_decorators;
16
- let _showRipple_initializers = [];
17
- let _showRipple_extraInitializers = [];
18
14
  return class CheckboxElement extends _classSuper {
19
15
  static {
20
16
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
21
- _ripple_decorators = [queryAsync('ui-ripple')];
22
- _showRipple_decorators = [state()];
17
+ _ripple_decorators = [query('ui-ripple')];
23
18
  __esDecorate(this, null, _ripple_decorators, { kind: "accessor", name: "ripple", static: false, private: false, access: { has: obj => "ripple" in obj, get: obj => obj.ripple, set: (obj, value) => { obj.ripple = value; } }, metadata: _metadata }, _ripple_initializers, _ripple_extraInitializers);
24
- __esDecorate(this, null, _showRipple_decorators, { kind: "accessor", name: "showRipple", static: false, private: false, access: { has: obj => "showRipple" in obj, get: obj => obj.showRipple, set: (obj, value) => { obj.showRipple = value; } }, metadata: _metadata }, _showRipple_initializers, _showRipple_extraInitializers);
25
19
  if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
26
20
  }
27
21
  get _icon() {
@@ -37,33 +31,45 @@ let CheckboxElement = (() => {
37
31
  #ripple_accessor_storage = __runInitializers(this, _ripple_initializers, void 0);
38
32
  get ripple() { return this.#ripple_accessor_storage; }
39
33
  set ripple(value) { this.#ripple_accessor_storage = value; }
40
- #showRipple_accessor_storage = (__runInitializers(this, _ripple_extraInitializers), __runInitializers(this, _showRipple_initializers, false));
41
- get showRipple() { return this.#showRipple_accessor_storage; }
42
- set showRipple(value) { this.#showRipple_accessor_storage = value; }
43
- getRipple = (__runInitializers(this, _showRipple_extraInitializers), () => {
44
- this.showRipple = true;
45
- return this.ripple;
46
- });
47
- async handleFocus() {
48
- const _ripple = await this.getRipple();
49
- _ripple?.beginFocus();
34
+ pressRipple(options) {
35
+ const element = this.ripple;
36
+ if (element && !element.isPressed) {
37
+ element.beginPress(options.positionEvent);
38
+ }
39
+ }
40
+ endRipple() {
41
+ this.ripple?.endPress();
50
42
  }
51
- async handleBlur() {
52
- const _ripple = await this.getRipple();
53
- _ripple?.endFocus();
43
+ beginPress(options) {
44
+ super.beginPress(options);
45
+ this.pressRipple(options);
46
+ }
47
+ endPress(config) {
48
+ super.endPress(config);
49
+ this.endRipple();
54
50
  }
55
51
  async handleKeyDown(e) {
56
52
  super.handleKeyDown(e);
57
53
  if (['Space'].includes(e.code)) {
58
- const _ripple = await this.getRipple();
59
- _ripple?.beginPress();
54
+ this.ripple?.beginPress();
60
55
  }
61
56
  }
62
57
  async handleKeyUp(e) {
63
58
  super.handleKeyUp(e);
64
59
  if (['Space'].includes(e.code)) {
65
- const _ripple = await this.getRipple();
66
- _ripple?.endPress();
60
+ this.ripple?.endPress();
61
+ }
62
+ }
63
+ handlePointerEnter(e) {
64
+ super.handlePointerEnter(e);
65
+ if (this.ripple) {
66
+ this.ripple.beginHover(e);
67
+ }
68
+ }
69
+ handlePointerLeave(e) {
70
+ super.handlePointerLeave(e);
71
+ if (this.ripple) {
72
+ this.ripple.endHover();
67
73
  }
68
74
  }
69
75
  render() {
@@ -73,18 +79,19 @@ let CheckboxElement = (() => {
73
79
  pressed,
74
80
  });
75
81
  return html `
76
- <div class="${containerClasses}" ${ripple(this.getRipple)}>
82
+ <md-focus-ring part="focus-ring" .control="${this}"></md-focus-ring>
83
+ <div class="${containerClasses}">
77
84
  <div class="container"></div>
78
85
  <div class="state"></div>
79
- ${when(this.showRipple, this.renderRipple)}
86
+ <ui-ripple class="ripple" unbounded ?disabled="${this.disabled}"></ui-ripple>
80
87
  <div class="icon">${this._icon}</div>
81
88
  </div>
82
89
  `;
83
90
  }
84
- renderRipple = () => {
85
- const { disabled } = this;
86
- return html `<ui-ripple class="ripple" unbounded ?disabled="${disabled}"></ui-ripple>`;
87
- };
91
+ constructor() {
92
+ super(...arguments);
93
+ __runInitializers(this, _ripple_extraInitializers);
94
+ }
88
95
  };
89
96
  })();
90
97
  export default CheckboxElement;
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxElement.js","sourceRoot":"","sources":["../../../../../src/md/checkbox/internals/CheckboxElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, SVGTemplateResult, TemplateResult, nothing } from 'lit'\nimport { queryAsync, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { when } from 'lit/directives/when.js'\nimport CheckedElement from './CheckedElement.js'\nimport { check, checkIndeterminate } from '../../icons/Icons.js'\nimport { ripple } from '../../effects/rippleDirective.js'\nimport UiRipple from '../../ripple/internals/ripple.js'\nimport '../../ripple/ui-ripple.js'\n\nexport default class CheckboxElement extends CheckedElement {\n protected get _icon(): SVGTemplateResult | typeof nothing {\n const { indeterminate, checked } = this\n if (indeterminate) {\n return checkIndeterminate\n }\n if (checked) {\n return check\n }\n return nothing\n }\n\n @queryAsync('ui-ripple') protected accessor ripple!: Promise<UiRipple | null>\n\n @state() protected accessor showRipple = false\n\n protected readonly getRipple = (): Promise<UiRipple | null> => {\n this.showRipple = true\n return this.ripple\n }\n\n protected override async handleFocus(): Promise<void> {\n const _ripple = await this.getRipple()\n _ripple?.beginFocus()\n }\n\n protected override async handleBlur(): Promise<void> {\n const _ripple = await this.getRipple()\n _ripple?.endFocus()\n }\n\n override async handleKeyDown(e: KeyboardEvent): Promise<void> {\n super.handleKeyDown(e)\n if (['Space'].includes(e.code)) {\n const _ripple = await this.getRipple()\n _ripple?.beginPress()\n }\n }\n\n override async handleKeyUp(e: KeyboardEvent): Promise<void> {\n super.handleKeyUp(e)\n if (['Space'].includes(e.code)) {\n const _ripple = await this.getRipple()\n _ripple?.endPress()\n }\n }\n\n protected override render(): TemplateResult {\n const { pressed = false } = this\n const containerClasses = classMap({\n surface: true,\n pressed,\n })\n return html`\n <div class=\"${containerClasses}\" ${ripple(this.getRipple)}>\n <div class=\"container\"></div>\n <div class=\"state\"></div>\n ${when(this.showRipple, this.renderRipple)}\n <div class=\"icon\">${this._icon}</div>\n </div>\n `\n }\n\n protected renderRipple = (): TemplateResult => {\n const { disabled } = this\n return html`<ui-ripple class=\"ripple\" unbounded ?disabled=\"${disabled}\"></ui-ripple>`\n }\n}\n"]}
1
+ {"version":3,"file":"CheckboxElement.js","sourceRoot":"","sources":["../../../../../src/md/checkbox/internals/CheckboxElement.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, SVGTemplateResult, TemplateResult, nothing } from 'lit'\nimport { query } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport CheckedElement from './CheckedElement.js'\nimport { check, checkIndeterminate } from '../../icons/Icons.js'\nimport type UiRipple from '../../ripple/internals/ripple.js'\nimport type { BeginPressConfig, EndPressConfig } from '../../../controllers/ActionController.js'\n\nimport '../../ripple/ui-ripple.js'\nimport '@material/web/focus/md-focus-ring.js'\n\nexport default class CheckboxElement extends CheckedElement {\n protected get _icon(): SVGTemplateResult | typeof nothing {\n const { indeterminate, checked } = this\n if (indeterminate) {\n return checkIndeterminate\n }\n if (checked) {\n return check\n }\n return nothing\n }\n\n @query('ui-ripple') protected accessor ripple!: UiRipple | null\n\n protected pressRipple(options: BeginPressConfig): void {\n const element = this.ripple\n if (element && !element.isPressed) {\n element.beginPress(options.positionEvent as PointerEvent)\n }\n }\n\n protected endRipple(): void {\n this.ripple?.endPress()\n }\n\n override beginPress(options: BeginPressConfig): void {\n super.beginPress(options)\n this.pressRipple(options)\n }\n\n override endPress(config: EndPressConfig): void {\n super.endPress(config)\n this.endRipple()\n }\n\n override async handleKeyDown(e: KeyboardEvent): Promise<void> {\n super.handleKeyDown(e)\n if (['Space'].includes(e.code)) {\n this.ripple?.beginPress()\n }\n }\n\n override async handleKeyUp(e: KeyboardEvent): Promise<void> {\n super.handleKeyUp(e)\n if (['Space'].includes(e.code)) {\n this.ripple?.endPress()\n }\n }\n\n override handlePointerEnter(e: PointerEvent): void {\n super.handlePointerEnter(e)\n if (this.ripple) {\n this.ripple.beginHover(e)\n }\n }\n\n override handlePointerLeave(e: PointerEvent): void {\n super.handlePointerLeave(e)\n if (this.ripple) {\n this.ripple.endHover()\n }\n }\n\n protected override render(): TemplateResult {\n const { pressed = false } = this\n const containerClasses = classMap({\n surface: true,\n pressed,\n })\n return html`\n <md-focus-ring part=\"focus-ring\" .control=\"${this as HTMLElement}\"></md-focus-ring>\n <div class=\"${containerClasses}\">\n <div class=\"container\"></div>\n <div class=\"state\"></div>\n <ui-ripple class=\"ripple\" unbounded ?disabled=\"${this.disabled}\"></ui-ripple>\n <div class=\"icon\">${this._icon}</div>\n </div>\n `\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckedElement.d.ts","sourceRoot":"","sources":["../../../../../src/md/checkbox/internals/CheckedElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;;IAGnD,MAAM,CAAC,QAAQ,CAAC,cAAc,QAAO;IAIrC,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAK1B;IAED;;;OAGG;IACyB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAE7D;;;;;OAKG;IACyB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9D;;;;;;;OAOG;IACyC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAEjF;;;;;;;OAOG;IACyC,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAA;IAEvF;;;OAGG;IACyC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAElF;;;;;OAKG;IACyC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAEjF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAkD;;IAuBpF,iBAAiB,IAAI,IAAI;cAWf,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAoB1D;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAKzB;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAOzC,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAKhC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAW/C,SAAS,CAAC,WAAW,IAAI,IAAI;IAI7B,SAAS,CAAC,UAAU,IAAI,IAAI;IAI5B,SAAS,CAAC,WAAW,CAAC,KAAK,UAAQ,GAAG,IAAI;IAQ1C,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAoBzB,YAAY,IAAI,IAAI;IAM7B,SAAS,CAAC,eAAe,IAAI,IAAI;IAOjC,MAAM,IAAI,IAAI;IAWd,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAKpC;;;OAGG;IACH,aAAa,IAAI,OAAO;IAKxB;;;;OAIG;IACH,cAAc,IAAI,OAAO;CAI1B"}
1
+ {"version":3,"file":"CheckedElement.d.ts","sourceRoot":"","sources":["../../../../../src/md/checkbox/internals/CheckedElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;;IAGnD,MAAM,CAAC,QAAQ,CAAC,cAAc,QAAO;IAIrC,IAAI,IAAI,IAAI,eAAe,GAAG,IAAI,CAEjC;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,IACI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAK1B;IAED;;;OAGG;IACyB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAE7D;;;;;OAKG;IACyB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAE9D;;;;;;;OAOG;IACyC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAEjF;;;;;;;OAOG;IACyC,QAAQ,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,CAAA;IAEvF;;;OAGG;IACyC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAElF;;;;;OAKG;IACyC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAA;IAEjF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAkD;;IAwBpF,iBAAiB,IAAI,IAAI;cAWf,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAoB1D;;;OAGG;IACH,iBAAiB,IAAI,IAAI;IAKzB;;;;;OAKG;IACH,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAOzC,WAAW,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAKhC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAW/C,SAAS,CAAC,WAAW,IAAI,IAAI;IAI7B,SAAS,CAAC,UAAU,IAAI,IAAI;IAI5B,SAAS,CAAC,WAAW,CAAC,KAAK,UAAQ,GAAG,IAAI;IAQ1C,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAoBzB,YAAY,IAAI,IAAI;IAM7B,SAAS,CAAC,eAAe,IAAI,IAAI;IAOjC,MAAM,IAAI,IAAI;IAWd,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAKpC;;;OAGG;IACH,aAAa,IAAI,OAAO;IAKxB;;;;OAIG;IACH,cAAc,IAAI,OAAO;CAI1B"}
@@ -133,6 +133,7 @@ let CheckedElement = (() => {
133
133
  this.addEventListener('pointerdown', this.handlePointerDown.bind(this));
134
134
  this.addEventListener('pointerup', this.handlePointerUp.bind(this));
135
135
  this.addEventListener('pointercancel', this.handlePointerCancel.bind(this));
136
+ this.addEventListener('pointerenter', this.handlePointerEnter.bind(this));
136
137
  this.addEventListener('pointerleave', this.handlePointerLeave.bind(this));
137
138
  this.addEventListener('contextmenu', this.handleContextMenu.bind(this));
138
139
  this.addEventListener('keydown', this.handleKeyDown.bind(this));