@redvars/peacock 3.2.8 → 3.2.10

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 (86) hide show
  1. package/dist/{PeacockComponent-DMrFEGDh.js → PeacockComponent-CxJc63xj.js} +6 -13
  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/assets/tokens.css +2 -0
  6. package/dist/assets/tokens.css.map +1 -0
  7. package/dist/{button-BtpAXuLN.js → button-DaL4va7Q.js} +12 -294
  8. package/dist/button-DaL4va7Q.js.map +1 -0
  9. package/dist/button-group.js +3 -2
  10. package/dist/button-group.js.map +1 -1
  11. package/dist/button.js +6 -4
  12. package/dist/button.js.map +1 -1
  13. package/dist/{class-map-CbncA34D.js → class-map-BvQRv7eW.js} +3 -2
  14. package/dist/class-map-BvQRv7eW.js.map +1 -0
  15. package/dist/clock.js +85 -0
  16. package/dist/clock.js.map +1 -0
  17. package/dist/code-editor.js +43877 -0
  18. package/dist/code-editor.js.map +1 -0
  19. package/dist/code-highlighter.js +5 -4
  20. package/dist/code-highlighter.js.map +1 -1
  21. package/dist/custom-elements-jsdocs.json +561 -0
  22. package/dist/custom-elements.json +777 -194
  23. package/dist/directive-Cuw6h7YA.js +9 -0
  24. package/dist/directive-Cuw6h7YA.js.map +1 -0
  25. package/dist/dispatch-event-utils-vbdiOSeC.js +290 -0
  26. package/dist/dispatch-event-utils-vbdiOSeC.js.map +1 -0
  27. package/dist/{breadcrumb-item-DkhwoMAH.js → image-v3BujlY5.js} +261 -92
  28. package/dist/image-v3BujlY5.js.map +1 -0
  29. package/dist/index.js +12 -87
  30. package/dist/index.js.map +1 -1
  31. package/dist/number-counter.js +3 -2
  32. package/dist/number-counter.js.map +1 -1
  33. package/dist/observe-theme-change-NneLARW8.js +51 -0
  34. package/dist/observe-theme-change-NneLARW8.js.map +1 -0
  35. package/dist/peacock-loader.js +22 -11
  36. package/dist/peacock-loader.js.map +1 -1
  37. package/dist/src/code-editor/code-editor.d.ts +45 -0
  38. package/dist/src/code-editor/index.d.ts +2 -0
  39. package/dist/src/image/image.d.ts +45 -0
  40. package/dist/src/image/index.d.ts +1 -0
  41. package/dist/src/index.d.ts +2 -0
  42. package/dist/src/utils/dispatch-event-utils.d.ts +72 -0
  43. package/dist/src/utils/observe-theme-change.d.ts +3 -0
  44. package/dist/src/utils.d.ts +1 -72
  45. package/dist/{state-CEVpI7Vv.js → state-B09bP3XH.js} +2 -2
  46. package/dist/{state-CEVpI7Vv.js.map → state-B09bP3XH.js.map} +1 -1
  47. package/dist/{style-map-mOmZwsJT.js → style-map-B8xgVEc9.js} +3 -2
  48. package/dist/style-map-B8xgVEc9.js.map +1 -0
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/dist/{unsafe-html-Ca00SXpn.js → unsafe-html-B-dV3Jps.js} +3 -2
  51. package/dist/unsafe-html-B-dV3Jps.js.map +1 -0
  52. package/package.json +5 -3
  53. package/readme.md +2 -2
  54. package/scss/styles.scss +57 -1
  55. package/scss/tokens.css +1 -0
  56. package/scss/tokens.scss +1 -0
  57. package/src/accordion/accordion-item/accordion-item.scss +1 -1
  58. package/src/button/BaseButton.ts +1 -1
  59. package/src/button/button/button.scss +1 -1
  60. package/src/clock/clock.ts +4 -1
  61. package/src/code-editor/code-editor.scss +52 -0
  62. package/src/code-editor/code-editor.ts +215 -0
  63. package/src/code-editor/demo/index.html +37 -0
  64. package/src/code-editor/index.ts +3 -0
  65. package/src/container/container.scss +1 -1
  66. package/src/date-picker/date-picker.ts +1 -1
  67. package/src/image/image.scss +56 -0
  68. package/src/image/image.ts +135 -0
  69. package/src/image/index.ts +1 -0
  70. package/src/index.ts +2 -0
  71. package/src/input/input.ts +1 -2
  72. package/src/menu/menu-item/menu-item.scss +5 -4
  73. package/src/menu/menu-list/menu-list.scss +1 -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/PeacockComponent-DMrFEGDh.js.map +0 -1
  82. package/dist/breadcrumb-item-DkhwoMAH.js.map +0 -1
  83. package/dist/button-BtpAXuLN.js.map +0 -1
  84. package/dist/class-map-CbncA34D.js.map +0 -1
  85. package/dist/style-map-mOmZwsJT.js.map +0 -1
  86. package/dist/unsafe-html-Ca00SXpn.js.map +0 -1
