@redvars/peacock 3.2.7 → 3.2.9

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 (145) hide show
  1. package/dist/PeacockComponent-CxJc63xj.js +73 -0
  2. package/dist/PeacockComponent-CxJc63xj.js.map +1 -0
  3. package/dist/assets/styles.css +1 -1
  4. package/dist/assets/styles.css.map +1 -1
  5. package/dist/button-2MeDq0Yy.js +898 -0
  6. package/dist/button-2MeDq0Yy.js.map +1 -0
  7. package/dist/button-group.js +7 -5
  8. package/dist/button-group.js.map +1 -1
  9. package/dist/button.js +7 -0
  10. package/dist/button.js.map +1 -0
  11. package/dist/{class-map-BmCohX9p.js → class-map-BvQRv7eW.js} +2 -2
  12. package/dist/{class-map-BmCohX9p.js.map → class-map-BvQRv7eW.js.map} +1 -1
  13. package/dist/clock.js +26 -24
  14. package/dist/clock.js.map +1 -1
  15. package/dist/code-editor.js +43877 -0
  16. package/dist/code-editor.js.map +1 -0
  17. package/dist/code-highlighter.js +9 -7
  18. package/dist/code-highlighter.js.map +1 -1
  19. package/dist/custom-elements-jsdocs.json +561 -0
  20. package/dist/custom-elements.json +838 -227
  21. package/dist/{utils-DGMeCC48.js → dispatch-event-utils-vbdiOSeC.js} +19 -2
  22. package/dist/dispatch-event-utils-vbdiOSeC.js.map +1 -0
  23. package/dist/image-DK6VQW7N.js +7042 -0
  24. package/dist/image-DK6VQW7N.js.map +1 -0
  25. package/dist/index.js +10 -33
  26. package/dist/index.js.map +1 -1
  27. package/dist/number-counter.js +7 -5
  28. package/dist/number-counter.js.map +1 -1
  29. package/dist/observe-theme-change-NneLARW8.js +51 -0
  30. package/dist/observe-theme-change-NneLARW8.js.map +1 -0
  31. package/dist/peacock-loader.js +973 -37
  32. package/dist/peacock-loader.js.map +1 -1
  33. package/dist/src/PeacockComponent.d.ts +1 -0
  34. package/dist/src/code-editor/code-editor.d.ts +45 -0
  35. package/dist/src/code-editor/index.d.ts +2 -0
  36. package/dist/src/image/image.d.ts +45 -0
  37. package/dist/src/image/index.d.ts +1 -0
  38. package/dist/src/index.d.ts +2 -0
  39. package/dist/src/utils/dispatch-event-utils.d.ts +72 -0
  40. package/dist/src/utils/observe-theme-change.d.ts +3 -0
  41. package/dist/src/utils.d.ts +1 -72
  42. package/dist/{state-CV1fRmOT.js → state-B09bP3XH.js} +2 -2
  43. package/dist/{state-CV1fRmOT.js.map → state-B09bP3XH.js.map} +1 -1
  44. package/dist/{style-map-CdmclYgz.js → style-map-B8xgVEc9.js} +2 -2
  45. package/dist/{style-map-CdmclYgz.js.map → style-map-B8xgVEc9.js.map} +1 -1
  46. package/dist/tsconfig.tsbuildinfo +1 -1
  47. package/dist/{unsafe-html-BS8X6Gto.js → unsafe-html-B-dV3Jps.js} +2 -2
  48. package/dist/{unsafe-html-BS8X6Gto.js.map → unsafe-html-B-dV3Jps.js.map} +1 -1
  49. package/package.json +5 -3
  50. package/readme.md +2 -2
  51. package/scss/styles.scss +57 -1
  52. package/scss/tokens.css +1 -0
  53. package/src/PeacockComponent.ts +3 -0
  54. package/src/accordion/accordion-item/accordion-item.scss +1 -1
  55. package/src/button/BaseButton.ts +1 -1
  56. package/src/button/button/button.ts +3 -1
  57. package/src/button/button-group/button-group.ts +2 -0
  58. package/src/clock/clock.ts +4 -1
  59. package/src/code-editor/code-editor.scss +52 -0
  60. package/src/code-editor/code-editor.ts +215 -0
  61. package/src/code-editor/demo/index.html +37 -0
  62. package/src/code-editor/index.ts +3 -0
  63. package/src/code-highlighter/code-highlighter.ts +2 -0
  64. package/src/container/container.scss +1 -1
  65. package/src/date-picker/date-picker.ts +1 -1
  66. package/src/image/image.scss +49 -0
  67. package/src/image/image.ts +135 -0
  68. package/src/image/index.ts +1 -0
  69. package/src/index.ts +2 -0
  70. package/src/input/input.ts +1 -2
  71. package/src/menu/menu-item/menu-item.scss +5 -4
  72. package/src/menu/menu-list/menu-list.scss +1 -0
  73. package/src/number-counter/number-counter.ts +2 -0
  74. package/src/number-field/number-field.ts +1 -1
  75. package/src/peacock-loader.ts +7 -0
  76. package/src/textarea/textarea.ts +1 -1
  77. package/src/time-picker/time-picker.ts +1 -1
  78. package/src/utils/dispatch-event-utils.ts +131 -0
  79. package/src/utils/observe-theme-change.ts +30 -0
  80. package/src/utils.ts +5 -131
  81. package/dist/BaseButton.js +0 -209
  82. package/dist/BaseButton.js.map +0 -1
  83. package/dist/BaseInput.js +0 -27
  84. package/dist/BaseInput.js.map +0 -1
  85. package/dist/accordion-item.js +0 -191
  86. package/dist/accordion-item.js.map +0 -1
  87. package/dist/accordion.js +0 -142
  88. package/dist/accordion.js.map +0 -1
  89. package/dist/avatar.js +0 -106
  90. package/dist/avatar.js.map +0 -1
  91. package/dist/badge.js +0 -84
  92. package/dist/badge.js.map +0 -1
  93. package/dist/base-progress.js +0 -33
  94. package/dist/base-progress.js.map +0 -1
  95. package/dist/breadcrumb-item.js +0 -160
  96. package/dist/breadcrumb-item.js.map +0 -1
  97. package/dist/breadcrumb.js +0 -84
  98. package/dist/breadcrumb.js.map +0 -1
  99. package/dist/checkbox.js +0 -530
  100. package/dist/checkbox.js.map +0 -1
  101. package/dist/chip.js +0 -303
  102. package/dist/chip.js.map +0 -1
  103. package/dist/container.js +0 -135
  104. package/dist/container.js.map +0 -1
  105. package/dist/divider.js +0 -126
  106. package/dist/divider.js.map +0 -1
  107. package/dist/elevation.js +0 -79
  108. package/dist/elevation.js.map +0 -1
  109. package/dist/empty-state.js +0 -171
  110. package/dist/empty-state.js.map +0 -1
  111. package/dist/field.js +0 -416
  112. package/dist/field.js.map +0 -1
  113. package/dist/focus-ring.js +0 -107
  114. package/dist/focus-ring.js.map +0 -1
  115. package/dist/icon.js +0 -183
  116. package/dist/icon.js.map +0 -1
  117. package/dist/link.js +0 -91
  118. package/dist/link.js.map +0 -1
  119. package/dist/lit-element-CA46RFZ_.js +0 -28
  120. package/dist/lit-element-CA46RFZ_.js.map +0 -1
  121. package/dist/menu-item.js +0 -232
  122. package/dist/menu-item.js.map +0 -1
  123. package/dist/menu-list.js +0 -108
  124. package/dist/menu-list.js.map +0 -1
  125. package/dist/menu.js +0 -117
  126. package/dist/menu.js.map +0 -1
  127. package/dist/property-DNVWDdPC.js +0 -45
  128. package/dist/property-DNVWDdPC.js.map +0 -1
  129. package/dist/query-QBcUV-L_.js +0 -15
  130. package/dist/query-QBcUV-L_.js.map +0 -1
  131. package/dist/ripple.js +0 -128
  132. package/dist/ripple.js.map +0 -1
  133. package/dist/skeleton.js +0 -113
  134. package/dist/skeleton.js.map +0 -1
  135. package/dist/spinner.js +0 -93
  136. package/dist/spinner.js.map +0 -1
  137. package/dist/spread-axRTFMoH.js +0 -32
  138. package/dist/spread-axRTFMoH.js.map +0 -1
  139. package/dist/switch-DqxIiVsB.js +0 -2738
  140. package/dist/switch-DqxIiVsB.js.map +0 -1
  141. package/dist/tag.js +0 -323
  142. package/dist/tag.js.map +0 -1
  143. package/dist/tooltip.js +0 -1857
  144. package/dist/tooltip.js.map +0 -1
  145. package/dist/utils-DGMeCC48.js.map +0 -1
