@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/index.js CHANGED
@@ -1,39 +1,16 @@
1
- export { Icon } from './icon.js';
2
- export { Avatar } from './avatar.js';
3
- export { Badge } from './badge.js';
4
- export { Divider } from './divider.js';
1
+ export { A as Accordion, a as Avatar, B as Badge, b as Breadcrumb, c as BreadcrumbItem, C as Chip, d as CircularProgress, e as Container, D as DatePicker, f as Divider, E as Elevation, g as EmptyState, F as Field, h as FocusRing, I as Icon, i as IconButton, j as Image, k as Input, L as LinearProgress, l as Link, N as NumberField, R as Ripple, S as Skeleton, m as Spinner, n as Switch, T as Tag, o as Textarea, p as TimePicker, q as Tooltip } from './image-DK6VQW7N.js';
5
2
  export { Clock } from './clock.js';
6
- export { Elevation } from './elevation.js';
7
- export { B as Button, C as CircularProgress, D as DatePicker, I as IconButton, a as Input, L as LinearProgress, N as NumberField, S as Switch, T as Textarea, b as TimePicker } from './switch-DqxIiVsB.js';
3
+ export { B as Button } from './button-2MeDq0Yy.js';
8
4
  export { ButtonGroup } from './button-group.js';
9
- export { FocusRing } from './focus-ring.js';
10
- export { Ripple } from './ripple.js';
11
- export { Accordion } from './accordion.js';
12
- export { Link } from './link.js';
13
- export { Tag } from './tag.js';
14
- export { Chip } from './chip.js';
15
- export { Skeleton } from './skeleton.js';
16
- export { Field } from './field.js';
17
- export { Spinner } from './spinner.js';
18
- export { Container } from './container.js';
19
5
  export { NumberCounter } from './number-counter.js';
20
- export { EmptyState } from './empty-state.js';
21
- export { Tooltip } from './tooltip.js';
22
- export { Breadcrumb } from './breadcrumb.js';
23
- export { BreadcrumbItem } from './breadcrumb-item.js';
24
6
  export { CodeHighlighter } from './code-highlighter.js';
25
- import './property-DNVWDdPC.js';
26
- import './lit-element-CA46RFZ_.js';
27
- import './state-CV1fRmOT.js';
7
+ export { default as CodeEditor } from './code-editor.js';
8
+ import './PeacockComponent-CxJc63xj.js';
9
+ import './state-B09bP3XH.js';
28
10
  import './directive-Cuw6h7YA.js';
29
- import './unsafe-html-BS8X6Gto.js';
30
- import './utils-DGMeCC48.js';
31
- import './class-map-BmCohX9p.js';
32
- import './spread-axRTFMoH.js';
33
- import './BaseButton.js';
34
- import './query-QBcUV-L_.js';
35
- import './style-map-CdmclYgz.js';
36
- import './base-progress.js';
37
- import './BaseInput.js';
38
- import './accordion-item.js';
11
+ import './unsafe-html-B-dV3Jps.js';
12
+ import './dispatch-event-utils-vbdiOSeC.js';
13
+ import './class-map-BvQRv7eW.js';
14
+ import './style-map-B8xgVEc9.js';
15
+ import './observe-theme-change-NneLARW8.js';
39
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,6 +1,5 @@
1
- import { _ as __decorate, n } from './property-DNVWDdPC.js';
2
- import { i, a as i$1, b, A } from './lit-element-CA46RFZ_.js';
3
- import { o } from './style-map-CdmclYgz.js';
1
+ import { i, _ as __decorate, n, P as PeacockComponent, a as i$1, b, A } from './PeacockComponent-CxJc63xj.js';
2
+ import { o } from './style-map-B8xgVEc9.js';
4
3
  import './directive-Cuw6h7YA.js';
5
4
 
6
5
  var css_248z = i`* {
@@ -58,7 +57,7 @@ var css_248z = i`* {
58
57
  * ```
59
58
  * @tags display
60
59
  */
61
- class NumberCounter extends i$1 {
60
+ let NumberCounter = class NumberCounter extends i$1 {
62
61
  constructor() {
63
62
  super(...arguments);
64
63
  this.value = 0;
@@ -100,7 +99,7 @@ class NumberCounter extends i$1 {
100
99
  </div>
101
100
  </div>`;
102
101
  }
103
- }
102
+ };
104
103
  NumberCounter.styles = [css_248z];