@@ -1,9 +1,12 @@
1
- import { e as e$1, i, _ as __decorate, n, a as i$1, b, c as __classPrivateFieldGet, A } from './PeacockComponent-DMrFEGDh.js';
2
- import { r } from './state-CEVpI7Vv.js';
3
- import { e as e$2 } from './unsafe-html-Ca00SXpn.js';
4
- import { a as e, c as createCacheFetch, b as sanitizeSvg, o as observerSlotChangesWithCallback, d as css_248z$w, f as css_248z$x, g as BaseButton, t as throttle, s as spread, e as e$4, r as redispatchEvent } from './button-BtpAXuLN.js';
5
- import { e as e$3 } from './class-map-CbncA34D.js';
6
- import { o as o$3 } from './style-map-mOmZwsJT.js';
1
+ import { i, _ as __decorate, n, a as i$1, b, c as __classPrivateFieldGet, A } from './PeacockComponent-CxJc63xj.js';
2
+ import { r } from './state-B09bP3XH.js';
3
+ import { e as e$1 } from './directive-Cuw6h7YA.js';
4
+ import { e as e$2 } from './unsafe-html-B-dV3Jps.js';
5
+ import { b as e, c as createCacheFetch, s as sanitizeSvg, o as observerSlotChangesWithCallback, t as throttle, e as e$4, r as redispatchEvent, a as isDarkMode } from './dispatch-event-utils-vbdiOSeC.js';
6
+ import { e as e$3 } from './class-map-BvQRv7eW.js';
7
+ import { c as css_248z$x, a as css_248z$y, b as BaseButton, s as spread } from './button-DaL4va7Q.js';
8
+ import { o as o$3 } from './style-map-B8xgVEc9.js';
9
+ import { B as BaseInput, o as observeThemeChange } from './observe-theme-change-NneLARW8.js';
7
10
 
8
11
  /**
9
12
  * @license
@@ -36,7 +39,7 @@ async function fetchIcon(name, provider = 'material-symbols') {
36
39
  return fetchSVG(PROVIDERS[provider](name));
37
40
  }
38
41
 
39
- var css_248z$v = i`* {
42
+ var css_248z$w = i`* {
40
43
  box-sizing: border-box;
41
44
  }
42
45
 
@@ -165,7 +168,7 @@ class Icon extends i$1 {
165
168
  }
166
169
  }
167
170
  }
168
- Icon.styles = [css_248z$v];
171
+ Icon.styles = [css_248z$w];
169
172
  __decorate([
170
173
  n({ type: String, reflect: true })
171
174
  ], Icon.prototype, "name", void 0);
@@ -185,7 +188,7 @@ __decorate([
185
188
  r()
186
189
  ], Icon.prototype, "error", void 0);
187
190
 
188
- var css_248z$u = i`* {
191
+ var css_248z$v = i`* {
189
192
  box-sizing: border-box;
190
193
  }
191
194
 
@@ -276,7 +279,7 @@ class Avatar extends i$1 {
276
279
  return `${first.charAt(0)}${last.charAt(0)}`.toUpperCase();
277
280
  }
278
281
  }
279
- Avatar.styles = [css_248z$u];
282
+ Avatar.styles = [css_248z$v];
280
283
  __decorate([
281
284
  n({ type: String, reflect: true })
282
285
  ], Avatar.prototype, "name", void 0);
@@ -284,7 +287,7 @@ __decorate([
284
287
  n({ type: String, reflect: true })
285
288
  ], Avatar.prototype, "src", void 0);
286
289
 
287
- var css_248z$t = i`* {
290
+ var css_248z$u = i`* {
288
291
  box-sizing: border-box;
289
292
  }
290
293
 
@@ -356,12 +359,12 @@ class Badge extends i$1 {
356
359
  </div>`;
357
360
  }
358
361
  }
359
- Badge.styles = [css_248z$t];
362
+ Badge.styles = [css_248z$u];
360
363
  __decorate([
361
364
  n({ type: String })
362
365
  ], Badge.prototype, "value", void 0);
363
366
 
364
- var css_248z$s = i`* {
367
+ var css_248z$t = i`* {
365
368
  box-sizing: border-box;
366
369
  }
367
370
 
@@ -470,7 +473,7 @@ class Divider extends i$1 {
470
473
  </div>`;
471
474
  }
472
475
  }
473
- Divider.styles = [css_248z$s];
476
+ Divider.styles = [css_248z$t];
474
477
  __decorate([
475
478
  n({ type: Boolean, reflect: true })
476
479
  ], Divider.prototype, "vertical", void 0);
@@ -478,7 +481,7 @@ __decorate([
478
481
  r()
479
482
  ], Divider.prototype, "slotHasContent", void 0);
480
483
 
481
- var css_248z$r = i`/**
484
+ var css_248z$s = i`/**
482
485
  * Derived from Material Design Elevation
483
486
  * https://github.com/material-components/material-web/blob/main/elevation/internal/_elevation.scss
484
487
  */
