snice 3.1.0 → 3.2.0

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 (217) hide show
  1. package/README.md +90 -41
  2. package/dist/components/accordion/snice-accordion-item.js +1 -1
  3. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  4. package/dist/components/accordion/snice-accordion.js +1 -1
  5. package/dist/components/accordion/snice-accordion.js.map +1 -1
  6. package/dist/components/alert/snice-alert.js +1 -1
  7. package/dist/components/alert/snice-alert.js.map +1 -1
  8. package/dist/components/avatar/snice-avatar.js +1 -1
  9. package/dist/components/avatar/snice-avatar.js.map +1 -1
  10. package/dist/components/badge/snice-badge.js +1 -1
  11. package/dist/components/badge/snice-badge.js.map +1 -1
  12. package/dist/components/banner/snice-banner.d.ts +22 -0
  13. package/dist/components/banner/snice-banner.js +180 -0
  14. package/dist/components/banner/snice-banner.js.map +1 -0
  15. package/dist/components/banner/snice-banner.types.d.ts +14 -0
  16. package/dist/components/breadcrumbs/snice-breadcrumbs.js +1 -1
  17. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  18. package/dist/components/button/snice-button.js +1 -1
  19. package/dist/components/button/snice-button.js.map +1 -1
  20. package/dist/components/card/snice-card.js +1 -1
  21. package/dist/components/card/snice-card.js.map +1 -1
  22. package/dist/components/checkbox/snice-checkbox.js +1 -1
  23. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  24. package/dist/components/chip/snice-chip.js +1 -1
  25. package/dist/components/chip/snice-chip.js.map +1 -1
  26. package/dist/components/color-display/snice-color-display.d.ts +14 -0
  27. package/dist/components/color-display/snice-color-display.js +151 -0
  28. package/dist/components/color-display/snice-color-display.js.map +1 -0
  29. package/dist/components/color-display/snice-color-display.types.d.ts +10 -0
  30. package/dist/components/color-picker/snice-color-picker.d.ts +50 -0
  31. package/dist/components/color-picker/snice-color-picker.js +489 -0
  32. package/dist/components/color-picker/snice-color-picker.js.map +1 -0
  33. package/dist/components/color-picker/snice-color-picker.types.d.ts +19 -0
  34. package/dist/components/date-picker/snice-date-picker.js +1 -1
  35. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  36. package/dist/components/divider/snice-divider.js +1 -1
  37. package/dist/components/divider/snice-divider.js.map +1 -1
  38. package/dist/components/drawer/snice-drawer.js +1 -1
  39. package/dist/components/drawer/snice-drawer.js.map +1 -1
  40. package/dist/components/empty-state/snice-empty-state.d.ts +13 -0
  41. package/dist/components/empty-state/snice-empty-state.js +121 -0
  42. package/dist/components/empty-state/snice-empty-state.js.map +1 -0
  43. package/dist/components/empty-state/snice-empty-state.types.d.ts +9 -0
  44. package/dist/components/file-upload/snice-file-upload.d.ts +45 -0
  45. package/dist/components/file-upload/snice-file-upload.js +394 -0
  46. package/dist/components/file-upload/snice-file-upload.js.map +1 -0
  47. package/dist/components/file-upload/snice-file-upload.types.d.ts +22 -0
  48. package/dist/components/image/snice-image.d.ts +22 -0
  49. package/dist/components/image/snice-image.js +201 -0
  50. package/dist/components/image/snice-image.js.map +1 -0
  51. package/dist/components/image/snice-image.types.d.ts +17 -0
  52. package/dist/components/input/snice-input.js +1 -1
  53. package/dist/components/input/snice-input.js.map +1 -1
  54. package/dist/components/kpi/snice-kpi.d.ts +16 -0
  55. package/dist/components/kpi/snice-kpi.js +162 -0
  56. package/dist/components/kpi/snice-kpi.js.map +1 -0
  57. package/dist/components/kpi/snice-kpi.types.d.ts +12 -0
  58. package/dist/components/layout/snice-layout-blog.js +1 -1
  59. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  60. package/dist/components/layout/snice-layout-card.js +1 -1
  61. package/dist/components/layout/snice-layout-card.js.map +1 -1
  62. package/dist/components/layout/snice-layout-centered.js +1 -1
  63. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  64. package/dist/components/layout/snice-layout-dashboard.js +1 -1
  65. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  66. package/dist/components/layout/snice-layout-fullscreen.js +1 -1
  67. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  68. package/dist/components/layout/snice-layout-landing.js +1 -1
  69. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  70. package/dist/components/layout/snice-layout-minimal.js +1 -1
  71. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  72. package/dist/components/layout/snice-layout-sidebar.js +1 -1
  73. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  74. package/dist/components/layout/snice-layout-split.js +1 -1
  75. package/dist/components/layout/snice-layout-split.js.map +1 -1
  76. package/dist/components/layout/snice-layout.js +1 -1
  77. package/dist/components/layout/snice-layout.js.map +1 -1
  78. package/dist/components/link/snice-link.d.ts +13 -0
  79. package/dist/components/link/snice-link.js +137 -0
  80. package/dist/components/link/snice-link.js.map +1 -0
  81. package/dist/components/link/snice-link.types.d.ts +11 -0
  82. package/dist/components/login/snice-login.js +1 -1
  83. package/dist/components/login/snice-login.js.map +1 -1
  84. package/dist/components/modal/snice-modal.js +1 -1
  85. package/dist/components/modal/snice-modal.js.map +1 -1
  86. package/dist/components/nav/snice-nav.js +1 -1
  87. package/dist/components/nav/snice-nav.js.map +1 -1
  88. package/dist/components/progress/snice-progress.js +1 -1
  89. package/dist/components/progress/snice-progress.js.map +1 -1
  90. package/dist/components/radio/snice-radio.js +1 -1
  91. package/dist/components/radio/snice-radio.js.map +1 -1
  92. package/dist/components/select/snice-select.js +1 -1
  93. package/dist/components/select/snice-select.js.map +1 -1
  94. package/dist/components/skeleton/snice-skeleton.js +1 -1
  95. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  96. package/dist/components/slider/snice-slider.d.ts +53 -0
  97. package/dist/components/slider/snice-slider.js +479 -0
  98. package/dist/components/slider/snice-slider.js.map +1 -0
  99. package/dist/components/slider/snice-slider.types.d.ts +26 -0
  100. package/dist/components/snice-cell-C0slgOpe.js +4 -0
  101. package/dist/components/snice-cell-C0slgOpe.js.map +1 -0
  102. package/dist/components/sparkline/snice-sparkline.d.ts +21 -0
  103. package/dist/components/sparkline/snice-sparkline.js +228 -0
  104. package/dist/components/sparkline/snice-sparkline.js.map +1 -0
  105. package/dist/components/sparkline/snice-sparkline.types.d.ts +16 -0
  106. package/dist/components/spinner/snice-spinner.d.ts +10 -0
  107. package/dist/components/spinner/snice-spinner.js +109 -0
  108. package/dist/components/spinner/snice-spinner.js.map +1 -0
  109. package/dist/components/spinner/snice-spinner.types.d.ts +8 -0
  110. package/dist/components/stepper/snice-stepper-panel.d.ts +8 -0
  111. package/dist/components/stepper/snice-stepper-panel.js +70 -0
  112. package/dist/components/stepper/snice-stepper-panel.js.map +1 -0
  113. package/dist/components/stepper/snice-stepper-panel.types.d.ts +4 -0
  114. package/dist/components/stepper/snice-stepper.d.ts +15 -0
  115. package/dist/components/stepper/snice-stepper.js +163 -0
  116. package/dist/components/stepper/snice-stepper.js.map +1 -0
  117. package/dist/components/stepper/snice-stepper.types.d.ts +13 -0
  118. package/dist/components/switch/snice-switch.js +1 -1
  119. package/dist/components/switch/snice-switch.js.map +1 -1
  120. package/dist/components/table/snice-cell-actions.js +1 -1
  121. package/dist/components/table/snice-cell-actions.js.map +1 -1
  122. package/dist/components/table/snice-cell-boolean.js +1 -1
  123. package/dist/components/table/snice-cell-color.js +1 -1
  124. package/dist/components/table/snice-cell-color.js.map +1 -1
  125. package/dist/components/table/snice-cell-currency.js +1 -1
  126. package/dist/components/table/snice-cell-date.js +1 -1
  127. package/dist/components/table/snice-cell-duration.js +1 -1
  128. package/dist/components/table/snice-cell-email.js +1 -1
  129. package/dist/components/table/snice-cell-email.js.map +1 -1
  130. package/dist/components/table/snice-cell-filesize.js +1 -1
  131. package/dist/components/table/snice-cell-image.js +1 -1
  132. package/dist/components/table/snice-cell-image.js.map +1 -1
  133. package/dist/components/table/snice-cell-json.js +1 -1
  134. package/dist/components/table/snice-cell-json.js.map +1 -1
  135. package/dist/components/table/snice-cell-link.js +1 -1
  136. package/dist/components/table/snice-cell-link.js.map +1 -1
  137. package/dist/components/table/snice-cell-location.js +1 -1
  138. package/dist/components/table/snice-cell-location.js.map +1 -1
  139. package/dist/components/table/snice-cell-number.js +1 -1
  140. package/dist/components/table/snice-cell-percentage.js +1 -1
  141. package/dist/components/table/snice-cell-percentage.js.map +1 -1
  142. package/dist/components/table/snice-cell-phone.js +1 -1
  143. package/dist/components/table/snice-cell-phone.js.map +1 -1
  144. package/dist/components/table/snice-cell-progress.js +1 -1
  145. package/dist/components/table/snice-cell-rating.js +1 -1
  146. package/dist/components/table/snice-cell-sparkline.js +1 -1
  147. package/dist/components/table/snice-cell-status.js +1 -1
  148. package/dist/components/table/snice-cell-status.js.map +1 -1
  149. package/dist/components/table/snice-cell-tag.js +1 -1
  150. package/dist/components/table/snice-cell-tag.js.map +1 -1
  151. package/dist/components/table/snice-cell-text.js +1 -1
  152. package/dist/components/table/snice-cell.js +1 -1
  153. package/dist/components/table/snice-header.js +1 -1
  154. package/dist/components/table/snice-header.js.map +1 -1
  155. package/dist/components/table/snice-row.js +2 -2
  156. package/dist/components/table/snice-row.js.map +1 -1
  157. package/dist/components/table/snice-table.js +1 -1
  158. package/dist/components/tabs/snice-tab-panel.js +1 -1
  159. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  160. package/dist/components/tabs/snice-tab.js +1 -1
  161. package/dist/components/tabs/snice-tab.js.map +1 -1
  162. package/dist/components/tabs/snice-tabs.js +1 -1
  163. package/dist/components/tabs/snice-tabs.js.map +1 -1
  164. package/dist/components/textarea/snice-textarea.d.ts +52 -0
  165. package/dist/components/textarea/snice-textarea.js +407 -0
  166. package/dist/components/textarea/snice-textarea.js.map +1 -0
  167. package/dist/components/textarea/snice-textarea.types.d.ts +30 -0
  168. package/dist/components/timeline/snice-timeline.d.ts +11 -0
  169. package/dist/components/timeline/snice-timeline.js +112 -0
  170. package/dist/components/timeline/snice-timeline.js.map +1 -0
  171. package/dist/components/timeline/snice-timeline.types.d.ts +16 -0
  172. package/dist/components/tooltip/snice-tooltip.js +2 -2
  173. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  174. package/dist/index.cjs +125 -158
  175. package/dist/index.cjs.map +1 -1
  176. package/dist/index.esm.js +125 -158
  177. package/dist/index.esm.js.map +1 -1
  178. package/dist/index.iife.js +125 -158
  179. package/dist/index.iife.js.map +1 -1
  180. package/dist/parts.d.ts +13 -16
  181. package/dist/symbols.cjs +1 -1
  182. package/dist/symbols.esm.js +1 -1
  183. package/dist/template.d.ts +0 -1
  184. package/dist/transitions.cjs +1 -1
  185. package/dist/transitions.esm.js +1 -1
  186. package/docs/ai/README.md +10 -1
  187. package/docs/ai/components/banner.md +84 -0
  188. package/docs/ai/components/color-display.md +48 -0
  189. package/docs/ai/components/color-picker.md +75 -0
  190. package/docs/ai/components/empty-state.md +72 -0
  191. package/docs/ai/components/file-upload.md +93 -0
  192. package/docs/ai/components/image.md +60 -0
  193. package/docs/ai/components/kpi.md +158 -0
  194. package/docs/ai/components/link.md +77 -0
  195. package/docs/ai/components/slider.md +87 -0
  196. package/docs/ai/components/sparkline.md +168 -0
  197. package/docs/ai/components/spinner.md +47 -0
  198. package/docs/ai/components/stepper.md +216 -0
  199. package/docs/ai/components/textarea.md +87 -0
  200. package/docs/ai/components/timeline.md +77 -0
  201. package/docs/components/banner.md +106 -0
  202. package/docs/components/color-display.md +96 -0
  203. package/docs/components/color-picker.md +81 -0
  204. package/docs/components/empty-state.md +79 -0
  205. package/docs/components/file-upload.md +263 -0
  206. package/docs/components/image.md +110 -0
  207. package/docs/components/kpi.md +251 -0
  208. package/docs/components/link.md +229 -0
  209. package/docs/components/slider.md +297 -0
  210. package/docs/components/sparkline.md +293 -0
  211. package/docs/components/spinner.md +63 -0
  212. package/docs/components/stepper.md +410 -0
  213. package/docs/components/textarea.md +235 -0
  214. package/docs/components/timeline.md +192 -0
  215. package/package.json +2 -1
  216. package/dist/components/snice-cell-BLFVdxPp.js +0 -4
  217. package/dist/components/snice-cell-BLFVdxPp.js.map +0 -1