package/dist/checkbox.js DELETED
@@ -1,530 +0,0 @@
1
- import { _ as __decorate, n } from './property-DNVWDdPC.js';
2
- import { i, a as i$1, w, b } from './lit-element-CA46RFZ_.js';
3
- import { r } from './state-CV1fRmOT.js';
4
- import { e } from './query-QBcUV-L_.js';
5
- import { e as e$1 } from './class-map-BmCohX9p.js';
6
- import { s as spread } from './spread-axRTFMoH.js';
7
- import './directive-Cuw6h7YA.js';
8
-
9
- var css_248z = i`* {
10
- box-sizing: border-box;
11
- }
12
-
13
- .screen-reader-only {
14
- display: none !important;
15
- }
16
-
17
- :host {
18
- display: inline-block;
19
- --checkbox-size: 18px;
20
- --checkbox-icon-size: 12px;
21
- --checkbox-selected-color: var(--color-primary);
22
- --checkbox-unselected-color: var(--color-on-surface-variant);
23
- --checkbox-checkmark-color: var(--color-on-primary);
24
- --checkbox-state-layer-size: 40px;
25
- --checkbox-disabled-opacity: 0.38;
26
- --checkbox-border-radius: 2px;
27
- }
28
-
29
- .checkbox {
30
- position: relative;
31
- display: inline-flex;
32
- align-items: center;
33
- cursor: pointer;
34
- user-select: none;
35
- vertical-align: middle;
36
- font-family: var(--typography-body-medium-font-family) !important;
37
- font-size: var(--typography-body-medium-font-size) !important;
38
- font-weight: var(--typography-body-medium-font-weight) !important;
39
- line-height: var(--typography-body-medium-line-height) !important;
40
- letter-spacing: var(--typography-body-medium-letter-spacing) !important;
41
- }
42
- .checkbox.has-content {
43
- gap: 8px;
44
- }
45
- .checkbox .input-native {
46
- position: absolute;
47
- width: 1px;
48
- height: 1px;
49
- padding: 0;
50
- margin: -1px;
51
- overflow: hidden;
52
- clip: rect(0, 0, 0, 0);
53
- border: 0;
54
- }
55
- .checkbox .container {
56
- position: relative;
57
- display: inline-flex;
58
- align-items: center;
59
- justify-content: center;
60
- width: var(--checkbox-state-layer-size);
61
- height: var(--checkbox-state-layer-size);
62
- cursor: inherit;
63
- outline: none;
64
- flex-shrink: 0;
65
- }
66
- .checkbox .state-layer {
67
- position: absolute;
68
- inset: 0;
69
- border-radius: 50%;
70
- opacity: 0;
71
- transition: opacity var(--duration-short2) var(--easing-standard);
72
- }
73
- .checkbox .outline {
74
- position: absolute;
75
- width: var(--checkbox-size);
76
- height: var(--checkbox-size);
77
- border: 2px solid var(--checkbox-unselected-color);
78
- border-radius: var(--checkbox-border-radius);
79
- box-sizing: border-box;
80
- transition: border-color var(--duration-short2) var(--easing-standard);
81
- }
82
- .checkbox .background {
83
- position: absolute;
84
- width: var(--checkbox-size);
85
- height: var(--checkbox-size);
86
- background: var(--checkbox-selected-color);
87
- border-radius: var(--checkbox-border-radius);
88
- opacity: 0;
89
- transform: scale(0);
90
- transition: transform var(--duration-short2) var(--easing-standard), opacity var(--duration-short2) var(--easing-standard);
91
- }
92
- .checkbox .icon {
93
- position: absolute;
94
- width: var(--checkbox-icon-size);
95
- height: var(--checkbox-icon-size);
96
- fill: none;
97
- stroke: var(--checkbox-checkmark-color);
98
- stroke-width: 2;
99
- stroke-linecap: round;
100
- stroke-linejoin: round;
101
- opacity: 0;
102
- transition: opacity var(--duration-short1) var(--easing-standard);
103
- }
104
- .checkbox .icon .checkmark {
105
- stroke-dasharray: 14;
106
- stroke-dashoffset: 14;
107
- transition: stroke-dashoffset var(--duration-short4) var(--easing-emphasized);
108
- }
109
- .checkbox .icon .indeterminate {
110
- transform-origin: center;
111
- opacity: 0;
112
- transition: opacity var(--duration-short1) var(--easing-standard);
113
- }
114
- .checkbox .label {
115
- color: var(--color-on-surface);
116
- cursor: inherit;
117
- }
118
- .checkbox:hover:not(.disabled):not(.readonly) .state-layer {
119
- opacity: 0.08;
120
- background: var(--color-on-surface);
121
- }
122
- .checkbox:hover:not(.disabled):not(.readonly).state-checked .state-layer, .checkbox:hover:not(.disabled):not(.readonly).state-indeterminate .state-layer {
123
- background: var(--checkbox-selected-color);
124
- }
125
- .checkbox.has-focus:not(.active):not(.disabled):not(.readonly) .state-layer {
126
- opacity: 0.12;
127
- background: var(--color-on-surface);
128
- }
129
- .checkbox.has-focus:not(.active):not(.disabled):not(.readonly) .container {
130
- outline: 3px solid var(--color-primary);
131
- outline-offset: 2px;
132
- border-radius: 50%;
133
- }
134
- .checkbox.has-focus:not(.active):not(.disabled):not(.readonly).state-checked .state-layer, .checkbox.has-focus:not(.active):not(.disabled):not(.readonly).state-indeterminate .state-layer {
135
- background: var(--checkbox-selected-color);
136
- }
137
- .checkbox.active:not(.disabled):not(.readonly) .state-layer {
138
- opacity: 0.12;
139
- background: var(--color-on-surface);
140
- }
141
- .checkbox.active:not(.disabled):not(.readonly).state-checked .state-layer, .checkbox.active:not(.disabled):not(.readonly).state-indeterminate .state-layer {
142
- background: var(--checkbox-selected-color);
143
- }
144
- .checkbox.rounded {
145
- --checkbox-border-radius: 18px;
146
- }
147
-
148
- .checkbox.state-checked .outline {
149
- border-color: transparent;
150
- }
151
- .checkbox.state-checked .background {
152
- opacity: 1;
153
- transform: scale(1);
154
- }
155
- .checkbox.state-checked .icon {
156
- opacity: 1;
157
- }
158
- .checkbox.state-checked .icon .checkmark {
159
- stroke-dashoffset: 0;
160
- }
161
-
162
- .checkbox.state-indeterminate .outline {
163
- border-color: transparent;
164
- }
165
- .checkbox.state-indeterminate .background {
166
- opacity: 1;
167
- transform: scale(1);
168
- }
169
- .checkbox.state-indeterminate .icon {
170
- opacity: 1;
171
- fill: var(--checkbox-checkmark-color);
172
- }
173
- .checkbox.state-indeterminate .icon .indeterminate {
174
- opacity: 1;
175
- }
176
-
177
- .checkbox.size-sm {
178
- --checkbox-size: 16px;
179
- --checkbox-icon-size: 10px;
180
- --checkbox-state-layer-size: 36px;
181
- font-size: var(--font-size-body-small);
182
- line-height: var(--line-height-body-small);
183
- }
184
- .checkbox.size-sm .icon {
185
- stroke-width: 1.5;
186
- }
187
-
188
- .checkbox.size-md {
189
- --checkbox-size: 18px;
190
- --checkbox-icon-size: 12px;
191
- --checkbox-state-layer-size: 40px;
192
- }
193
- .checkbox.size-md .icon {
194
- stroke-width: 2;
195
- }
196
-
197
- .checkbox.size-lg {
198
- --checkbox-size: 24px;
199
- --checkbox-icon-size: 16px;
200
- --checkbox-state-layer-size: 48px;
201
- font-size: var(--font-size-body-large);
202
- line-height: var(--line-height-body-large);
203
- }
204
- .checkbox.size-lg .icon {
205
- stroke-width: 2.5;
206
- }
207
-
208
- .checkbox.readonly {
209
- cursor: default;
210
- }
211
- .checkbox.readonly .label {
212
- color: var(--color-on-surface);
213
- }
214
- .checkbox.readonly .outline {
215
- border-color: var(--color-on-surface-variant);
216
- }
217
- .checkbox.readonly.state-checked .background, .checkbox.readonly.state-indeterminate .background {
218
- background: var(--color-on-surface-variant);
219
- }
220
- .checkbox.readonly .state-layer {
221
- display: none;
222
- }
223
-
224
- .checkbox.disabled {
225
- cursor: not-allowed;
226
- opacity: var(--checkbox-disabled-opacity);
227
- }
228
- .checkbox.disabled .label {
229
- color: var(--color-on-surface);
230
- }
231
- .checkbox.disabled .outline {
232
- border-color: var(--color-on-surface);
233
- }
234
- .checkbox.disabled.state-checked .background, .checkbox.disabled.state-indeterminate .background {
235
- background: var(--color-on-surface);
236
- }
237
- .checkbox.disabled .state-layer {
238
- display: none;
239
- }`;
240
-
241
- /**
242
- * @label Checkbox
243
- * @tag base-checkbox
244
- * @rawTag checkbox
245
- *
246
- * @summary Captures boolean input with an optional indeterminate mode.
247
- * @overview
248
- * <p>Checkboxes allow users to select one or more items from a set. Checkboxes can turn an option on or off.</p>
249
- * <p>Material Design 3 checkboxes feature a smooth animation and clear visual states for checked, unchecked, and indeterminate.</p>
250
- *
251
- * @cssprop --checkbox-size: Size of the checkbox container.
252
- * @cssprop --checkbox-selected-color: Color of the checkbox when selected.
253
- * @cssprop --checkbox-unselected-color: Color of the checkbox border when unselected.
254
- * @cssprop --checkbox-checkmark-color: Color of the checkmark icon.
255
- * @cssprop --checkbox-state-layer-size: Size of the state layer for touch target.
256
- *
257
- * @fires {CustomEvent} change - Dispatched when the checkbox value changes.
258
- * @fires {CustomEvent} blur - Dispatched when the checkbox loses focus.
259
- * @fires {CustomEvent} focus - Dispatched when the checkbox receives focus.
260
- *
261
- * @example
262
- * ```html
263
- * <base-checkbox label="Accept terms"></base-checkbox>
264
- * ```
265
- * @tags input, form
266
- */
267
- class Checkbox extends i$1 {
268
- constructor() {
269
- super(...arguments);
270
- /**
271
- * The input field name.
272
- */
273
- this.name = '';
274
- /**
275
- * The checkbox label.
276
- */
277
- this.label = '';
278
- /**
279
- * The input field value (checked state).
280
- */
281
- this.value = false;
282
- /**
283
- * If true, displays the checkbox in an indeterminate state.
284
- */
285
- this.indeterminate = false;
286
- /**
287
- * If true, the checkbox has rounded corners. Defaults to `false`.
288
- */
289
- this.rounded = false;
290
- /**
291
- * The checkbox size.
292
- * Possible values are: `"sm"`, `"md"`, `"lg"`. Defaults to `"md"`.
293
- */
294
- this.size = 'md';
295
- /**
296
- * If true, required icon is shown. Defaults to `false`.
297
- */
298
- this.required = false;
299
- /**
300
- * If true, the checkbox is readonly. Defaults to `false`.
301
- */
302
- this.readonly = false;
303
- /**
304
- * If true, the user cannot interact with the checkbox. Defaults to `false`.
305
- */
306
- this.disabled = false;
307
- /**
308
- * Configuration object for aria attributes.
309
- */
310
- this.configAria = {};
311
- this.hasFocus = false;
312
- this.isActive = false;
313
- this.slotHasContent = false;
314
- this.windowMouseUp = () => {
315
- if (this.isActive) {
316
- this.isActive = false;
317
- }
318
- };
319
- this.windowKeyUp = (evt) => {
320
- if (this.isActive && evt.key === ' ') {
321
- this.isActive = false;
322
- }
323
- };
324
- this.mouseDownHandler = () => {
325
- this.isActive = true;
326
- };
327
- this.keyDownHandler = (evt) => {
328
- if (evt.key === ' ') {
329
- evt.preventDefault();
330
- this.isActive = true;
331
- this.clickHandler(evt);
332
- }
333
- };
334
- this.clickHandler = (ev) => {
335
- if (!this.disabled && !this.readonly) {
336
- this.value = !this.value;
337
- this.indeterminate = false;
338
- this.dispatchEvent(new CustomEvent('change', {
339
- detail: { value: this.value, originalEvent: ev },
340
- bubbles: true,
341
- composed: true,
342
- }));
343
- this.containerElement?.focus();
344
- }
345
- };
346
- this.blurHandler = (ev) => {
347
- this.hasFocus = false;
348
- this.dispatchEvent(new CustomEvent('blur', {
349
- detail: ev,
350
- bubbles: true,
351
- composed: true,
352
- }));
353
- };
354
- this.focusHandler = (ev) => {
355
- this.hasFocus = true;
356
- this.dispatchEvent(new CustomEvent('focus', {
357
- detail: ev,
358
- bubbles: true,
359
- composed: true,
360
- }));
361
- };
362
- this.handleKeyUp = (evt) => {
363
- if (evt.key === 'Enter') {
364
- this.clickHandler(evt);
365
- }
366
- };
367
- }
368
- connectedCallback() {
369
- super.connectedCallback();
370
- this.handleInitialAttributes();
371
- window.addEventListener('mouseup', this.windowMouseUp);
372
- window.addEventListener('keyup', this.windowKeyUp);
373
- }
374
- disconnectedCallback() {
375
- super.disconnectedCallback();
376
- window.removeEventListener('mouseup', this.windowMouseUp);
377
- window.removeEventListener('keyup', this.windowKeyUp);
378
- }
379
- firstUpdated() {
380
- this.slotHasContent = this.hasChildNodes();
381
- }
382
- handleInitialAttributes() {
383
- if (this.hasAttribute('tabindex')) {
384
- this.tabindex = this.getAttribute('tabindex') || undefined;
385
- this.removeAttribute('tabindex');
386
- }
387
- Array.from(this.attributes).forEach(attr => {
388
- if (attr.name.startsWith('aria-')) {
389
- this.configAria[attr.name] = attr.value;
390
- this.removeAttribute(attr.name);
391
- }
392
- });
393
- }
394
- /**
395
- * Sets focus on the checkbox.
396
- */
397
- focus() {
398
- this.containerElement?.focus();
399
- }
400
- /**
401
- * Removes focus from the checkbox.
402
- */
403
- blur() {
404
- this.containerElement?.blur();
405
- }
406
- render() {
407
- const cssClasses = {
408
- checkbox: true,
409
- 'state-checked': this.value,
410
- 'state-indeterminate': !this.value && this.indeterminate,
411
- [`size-${this.size}`]: true,
412
- 'has-focus': this.hasFocus,
413
- active: this.isActive,
414
- disabled: this.disabled,
415
- readonly: this.readonly,
416
- required: this.required,
417
- rounded: this.rounded,
418
- 'has-content': this.slotHasContent,
419
- };
420
- return b `
421
- <label class=${e$1(cssClasses)}>
422
- <div
423
- class="container"
424
- tabindex=${this.tabindex || 0}
425
- @keyup=${this.handleKeyUp}
426
- @mousedown=${this.mouseDownHandler}
427
- @keydown=${this.keyDownHandler}
428
- @blur=${this.blurHandler}
429
- @focus=${this.focusHandler}
430
- role="checkbox"
431
- aria-disabled=${this.disabled}
432
- aria-required=${this.required}
433
- aria-checked=${this.value
434
- ? 'true'
435
- : this.indeterminate
436
- ? 'mixed'
437
- : 'false'}
438
- ${spread(this.configAria)}
439
- >
440
- <div class="state-layer"></div>
441
- <div class="outline"></div>
442
- <div class="background"></div>
443
- <svg class="icon" viewBox="0 0 12 12">
444
- ${this.value
445
- ? w `
446
- <path
447
- class="checkmark"
448
- d="M2 6L5 9L10 2"
449
- />
450
- `
451
- : this.indeterminate
452
- ? w `<rect
453
- class="indeterminate"
454
- x="2"
455
- y="5"
456
- width="8"
457
- height="2"
458
- />`
459
- : ''}
460
- </svg>
461
- </div>
462
-
463
- <input
464
- type="checkbox"
465
- class="input-native"
466
- name=${this.name}
467
- .checked=${this.value}
468
- .indeterminate=${this.indeterminate}
469
- aria-hidden="true"
470
- ?required=${this.required}
471
- tabindex="-1"
472
- @click=${this.clickHandler}
473
- />
474
-
475
- ${this.label
476
- ? b `<div class="label">${this.label}</div>`
477
- : b `<div class="label slot-container"><slot></slot></div>`}
478
- </label>
479
- `;
480
- }
481
- }
482
- Checkbox.styles = [css_248z];
483
- __decorate([
484
- n({ type: String })
485
- ], Checkbox.prototype, "name", void 0);
486
- __decorate([
487
- n({ type: String })
488
- ], Checkbox.prototype, "label", void 0);
489
- __decorate([
490
- n({ type: Boolean, reflect: true })
491
- ], Checkbox.prototype, "value", void 0);
492
- __decorate([
493
- n({ type: Boolean, reflect: true })
494
- ], Checkbox.prototype, "indeterminate", void 0);
495
- __decorate([
496
- n({ type: Boolean })
497
- ], Checkbox.prototype, "rounded", void 0);
498
- __decorate([
499
- n({ type: String })
500
- ], Checkbox.prototype, "size", void 0);
501
- __decorate([
502
- n({ type: Boolean, reflect: true })
503
- ], Checkbox.prototype, "required", void 0);
504
- __decorate([
505
- n({ type: Boolean, reflect: true })
506
- ], Checkbox.prototype, "readonly", void 0);
507
- __decorate([
508
- n({ type: Boolean, reflect: true })
509
- ], Checkbox.prototype, "disabled", void 0);
510
- __decorate([
511
- n({ type: Object })
512
- ], Checkbox.prototype, "configAria", void 0);
513
- __decorate([
514
- r()
515
- ], Checkbox.prototype, "hasFocus", void 0);
516
- __decorate([
517
- r()
518
- ], Checkbox.prototype, "isActive", void 0);
519
- __decorate([
520
- r()
521
- ], Checkbox.prototype, "slotHasContent", void 0);
522
- __decorate([
523
- e('.container')
524
- ], Checkbox.prototype, "containerElement", void 0);
525
- __decorate([
526
- e('.input-native')
527
- ], Checkbox.prototype, "nativeElement", void 0);
528
-
529
- export { Checkbox };
530
- //# sourceMappingURL=checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../src/checkbox/checkbox.ts"],"sourcesContent":["import { html, LitElement, svg } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { spread } from '../spread.js';\nimport styles from './checkbox.scss';\n\n/**\n * @label Checkbox\n * @tag base-checkbox\n * @rawTag checkbox\n *\n * @summary Captures boolean input with an optional indeterminate mode.\n * @overview\n * <p>Checkboxes allow users to select one or more items from a set. Checkboxes can turn an option on or off.</p>\n * <p>Material Design 3 checkboxes feature a smooth animation and clear visual states for checked, unchecked, and indeterminate.</p>\n *\n * @cssprop --checkbox-size: Size of the checkbox container.\n * @cssprop --checkbox-selected-color: Color of the checkbox when selected.\n * @cssprop --checkbox-unselected-color: Color of the checkbox border when unselected.\n * @cssprop --checkbox-checkmark-color: Color of the checkmark icon.\n * @cssprop --checkbox-state-layer-size: Size of the state layer for touch target.\n *\n * @fires {CustomEvent} change - Dispatched when the checkbox value changes.\n * @fires {CustomEvent} blur - Dispatched when the checkbox loses focus.\n * @fires {CustomEvent} focus - Dispatched when the checkbox receives focus.\n *\n * @example\n * ```html\n * <base-checkbox label=\"Accept terms\"></base-checkbox>\n * ```\n * @tags input, form\n */\nexport class Checkbox extends LitElement {\n static styles = [styles];\n\n /**\n * The input field name.\n */\n @property({ type: String })\n name: string = '';\n\n /**\n * The checkbox label.\n */\n @property({ type: String })\n label: string = '';\n\n /**\n * The input field value (checked state).\n */\n @property({ type: Boolean, reflect: true })\n value: boolean = false;\n\n /**\n * If true, displays the checkbox in an indeterminate state.\n */\n @property({ type: Boolean, reflect: true })\n indeterminate: boolean = false;\n\n /**\n * If true, the checkbox has rounded corners. Defaults to `false`.\n */\n @property({ type: Boolean })\n rounded: boolean = false;\n\n /**\n * The checkbox size.\n * Possible values are: `\"sm\"`, `\"md\"`, `\"lg\"`. Defaults to `\"md\"`.\n */\n @property({ type: String })\n size: 'sm' | 'md' | 'lg' = 'md';\n\n /**\n * If true, required icon is shown. Defaults to `false`.\n */\n @property({ type: Boolean, reflect: true })\n required: boolean = false;\n\n /**\n * If true, the checkbox is readonly. Defaults to `false`.\n */\n @property({ type: Boolean, reflect: true })\n readonly: boolean = false;\n\n /**\n * If true, the user cannot interact with the checkbox. Defaults to `false`.\n */\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n /**\n * Configuration object for aria attributes.\n */\n @property({ type: Object })\n configAria: Record<string, string> = {};\n\n @state()\n private hasFocus = false;\n\n @state()\n private isActive = false;\n\n @state()\n private slotHasContent = false;\n\n @query('.container')\n private containerElement?: HTMLElement;\n\n @query('.input-native')\n private nativeElement?: HTMLInputElement;\n\n private tabindex?: string;\n\n connectedCallback() {\n super.connectedCallback();\n this.handleInitialAttributes();\n window.addEventListener('mouseup', this.windowMouseUp);\n window.addEventListener('keyup', this.windowKeyUp);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n window.removeEventListener('mouseup', this.windowMouseUp);\n window.removeEventListener('keyup', this.windowKeyUp);\n }\n\n firstUpdated() {\n this.slotHasContent = this.hasChildNodes();\n }\n\n private handleInitialAttributes() {\n if (this.hasAttribute('tabindex')) {\n this.tabindex = this.getAttribute('tabindex') || undefined;\n this.removeAttribute('tabindex');\n }\n\n Array.from(this.attributes).forEach(attr => {\n if (attr.name.startsWith('aria-')) {\n this.configAria[attr.name] = attr.value;\n this.removeAttribute(attr.name);\n }\n });\n }\n\n private windowMouseUp = () => {\n if (this.isActive) {\n this.isActive = false;\n }\n };\n\n private windowKeyUp = (evt: KeyboardEvent) => {\n if (this.isActive && evt.key === ' ') {\n this.isActive = false;\n }\n };\n\n private mouseDownHandler = () => {\n this.isActive = true;\n };\n\n private keyDownHandler = (evt: KeyboardEvent) => {\n if (evt.key === ' ') {\n evt.preventDefault();\n this.isActive = true;\n this.clickHandler(evt);\n }\n };\n\n private clickHandler = (ev: MouseEvent | KeyboardEvent) => {\n if (!this.disabled && !this.readonly) {\n this.value = !this.value;\n this.indeterminate = false;\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: { value: this.value, originalEvent: ev },\n bubbles: true,\n composed: true,\n }),\n );\n this.containerElement?.focus();\n }\n };\n\n private blurHandler = (ev: FocusEvent) => {\n this.hasFocus = false;\n this.dispatchEvent(\n new CustomEvent('blur', {\n detail: ev,\n bubbles: true,\n composed: true,\n }),\n );\n };\n\n private focusHandler = (ev: FocusEvent) => {\n this.hasFocus = true;\n this.dispatchEvent(\n new CustomEvent('focus', {\n detail: ev,\n bubbles: true,\n composed: true,\n }),\n );\n };\n\n private handleKeyUp = (evt: KeyboardEvent) => {\n if (evt.key === 'Enter') {\n this.clickHandler(evt);\n }\n };\n\n /**\n * Sets focus on the checkbox.\n */\n focus() {\n this.containerElement?.focus();\n }\n\n /**\n * Removes focus from the checkbox.\n */\n blur() {\n this.containerElement?.blur();\n }\n\n render() {\n const cssClasses = {\n checkbox: true,\n 'state-checked': this.value,\n 'state-indeterminate': !this.value && this.indeterminate,\n [`size-${this.size}`]: true,\n 'has-focus': this.hasFocus,\n active: this.isActive,\n disabled: this.disabled,\n readonly: this.readonly,\n required: this.required,\n rounded: this.rounded,\n 'has-content': this.slotHasContent,\n };\n\n return html`\n <label class=${classMap(cssClasses)}>\n <div\n class=\"container\"\n tabindex=${this.tabindex || 0}\n @keyup=${this.handleKeyUp}\n @mousedown=${this.mouseDownHandler}\n @keydown=${this.keyDownHandler}\n @blur=${this.blurHandler}\n @focus=${this.focusHandler}\n role=\"checkbox\"\n aria-disabled=${this.disabled}\n aria-required=${this.required}\n aria-checked=${this.value\n ? 'true'\n : this.indeterminate\n ? 'mixed'\n : 'false'}\n ${spread(this.configAria)}\n >\n <div class=\"state-layer\"></div>\n <div class=\"outline\"></div>\n <div class=\"background\"></div>\n <svg class=\"icon\" viewBox=\"0 0 12 12\">\n ${this.value\n ? svg`\n <path\n class=\"checkmark\"\n d=\"M2 6L5 9L10 2\"\n />\n `\n : this.indeterminate\n ? svg`<rect\n class=\"indeterminate\"\n x=\"2\"\n y=\"5\"\n width=\"8\"\n height=\"2\"\n />`\n : ''}\n </svg>\n </div>\n\n <input\n type=\"checkbox\"\n class=\"input-native\"\n name=${this.name}\n .checked=${this.value}\n .indeterminate=${this.indeterminate}\n aria-hidden=\"true\"\n ?required=${this.required}\n tabindex=\"-1\"\n @click=${this.clickHandler}\n />\n\n ${this.label\n ? html`<div class=\"label\">${this.label}</div>`\n : html`<div class=\"label slot-container\"><slot></slot></div>`}\n </label>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","svg","styles","property","state","query"],"mappings":"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"}