@@ -551,9 +554,9 @@ class Elevation extends i$1 {
551
554
  return b `<span class="shadow"></span>`;
552
555
  }
553
556
  }
554
- Elevation.styles = [css_248z$r];
557
+ Elevation.styles = [css_248z$s];
555
558
 
556
- var css_248z$q = i`.button {
559
+ var css_248z$r = i`.button {
557
560
  --_container-padding: 0.75rem;
558
561
  width: var(--_button-height);
559
562
  --_container-padding: 0;
@@ -722,7 +725,7 @@ class IconButton extends BaseButton {
722
725
  }
723
726
  }
724
727
  _IconButton_id = new WeakMap(), _IconButton_tabindex = new WeakMap();
725
- IconButton.styles = [css_248z$w, css_248z$x, css_248z$q];
728
+ IconButton.styles = [css_248z$x, css_248z$y, css_248z$r];
726
729
  __decorate([
727
730
  n({ type: String, reflect: true })
728
731
  ], IconButton.prototype, "name", void 0);
@@ -733,7 +736,7 @@ __decorate([
733
736
  n({ type: String })
734
737
  ], IconButton.prototype, "provider", void 0);
735
738
 
736
- var css_248z$p = i`:host {
739
+ var css_248z$q = i`:host {
737
740
  display: none;
738
741
  pointer-events: none;
739
742
  position: absolute;
@@ -827,7 +830,7 @@ class FocusRing extends i$1 {
827
830
  this._control = undefined;
828
831
  }
829
832
  }
830
- FocusRing.styles = [css_248z$p];
833
+ FocusRing.styles = [css_248z$q];
831
834
  __decorate([
832
835
  n({ type: Boolean, reflect: true })
833
836
  ], FocusRing.prototype, "visible", void 0);
@@ -959,7 +962,7 @@ Ripple.styles = i `
959
962
  }
960
963
  `;
961
964
 
962
- var css_248z$o = i`* {
965
+ var css_248z$p = i`* {
963
966
  box-sizing: border-box;
964
967
  }
965
968
 