105
104
  __decorate([
106
105
  n({ type: Number })
@@ -108,6 +107,9 @@ __decorate([
108
107
  __decorate([
109
108
  n()
110
109
  ], NumberCounter.prototype, "locale", void 0);
110
+ NumberCounter = __decorate([
111
+ PeacockComponent
112
+ ], NumberCounter);
111
113
 
112
114
  export { NumberCounter };
113
115
  //# sourceMappingURL=number-counter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"number-counter.js","sources":["../../src/number-counter/number-counter.ts"],"sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport styles from './number-counter.scss';\n\n/**\n * @label Number Counter\n * @tag number-counter\n * @rawTag number-counter\n * @summary Displays a number with commas for thousands.\n *\n * @example\n * ```html\n * <number-counter value=\"123456789\"></number-counter>\n * <script>\n * const $counter = document.querySelector('number-counter');\n *\n * setInterval(() => {\n * $counter.value = $counter.value + parseInt(Math.floor(Math.random() * 1000));\n * }, 1000);\n * </script>\n * ```\n * @tags display\n */\nexport class NumberCounter extends LitElement {\n static styles = [styles];\n\n @property({ type: Number }) value = 0;\n\n /**\n * Optional: Allow users to pass a locale, defaulting to 'en-US' for commas.\n */\n @property() locale = 'en-US';\n\n render() {\n return html`<div class=\"number-counter\">${this.renderDigits()}</div>`;\n }\n\n renderDigits() {\n if (this.value === undefined || this.value === null) return nothing;\n\n // 1. Format the number with commas (e.g., 1234 -> \"1,234\")\n const formattedValue = new Intl.NumberFormat(this.locale).format(\n this.value,\n );\n\n // 2. Split the string into individual characters\n const chars = formattedValue.split('');\n\n return html`${chars.map(char => {\n // 3. Check if the character is a digit or a separator (comma/dot)\n const digit = parseInt(char, 10);\n\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(digit)) {\n return html`<div class=\"digit-separator\">${char}</div>`;\n }\n\n return this.renderDigit(digit);\n })}`;\n }\n\n // eslint-disable-next-line class-methods-use-this\n renderDigit(digit: number) {\n // Each 'each-digit' is 10% of the 'digit-content' height (since there are 10 numbers)\n const offset = digit * 10;\n const style = {\n transform: `translateY(-${offset}%)`,\n };\n\n return html` <div class=\"digit\">\n <div class=\"digit-content\" style=${styleMap(style)}>\n ${[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(\n n => html`<div class=\"each-digit\">${n}</div>`,\n )}\n </div>\n </div>`;\n }\n}\n"],"names":["LitElement","html","nothing","styleMap","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;;;;;;;;;;;;;;;;;;AAkBG;AACG,MAAO,aAAc,SAAQA,GAAU,CAAA;AAA7C,IAAA,WAAA,GAAA;;QAG8B,IAAA,CAAA,KAAK,GAAG,CAAC;AAErC;;AAEG;QACS,IAAA,CAAA,MAAM,GAAG,OAAO;IA8C9B;IA5CE,MAAM,GAAA;QACJ,OAAOC,CAAI,CAAA,CAAA,4BAAA,EAA+B,IAAI,CAAC,YAAY,EAAE,QAAQ;IACvE;IAEA,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;AAAE,YAAA,OAAOC,CAAO;;AAGnE,QAAA,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC9D,IAAI,CAAC,KAAK,CACX;;QAGD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAEtC,OAAOD,CAAI,CAAA,CAAA,EAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAG;;YAE7B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;;AAGhC,YAAA,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;AAChB,gBAAA,OAAOA,CAAI,CAAA,CAAA,6BAAA,EAAgC,IAAI,QAAQ;YACzD;AAEA,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC,EAAE;IACN;;AAGA,IAAA,WAAW,CAAC,KAAa,EAAA;;AAEvB,QAAA,MAAM,MAAM,GAAG,KAAK,GAAG,EAAE;AACzB,QAAA,MAAM,KAAK,GAAG;YACZ,SAAS,EAAE,CAAA,YAAA,EAAe,MAAM,CAAA,EAAA,CAAI;SACrC;AAED,QAAA,OAAOA,CAAI,CAAA,CAAA;yCAC0BE,CAAQ,CAAC,KAAK,CAAC,CAAA;AAC9C,QAAA,EAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAClC,CAAC,IAAIF,CAAI,CAAA,CAAA,wBAAA,EAA2B,CAAC,QAAQ,CAC9C;;WAEE;IACT;;AApDO,aAAA,CAAA,MAAM,GAAG,CAACG,QAAM,CAAC;AAEI,UAAA,CAAA;AAA3B,IAAAC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAAY,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAK1B,UAAA,CAAA;AAAX,IAAAA,CAAQ;AAAoB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;;;;"}
1
+ {"version":3,"file":"number-counter.js","sources":["../../src/number-counter/number-counter.ts"],"sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport PeacockComponent from 'src/PeacockComponent.js';\nimport styles from './number-counter.scss';\n\n/**\n * @label Number Counter\n * @tag number-counter\n * @rawTag number-counter\n * @summary Displays a number with commas for thousands.\n *\n * @example\n * ```html\n * <number-counter value=\"123456789\"></number-counter>\n * <script>\n * const $counter = document.querySelector('number-counter');\n *\n * setInterval(() => {\n * $counter.value = $counter.value + parseInt(Math.floor(Math.random() * 1000));\n * }, 1000);\n * </script>\n * ```\n * @tags display\n */\n@PeacockComponent\nexport class NumberCounter extends LitElement {\n static styles = [styles];\n\n @property({ type: Number }) value = 0;\n\n /**\n * Optional: Allow users to pass a locale, defaulting to 'en-US' for commas.\n */\n @property() locale = 'en-US';\n\n render() {\n return html`<div class=\"number-counter\">${this.renderDigits()}</div>`;\n }\n\n renderDigits() {\n if (this.value === undefined || this.value === null) return nothing;\n\n // 1. Format the number with commas (e.g., 1234 -> \"1,234\")\n const formattedValue = new Intl.NumberFormat(this.locale).format(\n this.value,\n );\n\n // 2. Split the string into individual characters\n const chars = formattedValue.split('');\n\n return html`${chars.map(char => {\n // 3. Check if the character is a digit or a separator (comma/dot)\n const digit = parseInt(char, 10);\n\n // eslint-disable-next-line no-restricted-globals\n if (isNaN(digit)) {\n return html`<div class=\"digit-separator\">${char}</div>`;\n }\n\n return this.renderDigit(digit);\n })}`;\n }\n\n // eslint-disable-next-line class-methods-use-this\n renderDigit(digit: number) {\n // Each 'each-digit' is 10% of the 'digit-content' height (since there are 10 numbers)\n const offset = digit * 10;\n const style = {\n transform: `translateY(-${offset}%)`,\n };\n\n return html` <div class=\"digit\">\n <div class=\"digit-content\" style=${styleMap(style)}>\n ${[0, 1, 2, 3, 4, 5, 6, 7, 8, 9].map(\n n => html`<div class=\"each-digit\">${n}</div>`,\n )}\n </div>\n </div>`;\n }\n}\n"],"names":["LitElement","html","nothing","styleMap","styles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;;;;;;;;;;;;;;AAkBG;AAEI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQA,GAAU,CAAA;AAAtC,IAAA,WAAA,GAAA;;QAGuB,IAAA,CAAA,KAAK,GAAG,CAAC;AAErC;;AAEG;QACS,IAAA,CAAA,MAAM,GAAG,OAAO;IA8C9B;IA5CE,MAAM,GAAA;QACJ,OAAOC,CAAI,CAAA,CAAA,4BAAA,EAA+B,IAAI,CAAC,YAAY,EAAE,QAAQ;IACvE;IAEA,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI;AAAE,YAAA,OAAOC,CAAO;;AAGnE,QAAA,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAC9D,IAAI,CAAC,KAAK,CACX;;QAGD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAEtC,OAAOD,CAAI,CAAA,CAAA,EAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAG;;YAE7B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;;AAGhC,YAAA,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;AAChB,gBAAA,OAAOA,CAAI,CAAA,CAAA,6BAAA,EAAgC,IAAI,QAAQ;YACzD;AAEA,YAAA,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC,EAAE;IACN;;AAGA,IAAA,WAAW,CAAC,KAAa,EAAA;;AAEvB,QAAA,MAAM,MAAM,GAAG,KAAK,GAAG,EAAE;AACzB,QAAA,MAAM,KAAK,GAAG;YACZ,SAAS,EAAE,CAAA,YAAA,EAAe,MAAM,CAAA,EAAA,CAAI;SACrC;AAED,QAAA,OAAOA,CAAI,CAAA,CAAA;yCAC0BE,CAAQ,CAAC,KAAK,CAAC,CAAA;AAC9C,QAAA,EAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAClC,CAAC,IAAIF,CAAI,CAAA,CAAA,wBAAA,EAA2B,CAAC,QAAQ,CAC9C;;WAEE;IACT;;AApDO,aAAA,CAAA,MAAM,GAAG,CAACG,QAAM,CAAC;AAEI,UAAA,CAAA;AAA3B,IAAAC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAAY,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAK1B,UAAA,CAAA;AAAX,IAAAA,CAAQ;AAAoB,CAAA,EAAA,aAAA,CAAA,SAAA,EAAA,QAAA,EAAA,MAAA,CAAA;AARlB,aAAa,GAAA,UAAA,CAAA;IADzB;AACY,CAAA,EAAA,aAAa,CAsDzB;;;;"}
@@ -0,0 +1,51 @@
1
+ import { _ as __decorate, n, a as i } from './PeacockComponent-CxJc63xj.js';
2
+
3
+ class BaseInput extends i {
4
+ constructor() {
5
+ super(...arguments);
6
+ this.disabled = false;
7
+ this.readonly = false;
8
+ this.required = false;
9
+ this.skeleton = false;
10
+ }
11
+ }
12
+ __decorate([
13
+ n({ type: Boolean, reflect: true })
14
+ ], BaseInput.prototype, "disabled", void 0);
15
+ __decorate([
16
+ n({ type: Boolean, reflect: true })
17
+ ], BaseInput.prototype, "readonly", void 0);
18
+ __decorate([
19
+ n({ type: Boolean, reflect: true })
20
+ ], BaseInput.prototype, "required", void 0);
21
+ __decorate([
22
+ n({ type: Boolean, reflect: true })
23
+ ], BaseInput.prototype, "skeleton", void 0);
24
+
25
+ const observeThemeChange = (() => {
26
+ const callbacks = new Set();
27
+ const observer = new MutationObserver((records) => {
28
+ const changed = records.some((r) => r.type === "attributes" && r.attributeName === "data-theme");
29
+ if (!changed)
30
+ return;
31
+ for (const callback of callbacks) {
32
+ try {
33
+ callback();
34
+ }
35
+ catch (err) {
36
+ console.error("[observeThemeChange] callback threw:", err);
37
+ }
38
+ }
39
+ });
40
+ observer.observe(document.documentElement, {
41
+ attributes: true,
42
+ attributeFilter: ["data-theme"],
43
+ });
44
+ return (callback) => {
45
+ callbacks.add(callback);
46
+ return () => callbacks.delete(callback);
47
+ };
48
+ })();
49
+
50
+ export { BaseInput as B, observeThemeChange as o };
51
+ //# sourceMappingURL=observe-theme-change-NneLARW8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe-theme-change-NneLARW8.js","sources":["../../src/input/BaseInput.ts","../../src/utils/observe-theme-change.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nexport default abstract class BaseInput extends LitElement {\n value?: any;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n readonly: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n required: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n skeleton = false;\n}\n","type ThemeChangeCallback = () => void;\n\nexport const observeThemeChange = (() => {\n const callbacks = new Set<ThemeChangeCallback>();\n\n const observer = new MutationObserver((records) => {\n const changed = records.some(\n (r) => r.type === \"attributes\" && r.attributeName === \"data-theme\"\n );\n if (!changed) return;\n\n for (const callback of callbacks) {\n try {\n callback();\n } catch (err) {\n console.error(\"[observeThemeChange] callback threw:\", err);\n }\n }\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [\"data-theme\"],\n });\n\n return (callback: ThemeChangeCallback): (() => void) => {\n callbacks.add(callback);\n return () => callbacks.delete(callback);\n };\n})();"],"names":["LitElement","property"],"mappings":";;AAGc,MAAgB,SAAU,SAAQA,CAAU,CAAA;AAA1D,IAAA,WAAA,GAAA;;QAIE,IAAA,CAAA,QAAQ,GAAY,KAAK;QAGzB,IAAA,CAAA,QAAQ,GAAY,KAAK;QAGzB,IAAA,CAAA,QAAQ,GAAY,KAAK;QAGzB,IAAA,CAAA,QAAQ,GAAG,KAAK;IAClB;AAAC;AAVC,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAG1B,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAG1B,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAG1B,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AACzB,CAAA,EAAA,SAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;;ACdZ,MAAM,kBAAkB,GAAG,CAAC,MAAK;AACtC,IAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB;IAEhD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,OAAO,KAAI;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAC1B,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,aAAa,KAAK,YAAY,CACnE;AACD,QAAA,IAAI,CAAC,OAAO;YAAE;AAEd,QAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAChC,YAAA,IAAI;AACF,gBAAA,QAAQ,EAAE;YACZ;YAAE,OAAO,GAAG,EAAE;AACZ,gBAAA,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC;YAC5D;QACF;AACF,IAAA,CAAC,CAAC;AAEF,IAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE;AACzC,QAAA,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,CAAC,YAAY,CAAC;AAChC,KAAA,CAAC;IAEF,OAAO,CAAC,QAA6B,KAAkB;AACrD,QAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACzC,IAAA,CAAC;AACH,CAAC;;;;"}