@redvars/peacock 3.2.6 → 3.2.8

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 (123) hide show
  1. package/dist/PeacockComponent-DMrFEGDh.js +80 -0
  2. package/dist/PeacockComponent-DMrFEGDh.js.map +1 -0
  3. package/dist/assets/components.css +2 -0
  4. package/dist/assets/components.css.map +1 -0
  5. package/dist/assets/styles.css +2 -0
  6. package/dist/assets/styles.css.map +1 -0
  7. package/dist/breadcrumb-item-DkhwoMAH.js +6879 -0
  8. package/dist/breadcrumb-item-DkhwoMAH.js.map +1 -0
  9. package/dist/button-BtpAXuLN.js +1180 -0
  10. package/dist/button-BtpAXuLN.js.map +1 -0
  11. package/dist/button-group.js +7 -6
  12. package/dist/button-group.js.map +1 -1
  13. package/dist/button.js +5 -0
  14. package/dist/button.js.map +1 -0
  15. package/dist/{class-map-BmCohX9p.js → class-map-CbncA34D.js} +2 -3
  16. package/dist/class-map-CbncA34D.js.map +1 -0
  17. package/dist/code-highlighter.js +9 -8
  18. package/dist/code-highlighter.js.map +1 -1
  19. package/dist/custom-elements-jsdocs.json +4 -4
  20. package/dist/custom-elements.json +296 -154
  21. package/dist/index.js +87 -35
  22. package/dist/index.js.map +1 -1
  23. package/dist/number-counter.js +7 -6
  24. package/dist/number-counter.js.map +1 -1
  25. package/dist/peacock-loader.js +1006 -535
  26. package/dist/peacock-loader.js.map +1 -1
  27. package/dist/src/CssLoader.d.ts +5 -0
  28. package/dist/src/PeacockComponent.d.ts +1 -0
  29. package/dist/src/avatar/avatar.d.ts +1 -1
  30. package/dist/src/button/button/button.d.ts +1 -1
  31. package/dist/{state-CV1fRmOT.js → state-CEVpI7Vv.js} +2 -2
  32. package/dist/{state-CV1fRmOT.js.map → state-CEVpI7Vv.js.map} +1 -1
  33. package/dist/{style-map-CdmclYgz.js → style-map-mOmZwsJT.js} +2 -3
  34. package/dist/style-map-mOmZwsJT.js.map +1 -0
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/dist/{unsafe-html-BS8X6Gto.js → unsafe-html-Ca00SXpn.js} +2 -3
  37. package/dist/unsafe-html-Ca00SXpn.js.map +1 -0
  38. package/package.json +11 -5
  39. package/readme.md +2 -1
  40. package/scss/components.scss +3 -0
  41. package/scss/styles.scss +4 -0
  42. package/src/CssLoader.ts +66 -0
  43. package/src/PeacockComponent.ts +3 -0
  44. package/src/avatar/avatar.ts +1 -1
  45. package/src/button/button/button.ts +4 -2
  46. package/src/button/button-group/button-group.ts +2 -0
  47. package/src/code-highlighter/code-highlighter.ts +2 -0
  48. package/src/number-counter/number-counter.ts +2 -0
  49. package/src/peacock-loader.ts +14 -9
  50. package/dist/BaseButton.js +0 -209
  51. package/dist/BaseButton.js.map +0 -1
  52. package/dist/BaseInput.js +0 -27
  53. package/dist/BaseInput.js.map +0 -1
  54. package/dist/accordion-item.js +0 -191
  55. package/dist/accordion-item.js.map +0 -1
  56. package/dist/accordion.js +0 -142
  57. package/dist/accordion.js.map +0 -1
  58. package/dist/avatar.js +0 -106
  59. package/dist/avatar.js.map +0 -1
  60. package/dist/badge.js +0 -84
  61. package/dist/badge.js.map +0 -1
  62. package/dist/base-progress.js +0 -33
  63. package/dist/base-progress.js.map +0 -1
  64. package/dist/breadcrumb-item.js +0 -160
  65. package/dist/breadcrumb-item.js.map +0 -1
  66. package/dist/breadcrumb.js +0 -84
  67. package/dist/breadcrumb.js.map +0 -1
  68. package/dist/checkbox.js +0 -530
  69. package/dist/checkbox.js.map +0 -1
  70. package/dist/chip.js +0 -303
  71. package/dist/chip.js.map +0 -1
  72. package/dist/class-map-BmCohX9p.js.map +0 -1
  73. package/dist/clock.js +0 -83
  74. package/dist/clock.js.map +0 -1
  75. package/dist/container.js +0 -135
  76. package/dist/container.js.map +0 -1
  77. package/dist/directive-Cuw6h7YA.js +0 -9
  78. package/dist/directive-Cuw6h7YA.js.map +0 -1
  79. package/dist/divider.js +0 -126
  80. package/dist/divider.js.map +0 -1
  81. package/dist/elevation.js +0 -79
  82. package/dist/elevation.js.map +0 -1
  83. package/dist/empty-state.js +0 -171
  84. package/dist/empty-state.js.map +0 -1
  85. package/dist/field.js +0 -416
  86. package/dist/field.js.map +0 -1
  87. package/dist/focus-ring.js +0 -107
  88. package/dist/focus-ring.js.map +0 -1
  89. package/dist/icon.js +0 -183
  90. package/dist/icon.js.map +0 -1
  91. package/dist/link.js +0 -91
  92. package/dist/link.js.map +0 -1
  93. package/dist/lit-element-CA46RFZ_.js +0 -28
  94. package/dist/lit-element-CA46RFZ_.js.map +0 -1
  95. package/dist/menu-item.js +0 -232
  96. package/dist/menu-item.js.map +0 -1
  97. package/dist/menu-list.js +0 -108
  98. package/dist/menu-list.js.map +0 -1
  99. package/dist/menu.js +0 -117
  100. package/dist/menu.js.map +0 -1
  101. package/dist/property-DNVWDdPC.js +0 -45
  102. package/dist/property-DNVWDdPC.js.map +0 -1
  103. package/dist/query-QBcUV-L_.js +0 -15
  104. package/dist/query-QBcUV-L_.js.map +0 -1
  105. package/dist/ripple.js +0 -128
  106. package/dist/ripple.js.map +0 -1
  107. package/dist/skeleton.js +0 -113
  108. package/dist/skeleton.js.map +0 -1
  109. package/dist/spinner.js +0 -93
  110. package/dist/spinner.js.map +0 -1
  111. package/dist/spread-axRTFMoH.js +0 -32
  112. package/dist/spread-axRTFMoH.js.map +0 -1
  113. package/dist/style-map-CdmclYgz.js.map +0 -1
  114. package/dist/switch-CC-S5fbc.js +0 -2738
  115. package/dist/switch-CC-S5fbc.js.map +0 -1
  116. package/dist/tag.js +0 -323
  117. package/dist/tag.js.map +0 -1
  118. package/dist/tooltip.js +0 -1857
  119. package/dist/tooltip.js.map +0 -1
  120. package/dist/unsafe-html-BS8X6Gto.js.map +0 -1
  121. package/dist/utils.js +0 -277
  122. package/dist/utils.js.map +0 -1
  123. /package/{dist/assets/styles → scss}/tokens.css +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"breadcrumb.js","sources":["../../src/breadcrumb/breadcrumb/breadcrumb.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport styles from './breadcrumb.scss';\n\n/**\n * @label Breadcrumb\n * @tag base-breadcrumb\n * @rawTag breadcrumb\n *\n * @summary A breadcrumb is a secondary navigation scheme that reveals the user's location in a website or web application.\n * @overview\n * - Breadcrumbs provide a trail for users to follow back to the starting or entry point.\n * - They help users understand their current location within the site hierarchy.\n * - Follows WCAG 2.1 guidelines for accessible navigation landmarks.\n *\n * @example\n * ```html\n * <base-breadcrumb label=\"Breadcrumb\">\n * <breadcrumb-item href=\"#\">Home</breadcrumb-item>\n * <breadcrumb-item href=\"#\">Category</breadcrumb-item>\n * <breadcrumb-item active>Current Page</breadcrumb-item>\n * </base-breadcrumb>\n * ```\n * @tags navigation\n */\nexport class Breadcrumb extends LitElement {\n static styles = [styles];\n\n /**\n * Accessible label for the breadcrumb navigation landmark.\n * @default \"Breadcrumb\"\n */\n @property({ type: String }) label = 'Breadcrumb';\n\n render() {\n return html`<nav aria-label=${this.label} class=\"breadcrumb\">\n <ol>\n <slot></slot>\n </ol>\n </nav>`;\n }\n}\n"],"names":["LitElement","html","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;;;;;;;;;;;;;;;;;;;AAoBG;AACG,MAAO,UAAW,SAAQA,GAAU,CAAA;AAA1C,IAAA,WAAA,GAAA;;AAGE;;;AAGG;QACyB,IAAA,CAAA,KAAK,GAAG,YAAY;IASlD;IAPE,MAAM,GAAA;AACJ,QAAA,OAAOC,CAAI,CAAA,CAAA,gBAAA,EAAmB,IAAI,CAAC,KAAK,CAAA;;;;WAIjC;IACT;;AAdO,UAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AAMI,UAAA,CAAA;AAA3B,IAAAC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAAuB,CAAA,EAAA,UAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;;;;"}
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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"}