@@ -0,0 +1,489 @@
1
+ import { __esDecorate, __runInitializers } from 'tslib';
2
+ import { element, property, query, render, styles, ready, watch, dispatch, html, css } from 'snice';
3
+
4
+ var cssContent = ":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}.color-picker-wrapper{display:flex;flex-direction:column;gap:var(--snice-spacing-xs,.5rem)}.label{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-2xs,.25rem)}.label--required::after{content:' *';color:var(--snice-color-danger,rgb(220 38 38))}.picker-container{display:flex;align-items:center;gap:var(--snice-spacing-sm,.75rem)}.color-swatch{position:relative;width:40px;height:40px;border-radius:var(--snice-border-radius-md,.375rem);border:2px solid var(--snice-color-border,rgb(226 226 226));cursor:pointer;transition:all var(--snice-transition-fast, 150ms);overflow:hidden}.color-swatch:hover:not(.color-swatch--disabled){border-color:var(--snice-color-primary,rgb(37 99 235));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05))}.color-swatch--small{width:32px;height:32px}.color-swatch--medium{width:40px;height:40px}.color-swatch--large{width:48px;height:48px}.color-swatch--disabled{opacity:.5;cursor:not-allowed}.color-swatch--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.swatch-inner{width:100%;height:100%}.color-input-wrapper{flex:1;position:relative}.color-input{width:100%;padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);font-size:var(--snice-font-size-sm, .875rem);font-family:monospace;color:var(--snice-color-text,rgb(23 23 23));background:var(--snice-color-background,rgb(255 255 255));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.375rem);transition:all var(--snice-transition-fast, 150ms);outline:0}.color-input--small{padding:var(--snice-spacing-2xs,.375rem) var(--snice-spacing-sm,.625rem);font-size:var(--snice-font-size-xs, .75rem)}.color-input--large{padding:var(--snice-spacing-sm,.625rem) var(--snice-spacing-md,.875rem);font-size:var(--snice-font-size-md, 1rem)}.color-input:hover:not(:disabled){border-color:var(--snice-color-border-hover,rgb(156 163 175))}.color-input:focus{border-color:var(--snice-color-primary,rgb(37 99 235));box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.color-input:disabled{opacity:.5;cursor:not-allowed;background:var(--snice-color-background-disabled,rgb(243 244 246))}.color-input--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.color-input--invalid:focus{border-color:var(--snice-color-danger,rgb(220 38 38));box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-color-danger-alpha,rgb(239 68 68 / .2))}.native-input{position:absolute;opacity:0;pointer-events:none}.presets{display:flex;gap:var(--snice-spacing-xs,.5rem);flex-wrap:wrap;margin-top:var(--snice-spacing-xs,.5rem)}.preset{width:32px;height:32px;border-radius:var(--snice-border-radius-md,.375rem);border:2px solid var(--snice-color-border,rgb(226 226 226));cursor:pointer;transition:all var(--snice-transition-fast, 150ms)}.preset:hover{border-color:var(--snice-color-primary,rgb(37 99 235));transform:scale(1.1)}.preset--selected{border-color:var(--snice-color-primary,rgb(37 99 235));box-shadow:0 0 0 2px var(--snice-color-primary-alpha,rgb(59 130 246 / .2))}.error-text,.helper-text{font-size:var(--snice-font-size-xs, .75rem);margin-top:var(--snice-spacing-2xs,.25rem)}.helper-text{color:var(--snice-color-text-secondary,rgb(82 82 82))}.error-text{color:var(--snice-color-danger,rgb(220 38 38))}";
5
+
6
+ let SniceColorPicker = (() => {
7
+ let _classDecorators = [element('snice-color-picker', { formAssociated: true })];
8
+ let _classDescriptor;
9
+ let _classExtraInitializers = [];
10
+ let _classThis;
11
+ let _classSuper = HTMLElement;
12
+ let _instanceExtraInitializers = [];
13
+ let _size_decorators;
14
+ let _size_initializers = [];
15
+ let _size_extraInitializers = [];
16
+ let _value_decorators;
17
+ let _value_initializers = [];
18
+ let _value_extraInitializers = [];
19
+ let _format_decorators;
20
+ let _format_initializers = [];
21
+ let _format_extraInitializers = [];
22
+ let _label_decorators;
23
+ let _label_initializers = [];
24
+ let _label_extraInitializers = [];
25
+ let _helperText_decorators;
26
+ let _helperText_initializers = [];
27
+ let _helperText_extraInitializers = [];
28
+ let _errorText_decorators;
29
+ let _errorText_initializers = [];
30
+ let _errorText_extraInitializers = [];
31
+ let _disabled_decorators;
32
+ let _disabled_initializers = [];
33
+ let _disabled_extraInitializers = [];
34
+ let _required_decorators;
35
+ let _required_initializers = [];
36
+ let _required_extraInitializers = [];
37
+ let _invalid_decorators;
38
+ let _invalid_initializers = [];
39
+ let _invalid_extraInitializers = [];
40
+ let _name_decorators;
41
+ let _name_initializers = [];
42
+ let _name_extraInitializers = [];
43
+ let _showInput_decorators;
44
+ let _showInput_initializers = [];
45
+ let _showInput_extraInitializers = [];
46
+ let _showPresets_decorators;
47
+ let _showPresets_initializers = [];
48
+ let _showPresets_extraInitializers = [];
49
+ let _presets_decorators;
50
+ let _presets_initializers = [];
51
+ let _presets_extraInitializers = [];
52
+ let _input_decorators;
53
+ let _input_initializers = [];
54
+ let _input_extraInitializers = [];
55
+ let _nativeInput_decorators;
56
+ let _nativeInput_initializers = [];
57
+ let _nativeInput_extraInitializers = [];
58
+ let _swatch_decorators;
59
+ let _swatch_initializers = [];
60
+ let _swatch_extraInitializers = [];
61
+ let _renderContent_decorators;
62
+ let _componentStyles_decorators;
63
+ let _init_decorators;
64
+ let _handleValueChange_decorators;
65
+ let _handleFormatChange_decorators;
66
+ let _handleDisabledChange_decorators;
67
+ let _dispatchInputEvent_decorators;
68
+ let _dispatchChangeEvent_decorators;
69
+ let _dispatchFocusEvent_decorators;
70
+ let _dispatchBlurEvent_decorators;
71
+ (class extends _classSuper {
72
+ static { _classThis = this; }
73
+ static {
74
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
75
+ _size_decorators = [property({})];
76
+ _value_decorators = [property({})];
77
+ _format_decorators = [property({})];
78
+ _label_decorators = [property({})];
79
+ _helperText_decorators = [property({ attribute: 'helper-text', })];
80
+ _errorText_decorators = [property({ attribute: 'error-text', })];
81
+ _disabled_decorators = [property({ type: Boolean, })];
82
+ _required_decorators = [property({ type: Boolean, })];
83
+ _invalid_decorators = [property({ type: Boolean, })];
84
+ _name_decorators = [property({})];
85
+ _showInput_decorators = [property({ type: Boolean, attribute: 'show-input', })];
86
+ _showPresets_decorators = [property({ type: Boolean, attribute: 'show-presets', })];
87
+ _presets_decorators = [property({ type: Array, })];
88
+ _input_decorators = [query('.color-input')];
89
+ _nativeInput_decorators = [query('.native-input')];
90
+ _swatch_decorators = [query('.color-swatch')];
91
+ _renderContent_decorators = [render()];
92
+ _componentStyles_decorators = [styles()];
93
+ _init_decorators = [ready()];
94
+ _handleValueChange_decorators = [watch('value')];
95
+ _handleFormatChange_decorators = [watch('format')];
96
+ _handleDisabledChange_decorators = [watch('disabled')];
97
+ _dispatchInputEvent_decorators = [dispatch('@snice/color-picker-input', { bubbles: true, composed: true })];
98
+ _dispatchChangeEvent_decorators = [dispatch('@snice/color-picker-change', { bubbles: true, composed: true })];
99
+ _dispatchFocusEvent_decorators = [dispatch('@snice/color-picker-focus', { bubbles: true, composed: true })];
100
+ _dispatchBlurEvent_decorators = [dispatch('@snice/color-picker-blur', { bubbles: true, composed: true })];
101
+ __esDecorate(this, null, _renderContent_decorators, { kind: "method", name: "renderContent", static: false, private: false, access: { has: obj => "renderContent" in obj, get: obj => obj.renderContent }, metadata: _metadata }, null, _instanceExtraInitializers);
102
+ __esDecorate(this, null, _componentStyles_decorators, { kind: "method", name: "componentStyles", static: false, private: false, access: { has: obj => "componentStyles" in obj, get: obj => obj.componentStyles }, metadata: _metadata }, null, _instanceExtraInitializers);
103
+ __esDecorate(this, null, _init_decorators, { kind: "method", name: "init", static: false, private: false, access: { has: obj => "init" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);
104
+ __esDecorate(this, null, _handleValueChange_decorators, { kind: "method", name: "handleValueChange", static: false, private: false, access: { has: obj => "handleValueChange" in obj, get: obj => obj.handleValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);
105
+ __esDecorate(this, null, _handleFormatChange_decorators, { kind: "method", name: "handleFormatChange", static: false, private: false, access: { has: obj => "handleFormatChange" in obj, get: obj => obj.handleFormatChange }, metadata: _metadata }, null, _instanceExtraInitializers);
106
+ __esDecorate(this, null, _handleDisabledChange_decorators, { kind: "method", name: "handleDisabledChange", static: false, private: false, access: { has: obj => "handleDisabledChange" in obj, get: obj => obj.handleDisabledChange }, metadata: _metadata }, null, _instanceExtraInitializers);
107
+ __esDecorate(this, null, _dispatchInputEvent_decorators, { kind: "method", name: "dispatchInputEvent", static: false, private: false, access: { has: obj => "dispatchInputEvent" in obj, get: obj => obj.dispatchInputEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
108
+ __esDecorate(this, null, _dispatchChangeEvent_decorators, { kind: "method", name: "dispatchChangeEvent", static: false, private: false, access: { has: obj => "dispatchChangeEvent" in obj, get: obj => obj.dispatchChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
109
+ __esDecorate(this, null, _dispatchFocusEvent_decorators, { kind: "method", name: "dispatchFocusEvent", static: false, private: false, access: { has: obj => "dispatchFocusEvent" in obj, get: obj => obj.dispatchFocusEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
110
+ __esDecorate(this, null, _dispatchBlurEvent_decorators, { kind: "method", name: "dispatchBlurEvent", static: false, private: false, access: { has: obj => "dispatchBlurEvent" in obj, get: obj => obj.dispatchBlurEvent }, metadata: _metadata }, null, _instanceExtraInitializers);
111
+ __esDecorate(null, null, _size_decorators, { kind: "field", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
112
+ __esDecorate(null, null, _value_decorators, { kind: "field", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
113
+ __esDecorate(null, null, _format_decorators, { kind: "field", name: "format", static: false, private: false, access: { has: obj => "format" in obj, get: obj => obj.format, set: (obj, value) => { obj.format = value; } }, metadata: _metadata }, _format_initializers, _format_extraInitializers);
114
+ __esDecorate(null, null, _label_decorators, { kind: "field", name: "label", static: false, private: false, access: { has: obj => "label" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);
115
+ __esDecorate(null, null, _helperText_decorators, { kind: "field", name: "helperText", static: false, private: false, access: { has: obj => "helperText" in obj, get: obj => obj.helperText, set: (obj, value) => { obj.helperText = value; } }, metadata: _metadata }, _helperText_initializers, _helperText_extraInitializers);
116
+ __esDecorate(null, null, _errorText_decorators, { kind: "field", name: "errorText", static: false, private: false, access: { has: obj => "errorText" in obj, get: obj => obj.errorText, set: (obj, value) => { obj.errorText = value; } }, metadata: _metadata }, _errorText_initializers, _errorText_extraInitializers);
117
+ __esDecorate(null, null, _disabled_decorators, { kind: "field", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
118
+ __esDecorate(null, null, _required_decorators, { kind: "field", name: "required", static: false, private: false, access: { has: obj => "required" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);
119
+ __esDecorate(null, null, _invalid_decorators, { kind: "field", name: "invalid", static: false, private: false, access: { has: obj => "invalid" in obj, get: obj => obj.invalid, set: (obj, value) => { obj.invalid = value; } }, metadata: _metadata }, _invalid_initializers, _invalid_extraInitializers);
120
+ __esDecorate(null, null, _name_decorators, { kind: "field", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
121
+ __esDecorate(null, null, _showInput_decorators, { kind: "field", name: "showInput", static: false, private: false, access: { has: obj => "showInput" in obj, get: obj => obj.showInput, set: (obj, value) => { obj.showInput = value; } }, metadata: _metadata }, _showInput_initializers, _showInput_extraInitializers);
122
+ __esDecorate(null, null, _showPresets_decorators, { kind: "field", name: "showPresets", static: false, private: false, access: { has: obj => "showPresets" in obj, get: obj => obj.showPresets, set: (obj, value) => { obj.showPresets = value; } }, metadata: _metadata }, _showPresets_initializers, _showPresets_extraInitializers);
123
+ __esDecorate(null, null, _presets_decorators, { kind: "field", name: "presets", static: false, private: false, access: { has: obj => "presets" in obj, get: obj => obj.presets, set: (obj, value) => { obj.presets = value; } }, metadata: _metadata }, _presets_initializers, _presets_extraInitializers);
124
+ __esDecorate(null, null, _input_decorators, { kind: "field", name: "input", static: false, private: false, access: { has: obj => "input" in obj, get: obj => obj.input, set: (obj, value) => { obj.input = value; } }, metadata: _metadata }, _input_initializers, _input_extraInitializers);
125
+ __esDecorate(null, null, _nativeInput_decorators, { kind: "field", name: "nativeInput", static: false, private: false, access: { has: obj => "nativeInput" in obj, get: obj => obj.nativeInput, set: (obj, value) => { obj.nativeInput = value; } }, metadata: _metadata }, _nativeInput_initializers, _nativeInput_extraInitializers);
126
+ __esDecorate(null, null, _swatch_decorators, { kind: "field", name: "swatch", static: false, private: false, access: { has: obj => "swatch" in obj, get: obj => obj.swatch, set: (obj, value) => { obj.swatch = value; } }, metadata: _metadata }, _swatch_initializers, _swatch_extraInitializers);
127
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
128
+ _classThis = _classDescriptor.value;
129
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
130
+ __runInitializers(_classThis, _classExtraInitializers);
131
+ }
132
+ constructor() {
133
+ super();
134
+ this.internals = __runInitializers(this, _instanceExtraInitializers);
135
+ this.size = __runInitializers(this, _size_initializers, 'medium');
136
+ this.value = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _value_initializers, '#000000'));
137
+ this.format = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _format_initializers, 'hex'));
138
+ this.label = (__runInitializers(this, _format_extraInitializers), __runInitializers(this, _label_initializers, ''));
139
+ this.helperText = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _helperText_initializers, ''));
140
+ this.errorText = (__runInitializers(this, _helperText_extraInitializers), __runInitializers(this, _errorText_initializers, ''));
141
+ this.disabled = (__runInitializers(this, _errorText_extraInitializers), __runInitializers(this, _disabled_initializers, false));
142
+ this.required = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _required_initializers, false));
143
+ this.invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));
144
+ this.name = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _name_initializers, ''));
145
+ this.showInput = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _showInput_initializers, true));
146
+ this.showPresets = (__runInitializers(this, _showInput_extraInitializers), __runInitializers(this, _showPresets_initializers, false));
147
+ this.presets = (__runInitializers(this, _showPresets_extraInitializers), __runInitializers(this, _presets_initializers, [
148
+ '#000000', '#ffffff', '#f87171', '#fb923c', '#fbbf24',
149
+ '#a3e635', '#34d399', '#22d3ee', '#60a5fa', '#a78bfa',
150
+ '#f472b6', '#fb7185'
151
+ ]));
152
+ this.input = (__runInitializers(this, _presets_extraInitializers), __runInitializers(this, _input_initializers, void 0));
153
+ this.nativeInput = (__runInitializers(this, _input_extraInitializers), __runInitializers(this, _nativeInput_initializers, void 0));
154
+ this.swatch = (__runInitializers(this, _nativeInput_extraInitializers), __runInitializers(this, _swatch_initializers, void 0));
155
+ __runInitializers(this, _swatch_extraInitializers);
156
+ if (typeof this.attachInternals == 'function') {
157
+ this.internals = this.attachInternals();
158
+ }
159
+ }
160
+ renderContent() {
161
+ const wrapperClasses = ['color-picker-wrapper'].filter(Boolean).join(' ');
162
+ const swatchClasses = [
163
+ 'color-swatch',
164
+ `color-swatch--${this.size}`,
165
+ this.disabled ? 'color-swatch--disabled' : '',
166
+ this.invalid ? 'color-swatch--invalid' : ''
167
+ ].filter(Boolean).join(' ');
168
+ const inputClasses = [
169
+ 'color-input',
170
+ `color-input--${this.size}`,
171
+ this.invalid ? 'color-input--invalid' : ''
172
+ ].filter(Boolean).join(' ');
173
+ const labelClasses = ['label', this.required ? 'label--required' : ''].filter(Boolean).join(' ');
174
+ const displayValue = this.formatColor(this.value, this.format);
175
+ return html /*html*/ `
176
+ <div class="${wrapperClasses}">
177
+ <if ${this.label}>
178
+ <label class="${labelClasses}">
179
+ ${this.label}
180
+ </label>
181
+ </if>
182
+
183
+ <div class="picker-container">
184
+ <div
185
+ class="${swatchClasses}"
186
+ @click=${this.handleSwatchClick}
187
+ tabindex="${this.disabled ? -1 : 0}"
188
+ role="button"
189
+ aria-label="Choose color"
190
+ @keydown=${this.handleSwatchKeyDown}
191
+ >
192
+ <div class="swatch-inner" style="background-color: ${this.value}"></div>
193
+ </div>
194
+
195
+ <if ${this.showInput}>
196
+ <div class="color-input-wrapper">
197
+ <input
198
+ class="${inputClasses}"
199
+ type="text"
200
+ .value="${displayValue}"
201
+ ?disabled="${this.disabled}"
202
+ ?required="${this.required}"
203
+ placeholder="${this.format === 'hex' ? '#000000' : this.format === 'rgb' ? 'rgb(0,0,0)' : 'hsl(0,0%,0%)'}"
204
+ @input=${this.handleInputChange}
205
+ @change=${this.handleInputChange}
206
+ @focus=${this.handleFocus}
207
+ @blur=${this.handleBlur}
208
+ />
209
+ </div>
210
+ </if>
211
+
212
+ <input
213
+ class="native-input"
214
+ type="color"
215
+ .value="${this.toHex(this.value)}"
216
+ ?disabled="${this.disabled}"
217
+ name="${this.name || ''}"
218
+ @input=${this.handleNativeChange}
219
+ @change=${this.handleNativeChange}
220
+ aria-hidden="true"
221
+ tabindex="-1"
222
+ />
223
+ </div>
224
+
225
+ <if ${this.showPresets}>
226
+ <div class="presets">
227
+ ${this.presets.map(preset => this.renderPreset(preset))}
228
+ </div>
229
+ </if>
230
+
231
+ <case ${this.errorText ? 'error' : this.helperText ? 'helper' : 'empty'}>
232
+ <when value="error">
233
+ <span class="error-text" part="error-text">${this.errorText}</span>
234
+ </when>
235
+ <when value="helper">
236
+ <span class="helper-text" part="helper-text">${this.helperText}</span>
237
+ </when>
238
+ <default>
239
+ <span class="helper-text" part="helper-text">&nbsp;</span>
240
+ </default>
241
+ </case>
242
+ </div>
243
+ `;
244
+ }
245
+ renderPreset(color) {
246
+ const isSelected = this.toHex(this.value).toLowerCase() === this.toHex(color).toLowerCase();
247
+ const classes = ['preset', isSelected ? 'preset--selected' : ''].filter(Boolean).join(' ');
248
+ return html /*html*/ `
249
+ <div
250
+ class="${classes}"
251
+ style="background-color: ${color}"
252
+ @click=${() => this.handlePresetClick(color)}
253
+ tabindex="0"
254
+ role="button"
255
+ aria-label="Select ${color}"
256
+ @keydown=${(e) => this.handlePresetKeyDown(e, color)}
257
+ ></div>
258
+ `;
259
+ }
260
+ componentStyles() {
261
+ return css /*css*/ `${cssContent}`;
262
+ }
263
+ init() {
264
+ if (this.internals) {
265
+ this.internals.setFormValue(this.value);
266
+ }
267
+ this.normalizeValue();
268
+ }
269
+ handleSwatchClick() {
270
+ if (!this.disabled) {
271
+ this.nativeInput?.click();
272
+ }
273
+ }
274
+ handleSwatchKeyDown(e) {
275
+ if (e.key === 'Enter' || e.key === ' ') {
276
+ e.preventDefault();
277
+ this.handleSwatchClick();
278
+ }
279
+ }
280
+ handleNativeChange(e) {
281
+ const input = e.target;
282
+ this.value = input.value;
283
+ this.dispatchInputEvent();
284
+ this.dispatchChangeEvent();
285
+ }
286
+ handleInputChange(e) {
287
+ const input = e.target;
288
+ const color = this.parseColor(input.value);
289
+ if (color) {
290
+ this.value = color;
291
+ this.dispatchInputEvent();
292
+ this.dispatchChangeEvent();
293
+ }
294
+ }
295
+ handlePresetClick(color) {
296
+ if (!this.disabled) {
297
+ this.value = color;
298
+ this.dispatchInputEvent();
299
+ this.dispatchChangeEvent();
300
+ }
301
+ }
302
+ handlePresetKeyDown(e, color) {
303
+ if (e.key === 'Enter' || e.key === ' ') {
304
+ e.preventDefault();
305
+ this.handlePresetClick(color);
306
+ }
307
+ }
308
+ handleFocus() {
309
+ this.dispatchFocusEvent();
310
+ }
311
+ handleBlur() {
312
+ this.dispatchBlurEvent();
313
+ }
314
+ normalizeValue() {
315
+ // Ensure value is a valid hex color
316
+ if (!this.value.startsWith('#')) {
317
+ this.value = '#000000';
318
+ }
319
+ }
320
+ toHex(color) {
321
+ if (color.startsWith('#')) {
322
+ return color;
323
+ }
324
+ if (color.startsWith('rgb')) {
325
+ return this.rgbToHex(color);
326
+ }
327
+ if (color.startsWith('hsl')) {
328
+ return this.hslToHex(color);
329
+ }
330
+ return color;
331
+ }
332
+ formatColor(color, format) {
333
+ const hex = this.toHex(color);
334
+ switch (format) {
335
+ case 'hex':
336
+ return hex;
337
+ case 'rgb':
338
+ return this.hexToRgb(hex);
339
+ case 'hsl':
340
+ return this.hexToHsl(hex);
341
+ default:
342
+ return hex;
343
+ }
344
+ }
345
+ parseColor(value) {
346
+ value = value.trim();
347
+ // Hex color
348
+ if (value.startsWith('#')) {
349
+ if (/^#[0-9A-F]{6}$/i.test(value)) {
350
+ return value;
351
+ }
352
+ return null;
353
+ }
354
+ // RGB color
355
+ if (value.startsWith('rgb')) {
356
+ return this.rgbToHex(value);
357
+ }
358
+ // HSL color
359
+ if (value.startsWith('hsl')) {
360
+ return this.hslToHex(value);
361
+ }
362
+ return null;
363
+ }
364
+ hexToRgb(hex) {
365
+ const r = parseInt(hex.slice(1, 3), 16);
366
+ const g = parseInt(hex.slice(3, 5), 16);
367
+ const b = parseInt(hex.slice(5, 7), 16);
368
+ return `rgb(${r}, ${g}, ${b})`;
369
+ }
370
+ rgbToHex(rgb) {
371
+ const match = rgb.match(/\d+/g);
372
+ if (!match || match.length < 3)
373
+ return '#000000';
374
+ const r = parseInt(match[0]).toString(16).padStart(2, '0');
375
+ const g = parseInt(match[1]).toString(16).padStart(2, '0');
376
+ const b = parseInt(match[2]).toString(16).padStart(2, '0');
377
+ return `#${r}${g}${b}`;
378
+ }
379
+ hexToHsl(hex) {
380
+ const r = parseInt(hex.slice(1, 3), 16) / 255;
381
+ const g = parseInt(hex.slice(3, 5), 16) / 255;
382
+ const b = parseInt(hex.slice(5, 7), 16) / 255;
383
+ const max = Math.max(r, g, b);
384
+ const min = Math.min(r, g, b);
385
+ let h = 0;
386
+ let s = 0;
387
+ const l = (max + min) / 2;
388
+ if (max !== min) {
389
+ const d = max - min;
390
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
391
+ switch (max) {
392
+ case r:
393
+ h = ((g - b) / d + (g < b ? 6 : 0)) / 6;
394
+ break;
395
+ case g:
396
+ h = ((b - r) / d + 2) / 6;
397
+ break;
398
+ case b:
399
+ h = ((r - g) / d + 4) / 6;
400
+ break;
401
+ }
402
+ }
403
+ return `hsl(${Math.round(h * 360)}, ${Math.round(s * 100)}%, ${Math.round(l * 100)}%)`;
404
+ }
405
+ hslToHex(hsl) {
406
+ const match = hsl.match(/\d+/g);
407
+ if (!match || match.length < 3)
408
+ return '#000000';
409
+ const h = parseInt(match[0]) / 360;
410
+ const s = parseInt(match[1]) / 100;
411
+ const l = parseInt(match[2]) / 100;
412
+ let r, g, b;
413
+ if (s === 0) {
414
+ r = g = b = l;
415
+ }
416
+ else {
417
+ const hue2rgb = (p, q, t) => {
418
+ if (t < 0)
419
+ t += 1;
420
+ if (t > 1)
421
+ t -= 1;
422
+ if (t < 1 / 6)
423
+ return p + (q - p) * 6 * t;
424
+ if (t < 1 / 2)
425
+ return q;
426
+ if (t < 2 / 3)
427
+ return p + (q - p) * (2 / 3 - t) * 6;
428
+ return p;
429
+ };
430
+ const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
431
+ const p = 2 * l - q;
432
+ r = hue2rgb(p, q, h + 1 / 3);
433
+ g = hue2rgb(p, q, h);
434
+ b = hue2rgb(p, q, h - 1 / 3);
435
+ }
436
+ const toHex = (x) => Math.round(x * 255).toString(16).padStart(2, '0');
437
+ return `#${toHex(r)}${toHex(g)}${toHex(b)}`;
438
+ }
439
+ handleValueChange() {
440
+ this.normalizeValue();
441
+ if (this.input) {
442
+ this.input.value = this.formatColor(this.value, this.format);
443
+ }
444
+ if (this.nativeInput) {
445
+ this.nativeInput.value = this.toHex(this.value);
446
+ }
447
+ if (this.internals) {
448
+ this.internals.setFormValue(this.value);
449
+ }
450
+ }
451
+ handleFormatChange() {
452
+ if (this.input) {
453
+ this.input.value = this.formatColor(this.value, this.format);
454
+ }
455
+ }
456
+ handleDisabledChange() {
457
+ if (this.input) {
458
+ this.input.disabled = this.disabled;
459
+ }
460
+ if (this.nativeInput) {
461
+ this.nativeInput.disabled = this.disabled;
462
+ }
463
+ }
464
+ dispatchInputEvent() {
465
+ return { value: this.value, colorPicker: this };
466
+ }
467
+ dispatchChangeEvent() {
468
+ return { value: this.value, colorPicker: this };
469
+ }
470
+ dispatchFocusEvent() {
471
+ return { colorPicker: this };
472
+ }
473
+ dispatchBlurEvent() {
474
+ return { colorPicker: this };
475
+ }
476
+ // Public API
477
+ focus() {
478
+ this.input?.focus() || this.swatch?.focus();
479
+ }
480
+ blur() {
481
+ this.input?.blur();
482
+ this.swatch?.blur();
483
+ }
484
+ });
485
+ return _classThis;
486
+ })();
487
+
488
+ export { SniceColorPicker };
489
+ //# sourceMappingURL=snice-color-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snice-color-picker.js","sources":["../../../components/color-picker/snice-color-picker.css?inline","../../../../components/color-picker/snice-color-picker.ts"],"sourcesContent":["export default \":host{display:block;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}.color-picker-wrapper{display:flex;flex-direction:column;gap:var(--snice-spacing-xs,.5rem)}.label{font-size:var(--snice-font-size-sm, .875rem);font-weight:var(--snice-font-weight-medium,500);color:var(--snice-color-text,rgb(23 23 23));margin-bottom:var(--snice-spacing-2xs,.25rem)}.label--required::after{content:' *';color:var(--snice-color-danger,rgb(220 38 38))}.picker-container{display:flex;align-items:center;gap:var(--snice-spacing-sm,.75rem)}.color-swatch{position:relative;width:40px;height:40px;border-radius:var(--snice-border-radius-md,.375rem);border:2px solid var(--snice-color-border,rgb(226 226 226));cursor:pointer;transition:all var(--snice-transition-fast, 150ms);overflow:hidden}.color-swatch:hover:not(.color-swatch--disabled){border-color:var(--snice-color-primary,rgb(37 99 235));box-shadow:var(--snice-shadow-sm,0 1px 2px 0 rgb(0 0 0 / .05))}.color-swatch--small{width:32px;height:32px}.color-swatch--medium{width:40px;height:40px}.color-swatch--large{width:48px;height:48px}.color-swatch--disabled{opacity:.5;cursor:not-allowed}.color-swatch--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.swatch-inner{width:100%;height:100%}.color-input-wrapper{flex:1;position:relative}.color-input{width:100%;padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);font-size:var(--snice-font-size-sm, .875rem);font-family:monospace;color:var(--snice-color-text,rgb(23 23 23));background:var(--snice-color-background,rgb(255 255 255));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.375rem);transition:all var(--snice-transition-fast, 150ms);outline:0}.color-input--small{padding:var(--snice-spacing-2xs,.375rem) var(--snice-spacing-sm,.625rem);font-size:var(--snice-font-size-xs, .75rem)}.color-input--large{padding:var(--snice-spacing-sm,.625rem) var(--snice-spacing-md,.875rem);font-size:var(--snice-font-size-md, 1rem)}.color-input:hover:not(:disabled){border-color:var(--snice-color-border-hover,rgb(156 163 175))}.color-input:focus{border-color:var(--snice-color-primary,rgb(37 99 235));box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-focus-ring-color,rgb(59 130 246 / .5))}.color-input:disabled{opacity:.5;cursor:not-allowed;background:var(--snice-color-background-disabled,rgb(243 244 246))}.color-input--invalid{border-color:var(--snice-color-danger,rgb(220 38 38))}.color-input--invalid:focus{border-color:var(--snice-color-danger,rgb(220 38 38));box-shadow:0 0 0 var(--snice-focus-ring-width,2px) var(--snice-color-danger-alpha,rgb(239 68 68 / .2))}.native-input{position:absolute;opacity:0;pointer-events:none}.presets{display:flex;gap:var(--snice-spacing-xs,.5rem);flex-wrap:wrap;margin-top:var(--snice-spacing-xs,.5rem)}.preset{width:32px;height:32px;border-radius:var(--snice-border-radius-md,.375rem);border:2px solid var(--snice-color-border,rgb(226 226 226));cursor:pointer;transition:all var(--snice-transition-fast, 150ms)}.preset:hover{border-color:var(--snice-color-primary,rgb(37 99 235));transform:scale(1.1)}.preset--selected{border-color:var(--snice-color-primary,rgb(37 99 235));box-shadow:0 0 0 2px var(--snice-color-primary-alpha,rgb(59 130 246 / .2))}.error-text,.helper-text{font-size:var(--snice-font-size-xs, .75rem);margin-top:var(--snice-spacing-2xs,.25rem)}.helper-text{color:var(--snice-color-text-secondary,rgb(82 82 82))}.error-text{color:var(--snice-color-danger,rgb(220 38 38))}\";",null],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export type ColorPickerSize = 'small' | 'medium' | 'large';
2
+ export type ColorPickerFormat = 'hex' | 'rgb' | 'hsl';
3
+ export interface SniceColorPickerElement extends HTMLElement {
4
+ size: ColorPickerSize;
5
+ value: string;
6
+ format: ColorPickerFormat;
7
+ label: string;
8
+ helperText: string;
9
+ errorText: string;
10
+ disabled: boolean;
11
+ required: boolean;
12
+ invalid: boolean;
13
+ name: string;
14
+ showInput: boolean;
15
+ showPresets: boolean;
16
+ presets: string[];
17
+ focus(): void;
18
+ blur(): void;
19
+ }
@@ -1,7 +1,7 @@
1
1
  import { __runInitializers, __esDecorate } from 'tslib';
2
2
  import { element, property, query, styles, render, ready, watch, dispatch, css, html } from 'snice';
3
3
 
4
- var cssContent = "/* Date Picker Component Styles */\n:host {\n display: block;\n position: relative;\n font-family: var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);\n font-size: var(--snice-font-size-sm, 14px);\n line-height: var(--snice-line-height-normal, 1.4);\n min-height: 40px;\n}\n\n/* Wrapper */\n.date-picker-wrapper {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n}\n\n/* Label */\n.label {\n font-weight: var(--snice-font-weight-medium, 500);\n color: var(--snice-color-text, #374151);\n margin-bottom: var(--snice-spacing-2xs, 0.25rem);\n}\n\n.label--required::after {\n content: '*';\n color: var(--snice-color-danger, #ef4444);\n margin-left: var(--snice-spacing-2xs, 0.25rem);\n}\n\n/* Input Container */\n.input-container {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n/* Input Styles */\n.input {\n width: 100%;\n border: 1px solid var(--snice-color-border, #d1d5db);\n border-radius: var(--snice-border-radius-lg, 6px);\n padding: var(--snice-spacing-xs, 0.5rem) 3rem var(--snice-spacing-xs, 0.5rem) var(--snice-spacing-sm, 0.75rem);\n font-size: inherit;\n line-height: var(--snice-line-height-normal, 1.5);\n background: var(--snice-color-background, white);\n color: var(--snice-color-text, #374151);\n transition: border-color var(--snice-transition-fast, 0.15s) ease, box-shadow var(--snice-transition-fast, 0.15s) ease;\n}\n\n.input:focus {\n outline: none;\n border-color: var(--snice-color-border-focus, #2563eb);\n box-shadow: 0 0 0 var(--snice-focus-ring-width, 3px) var(--snice-focus-ring-color, rgba(37, 99, 235, 0.1));\n}\n\n.input--small {\n padding: 0.375rem 2.75rem 0.375rem 0.625rem;\n font-size: 0.875rem;\n}\n\n.input--large {\n padding: 0.75rem 3.5rem 0.75rem 1rem;\n font-size: 1rem;\n}\n\n.input--filled {\n background: var(--snice-color-background-secondary, #f9fafb);\n border: 1px solid transparent;\n}\n\n.input--underlined {\n border: none;\n border-bottom: 1px solid #d1d5db;\n border-radius: 0;\n background: transparent;\n padding-left: 0;\n}\n\n.input--invalid {\n border-color: #ef4444;\n}\n\n.input--invalid:focus {\n border-color: #ef4444;\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n}\n\n.input:disabled {\n background: var(--snice-color-background-secondary, #f9fafb);\n color: var(--snice-color-text-tertiary, #9ca3af);\n cursor: not-allowed;\n}\n\n.input:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n\n/* Button Styles */\n.calendar-toggle,\n.clear-button {\n position: absolute;\n right: 0.5rem;\n padding: 0.25rem /* 4px */;\n border: none;\n background: transparent;\n color: #6b7280;\n cursor: pointer;\n border-radius: 4px;\n transition: color 0.15s ease, background-color 0.15s ease;\n}\n\n.calendar-toggle {\n right: 0.5rem;\n}\n\n.clear-button {\n right: 2.5rem;\n}\n\n.calendar-toggle:hover,\n.clear-button:hover {\n color: #374151;\n background: #f3f4f6;\n}\n\n.calendar-toggle:disabled,\n.clear-button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Calendar Popup */\n.calendar {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: var(--snice-z-index-dropdown, 1000);\n background: var(--snice-color-background-element, rgb(252, 251, 249));\n border: 1px solid var(--snice-color-border, #d1d5db);\n border-radius: var(--snice-border-radius-lg, 8px);\n box-shadow: var(--snice-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05));\n margin-top: var(--snice-spacing-3xs, 0.125rem);\n padding: var(--snice-spacing-md, 1rem);\n min-width: 280px;\n}\n\n.calendar[hidden] {\n display: none;\n}\n\n/* Calendar Header */\n.calendar-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 1rem;\n}\n\n.calendar-title {\n flex: 1;\n text-align: center;\n}\n\n.month-button {\n background: none;\n border: none;\n font-size: var(--snice-font-size-md, 1rem);\n font-weight: var(--snice-font-weight-semibold, 600);\n color: var(--snice-color-text, #374151);\n cursor: pointer;\n padding: var(--snice-spacing-2xs, 0.25rem) var(--snice-spacing-xs, 0.5rem);\n border-radius: var(--snice-border-radius-md, 4px);\n transition: background-color var(--snice-transition-fast, 0.15s) ease;\n}\n\n.month-button:hover {\n background: var(--snice-color-background-tertiary, #f3f4f6);\n}\n\n.nav-button {\n background: none;\n border: none;\n padding: 0.5rem;\n cursor: pointer;\n color: #6b7280;\n border-radius: 4px;\n transition: color 0.15s ease, background-color 0.15s ease;\n}\n\n.nav-button:hover {\n color: #374151;\n background: #f3f4f6;\n}\n\n/* Calendar Grid */\n.calendar-weekdays {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 0.25rem /* 4px */;\n margin-bottom: 0.5rem;\n}\n\n.weekday {\n text-align: center;\n font-size: 0.75rem;\n font-weight: 600;\n color: #6b7280;\n padding: 0.5rem 0.25rem;\n}\n\n.calendar-days {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 0.25rem /* 4px */;\n}\n\n.day {\n width: 32px;\n height: 32px;\n border: none;\n background: none;\n cursor: pointer;\n border-radius: var(--snice-border-radius-md, 4px);\n font-size: var(--snice-font-size-sm, 0.875rem);\n color: var(--snice-color-text, #374151);\n transition: background-color var(--snice-transition-fast, 0.15s) ease, color var(--snice-transition-fast, 0.15s) ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.day:hover:not(.day--disabled) {\n background: var(--snice-color-background-tertiary, #f3f4f6);\n}\n\n.day--today {\n background: var(--snice-color-primary-light, #dbeafe);\n color: var(--snice-color-primary, #2563eb);\n font-weight: var(--snice-font-weight-semibold, 600);\n}\n\n.day--selected {\n background: var(--snice-color-primary, #2563eb);\n color: var(--snice-color-text-inverse, white);\n font-weight: var(--snice-font-weight-semibold, 600);\n}\n\n.day--disabled {\n color: #d1d5db;\n cursor: not-allowed;\n}\n\n.day--empty {\n cursor: default;\n}\n\n/* Calendar Footer */\n.calendar-footer {\n margin-top: 1rem;\n padding-top: 1rem;\n border-top: 1px solid #f3f4f6;\n display: flex;\n justify-content: center;\n}\n\n/* Helper/Error Text */\n.helper-text,\n.error-text {\n font-size: var(--snice-font-size-sm, 0.875rem);\n margin-top: var(--snice-spacing-2xs, 0.25rem);\n}\n\n.helper-text {\n color: var(--snice-color-text-secondary, #6b7280);\n}\n\n.error-text {\n color: var(--snice-color-danger, #ef4444);\n}\n\n/* Size variants */\n:host([size=\"small\"]) .calendar {\n min-width: 240px;\n padding: 0.75rem;\n}\n\n:host([size=\"small\"]) .day {\n width: 28px;\n height: 28px;\n font-size: 0.8125rem;\n}\n\n:host([size=\"large\"]) .calendar {\n min-width: 320px;\n padding: 1.25rem;\n}\n\n:host([size=\"large\"]) .day {\n width: 36px;\n height: 36px;\n font-size: 0.9375rem;\n}\n\n/* Responsive */\n@media (max-width: 640px) {\n .calendar {\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n min-width: 280px;\n }\n}";
4
+ var cssContent = ":host{display:block;position:relative;font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);font-size:var(--snice-font-size-sm, 14px);line-height:var(--snice-line-height-normal, 1.4);min-height:40px}.date-picker-wrapper{display:flex;flex-direction:column;gap:.5rem}.label{font-weight:var(--snice-font-weight-medium,500);color:var(--snice-color-text,#374151);margin-bottom:var(--snice-spacing-2xs,.25rem)}.label--required::after{content:'*';color:var(--snice-color-danger,#ef4444);margin-left:var(--snice-spacing-2xs,.25rem)}.input-container{position:relative;display:flex;align-items:center}.input{width:100%;border:1px solid var(--snice-color-border,#d1d5db);border-radius:var(--snice-border-radius-lg,6px);padding:var(--snice-spacing-xs,.5rem) 3rem var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);font-size:inherit;line-height:var(--snice-line-height-normal, 1.5);background:var(--snice-color-background,#fff);color:var(--snice-color-text,#374151);transition:border-color var(--snice-transition-fast, .15s) ease,box-shadow var(--snice-transition-fast, .15s) ease}.input:focus{outline:0;border-color:var(--snice-color-border-focus,#2563eb);box-shadow:0 0 0 var(--snice-focus-ring-width,3px) var(--snice-focus-ring-color,rgba(37,99,235,.1))}.input--small{padding:.375rem 2.75rem .375rem .625rem;font-size:.875rem}.input--large{padding:.75rem 3.5rem .75rem 1rem;font-size:1rem}.input--filled{background:var(--snice-color-background-secondary,#f9fafb);border:1px solid transparent}.input--underlined{border:none;border-bottom:1px solid #d1d5db;border-radius:0;background:0 0;padding-left:0}.input--invalid{border-color:#ef4444}.input--invalid:focus{border-color:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.1)}.input:disabled{background:var(--snice-color-background-secondary,#f9fafb);color:var(--snice-color-text-tertiary,#9ca3af);cursor:not-allowed}.input:not(:disabled):not([readonly]){cursor:pointer}.calendar-toggle,.clear-button{position:absolute;padding:.25rem;border:none;background:0 0;color:#6b7280;cursor:pointer;border-radius:4px;transition:color .15s,background-color .15s}.calendar-toggle{right:.5rem}.clear-button{right:2.5rem}.calendar-toggle:hover,.clear-button:hover{color:#374151;background:#f3f4f6}.calendar-toggle:disabled,.clear-button:disabled{opacity:.5;cursor:not-allowed}.calendar{position:absolute;top:100%;left:0;right:0;z-index:var(--snice-z-index-dropdown,1000);background:var(--snice-color-background-element,#fcfbf9);border:1px solid var(--snice-color-border,#d1d5db);border-radius:var(--snice-border-radius-lg,8px);box-shadow:var(--snice-shadow-lg,0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05));margin-top:var(--snice-spacing-3xs,.125rem);padding:var(--snice-spacing-md,1rem);min-width:280px}.calendar[hidden]{display:none}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-title{flex:1;text-align:center}.month-button{background:0 0;border:none;font-size:var(--snice-font-size-md, 1rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--snice-color-text,#374151);cursor:pointer;padding:var(--snice-spacing-2xs,.25rem) var(--snice-spacing-xs,.5rem);border-radius:var(--snice-border-radius-md,4px);transition:background-color var(--snice-transition-fast, .15s) ease}.month-button:hover{background:var(--snice-color-background-tertiary,#f3f4f6)}.nav-button{background:0 0;border:none;padding:.5rem;cursor:pointer;color:#6b7280;border-radius:4px;transition:color .15s,background-color .15s}.nav-button:hover{color:#374151;background:#f3f4f6}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-bottom:.5rem}.weekday{text-align:center;font-size:.75rem;font-weight:600;color:#6b7280;padding:.5rem .25rem}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}.day{width:32px;height:32px;border:none;background:0 0;cursor:pointer;border-radius:var(--snice-border-radius-md,4px);font-size:var(--snice-font-size-sm, .875rem);color:var(--snice-color-text,#374151);transition:background-color var(--snice-transition-fast, .15s) ease,color var(--snice-transition-fast, .15s) ease;display:flex;align-items:center;justify-content:center}.day:hover:not(.day--disabled){background:var(--snice-color-background-tertiary,#f3f4f6)}.day--today{background:var(--snice-color-primary-light,#dbeafe);color:var(--snice-color-primary,#2563eb);font-weight:var(--snice-font-weight-semibold,600)}.day--selected{background:var(--snice-color-primary,#2563eb);color:var(--snice-color-text-inverse,#fff);font-weight:var(--snice-font-weight-semibold,600)}.day--disabled{color:#d1d5db;cursor:not-allowed}.day--empty{cursor:default}.calendar-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6;display:flex;justify-content:center}.error-text,.helper-text{font-size:var(--snice-font-size-sm, .875rem);margin-top:var(--snice-spacing-2xs,.25rem)}.helper-text{color:var(--snice-color-text-secondary,#6b7280)}.error-text{color:var(--snice-color-danger,#ef4444)}:host([size=small]) .calendar{min-width:240px;padding:.75rem}:host([size=small]) .day{width:28px;height:28px;font-size:.8125rem}:host([size=large]) .calendar{min-width:320px;padding:1.25rem}:host([size=large]) .day{width:36px;height:36px;font-size:.9375rem}@media (max-width:640px){.calendar{left:50%;right:auto;transform:translateX(-50%);min-width:280px}}";
5
5
 
6
6
  let SniceDatePicker = (() => {
7
7
  let _classDecorators = [element('snice-date-picker')];