@@ -979,7 +982,7 @@ slot::slotted(:last-child) {
979
982
  border-block-end: 1px solid var(--color-outline);
980
983
  }`;
981
984
 
982
- var css_248z$n = i`* {
985
+ var css_248z$o = i`* {
983
986
  box-sizing: border-box;
984
987
  }
985
988
 
@@ -1002,6 +1005,7 @@ var css_248z$n = i`* {
1002
1005
  display: flex;
1003
1006
  flex-direction: row-reverse;
1004
1007
  align-items: center;
1008
+ color: var(--color-on-surface);
1005
1009
  justify-content: flex-start;
1006
1010
  gap: 0.5rem;
1007
1011
  font-family: var(--typography-title-medium-font-family) !important;
@@ -1034,7 +1038,6 @@ var css_248z$n = i`* {
1034
1038
  }
1035
1039
  .accordion-item.disabled .accordion-heading {
1036
1040
  cursor: not-allowed;
1037
- color: var(--color-on-surface);
1038
1041
  opacity: 0.38;
1039
1042
  }
1040
1043
  .accordion-item.open .item-section {
@@ -1148,7 +1151,7 @@ class AccordionItem extends i$1 {
1148
1151
  }
1149
1152
  }
1150
1153
  _AccordionItem_id = new WeakMap();
1151
- AccordionItem.styles = [css_248z$n];
1154
+ AccordionItem.styles = [css_248z$o];
1152
1155
  __decorate([
1153
1156
  n({ type: String, reflect: true })
1154
1157
  ], AccordionItem.prototype, "heading", void 0);
@@ -1260,7 +1263,7 @@ class Accordion extends i$1 {
1260
1263
  return b `<div class="accordion"><slot></slot></div>`;
1261
1264
  }
1262
1265
  }
1263
- Accordion.styles = [css_248z$o];
1266
+ Accordion.styles = [css_248z$p];
1264
1267
  Accordion.Item = AccordionItem;
1265
1268
  __decorate([
1266
1269
  n({ type: Boolean, attribute: 'allow-multiple' })
@@ -1269,7 +1272,7 @@ __decorate([
1269
1272
  o$2({ selector: 'p-accordion-item' })
1270
1273
  ], Accordion.prototype, "items", void 0);
1271
1274
 
1272
- var css_248z$m = i`* {
1275
+ var css_248z$n = i`* {
1273
1276
  box-sizing: border-box;
1274
1277
  }
1275
1278
 
@@ -1341,7 +1344,7 @@ class Link extends i$1 {
1341
1344
  </a>`;
1342
1345
  }
1343
1346
  }
1344
- Link.styles = [css_248z$m];
1347
+ Link.styles = [css_248z$n];
1345
1348
  __decorate([
1346
1349
  n({ reflect: true })
1347
1350
  ], Link.prototype, "href", void 0);
@@ -1352,7 +1355,7 @@ __decorate([
1352
1355
  r()
1353
1356
  ], Link.prototype, "tabIndexValue", void 0);
1354
1357
 
1355
- var css_248z$l = i`* {
1358
+ var css_248z$m = i`* {
1356
1359
  box-sizing: border-box;
1357
1360
  }
1358
1361
 
@@ -1489,7 +1492,7 @@ slot::slotted(*) {
1489
1492
  --_container-state-opacity: 0.08;
1490
1493
  }`;
1491
1494
 
1492
- var css_248z$k = i`:host([color=default]) {
1495
+ var css_248z$l = i`:host([color=default]) {
1493
1496
  --filled-tag-container-color: var(--color-surface);
1494
1497
  --filled-tag-label-text-color: var(--color-on-surface);
1495
1498
  --tonal-tag-container-color: var(--color-surface-container);
@@ -1555,7 +1558,7 @@ var css_248z$k = i`:host([color=default]) {
1555
1558
  --outlined-tag-label-text-color: var(--color-purple);
1556
1559
  }`;
1557
1560
 
1558
- var css_248z$j = i`.tag {
1561
+ var css_248z$k = i`.tag {
1559
1562
  font-family: var(--font-family-sans) !important;
1560
1563
  }
1561
1564
 
@@ -1654,7 +1657,7 @@ class Tag extends i$1 {
1654
1657
  }
1655
1658
  // Define styles (Lit handles Scoping via Shadow DOM by default)
1656
1659
  // You would typically import your tag.scss.js here or use the css tag
1657
- Tag.styles = [css_248z$l, css_248z$k, css_248z$j];
1660
+ Tag.styles = [css_248z$m, css_248z$l, css_248z$k];
1658
1661
  __decorate([
1659
1662
  n({ type: Boolean })
1660
1663
  ], Tag.prototype, "dismissible", void 0);
@@ -1668,7 +1671,7 @@ __decorate([
1668
1671
  n()
1669
1672
  ], Tag.prototype, "size", void 0);
1670
1673
 
1671
- var css_248z$i = i`* {
1674
+ var css_248z$j = i`* {
1672
1675
  box-sizing: border-box;
1673
1676
  }
1674
1677
 
@@ -1780,7 +1783,7 @@ var css_248z$i = i`* {
1780
1783
  color: var(--background);
1781
1784
  }`;
1782
1785
 
1783
- var css_248z$h = i`:host([color=red]) {
1786
+ var css_248z$i = i`:host([color=red]) {
1784
1787
  --chip-container-color: var(--color-red-container);
1785
1788
  --chip-outline-color: var(--color-on-red-container);
1786
1789
  }
@@ -1809,7 +1812,7 @@ var css_248z$h = i`:host([color=red]) {
1809
1812
  --chip-outline-color: var(--color-on-purple-container);
1810
1813
  }`;
1811
1814
 
1812
- var css_248z$g = i`.tag {
1815
+ var css_248z$h = i`.tag {
1813
1816
  font-family: var(--font-family-sans) !important;
1814
1817
  }
1815
1818
 
@@ -1947,7 +1950,7 @@ class Chip extends i$1 {
1947
1950
  }
1948
1951
  // Define styles (Lit handles Scoping via Shadow DOM by default)
1949
1952
  // You would typically import your tag.scss.js here or use the css tag
1950
- Chip.styles = [css_248z$i, css_248z$h, css_248z$g];
1953
+ Chip.styles = [css_248z$j, css_248z$i, css_248z$h];
1951
1954
  __decorate([
1952
1955
  n({ type: Boolean })
1953
1956
  ], Chip.prototype, "dismissible", void 0);
@@ -1964,7 +1967,7 @@ __decorate([
1964
1967
  n({ type: String })
1965
1968
  ], Chip.prototype, "imageSrc", void 0);
1966
1969
 
1967
- var css_248z$f = i`:host {
1970
+ var css_248z$g = i`:host {
1968
1971
  display: block;
1969
1972
  --progress-height: 0.25rem;
1970
1973
  --progress-container-color: var(--color-primary);
@@ -2170,9 +2173,9 @@ class LinearProgress extends BaseProgress {
2170
2173
  }
2171
2174
  }
2172
2175
  // Lit components use static styles for better performance
2173
- LinearProgress.styles = [css_248z$f];
2176
+ LinearProgress.styles = [css_248z$g];
2174
2177
 
2175
- var css_248z$e = i`:host {
2178
+ var css_248z$f = i`:host {
2176
2179
  display: inline-block;
2177
2180
  --progress-height: 1.5rem;
2178
2181
  --progress-line-thickness: 4px;
@@ -2335,9 +2338,9 @@ class CircularProgress extends BaseProgress {
2335
2338
  }
2336
2339
  }
2337
2340
  // Lit components use static styles for better performance
2338
- CircularProgress.styles = [css_248z$e];
2341
+ CircularProgress.styles = [css_248z$f];
2339
2342
 
2340
- var css_248z$d = i`:host {
2343
+ var css_248z$e = i`:host {
2341
2344
  --skeleton-container-color: var(--color-surface-container);
2342
2345
  --skeleton-element: var(--color-on-surface);
2343
2346
  display: inline-block;
@@ -2440,34 +2443,12 @@ class Skeleton extends i$1 {
2440
2443
  return b ` <div class="skeleton"></div>`;
2441
2444
  }
2442
2445
  }
2443
- Skeleton.styles = [css_248z$d];
2446
+ Skeleton.styles = [css_248z$e];
2444
2447
  __decorate([
2445
2448
  n({ type: Boolean, reflect: true })
2446
2449
  ], Skeleton.prototype, "visible", void 0);
2447
2450
 
2448
- class BaseInput extends i$1 {
2449
- constructor() {
2450
- super(...arguments);
2451
- this.disabled = false;
2452
- this.readonly = false;
2453
- this.required = false;
2454
- this.skeleton = false;
2455
- }
2456
- }
2457
- __decorate([
2458
- n({ type: Boolean, reflect: true })
2459
- ], BaseInput.prototype, "disabled", void 0);
2460
- __decorate([
2461
- n({ type: Boolean, reflect: true })
2462
- ], BaseInput.prototype, "readonly", void 0);
2463
- __decorate([
2464
- n({ type: Boolean, reflect: true })
2465
- ], BaseInput.prototype, "required", void 0);
2466
- __decorate([
2467
- n({ type: Boolean, reflect: true })
2468
- ], BaseInput.prototype, "skeleton", void 0);
2469
-
2470
- var css_248z$c = i`* {
2451
+ var css_248z$d = i`* {
2471
2452
  box-sizing: border-box;
2472
2453
  }
2473
2454
 
@@ -2640,7 +2621,7 @@ class Input extends BaseInput {
2640
2621
  `;
2641
2622
  }
2642
2623
  }
2643
- Input.styles = [css_248z$c];
2624
+ Input.styles = [css_248z$d];
2644
2625
  __decorate([
2645
2626
  n({ type: String })
2646
2627
  ], Input.prototype, "value", void 0);
@@ -2699,7 +2680,7 @@ __decorate([
2699
2680
  e$4('.input-element')
2700
2681
  ], Input.prototype, "inputElement", void 0);
2701
2682
 
2702
- var css_248z$b = i`* {
2683
+ var css_248z$c = i`* {
2703
2684
  box-sizing: border-box;
2704
2685
  }
2705
2686
 
@@ -3050,7 +3031,7 @@ class Field extends i$1 {
3050
3031
  return b `<div class="text-count">${this.textCount}</div>`;
3051
3032
  }
3052
3033
  }
3053
- Field.styles = [css_248z$b];
3034
+ Field.styles = [css_248z$c];
3054
3035
  __decorate([
3055
3036
  n({ type: String })
3056
3037
  ], Field.prototype, "label", void 0);
@@ -3106,7 +3087,7 @@ __decorate([
3106
3087
  r()
3107
3088
  ], Field.prototype, "slotEndHasContent", void 0);
3108
3089
 
3109
- var css_248z$a = i`* {
3090
+ var css_248z$b = i`* {
3110
3091
  box-sizing: border-box;
3111
3092
  }
3112
3093
 
@@ -3303,7 +3284,7 @@ class NumberField extends BaseInput {
3303
3284
  }
3304
3285
  }
3305
3286
  _NumberField_id = new WeakMap();
3306
- NumberField.styles = [css_248z$a];
3287
+ NumberField.styles = [css_248z$b];
3307
3288
  __decorate([
3308
3289
  n({ type: Number })
3309
3290
  ], NumberField.prototype, "value", void 0);
@@ -3365,7 +3346,7 @@ __decorate([
3365
3346
  e$4('.input-element')
3366
3347
  ], NumberField.prototype, "inputElement", void 0);
3367
3348
 
3368
- var css_248z$9 = i`* {
3349
+ var css_248z$a = i`* {
3369
3350
  box-sizing: border-box;
3370
3351
  }
3371
3352
 
@@ -3532,7 +3513,7 @@ class DatePicker extends BaseInput {
3532
3513
  `;
3533
3514
  }
3534
3515
  }
3535
- DatePicker.styles = [css_248z$9];
3516
+ DatePicker.styles = [css_248z$a];
3536
3517
  __decorate([
3537
3518
  n({ type: String })
3538
3519
  ], DatePicker.prototype, "value", void 0);
@@ -3588,7 +3569,7 @@ __decorate([
3588
3569
  e$4('.input-element')
3589
3570
  ], DatePicker.prototype, "inputElement", void 0);
3590
3571
 
3591
- var css_248z$8 = i`* {
3572
+ var css_248z$9 = i`* {
3592
3573
  box-sizing: border-box;
3593
3574
  }
3594
3575
 
@@ -3755,7 +3736,7 @@ class TimePicker extends BaseInput {
3755
3736
  `;
3756
3737
  }
3757
3738
  }
3758
- TimePicker.styles = [css_248z$8];
3739
+ TimePicker.styles = [css_248z$9];
3759
3740
  __decorate([
3760
3741
  n({ type: String })
3761
3742
  ], TimePicker.prototype, "value", void 0);
@@ -3811,7 +3792,7 @@ __decorate([
3811
3792
  e$4('.input-element')
3812
3793
  ], TimePicker.prototype, "inputElement", void 0);
3813
3794
 
3814
- var css_248z$7 = i`* {
3795
+ var css_248z$8 = i`* {
3815
3796
  box-sizing: border-box;
3816
3797
  }
3817
3798
 
@@ -3971,7 +3952,7 @@ class Textarea extends BaseInput {
3971
3952
  `;
3972
3953
  }
3973
3954
  }
3974
- Textarea.styles = [css_248z$7];
3955
+ Textarea.styles = [css_248z$8];
3975
3956
  __decorate([
3976
3957
  n({ type: String })
3977
3958
  ], Textarea.prototype, "value", void 0);
@@ -4030,7 +4011,7 @@ __decorate([
4030
4011
  e$4('.input-element')
4031
4012
  ], Textarea.prototype, "inputElement", void 0);
4032
4013
 
4033
- var css_248z$6 = i`* {
4014
+ var css_248z$7 = i`* {
4034
4015
  box-sizing: border-box;
4035
4016
  }
4036
4017
 
@@ -4371,7 +4352,7 @@ class Switch extends BaseInput {
4371
4352
  `;
4372
4353
  }
4373
4354
  }
4374
- Switch.styles = [css_248z$6];
4355
+ Switch.styles = [css_248z$7];
4375
4356
  __decorate([
4376
4357
  n({ type: Boolean })
4377
4358
  ], Switch.prototype, "value", void 0);
@@ -4415,7 +4396,7 @@ __decorate([
4415
4396
  e$4('.input-native')
4416
4397
  ], Switch.prototype, "nativeElement", void 0);
4417
4398
 
4418
- var css_248z$5 = i`* {
4399
+ var css_248z$6 = i`* {
4419
4400
  box-sizing: border-box;
4420
4401
  }
4421
4402
 
@@ -4502,9 +4483,9 @@ class Spinner extends i$1 {
4502
4483
  `;
4503
4484
  }
4504
4485
  }
4505
- Spinner.styles = [css_248z$5];
4486
+ Spinner.styles = [css_248z$6];
4506
4487
 
4507
- var css_248z$4 = i`* {
4488
+ var css_248z$5 = i`* {
4508
4489
  box-sizing: border-box;
4509
4490
  }
4510
4491
 
@@ -4540,7 +4521,7 @@ var css_248z$4 = i`* {
4540
4521
  width: 100%;
4541
4522
  }
4542
4523
  .container .content {
4543
- padding: v(--spacing-200);
4524
+ padding: var(--spacing-200);
4544
4525
  }
4545
4526
 
4546
4527
  :host(.debug) {
@@ -4627,12 +4608,12 @@ class Container extends i$1 {
4627
4608
  `;
4628
4609
  }
4629
4610
  }
4630
- Container.styles = [css_248z$4];
4611
+ Container.styles = [css_248z$5];
4631
4612
  __decorate([
4632
4613
  n({ type: String, reflect: true })
4633
4614
  ], Container.prototype, "size", void 0);
4634
4615
 
4635
- var css_248z$3 = i`* {
4616
+ var css_248z$4 = i`* {
4636
4617
  box-sizing: border-box;
4637
4618
  }
4638
4619
 
@@ -4781,7 +4762,7 @@ class EmptyState extends i$1 {
4781
4762
  }
4782
4763
  }
4783
4764
  // Lit handles styles in a static property for better performance
4784
- EmptyState.styles = [css_248z$3];
4765
+ EmptyState.styles = [css_248z$4];
4785
4766
  __decorate([
4786
4767
  n({ type: String, reflect: true })
4787
4768
  ], EmptyState.prototype, "illustration", void 0);
@@ -4795,7 +4776,7 @@ __decorate([
4795
4776
  r()
4796
4777
  ], EmptyState.prototype, "vertical", void 0);
4797
4778
 
4798
- var css_248z$2 = i`* {
4779
+ var css_248z$3 = i`* {
4799
4780
  box-sizing: border-box;
4800
4781
  }
4801
4782
 
@@ -6623,7 +6604,7 @@ class Tooltip extends i$1 {
6623
6604
  `;
6624
6605
  }
6625
6606
  }
6626
- Tooltip.styles = [css_248z$2];
6607
+ Tooltip.styles = [css_248z$3];
6627
6608
  Tooltip.CLOSE_OTHERS_EVENT = 'tooltip--open';
6628
6609
  __decorate([
6629
6610
  n()
@@ -6644,7 +6625,7 @@ __decorate([
6644
6625
  e$4('#tooltip')
6645
6626
  ], Tooltip.prototype, "floatingEl", void 0);
6646
6627
 
6647
- var css_248z$1 = i`* {
6628
+ var css_248z$2 = i`* {
6648
6629
  box-sizing: border-box;
6649
6630
  }
6650
6631
 
@@ -6718,7 +6699,7 @@ class Breadcrumb extends i$1 {
6718
6699
  </nav>`;
6719
6700
  }
6720
6701
  }
6721
- Breadcrumb.styles = [css_248z$1];
6702
+ Breadcrumb.styles = [css_248z$2];
6722
6703
  __decorate([
6723
6704
  n({ type: String })
6724
6705
  ], Breadcrumb.prototype, "label", void 0);
@@ -6729,7 +6710,7 @@ __decorate([
6729
6710
  * SPDX-License-Identifier: BSD-3-Clause
6730
6711
  */const o=o=>o??A;
6731
6712
 
6732
- var css_248z = i`* {
6713
+ var css_248z$1 = i`* {
6733
6714
  box-sizing: border-box;
6734
6715
  }
6735
6716
 
@@ -6858,7 +6839,7 @@ class BreadcrumbItem extends i$1 {
6858
6839
  `;
6859
6840
  }
6860
6841
  }
6861
- BreadcrumbItem.styles = [css_248z];
6842
+ BreadcrumbItem.styles = [css_248z$1];
6862
6843
  __decorate([
6863
6844
  n({ reflect: true })
6864
6845
  ], BreadcrumbItem.prototype, "href", void 0);
@@ -6875,5 +6856,193 @@ __decorate([
6875
6856
  r()
6876
6857
  ], BreadcrumbItem.prototype, "position", void 0);
6877
6858
 
6878
- export { Accordion as A, Badge as B, Chip as C, DatePicker as D, Elevation as E, Field as F, Icon as I, LinearProgress as L, NumberField as N, Ripple as R, Skeleton as S, Tag as T, Avatar as a, Breadcrumb as b, BreadcrumbItem as c, CircularProgress as d, Container as e, Divider as f, EmptyState as g, FocusRing as h, IconButton as i, Input as j, Link as k, Spinner as l, Switch as m, Textarea as n, TimePicker as o, Tooltip as p };
6879
- //# sourceMappingURL=breadcrumb-item-DkhwoMAH.js.map
6859
+ var css_248z = i`@charset "UTF-8";
6860
+ :host {
6861
+ display: block;
6862
+ height: 100%;
6863
+ width: 100%;
6864
+ }
6865
+
6866
+ .image-wrapper {
6867
+ display: flex;
6868
+ align-items: center;
6869
+ justify-content: center;
6870
+ height: 100%;
6871
+ width: 100%;
6872
+ }
6873
+
6874
+ img {
6875
+ display: block;
6876
+ max-height: 100%;
6877
+ max-width: 100%;
6878
+ }
6879
+
6880
+ img.clickable {
6881
+ cursor: zoom-in;
6882
+ }
6883
+
6884
+ .placeholder {
6885
+ background: #e0e0e0;
6886
+ min-width: 100px;
6887
+ min-height: 100px;
6888
+ display: block;
6889
+ }
6890
+
6891
+ /* Preview overlay — rendered in light DOM via portal, but we keep
6892
+ a host-level overlay as a fallback when shadow DOM is used. */
6893
+ .preview-overlay {
6894
+ display: none;
6895
+ position: fixed;
6896
+ inset: 0;
6897
+ z-index: 9999;
6898
+ background: rgba(0, 0, 0, 0.85);
6899
+ align-items: center;
6900
+ justify-content: center;
6901
+ cursor: zoom-out;
6902
+ }
6903
+
6904
+ .preview-overlay.open {
6905
+ display: flex;
6906
+ }
6907
+
6908
+ .preview-overlay img {
6909
+ max-width: 90vw;
6910
+ max-height: 90vh;
6911
+ object-fit: contain;
6912
+ box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
6913
+ border-radius: 4px;
6914
+ }`;
6915
+
6916
+ /**
6917
+ * @label Image
6918
+ * @tag base-image
6919
+ * @rawTag image
6920
+ *
6921
+ * @summary Image
6922
+ * @overview
6923
+ * - CodeHighlighter is a component that provides syntax highlighting for code snippets.
6924
+ * - It supports various programming languages and can display line numbers for better readability.
6925
+ *
6926
+ * @example
6927
+ * ```html
6928
+ * <code-highlighter language="javascript" style="height: 9rem"><pre><code>
6929
+ * function helloWorld() {
6930
+ * console.log('Hello, world!');
6931
+ * }</code></pre>
6932
+ * </code-highlighter>
6933
+ * ```
6934
+ * @tags display
6935
+ */
6936
+ class Image extends i$1 {
6937
+ constructor() {
6938
+ super(...arguments);
6939
+ /** Primary image source */
6940
+ this.src = '';
6941
+ /** Optional dark-mode image source */
6942
+ this.darkSrc = '';
6943
+ /** Alt text / title for the image */
6944
+ this.imageTitle = '';
6945
+ /** Enable click-to-preview lightbox */
6946
+ this.preview = false;
6947
+ this._isDarkMode = isDarkMode();
6948
+ this._loaded = false;
6949
+ this._previewOpen = false;
6950
+ this._intersectionObserver = null;
6951
+ this._themeCleanup = null;
6952
+ }
6953
+ connectedCallback() {
6954
+ super.connectedCallback();
6955
+ // Theme observation
6956
+ this._themeCleanup = observeThemeChange(() => {
6957
+ this._isDarkMode = isDarkMode();
6958
+ // Reset lazy-load state so new src is loaded when visible
6959
+ this._loaded = false;
6960
+ this._setupIntersectionObserver();
6961
+ });
6962
+ }
6963
+ disconnectedCallback() {
6964
+ super.disconnectedCallback();
6965
+ this._intersectionObserver?.disconnect();
6966
+ this._themeCleanup?.();
6967
+ }
6968
+ firstUpdated() {
6969
+ this._setupIntersectionObserver();
6970
+ }
6971
+ _setupIntersectionObserver() {
6972
+ this._intersectionObserver?.disconnect();
6973
+ const wrapper = this.shadowRoot?.querySelector('.image-wrapper');
6974
+ if (!wrapper)
6975
+ return;
6976
+ this._intersectionObserver = new IntersectionObserver((entries) => {
6977
+ if (entries[0].isIntersecting) {
6978
+ this._loaded = true;
6979
+ this._intersectionObserver?.disconnect();
6980
+ }
6981
+ }, { rootMargin: '200px' } // start loading slightly before entering viewport
6982
+ );
6983
+ this._intersectionObserver.observe(wrapper);
6984
+ }
6985
+ get _activeSrc() {
6986
+ return this._isDarkMode && this.darkSrc ? this.darkSrc : this.src;
6987
+ }
6988
+ _handleClick() {
6989
+ if (this.preview) {
6990
+ this._previewOpen = true;
6991
+ }
6992
+ }
6993
+ _closePreview(e) {
6994
+ e.stopPropagation();
6995
+ this._previewOpen = false;
6996
+ }
6997
+ render() {
6998
+ return b `
6999
+ <div class="image-wrapper">
7000
+ ${this._loaded
7001
+ ? b `<img
7002
+ src=${this._activeSrc}
7003
+ alt=${this.imageTitle}
7004
+ class=${this.preview ? 'clickable' : ''}
7005
+ @click=${this._handleClick}
7006
+ />`
7007
+ : b `<span class="placeholder" aria-hidden="true"></span>`}
7008
+ </div>
7009
+
7010
+ <!-- Lightbox preview overlay (inside shadow root) -->
7011
+ <div
7012
+ class="preview-overlay ${this._previewOpen ? 'open' : ''}"
7013
+ role="dialog"
7014
+ aria-modal="true"
7015
+ aria-label="Image preview"
7016
+ @click=${this._closePreview}
7017
+ @keydown=${(e) => e.key === 'Escape' && this._closePreview(e)}
7018
+ >
7019
+ <img src=${this._activeSrc} alt=${this.imageTitle} @click=${(e) => e.stopPropagation()} />
7020
+ </div>
7021
+ `;
7022
+ }
7023
+ }
7024
+ Image.styles = [css_248z];
7025
+ __decorate([
7026
+ n({ reflect: true })
7027
+ ], Image.prototype, "src", void 0);
7028
+ __decorate([
7029
+ n({ reflect: true, attribute: 'dark-src' })
7030
+ ], Image.prototype, "darkSrc", void 0);
7031
+ __decorate([
7032
+ n({ attribute: 'image-title' })
7033
+ ], Image.prototype, "imageTitle", void 0);
7034
+ __decorate([
7035
+ n({ type: Boolean, reflect: true })
7036
+ ], Image.prototype, "preview", void 0);
7037
+ __decorate([
7038
+ r()
7039
+ ], Image.prototype, "_isDarkMode", void 0);
7040
+ __decorate([
7041
+ r()
7042
+ ], Image.prototype, "_loaded", void 0);
7043
+ __decorate([
7044
+ r()
7045
+ ], Image.prototype, "_previewOpen", void 0);
7046
+
7047
+ export { Accordion as A, Badge as B, Chip as C, DatePicker as D, Elevation as E, Field as F, Icon as I, LinearProgress as L, NumberField as N, Ripple as R, Skeleton as S, Tag as T, Avatar as a, Breadcrumb as b, BreadcrumbItem as c, CircularProgress as d, Container as e, Divider as f, EmptyState as g, FocusRing as h, IconButton as i, Image as j, Input as k, Link as l, Spinner as m, Switch as n, Textarea as o, TimePicker as p, Tooltip as q };
7048
+ //# sourceMappingURL=image-v3BujlY5.js.map