snice 4.14.0 → 4.16.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 (384) hide show
  1. package/adapters/react/doc.d.ts +1 -0
  2. package/adapters/react/doc.d.ts.map +1 -1
  3. package/adapters/react/doc.js +1 -1
  4. package/adapters/react/doc.js.map +1 -1
  5. package/adapters/react/doc.tsx +2 -1
  6. package/adapters/react/input.d.ts +3 -0
  7. package/adapters/react/input.d.ts.map +1 -1
  8. package/adapters/react/input.js +1 -1
  9. package/adapters/react/input.js.map +1 -1
  10. package/adapters/react/input.tsx +4 -1
  11. package/adapters/react/modal.d.ts +2 -0
  12. package/adapters/react/modal.d.ts.map +1 -1
  13. package/adapters/react/modal.js +1 -1
  14. package/adapters/react/modal.js.map +1 -1
  15. package/adapters/react/modal.tsx +3 -1
  16. package/dist/cdn/accordion/snice-accordion.js +1 -1
  17. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  18. package/dist/cdn/alert/snice-alert.js +1 -1
  19. package/dist/cdn/alert/snice-alert.min.js +1 -1
  20. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  21. package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
  22. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  23. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  24. package/dist/cdn/avatar/snice-avatar.js +1 -1
  25. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  26. package/dist/cdn/badge/snice-badge.js +1 -1
  27. package/dist/cdn/badge/snice-badge.min.js +1 -1
  28. package/dist/cdn/banner/snice-banner.js +1 -1
  29. package/dist/cdn/banner/snice-banner.min.js +1 -1
  30. package/dist/cdn/book/README.md +2 -2
  31. package/dist/cdn/book/snice-book.js +29 -8
  32. package/dist/cdn/book/snice-book.js.map +1 -1
  33. package/dist/cdn/book/snice-book.min.js +3 -3
  34. package/dist/cdn/book/snice-book.min.js.map +1 -1
  35. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  36. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  37. package/dist/cdn/button/snice-button.js +1 -1
  38. package/dist/cdn/button/snice-button.min.js +1 -1
  39. package/dist/cdn/calendar/snice-calendar.js +1 -1
  40. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  41. package/dist/cdn/camera/snice-camera.js +1 -1
  42. package/dist/cdn/camera/snice-camera.min.js +1 -1
  43. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  44. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  45. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  46. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  47. package/dist/cdn/card/snice-card.js +1 -1
  48. package/dist/cdn/card/snice-card.min.js +1 -1
  49. package/dist/cdn/carousel/snice-carousel.js +1 -1
  50. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  51. package/dist/cdn/chart/snice-chart.js +1 -1
  52. package/dist/cdn/chart/snice-chart.min.js +1 -1
  53. package/dist/cdn/chat/snice-chat.js +1 -1
  54. package/dist/cdn/chat/snice-chat.min.js +1 -1
  55. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  56. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  57. package/dist/cdn/chip/snice-chip.js +1 -1
  58. package/dist/cdn/chip/snice-chip.min.js +1 -1
  59. package/dist/cdn/code-block/snice-code-block.js +4 -4
  60. package/dist/cdn/code-block/snice-code-block.js.map +1 -1
  61. package/dist/cdn/code-block/snice-code-block.min.js +2 -2
  62. package/dist/cdn/code-block/snice-code-block.min.js.map +1 -1
  63. package/dist/cdn/color-display/snice-color-display.js +1 -1
  64. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  65. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  66. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  67. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  68. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  69. package/dist/cdn/comments/snice-comments.js +1 -1
  70. package/dist/cdn/comments/snice-comments.min.js +1 -1
  71. package/dist/cdn/countdown/snice-countdown.js +1 -1
  72. package/dist/cdn/countdown/snice-countdown.min.js +1 -1
  73. package/dist/cdn/cropper/snice-cropper.js +1 -1
  74. package/dist/cdn/cropper/snice-cropper.min.js +1 -1
  75. package/dist/cdn/date-picker/README.md +1 -1
  76. package/dist/cdn/date-picker/snice-date-picker.js +49 -39
  77. package/dist/cdn/date-picker/snice-date-picker.js.map +1 -1
  78. package/dist/cdn/date-picker/snice-date-picker.min.js +4 -4
  79. package/dist/cdn/date-picker/snice-date-picker.min.js.map +1 -1
  80. package/dist/cdn/diff/snice-diff.js +1 -1
  81. package/dist/cdn/diff/snice-diff.min.js +1 -1
  82. package/dist/cdn/divider/snice-divider.js +1 -1
  83. package/dist/cdn/divider/snice-divider.min.js +1 -1
  84. package/dist/cdn/doc/README.md +2 -2
  85. package/dist/cdn/doc/snice-doc.js +221 -35
  86. package/dist/cdn/doc/snice-doc.js.map +1 -1
  87. package/dist/cdn/doc/snice-doc.min.js +2 -2
  88. package/dist/cdn/doc/snice-doc.min.js.map +1 -1
  89. package/dist/cdn/draw/snice-draw.js +1 -1
  90. package/dist/cdn/draw/snice-draw.min.js +1 -1
  91. package/dist/cdn/drawer/snice-drawer.js +1 -1
  92. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  93. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  94. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  95. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  96. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  97. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  98. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  99. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  100. package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
  101. package/dist/cdn/flow/snice-flow.js +1 -1
  102. package/dist/cdn/flow/snice-flow.min.js +1 -1
  103. package/dist/cdn/funnel/snice-funnel.js +1 -1
  104. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  105. package/dist/cdn/gantt/snice-gantt.js +1 -1
  106. package/dist/cdn/gantt/snice-gantt.min.js +1 -1
  107. package/dist/cdn/gauge/snice-gauge.js +1 -1
  108. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  109. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  110. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  111. package/dist/cdn/image/snice-image.js +1 -1
  112. package/dist/cdn/image/snice-image.min.js +1 -1
  113. package/dist/cdn/input/README.md +2 -2
  114. package/dist/cdn/input/snice-input.js +21 -3
  115. package/dist/cdn/input/snice-input.js.map +1 -1
  116. package/dist/cdn/input/snice-input.min.js +3 -3
  117. package/dist/cdn/input/snice-input.min.js.map +1 -1
  118. package/dist/cdn/kanban/snice-kanban.js +1 -1
  119. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  120. package/dist/cdn/kpi/snice-kpi.js +1 -1
  121. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  122. package/dist/cdn/layout/snice-layout.js +1 -1
  123. package/dist/cdn/layout/snice-layout.min.js +1 -1
  124. package/dist/cdn/link/snice-link.js +1 -1
  125. package/dist/cdn/link/snice-link.min.js +1 -1
  126. package/dist/cdn/link-preview/snice-link-preview.js +2 -2
  127. package/dist/cdn/link-preview/snice-link-preview.js.map +1 -1
  128. package/dist/cdn/link-preview/snice-link-preview.min.js +2 -2
  129. package/dist/cdn/link-preview/snice-link-preview.min.js.map +1 -1
  130. package/dist/cdn/list/snice-list.js +4 -4
  131. package/dist/cdn/list/snice-list.js.map +1 -1
  132. package/dist/cdn/list/snice-list.min.js +2 -2
  133. package/dist/cdn/list/snice-list.min.js.map +1 -1
  134. package/dist/cdn/location/snice-location.js +1 -1
  135. package/dist/cdn/location/snice-location.min.js +1 -1
  136. package/dist/cdn/login/snice-login.js +1 -1
  137. package/dist/cdn/login/snice-login.min.js +1 -1
  138. package/dist/cdn/map/snice-map.js +1 -1
  139. package/dist/cdn/map/snice-map.min.js +1 -1
  140. package/dist/cdn/markdown/snice-markdown.js +1 -1
  141. package/dist/cdn/markdown/snice-markdown.min.js +1 -1
  142. package/dist/cdn/masonry/snice-masonry.js +1 -1
  143. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  144. package/dist/cdn/menu/snice-menu.js +2 -2
  145. package/dist/cdn/menu/snice-menu.js.map +1 -1
  146. package/dist/cdn/menu/snice-menu.min.js +2 -2
  147. package/dist/cdn/menu/snice-menu.min.js.map +1 -1
  148. package/dist/cdn/modal/README.md +2 -2
  149. package/dist/cdn/modal/snice-modal.js +34 -18
  150. package/dist/cdn/modal/snice-modal.js.map +1 -1
  151. package/dist/cdn/modal/snice-modal.min.js +24 -20
  152. package/dist/cdn/modal/snice-modal.min.js.map +1 -1
  153. package/dist/cdn/music-player/README.md +2 -2
  154. package/dist/cdn/music-player/snice-music-player.js +8 -1
  155. package/dist/cdn/music-player/snice-music-player.js.map +1 -1
  156. package/dist/cdn/music-player/snice-music-player.min.js +3 -3
  157. package/dist/cdn/music-player/snice-music-player.min.js.map +1 -1
  158. package/dist/cdn/nav/snice-nav.js +1 -1
  159. package/dist/cdn/nav/snice-nav.min.js +1 -1
  160. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  161. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  162. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  163. package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
  164. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  165. package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
  166. package/dist/cdn/pagination/snice-pagination.js +1 -1
  167. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  168. package/dist/cdn/paint/snice-paint.js +1 -1
  169. package/dist/cdn/paint/snice-paint.min.js +1 -1
  170. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  171. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
  172. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  173. package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
  174. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  175. package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
  176. package/dist/cdn/progress/snice-progress.js +1 -1
  177. package/dist/cdn/progress/snice-progress.min.js +1 -1
  178. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  179. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  180. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  181. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  182. package/dist/cdn/radio/README.md +2 -2
  183. package/dist/cdn/radio/snice-radio.js +23 -3
  184. package/dist/cdn/radio/snice-radio.js.map +1 -1
  185. package/dist/cdn/radio/snice-radio.min.js +3 -3
  186. package/dist/cdn/radio/snice-radio.min.js.map +1 -1
  187. package/dist/cdn/rating/snice-rating.js +1 -1
  188. package/dist/cdn/rating/snice-rating.min.js +1 -1
  189. package/dist/cdn/recipe/snice-recipe.js +1 -1
  190. package/dist/cdn/recipe/snice-recipe.min.js +1 -1
  191. package/dist/cdn/runtime/README.md +2 -2
  192. package/dist/cdn/runtime/snice-runtime.esm.js +513 -46
  193. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  194. package/dist/cdn/runtime/snice-runtime.esm.min.js +6 -6
  195. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  196. package/dist/cdn/runtime/snice-runtime.js +6420 -5951
  197. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  198. package/dist/cdn/runtime/snice-runtime.min.js +18 -18
  199. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  200. package/dist/cdn/sankey/snice-sankey.js +1 -1
  201. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  202. package/dist/cdn/select/README.md +2 -2
  203. package/dist/cdn/select/snice-select.js +46 -92
  204. package/dist/cdn/select/snice-select.js.map +1 -1
  205. package/dist/cdn/select/snice-select.min.js +5 -13
  206. package/dist/cdn/select/snice-select.min.js.map +1 -1
  207. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  208. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  209. package/dist/cdn/slider/snice-slider.js +1 -1
  210. package/dist/cdn/slider/snice-slider.min.js +1 -1
  211. package/dist/cdn/sortable/snice-sortable.js +1 -1
  212. package/dist/cdn/sortable/snice-sortable.min.js +1 -1
  213. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  214. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  215. package/dist/cdn/spinner/snice-spinner.js +1 -1
  216. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  217. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  218. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  219. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  220. package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
  221. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
  222. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
  223. package/dist/cdn/stepper/snice-stepper.js +1 -1
  224. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  225. package/dist/cdn/switch/README.md +1 -1
  226. package/dist/cdn/switch/snice-switch.js +33 -23
  227. package/dist/cdn/switch/snice-switch.js.map +1 -1
  228. package/dist/cdn/switch/snice-switch.min.js +3 -3
  229. package/dist/cdn/switch/snice-switch.min.js.map +1 -1
  230. package/dist/cdn/table/README.md +2 -2
  231. package/dist/cdn/table/snice-table.js +2876 -111
  232. package/dist/cdn/table/snice-table.js.map +1 -1
  233. package/dist/cdn/table/snice-table.min.js +187 -47
  234. package/dist/cdn/table/snice-table.min.js.map +1 -1
  235. package/dist/cdn/tabs/snice-tabs.js +1 -1
  236. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  237. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  238. package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
  239. package/dist/cdn/terminal/snice-terminal.js +1 -1
  240. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  241. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  242. package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
  243. package/dist/cdn/textarea/snice-textarea.js +1 -1
  244. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  245. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  246. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  247. package/dist/cdn/timeline/snice-timeline.js +1 -1
  248. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  249. package/dist/cdn/timer/snice-timer.js +1 -1
  250. package/dist/cdn/timer/snice-timer.min.js +1 -1
  251. package/dist/cdn/toast/README.md +1 -1
  252. package/dist/cdn/toast/snice-toast.js +3 -3
  253. package/dist/cdn/toast/snice-toast.js.map +1 -1
  254. package/dist/cdn/toast/snice-toast.min.js +2 -2
  255. package/dist/cdn/toast/snice-toast.min.js.map +1 -1
  256. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  257. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  258. package/dist/cdn/tree/snice-tree.js +1 -1
  259. package/dist/cdn/tree/snice-tree.min.js +1 -1
  260. package/dist/cdn/treemap/snice-treemap.js +1 -1
  261. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  262. package/dist/cdn/video-player/snice-video-player.js +1 -1
  263. package/dist/cdn/video-player/snice-video-player.min.js +1 -1
  264. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  265. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  266. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  267. package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
  268. package/dist/cdn/weather/snice-weather.js +1 -1
  269. package/dist/cdn/weather/snice-weather.min.js +1 -1
  270. package/dist/components/book/snice-book.d.ts +2 -0
  271. package/dist/components/book/snice-book.js +28 -7
  272. package/dist/components/book/snice-book.js.map +1 -1
  273. package/dist/components/book/snice-book.types.d.ts +7 -0
  274. package/dist/components/code-block/snice-code-block.js +3 -3
  275. package/dist/components/code-block/snice-code-block.js.map +1 -1
  276. package/dist/components/code-block/snice-code-block.types.d.ts +3 -3
  277. package/dist/components/date-picker/snice-date-picker.d.ts +2 -0
  278. package/dist/components/date-picker/snice-date-picker.js +49 -39
  279. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  280. package/dist/components/doc/snice-doc.d.ts +20 -0
  281. package/dist/components/doc/snice-doc.js +220 -34
  282. package/dist/components/doc/snice-doc.js.map +1 -1
  283. package/dist/components/input/snice-input.d.ts +3 -0
  284. package/dist/components/input/snice-input.js +20 -2
  285. package/dist/components/input/snice-input.js.map +1 -1
  286. package/dist/components/input/snice-input.types.d.ts +3 -0
  287. package/dist/components/link-preview/snice-link-preview.js +1 -1
  288. package/dist/components/link-preview/snice-link-preview.js.map +1 -1
  289. package/dist/components/list/snice-list.js +3 -3
  290. package/dist/components/list/snice-list.js.map +1 -1
  291. package/dist/components/menu/snice-menu.js +1 -1
  292. package/dist/components/menu/snice-menu.js.map +1 -1
  293. package/dist/components/modal/snice-modal.d.ts +2 -0
  294. package/dist/components/modal/snice-modal.js +33 -17
  295. package/dist/components/modal/snice-modal.js.map +1 -1
  296. package/dist/components/modal/snice-modal.types.d.ts +2 -0
  297. package/dist/components/music-player/snice-music-player.d.ts +1 -0
  298. package/dist/components/music-player/snice-music-player.js +7 -0
  299. package/dist/components/music-player/snice-music-player.js.map +1 -1
  300. package/dist/components/notification-center/snice-notification-center.d.ts +1 -1
  301. package/dist/components/notification-center/snice-notification-center.js.map +1 -1
  302. package/dist/components/notification-center/snice-notification-center.types.d.ts +1 -0
  303. package/dist/components/radio/snice-radio.d.ts +1 -0
  304. package/dist/components/radio/snice-radio.js +22 -2
  305. package/dist/components/radio/snice-radio.js.map +1 -1
  306. package/dist/components/select/snice-select.d.ts +2 -4
  307. package/dist/components/select/snice-select.js +46 -92
  308. package/dist/components/select/snice-select.js.map +1 -1
  309. package/dist/components/switch/snice-switch.d.ts +2 -0
  310. package/dist/components/switch/snice-switch.js +32 -22
  311. package/dist/components/switch/snice-switch.js.map +1 -1
  312. package/dist/components/table/snice-table.d.ts +2 -0
  313. package/dist/components/table/snice-table.js +17 -3
  314. package/dist/components/table/snice-table.js.map +1 -1
  315. package/dist/components/toast/snice-toast-container.js +2 -2
  316. package/dist/components/toast/snice-toast-container.js.map +1 -1
  317. package/dist/index.cjs +512 -43
  318. package/dist/index.cjs.map +1 -1
  319. package/dist/index.d.ts +1 -0
  320. package/dist/index.esm.js +511 -44
  321. package/dist/index.esm.js.map +1 -1
  322. package/dist/index.iife.js +512 -43
  323. package/dist/index.iife.js.map +1 -1
  324. package/dist/symbols.cjs +1 -1
  325. package/dist/symbols.esm.js +1 -1
  326. package/dist/tooltip-observer.d.ts +11 -0
  327. package/dist/transitions.cjs +1 -1
  328. package/dist/transitions.esm.js +1 -1
  329. package/docs/ai/DEVELOPMENT.md +1 -1
  330. package/docs/ai/api.md +14 -10
  331. package/docs/ai/architecture.md +18 -5
  332. package/docs/ai/components/app-tiles.md +1 -1
  333. package/docs/ai/components/book.md +5 -6
  334. package/docs/ai/components/camera-annotate.md +3 -3
  335. package/docs/ai/components/candlestick.md +3 -3
  336. package/docs/ai/components/chart.md +1 -1
  337. package/docs/ai/components/code-block.md +3 -3
  338. package/docs/ai/components/doc.md +26 -15
  339. package/docs/ai/components/file-gallery.md +1 -1
  340. package/docs/ai/components/input.md +10 -0
  341. package/docs/ai/components/link-preview.md +1 -1
  342. package/docs/ai/components/list.md +2 -2
  343. package/docs/ai/components/markdown.md +13 -6
  344. package/docs/ai/components/modal.md +2 -0
  345. package/docs/ai/components/music-player.md +3 -2
  346. package/docs/ai/components/network-graph.md +5 -5
  347. package/docs/ai/components/notification-center.md +1 -0
  348. package/docs/ai/components/pdf-viewer.md +1 -1
  349. package/docs/ai/components/radio.md +2 -2
  350. package/docs/ai/components/sankey.md +3 -3
  351. package/docs/ai/components/select.md +1 -1
  352. package/docs/ai/components/tooltip.md +54 -0
  353. package/docs/ai/decorators.md +4 -4
  354. package/docs/code-block.md +4 -4
  355. package/docs/components/app-tiles.md +1 -1
  356. package/docs/components/book.md +3 -4
  357. package/docs/components/button.md +2 -2
  358. package/docs/components/camera-annotate.md +6 -6
  359. package/docs/components/candlestick.md +6 -6
  360. package/docs/components/chart.md +4 -6
  361. package/docs/components/checkbox.md +3 -3
  362. package/docs/components/chip.md +4 -4
  363. package/docs/components/code-block.md +4 -3
  364. package/docs/components/doc.md +99 -58
  365. package/docs/components/file-gallery.md +25 -3
  366. package/docs/components/input.md +20 -0
  367. package/docs/components/kpi.md +2 -3
  368. package/docs/components/link-preview.md +2 -2
  369. package/docs/components/list.md +3 -3
  370. package/docs/components/markdown.md +14 -36
  371. package/docs/components/modal.md +2 -0
  372. package/docs/components/music-player.md +3 -2
  373. package/docs/components/network-graph.md +7 -7
  374. package/docs/components/notification-center.md +1 -0
  375. package/docs/components/pdf-viewer.md +1 -1
  376. package/docs/components/sankey.md +6 -6
  377. package/docs/components/switch.md +1 -1
  378. package/docs/components/table.md +2 -2
  379. package/docs/components/tooltip.md +133 -0
  380. package/docs/controllers.md +3 -14
  381. package/docs/elements.md +0 -1
  382. package/docs/events.md +3 -0
  383. package/docs/request-response.md +2 -0
  384. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * snice v4.13.0
2
+ * snice v4.15.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
6
6
  */
7
- void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be loaded before snice-date-picker.min.js");var SniceDatePicker=function(e,t){"use strict";function a(e,t,a,i,s,n){function r(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var l,d=i.kind,o="getter"===d?"get":"setter"===d?"set":"value",c=!t&&e?i.static?e:e.prototype:null,h=t||(c?Object.getOwnPropertyDescriptor(c,i.name):{}),u=!1,p=a.length-1;p>=0;p--){var m={};for(var v in i)m[v]="access"===v?{}:i[v];for(var v in i.access)m.access[v]=i.access[v];m.addInitializer=function(e){if(u)throw new TypeError("Cannot add initializers after decoration has completed");n.push(r(e||null))};var g=(0,a[p])("accessor"===d?{get:h.get,set:h.set}:h[o],m);if("accessor"===d){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(l=r(g.get))&&(h.get=l),(l=r(g.set))&&(h.set=l),(l=r(g.init))&&s.unshift(l)}else(l=r(g))&&("field"===d?s.unshift(l):h[o]=l)}c&&Object.defineProperty(c,i.name,h),u=!0}function i(e,t,a){for(var i=arguments.length>2,s=0;s<t.length;s++)a=i?t[s].call(e,a):t[s].call(e);return i?a:void 0}"function"==typeof SuppressedError&&SuppressedError;let s=(()=>{let e,s,n,r,l,d,o,c,h,u,p,m,v,g,y,b,f,k,w,D,x,C,$,E,B,T,S,z,M,Y,V,F,I,O,N,q,P,j,L,A,G,H,W,R,J=[t.element("snice-date-picker")],K=[],Z=HTMLElement,U=[],X=[],Q=[],_=[],ee=[],te=[],ae=[],ie=[],se=[],ne=[],re=[],le=[],de=[],oe=[],ce=[],he=[],ue=[],pe=[],me=[],ve=[],ge=[],ye=[],be=[],fe=[],ke=[],we=[],De=[],xe=[],Ce=[],$e=[],Ee=[],Be=[],Te=[],Se=[],ze=[],Me=[],Ye=[],Ve=[],Fe=[],Ie=[],Oe=[],Ne=[],qe=[],Pe=[],je=[],Le=[],Ae=[],Ge=[],He=[],We=[],Re=[];return class extends Z{static{s=this}constructor(){super(...arguments),this.size=(i(this,U),i(this,X,"medium")),this.variant=(i(this,Q),i(this,_,"outlined")),this.value=(i(this,ee),i(this,te,"")),this.inputValue=(i(this,ae),""),this.format=i(this,ie,"mm/dd/yyyy"),this.placeholder=(i(this,se),i(this,ne,"")),this.label=(i(this,re),i(this,le,"")),this.helperText=(i(this,de),i(this,oe,"")),this.errorText=(i(this,ce),i(this,he,"")),this.disabled=(i(this,ue),i(this,pe,!1)),this.readonly=(i(this,me),i(this,ve,!1)),this.loading=(i(this,ge),i(this,ye,!1)),this.required=(i(this,be),i(this,fe,!1)),this.invalid=(i(this,ke),i(this,we,!1)),this.clearable=(i(this,De),i(this,xe,!1)),this.min=(i(this,Ce),i(this,$e,"")),this.max=(i(this,Ee),i(this,Be,"")),this.name=(i(this,Te),i(this,Se,"")),this.showCalendar=(i(this,ze),i(this,Me,!1)),this.firstDayOfWeek=(i(this,Ye),i(this,Ve,0)),this.input=(i(this,Fe),i(this,Ie,void 0)),this.calendar=(i(this,Oe),i(this,Ne,void 0)),this.clearButton=(i(this,qe),i(this,Pe,void 0)),this.calendarToggle=(i(this,je),i(this,Le,void 0)),this.selectedDayButton=(i(this,Ae),i(this,Ge,void 0)),this.firstDayButton=(i(this,He),i(this,We,void 0)),this.selectedDate=(i(this,Re),null),this.viewDate=new Date,this.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"],this.dayNames=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]}static{const Je="function"==typeof Symbol&&Symbol.metadata?Object.create(Z[Symbol.metadata]??null):void 0;n=[t.property({})],r=[t.property({})],l=[t.property({})],d=[t.property({})],o=[t.property({})],c=[t.property({})],h=[t.property({attribute:"helper-text"})],u=[t.property({attribute:"error-text"})],p=[t.property({type:Boolean})],m=[t.property({type:Boolean})],v=[t.property({type:Boolean})],g=[t.property({type:Boolean})],y=[t.property({type:Boolean})],b=[t.property({type:Boolean})],f=[t.property({})],k=[t.property({})],w=[t.property({})],D=[t.property({type:Boolean,attribute:"show-calendar"})],x=[t.property({type:Number,attribute:"first-day-of-week"})],C=[t.query(".input")],$=[t.query(".calendar")],E=[t.query(".clear-button")],B=[t.query(".calendar-toggle")],T=[t.query(".day--selected")],S=[t.query(".day:not(.day--empty):not(.day--disabled)")],z=[t.styles()],M=[t.render()],Y=[t.ready()],V=[t.watch("value")],F=[t.watch("show-calendar")],I=[t.watch("disabled")],O=[t.watch("readonly")],N=[t.watch("invalid")],q=[t.watch("format")],P=[t.dispatch("datepicker-input",{bubbles:!0,composed:!0})],j=[t.dispatch("datepicker-change",{bubbles:!0,composed:!0})],L=[t.dispatch("datepicker-focus",{bubbles:!0,composed:!0})],A=[t.dispatch("datepicker-blur",{bubbles:!0,composed:!0})],G=[t.dispatch("datepicker-open",{bubbles:!0,composed:!0})],H=[t.dispatch("datepicker-close",{bubbles:!0,composed:!0})],W=[t.dispatch("datepicker-clear",{bubbles:!0,composed:!0})],R=[t.dispatch("datepicker-select",{bubbles:!0,composed:!0})],a(this,null,z,{kind:"method",name:"styles",static:!1,private:!1,access:{has:e=>"styles"in e,get:e=>e.styles},metadata:Je},null,U),a(this,null,M,{kind:"method",name:"render",static:!1,private:!1,access:{has:e=>"render"in e,get:e=>e.render},metadata:Je},null,U),a(this,null,Y,{kind:"method",name:"init",static:!1,private:!1,access:{has:e=>"init"in e,get:e=>e.init},metadata:Je},null,U),a(this,null,V,{kind:"method",name:"handleValueChange",static:!1,private:!1,access:{has:e=>"handleValueChange"in e,get:e=>e.handleValueChange},metadata:Je},null,U),a(this,null,F,{kind:"method",name:"handleShowCalendarChange",static:!1,private:!1,access:{has:e=>"handleShowCalendarChange"in e,get:e=>e.handleShowCalendarChange},metadata:Je},null,U),a(this,null,I,{kind:"method",name:"handleDisabledChange",static:!1,private:!1,access:{has:e=>"handleDisabledChange"in e,get:e=>e.handleDisabledChange},metadata:Je},null,U),a(this,null,O,{kind:"method",name:"handleReadonlyChange",static:!1,private:!1,access:{has:e=>"handleReadonlyChange"in e,get:e=>e.handleReadonlyChange},metadata:Je},null,U),a(this,null,N,{kind:"method",name:"handleInvalidChange",static:!1,private:!1,access:{has:e=>"handleInvalidChange"in e,get:e=>e.handleInvalidChange},metadata:Je},null,U),a(this,null,q,{kind:"method",name:"handleFormatChange",static:!1,private:!1,access:{has:e=>"handleFormatChange"in e,get:e=>e.handleFormatChange},metadata:Je},null,U),a(this,null,P,{kind:"method",name:"dispatchInputEvent",static:!1,private:!1,access:{has:e=>"dispatchInputEvent"in e,get:e=>e.dispatchInputEvent},metadata:Je},null,U),a(this,null,j,{kind:"method",name:"dispatchChangeEvent",static:!1,private:!1,access:{has:e=>"dispatchChangeEvent"in e,get:e=>e.dispatchChangeEvent},metadata:Je},null,U),a(this,null,L,{kind:"method",name:"dispatchFocusEvent",static:!1,private:!1,access:{has:e=>"dispatchFocusEvent"in e,get:e=>e.dispatchFocusEvent},metadata:Je},null,U),a(this,null,A,{kind:"method",name:"dispatchBlurEvent",static:!1,private:!1,access:{has:e=>"dispatchBlurEvent"in e,get:e=>e.dispatchBlurEvent},metadata:Je},null,U),a(this,null,G,{kind:"method",name:"dispatchOpenEvent",static:!1,private:!1,access:{has:e=>"dispatchOpenEvent"in e,get:e=>e.dispatchOpenEvent},metadata:Je},null,U),a(this,null,H,{kind:"method",name:"dispatchCloseEvent",static:!1,private:!1,access:{has:e=>"dispatchCloseEvent"in e,get:e=>e.dispatchCloseEvent},metadata:Je},null,U),a(this,null,W,{kind:"method",name:"dispatchClearEvent",static:!1,private:!1,access:{has:e=>"dispatchClearEvent"in e,get:e=>e.dispatchClearEvent},metadata:Je},null,U),a(this,null,R,{kind:"method",name:"dispatchSelectEvent",static:!1,private:!1,access:{has:e=>"dispatchSelectEvent"in e,get:e=>e.dispatchSelectEvent},metadata:Je},null,U),a(null,null,n,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:Je},X,Q),a(null,null,r,{kind:"field",name:"variant",static:!1,private:!1,access:{has:e=>"variant"in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:Je},_,ee),a(null,null,l,{kind:"field",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:Je},te,ae),a(null,null,d,{kind:"field",name:"format",static:!1,private:!1,access:{has:e=>"format"in e,get:e=>e.format,set:(e,t)=>{e.format=t}},metadata:Je},ie,se),a(null,null,o,{kind:"field",name:"placeholder",static:!1,private:!1,access:{has:e=>"placeholder"in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:Je},ne,re),a(null,null,c,{kind:"field",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:Je},le,de),a(null,null,h,{kind:"field",name:"helperText",static:!1,private:!1,access:{has:e=>"helperText"in e,get:e=>e.helperText,set:(e,t)=>{e.helperText=t}},metadata:Je},oe,ce),a(null,null,u,{kind:"field",name:"errorText",static:!1,private:!1,access:{has:e=>"errorText"in e,get:e=>e.errorText,set:(e,t)=>{e.errorText=t}},metadata:Je},he,ue),a(null,null,p,{kind:"field",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:Je},pe,me),a(null,null,m,{kind:"field",name:"readonly",static:!1,private:!1,access:{has:e=>"readonly"in e,get:e=>e.readonly,set:(e,t)=>{e.readonly=t}},metadata:Je},ve,ge),a(null,null,v,{kind:"field",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:Je},ye,be),a(null,null,g,{kind:"field",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:Je},fe,ke),a(null,null,y,{kind:"field",name:"invalid",static:!1,private:!1,access:{has:e=>"invalid"in e,get:e=>e.invalid,set:(e,t)=>{e.invalid=t}},metadata:Je},we,De),a(null,null,b,{kind:"field",name:"clearable",static:!1,private:!1,access:{has:e=>"clearable"in e,get:e=>e.clearable,set:(e,t)=>{e.clearable=t}},metadata:Je},xe,Ce),a(null,null,f,{kind:"field",name:"min",static:!1,private:!1,access:{has:e=>"min"in e,get:e=>e.min,set:(e,t)=>{e.min=t}},metadata:Je},$e,Ee),a(null,null,k,{kind:"field",name:"max",static:!1,private:!1,access:{has:e=>"max"in e,get:e=>e.max,set:(e,t)=>{e.max=t}},metadata:Je},Be,Te),a(null,null,w,{kind:"field",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,t)=>{e.name=t}},metadata:Je},Se,ze),a(null,null,D,{kind:"field",name:"showCalendar",static:!1,private:!1,access:{has:e=>"showCalendar"in e,get:e=>e.showCalendar,set:(e,t)=>{e.showCalendar=t}},metadata:Je},Me,Ye),a(null,null,x,{kind:"field",name:"firstDayOfWeek",static:!1,private:!1,access:{has:e=>"firstDayOfWeek"in e,get:e=>e.firstDayOfWeek,set:(e,t)=>{e.firstDayOfWeek=t}},metadata:Je},Ve,Fe),a(null,null,C,{kind:"field",name:"input",static:!1,private:!1,access:{has:e=>"input"in e,get:e=>e.input,set:(e,t)=>{e.input=t}},metadata:Je},Ie,Oe),a(null,null,$,{kind:"field",name:"calendar",static:!1,private:!1,access:{has:e=>"calendar"in e,get:e=>e.calendar,set:(e,t)=>{e.calendar=t}},metadata:Je},Ne,qe),a(null,null,E,{kind:"field",name:"clearButton",static:!1,private:!1,access:{has:e=>"clearButton"in e,get:e=>e.clearButton,set:(e,t)=>{e.clearButton=t}},metadata:Je},Pe,je),a(null,null,B,{kind:"field",name:"calendarToggle",static:!1,private:!1,access:{has:e=>"calendarToggle"in e,get:e=>e.calendarToggle,set:(e,t)=>{e.calendarToggle=t}},metadata:Je},Le,Ae),a(null,null,T,{kind:"field",name:"selectedDayButton",static:!1,private:!1,access:{has:e=>"selectedDayButton"in e,get:e=>e.selectedDayButton,set:(e,t)=>{e.selectedDayButton=t}},metadata:Je},Ge,He),a(null,null,S,{kind:"field",name:"firstDayButton",static:!1,private:!1,access:{has:e=>"firstDayButton"in e,get:e=>e.firstDayButton,set:(e,t)=>{e.firstDayButton=t}},metadata:Je},We,Re),a(null,e={value:s},J,{kind:"class",name:s.name,metadata:Je},null,K),s=e.value,Je&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Je}),i(s,K)}styles(){return t.css`${":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);margin-bottom:var(--snice-spacing-2xs,.25rem)}.label--required::after{content:'*';color:var(--snice-color-danger);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);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-input);color:var(--snice-color-text);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);box-shadow:0 0 0 var(--snice-focus-ring-width,3px) var(--snice-focus-ring-color)}.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);border:1px solid transparent}.input--underlined{border:none;border-bottom:1px solid var(--snice-color-border);border-radius:0;background:0 0;padding-left:0}.input--invalid{border-color:var(--snice-color-danger)}.input--invalid:focus{border-color:var(--snice-color-danger);box-shadow:0 0 0 3px var(--snice-color-danger-alpha,hsl(var(--snice-color-red-500) / .1))}.input:disabled{background:var(--snice-color-background-secondary);color:var(--snice-color-text-tertiary);cursor:not-allowed}.input:not(:disabled):not([readonly]){cursor:pointer}.calendar-toggle,.clear-button{position:absolute;padding:.25rem;border:none;background:0 0;color:var(--snice-color-text-secondary);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:var(--snice-color-text);background:var(--snice-color-background-tertiary)}.calendar-toggle:disabled,.clear-button:disabled{opacity:.5;cursor:not-allowed}.input--loading{cursor:wait}.spinner{position:absolute;right:3rem;width:1em;height:1em;pointer-events:none}.spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.calendar{position:absolute;top:100%;left:0;right:0;z-index:var(--snice-z-index-dropdown,1000);background:var(--snice-color-background-element);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-lg,8px);box-shadow:var(--snice-shadow-lg);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);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)}.nav-button{background:0 0;border:none;padding:.5rem;cursor:pointer;color:var(--snice-color-text-secondary);border-radius:4px;transition:color .15s,background-color .15s}.nav-button:hover{color:var(--snice-color-text);background:var(--snice-color-background-tertiary)}.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:var(--snice-color-text-secondary);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);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)}.day--today{background:var(--snice-color-primary-subtle);color:var(--snice-color-primary);font-weight:var(--snice-font-weight-semibold,600)}.day--selected{background:var(--snice-color-primary);color:var(--snice-color-text-inverse);font-weight:var(--snice-font-weight-semibold,600)}.day--disabled{color:var(--snice-color-text-disabled);cursor:not-allowed}.day--empty{cursor:default}.calendar-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--snice-color-border);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)}.error-text{color:var(--snice-color-danger)}: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}}"}`}render(){const e=["label",this.required?"label--required":""].filter(Boolean).join(" "),a=["input",`input--${this.size}`,`input--${this.variant}`,this.invalid?"input--invalid":"",this.clearable?"input--clearable":"",this.loading?"input--loading":""].filter(Boolean).join(" ");return t.html`
7
+ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be loaded before snice-date-picker.min.js");var SniceDatePicker=function(e,t){"use strict";function a(e,t,a,i,s,n){function r(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var l,d=i.kind,o="getter"===d?"get":"setter"===d?"set":"value",c=!t&&e?i.static?e:e.prototype:null,h=t||(c?Object.getOwnPropertyDescriptor(c,i.name):{}),u=!1,p=a.length-1;p>=0;p--){var m={};for(var v in i)m[v]="access"===v?{}:i[v];for(var v in i.access)m.access[v]=i.access[v];m.addInitializer=function(e){if(u)throw new TypeError("Cannot add initializers after decoration has completed");n.push(r(e||null))};var g=(0,a[p])("accessor"===d?{get:h.get,set:h.set}:h[o],m);if("accessor"===d){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(l=r(g.get))&&(h.get=l),(l=r(g.set))&&(h.set=l),(l=r(g.init))&&s.unshift(l)}else(l=r(g))&&("field"===d?s.unshift(l):h[o]=l)}c&&Object.defineProperty(c,i.name,h),u=!0}function i(e,t,a){for(var i=arguments.length>2,s=0;s<t.length;s++)a=i?t[s].call(e,a):t[s].call(e);return i?a:void 0}"function"==typeof SuppressedError&&SuppressedError;let s=(()=>{let e,s,n,r,l,d,o,c,h,u,p,m,v,g,y,b,f,k,w,D,x,C,$,E,B,T,S,z,M,V,Y,F,I,O,N,q,P,j,A,L,G,H,W,R,J=[t.element("snice-date-picker",{formAssociated:!0})],K=[],Z=HTMLElement,U=[],X=[],Q=[],_=[],ee=[],te=[],ae=[],ie=[],se=[],ne=[],re=[],le=[],de=[],oe=[],ce=[],he=[],ue=[],pe=[],me=[],ve=[],ge=[],ye=[],be=[],fe=[],ke=[],we=[],De=[],xe=[],Ce=[],$e=[],Ee=[],Be=[],Te=[],Se=[],ze=[],Me=[],Ve=[],Ye=[],Fe=[],Ie=[],Oe=[],Ne=[],qe=[],Pe=[],je=[],Ae=[],Le=[],Ge=[],He=[],We=[],Re=[];return class extends Z{static{s=this}static{const Je="function"==typeof Symbol&&Symbol.metadata?Object.create(Z[Symbol.metadata]??null):void 0;n=[t.property({})],r=[t.property({})],l=[t.property({})],d=[t.property({})],o=[t.property({})],c=[t.property({})],h=[t.property({attribute:"helper-text"})],u=[t.property({attribute:"error-text"})],p=[t.property({type:Boolean})],m=[t.property({type:Boolean})],v=[t.property({type:Boolean})],g=[t.property({type:Boolean})],y=[t.property({type:Boolean})],b=[t.property({type:Boolean})],f=[t.property({})],k=[t.property({})],w=[t.property({})],D=[t.property({type:Boolean,attribute:"show-calendar"})],x=[t.property({type:Number,attribute:"first-day-of-week"})],C=[t.query(".input")],$=[t.query(".calendar")],E=[t.query(".clear-button")],B=[t.query(".calendar-toggle")],T=[t.query(".day--selected")],S=[t.query(".day:not(.day--empty):not(.day--disabled)")],z=[t.styles()],M=[t.render()],V=[t.ready()],Y=[t.watch("value")],F=[t.watch("show-calendar")],I=[t.watch("disabled")],O=[t.watch("readonly")],N=[t.watch("invalid")],q=[t.watch("format")],P=[t.dispatch("datepicker-input",{bubbles:!0,composed:!0})],j=[t.dispatch("datepicker-change",{bubbles:!0,composed:!0})],A=[t.dispatch("datepicker-focus",{bubbles:!0,composed:!0})],L=[t.dispatch("datepicker-blur",{bubbles:!0,composed:!0})],G=[t.dispatch("datepicker-open",{bubbles:!0,composed:!0})],H=[t.dispatch("datepicker-close",{bubbles:!0,composed:!0})],W=[t.dispatch("datepicker-clear",{bubbles:!0,composed:!0})],R=[t.dispatch("datepicker-select",{bubbles:!0,composed:!0})],a(this,null,z,{kind:"method",name:"styles",static:!1,private:!1,access:{has:e=>"styles"in e,get:e=>e.styles},metadata:Je},null,U),a(this,null,M,{kind:"method",name:"render",static:!1,private:!1,access:{has:e=>"render"in e,get:e=>e.render},metadata:Je},null,U),a(this,null,V,{kind:"method",name:"init",static:!1,private:!1,access:{has:e=>"init"in e,get:e=>e.init},metadata:Je},null,U),a(this,null,Y,{kind:"method",name:"handleValueChange",static:!1,private:!1,access:{has:e=>"handleValueChange"in e,get:e=>e.handleValueChange},metadata:Je},null,U),a(this,null,F,{kind:"method",name:"handleShowCalendarChange",static:!1,private:!1,access:{has:e=>"handleShowCalendarChange"in e,get:e=>e.handleShowCalendarChange},metadata:Je},null,U),a(this,null,I,{kind:"method",name:"handleDisabledChange",static:!1,private:!1,access:{has:e=>"handleDisabledChange"in e,get:e=>e.handleDisabledChange},metadata:Je},null,U),a(this,null,O,{kind:"method",name:"handleReadonlyChange",static:!1,private:!1,access:{has:e=>"handleReadonlyChange"in e,get:e=>e.handleReadonlyChange},metadata:Je},null,U),a(this,null,N,{kind:"method",name:"handleInvalidChange",static:!1,private:!1,access:{has:e=>"handleInvalidChange"in e,get:e=>e.handleInvalidChange},metadata:Je},null,U),a(this,null,q,{kind:"method",name:"handleFormatChange",static:!1,private:!1,access:{has:e=>"handleFormatChange"in e,get:e=>e.handleFormatChange},metadata:Je},null,U),a(this,null,P,{kind:"method",name:"dispatchInputEvent",static:!1,private:!1,access:{has:e=>"dispatchInputEvent"in e,get:e=>e.dispatchInputEvent},metadata:Je},null,U),a(this,null,j,{kind:"method",name:"dispatchChangeEvent",static:!1,private:!1,access:{has:e=>"dispatchChangeEvent"in e,get:e=>e.dispatchChangeEvent},metadata:Je},null,U),a(this,null,A,{kind:"method",name:"dispatchFocusEvent",static:!1,private:!1,access:{has:e=>"dispatchFocusEvent"in e,get:e=>e.dispatchFocusEvent},metadata:Je},null,U),a(this,null,L,{kind:"method",name:"dispatchBlurEvent",static:!1,private:!1,access:{has:e=>"dispatchBlurEvent"in e,get:e=>e.dispatchBlurEvent},metadata:Je},null,U),a(this,null,G,{kind:"method",name:"dispatchOpenEvent",static:!1,private:!1,access:{has:e=>"dispatchOpenEvent"in e,get:e=>e.dispatchOpenEvent},metadata:Je},null,U),a(this,null,H,{kind:"method",name:"dispatchCloseEvent",static:!1,private:!1,access:{has:e=>"dispatchCloseEvent"in e,get:e=>e.dispatchCloseEvent},metadata:Je},null,U),a(this,null,W,{kind:"method",name:"dispatchClearEvent",static:!1,private:!1,access:{has:e=>"dispatchClearEvent"in e,get:e=>e.dispatchClearEvent},metadata:Je},null,U),a(this,null,R,{kind:"method",name:"dispatchSelectEvent",static:!1,private:!1,access:{has:e=>"dispatchSelectEvent"in e,get:e=>e.dispatchSelectEvent},metadata:Je},null,U),a(null,null,n,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:Je},X,Q),a(null,null,r,{kind:"field",name:"variant",static:!1,private:!1,access:{has:e=>"variant"in e,get:e=>e.variant,set:(e,t)=>{e.variant=t}},metadata:Je},_,ee),a(null,null,l,{kind:"field",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:Je},te,ae),a(null,null,d,{kind:"field",name:"format",static:!1,private:!1,access:{has:e=>"format"in e,get:e=>e.format,set:(e,t)=>{e.format=t}},metadata:Je},ie,se),a(null,null,o,{kind:"field",name:"placeholder",static:!1,private:!1,access:{has:e=>"placeholder"in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:Je},ne,re),a(null,null,c,{kind:"field",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:Je},le,de),a(null,null,h,{kind:"field",name:"helperText",static:!1,private:!1,access:{has:e=>"helperText"in e,get:e=>e.helperText,set:(e,t)=>{e.helperText=t}},metadata:Je},oe,ce),a(null,null,u,{kind:"field",name:"errorText",static:!1,private:!1,access:{has:e=>"errorText"in e,get:e=>e.errorText,set:(e,t)=>{e.errorText=t}},metadata:Je},he,ue),a(null,null,p,{kind:"field",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:Je},pe,me),a(null,null,m,{kind:"field",name:"readonly",static:!1,private:!1,access:{has:e=>"readonly"in e,get:e=>e.readonly,set:(e,t)=>{e.readonly=t}},metadata:Je},ve,ge),a(null,null,v,{kind:"field",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:Je},ye,be),a(null,null,g,{kind:"field",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:Je},fe,ke),a(null,null,y,{kind:"field",name:"invalid",static:!1,private:!1,access:{has:e=>"invalid"in e,get:e=>e.invalid,set:(e,t)=>{e.invalid=t}},metadata:Je},we,De),a(null,null,b,{kind:"field",name:"clearable",static:!1,private:!1,access:{has:e=>"clearable"in e,get:e=>e.clearable,set:(e,t)=>{e.clearable=t}},metadata:Je},xe,Ce),a(null,null,f,{kind:"field",name:"min",static:!1,private:!1,access:{has:e=>"min"in e,get:e=>e.min,set:(e,t)=>{e.min=t}},metadata:Je},$e,Ee),a(null,null,k,{kind:"field",name:"max",static:!1,private:!1,access:{has:e=>"max"in e,get:e=>e.max,set:(e,t)=>{e.max=t}},metadata:Je},Be,Te),a(null,null,w,{kind:"field",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,t)=>{e.name=t}},metadata:Je},Se,ze),a(null,null,D,{kind:"field",name:"showCalendar",static:!1,private:!1,access:{has:e=>"showCalendar"in e,get:e=>e.showCalendar,set:(e,t)=>{e.showCalendar=t}},metadata:Je},Me,Ve),a(null,null,x,{kind:"field",name:"firstDayOfWeek",static:!1,private:!1,access:{has:e=>"firstDayOfWeek"in e,get:e=>e.firstDayOfWeek,set:(e,t)=>{e.firstDayOfWeek=t}},metadata:Je},Ye,Fe),a(null,null,C,{kind:"field",name:"input",static:!1,private:!1,access:{has:e=>"input"in e,get:e=>e.input,set:(e,t)=>{e.input=t}},metadata:Je},Ie,Oe),a(null,null,$,{kind:"field",name:"calendar",static:!1,private:!1,access:{has:e=>"calendar"in e,get:e=>e.calendar,set:(e,t)=>{e.calendar=t}},metadata:Je},Ne,qe),a(null,null,E,{kind:"field",name:"clearButton",static:!1,private:!1,access:{has:e=>"clearButton"in e,get:e=>e.clearButton,set:(e,t)=>{e.clearButton=t}},metadata:Je},Pe,je),a(null,null,B,{kind:"field",name:"calendarToggle",static:!1,private:!1,access:{has:e=>"calendarToggle"in e,get:e=>e.calendarToggle,set:(e,t)=>{e.calendarToggle=t}},metadata:Je},Ae,Le),a(null,null,T,{kind:"field",name:"selectedDayButton",static:!1,private:!1,access:{has:e=>"selectedDayButton"in e,get:e=>e.selectedDayButton,set:(e,t)=>{e.selectedDayButton=t}},metadata:Je},Ge,He),a(null,null,S,{kind:"field",name:"firstDayButton",static:!1,private:!1,access:{has:e=>"firstDayButton"in e,get:e=>e.firstDayButton,set:(e,t)=>{e.firstDayButton=t}},metadata:Je},We,Re),a(null,e={value:s},J,{kind:"class",name:s.name,metadata:Je},null,K),s=e.value,Je&&Object.defineProperty(s,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Je}),i(s,K)}constructor(){super(),this.internals=i(this,U),this.size=i(this,X,"medium"),this.variant=(i(this,Q),i(this,_,"outlined")),this.value=(i(this,ee),i(this,te,"")),this.inputValue=(i(this,ae),""),this.format=i(this,ie,"mm/dd/yyyy"),this.placeholder=(i(this,se),i(this,ne,"")),this.label=(i(this,re),i(this,le,"")),this.helperText=(i(this,de),i(this,oe,"")),this.errorText=(i(this,ce),i(this,he,"")),this.disabled=(i(this,ue),i(this,pe,!1)),this.readonly=(i(this,me),i(this,ve,!1)),this.loading=(i(this,ge),i(this,ye,!1)),this.required=(i(this,be),i(this,fe,!1)),this.invalid=(i(this,ke),i(this,we,!1)),this.clearable=(i(this,De),i(this,xe,!1)),this.min=(i(this,Ce),i(this,$e,"")),this.max=(i(this,Ee),i(this,Be,"")),this.name=(i(this,Te),i(this,Se,"")),this.showCalendar=(i(this,ze),i(this,Me,!1)),this.firstDayOfWeek=(i(this,Ve),i(this,Ye,0)),this.input=(i(this,Fe),i(this,Ie,void 0)),this.calendar=(i(this,Oe),i(this,Ne,void 0)),this.clearButton=(i(this,qe),i(this,Pe,void 0)),this.calendarToggle=(i(this,je),i(this,Ae,void 0)),this.selectedDayButton=(i(this,Le),i(this,Ge,void 0)),this.firstDayButton=(i(this,He),i(this,We,void 0)),this.selectedDate=(i(this,Re),null),this.viewDate=new Date,this.monthNames=["January","February","March","April","May","June","July","August","September","October","November","December"],this.dayNames=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"function"==typeof this.attachInternals&&(this.internals=this.attachInternals())}styles(){return t.css`${":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);margin-bottom:var(--snice-spacing-2xs,.25rem)}.label--required::after{content:'*';color:var(--snice-color-danger);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);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-input);color:var(--snice-color-text);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);box-shadow:0 0 0 var(--snice-focus-ring-width,3px) var(--snice-focus-ring-color)}.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);border:1px solid transparent}.input--underlined{border:none;border-bottom:1px solid var(--snice-color-border);border-radius:0;background:0 0;padding-left:0}.input--invalid{border-color:var(--snice-color-danger)}.input--invalid:focus{border-color:var(--snice-color-danger);box-shadow:0 0 0 3px var(--snice-color-danger-alpha,hsl(var(--snice-color-red-500) / .1))}.input:disabled{background:var(--snice-color-background-secondary);color:var(--snice-color-text-tertiary);cursor:not-allowed}.input:not(:disabled):not([readonly]){cursor:pointer}.calendar-toggle,.clear-button{position:absolute;padding:.25rem;border:none;background:0 0;color:var(--snice-color-text-secondary);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:var(--snice-color-text);background:var(--snice-color-background-tertiary)}.calendar-toggle:disabled,.clear-button:disabled{opacity:.5;cursor:not-allowed}.input--loading{cursor:wait}.spinner{position:absolute;right:3rem;width:1em;height:1em;pointer-events:none}.spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.calendar{position:absolute;top:100%;left:0;right:0;z-index:var(--snice-z-index-dropdown,1000);background:var(--snice-color-background-element);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-lg,8px);box-shadow:var(--snice-shadow-lg);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);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)}.nav-button{background:0 0;border:none;padding:.5rem;cursor:pointer;color:var(--snice-color-text-secondary);border-radius:4px;transition:color .15s,background-color .15s}.nav-button:hover{color:var(--snice-color-text);background:var(--snice-color-background-tertiary)}.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:var(--snice-color-text-secondary);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);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)}.day--today{background:var(--snice-color-primary-subtle);color:var(--snice-color-primary);font-weight:var(--snice-font-weight-semibold,600)}.day--selected{background:var(--snice-color-primary);color:var(--snice-color-text-inverse);font-weight:var(--snice-font-weight-semibold,600)}.day--disabled{color:var(--snice-color-text-disabled);cursor:not-allowed}.day--empty{cursor:default}.calendar-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--snice-color-border);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)}.error-text{color:var(--snice-color-danger)}: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}}"}`}render(){const e=["label",this.required?"label--required":""].filter(Boolean).join(" "),a=["input",`input--${this.size}`,`input--${this.variant}`,this.invalid?"input--invalid":"",this.clearable?"input--clearable":"",this.loading?"input--loading":""].filter(Boolean).join(" ");return t.html`
8
8
  <div class="date-picker-wrapper">
9
9
  <if ${this.label}>
10
10
  <label class="${e}">
@@ -113,7 +113,7 @@ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be lo
113
113
  </default>
114
114
  </case>
115
115
  </div>
116
- `}init(){this.parseInitialValue(),queueMicrotask(()=>this.updateClearButton()),this.setupCalendarClickOutside(),this.input&&(this.input.disabled=this.disabled,this.input.readOnly=this.readonly,this.input.required=this.required,this.invalid&&(this.input.setAttribute("aria-invalid","true"),this.input.classList.add("input--invalid")))}parseInitialValue(){if(this.value){const e=this.parseDate(this.value);e?(this.selectedDate=e,this.viewDate=new Date(e),this.inputValue=this.formatDate(e)):this.inputValue=this.value}}parseDate(e){if(!e)return null;if("mmmm dd, yyyy"===this.format){const t=/^([A-Za-z]+)\s+(\d{1,2}),\s+(\d{4})$/,a=e.match(t);if(a){const[,e,t,i]=a,s=this.monthNames.findIndex(t=>t.toLowerCase()===e.toLowerCase());if(s>=0){const e=new Date(parseInt(i),s,parseInt(t));if(!isNaN(e.getTime()))return e}}return null}const t=e.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(t){const[,e,a,i]=t.map(Number),s=new Date(e,a-1,i);if(!isNaN(s.getTime()))return s}const a=e.split(/[-\/]/);if(3===a.length){let e,t,i;switch(this.format){case"mm/dd/yyyy":case"mm-dd-yyyy":[t,i,e]=a.map(Number);break;case"dd/mm/yyyy":case"dd-mm-yyyy":[i,t,e]=a.map(Number);break;case"yyyy-mm-dd":case"yyyy/mm/dd":[e,t,i]=a.map(Number);break;default:return null}if(e&&t&&i){const a=new Date(e,t-1,i);if(!isNaN(a.getTime()))return a}}return null}formatDate(e){if(!e)return"";const t=e.getFullYear(),a=e.getMonth()+1,i=e.getDate(),s=a.toString().padStart(2,"0"),n=i.toString().padStart(2,"0"),r=t.toString();switch(this.format){case"mm/dd/yyyy":default:return`${s}/${n}/${r}`;case"dd/mm/yyyy":return`${n}/${s}/${r}`;case"yyyy-mm-dd":return`${r}-${s}-${n}`;case"yyyy/mm/dd":return`${r}/${s}/${n}`;case"dd-mm-yyyy":return`${n}-${s}-${r}`;case"mm-dd-yyyy":return`${s}-${n}-${r}`;case"mmmm dd, yyyy":return`${this.monthNames[e.getMonth()]} ${n}, ${r}`}}getFormattedValue(){return this.selectedDate?this.formatDate(this.selectedDate):this.value}getPlaceholderForFormat(){switch(this.format){case"mm/dd/yyyy":default:return"MM/DD/YYYY";case"dd/mm/yyyy":return"DD/MM/YYYY";case"yyyy-mm-dd":return"YYYY-MM-DD";case"yyyy/mm/dd":return"YYYY/MM/DD";case"dd-mm-yyyy":return"DD-MM-YYYY";case"mm-dd-yyyy":return"MM-DD-YYYY";case"mmmm dd, yyyy":return"Month DD, YYYY"}}getDayHeaders(){const e=[...this.dayNames];for(let t=0;t<this.firstDayOfWeek;t++)e.push(e.shift());return e.map(e=>t.html`<div class="weekday">${e}</div>`)}getDaysGrid(){const e=this.viewDate.getFullYear(),a=this.viewDate.getMonth(),i=new Date(e,a,1),s=new Date(e,a+1,0);let n=i.getDay()-this.firstDayOfWeek;n<0&&(n+=7);const r=s.getDate(),l=new Date,d=e=>e.getDate()===l.getDate()&&e.getMonth()===l.getMonth()&&e.getFullYear()===l.getFullYear(),o=e=>this.selectedDate&&e.getDate()===this.selectedDate.getDate()&&e.getMonth()===this.selectedDate.getMonth()&&e.getFullYear()===this.selectedDate.getFullYear(),c=e=>{if(this.min){const t=this.parseDate(this.min);if(t&&e<t)return!0}if(this.max){const t=this.parseDate(this.max);if(t&&e>t)return!0}return!1},h=[];for(let e=0;e<n;e++)h.push(t.html`<div class="day day--empty"></div>`);for(let i=1;i<=r;i++){const s=new Date(e,a,i),n=["day"];d(s)&&n.push("day--today"),o(s)&&n.push("day--selected"),c(s)&&n.push("day--disabled");const r=`${e}-${(a+1).toString().padStart(2,"0")}-${i.toString().padStart(2,"0")}`;h.push(t.html`
116
+ `}init(){this.parseInitialValue(),this.internals&&this.internals.setFormValue(this.value),queueMicrotask(()=>this.updateClearButton()),this.setupCalendarClickOutside(),this.input&&(this.input.disabled=this.disabled,this.input.readOnly=this.readonly,this.input.required=this.required,this.invalid&&(this.input.setAttribute("aria-invalid","true"),this.input.classList.add("input--invalid")))}parseInitialValue(){if(this.value){const e=this.parseDate(this.value);e?(this.selectedDate=e,this.viewDate=new Date(e),this.inputValue=this.formatDate(e)):this.inputValue=this.value}}parseDate(e){if(!e)return null;if("mmmm dd, yyyy"===this.format){const t=/^([A-Za-z]+)\s+(\d{1,2}),\s+(\d{4})$/,a=e.match(t);if(a){const[,e,t,i]=a,s=this.monthNames.findIndex(t=>t.toLowerCase()===e.toLowerCase());if(s>=0){const e=new Date(parseInt(i),s,parseInt(t));if(!isNaN(e.getTime()))return e}}return null}const t=e.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(t){const[,e,a,i]=t.map(Number),s=new Date(e,a-1,i);if(!isNaN(s.getTime()))return s}const a=e.split(/[-\/]/);if(3===a.length){let e,t,i;switch(this.format){case"mm/dd/yyyy":case"mm-dd-yyyy":[t,i,e]=a.map(Number);break;case"dd/mm/yyyy":case"dd-mm-yyyy":[i,t,e]=a.map(Number);break;case"yyyy-mm-dd":case"yyyy/mm/dd":[e,t,i]=a.map(Number);break;default:return null}if(e&&t&&i){const a=new Date(e,t-1,i);if(!isNaN(a.getTime()))return a}}return null}formatDate(e){if(!e)return"";const t=e.getFullYear(),a=e.getMonth()+1,i=e.getDate(),s=a.toString().padStart(2,"0"),n=i.toString().padStart(2,"0"),r=t.toString();switch(this.format){case"mm/dd/yyyy":default:return`${s}/${n}/${r}`;case"dd/mm/yyyy":return`${n}/${s}/${r}`;case"yyyy-mm-dd":return`${r}-${s}-${n}`;case"yyyy/mm/dd":return`${r}/${s}/${n}`;case"dd-mm-yyyy":return`${n}-${s}-${r}`;case"mm-dd-yyyy":return`${s}-${n}-${r}`;case"mmmm dd, yyyy":return`${this.monthNames[e.getMonth()]} ${n}, ${r}`}}getFormattedValue(){return this.selectedDate?this.formatDate(this.selectedDate):this.value}getPlaceholderForFormat(){switch(this.format){case"mm/dd/yyyy":default:return"MM/DD/YYYY";case"dd/mm/yyyy":return"DD/MM/YYYY";case"yyyy-mm-dd":return"YYYY-MM-DD";case"yyyy/mm/dd":return"YYYY/MM/DD";case"dd-mm-yyyy":return"DD-MM-YYYY";case"mm-dd-yyyy":return"MM-DD-YYYY";case"mmmm dd, yyyy":return"Month DD, YYYY"}}getDayHeaders(){const e=[...this.dayNames];for(let t=0;t<this.firstDayOfWeek;t++)e.push(e.shift());return e.map(e=>t.html`<div class="weekday">${e}</div>`)}getDaysGrid(){const e=this.viewDate.getFullYear(),a=this.viewDate.getMonth(),i=new Date(e,a,1),s=new Date(e,a+1,0);let n=i.getDay()-this.firstDayOfWeek;n<0&&(n+=7);const r=s.getDate(),l=new Date,d=e=>e.getDate()===l.getDate()&&e.getMonth()===l.getMonth()&&e.getFullYear()===l.getFullYear(),o=e=>this.selectedDate&&e.getDate()===this.selectedDate.getDate()&&e.getMonth()===this.selectedDate.getMonth()&&e.getFullYear()===this.selectedDate.getFullYear(),c=e=>{if(this.min){const t=this.parseDate(this.min);if(t&&e<t)return!0}if(this.max){const t=this.parseDate(this.max);if(t&&e>t)return!0}return!1},h=[];for(let e=0;e<n;e++)h.push(t.html`<div class="day day--empty"></div>`);for(let i=1;i<=r;i++){const s=new Date(e,a,i),n=["day"];d(s)&&n.push("day--today"),o(s)&&n.push("day--selected"),c(s)&&n.push("day--disabled");const r=`${e}-${(a+1).toString().padStart(2,"0")}-${i.toString().padStart(2,"0")}`;h.push(t.html`
117
117
  <button
118
118
  class="${n.join(" ")}"
119
119
  type="button"
@@ -123,5 +123,5 @@ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be lo
123
123
  >
124
124
  ${i}
125
125
  </button>
126
- `)}return h}updateInputValue(){if(this.input&&document.activeElement!==this.input){const e=this.getFormattedValue();this.input.value=e,this.inputValue=e}this.updateClearButton()}isCompleteDate(e){if("mmmm dd, yyyy"===this.format)return/^[A-Za-z]+\s+\d{1,2},\s+\d{4}$/.test(e);return(e.match(/[\/\-]/g)||[]).length>=2&&e.length>=8}updateClearButton(){if(!this.clearButton||!this.clearable)return;const e=this.selectedDate&&!this.disabled&&!this.readonly;this.clearButton.style.display=e?"":"none",this.clearButton.classList.toggle("clear-button--visible",!!e)}updateCalendarGrid(){this.render()}setupCalendarClickOutside(){document.addEventListener("click",e=>{!this.contains(e.target)&&this.showCalendar&&this.close()})}handleInput(e){const t=e.target;this.inputValue=t.value;const a=this.parseDate(t.value);a&&this.isCompleteDate(t.value)&&(this.selectedDate=a,this.viewDate=new Date(a),this.showCalendar&&this.updateCalendarGrid()),this.updateClearButton(),this.dispatchInputEvent()}handleChange(e){const t=e.target,a=this.parseDate(t.value);a?(this.selectedDate=a,this.value=this.formatDate(a),this.inputValue=this.value,this.input&&(this.input.value=this.value)):t.value?(this.selectedDate=null,this.value=t.value,this.inputValue=t.value):(this.selectedDate=null,this.value="",this.inputValue=""),this.updateClearButton(),this.dispatchChangeEvent()}handleFocus(e){this.dispatchFocusEvent()}handleInputClick(e){this.showCalendar||this.disabled||this.readonly||this.open()}handleBlur(e){this.dispatchBlurEvent()}handleCalendarToggle(e){this.showCalendar?this.close():this.open()}handleClear(e){this.clear()}handleCalendarClick(e){e.stopPropagation();const t=e.target;if(t.closest("[data-date]")){const e=t.closest("[data-date]")?.getAttribute("data-date");if(e){const[t,a,i]=e.split("-").map(Number),s=new Date(t,a-1,i);this.selectDate(s)}}else if(t.closest("[data-nav]")){const e=t.closest("[data-nav]")?.getAttribute("data-nav");this.handleNavigation(e)}}handleKeydown(e){"Enter"===e.key||" "===e.key?(e.preventDefault(),this.showCalendar||this.open()):"Escape"===e.key&&this.showCalendar&&(this.close(),this.focus())}handleNavigation(e){switch(e){case"prev-month":this.viewDate.setMonth(this.viewDate.getMonth()-1),this.updateCalendarGrid();break;case"next-month":this.viewDate.setMonth(this.viewDate.getMonth()+1),this.updateCalendarGrid();break;case"today":this.goToToday()}}handleValueChange(){const e=this.parseDate(this.value);this.selectedDate=e,e&&(this.viewDate=new Date(e)),this.updateInputValue(),this.updateClearButton(),this.showCalendar&&this.updateCalendarGrid()}handleShowCalendarChange(){console.log("showCalendar changed:",this.calendar),this.calendar&&(this.showCalendar?(this.calendar.removeAttribute("hidden"),this.dispatchOpenEvent(),setTimeout(()=>{(this.selectedDayButton||this.firstDayButton)?.focus()},100)):(this.calendar.setAttribute("hidden",""),this.dispatchCloseEvent()))}handleDisabledChange(){this.input&&(this.input.disabled=this.disabled),this.calendarToggle&&(this.calendarToggle.disabled=this.disabled),this.updateClearButton()}handleReadonlyChange(){this.input&&(this.input.readOnly=this.readonly),this.updateClearButton()}handleInvalidChange(){this.input&&(this.input.setAttribute("aria-invalid",String(this.invalid)),this.input.classList.toggle("input--invalid",this.invalid))}handleFormatChange(){this.updateInputValue()}dispatchInputEvent(){return{value:this.value,datePicker:this}}dispatchChangeEvent(){return{value:this.value,date:this.selectedDate,formatted:this.selectedDate?this.formatDate(this.selectedDate):"",iso:this.selectedDate?this.selectedDate.toISOString().split("T")[0]:"",datePicker:this}}dispatchFocusEvent(){return{datePicker:this}}dispatchBlurEvent(){return{datePicker:this}}dispatchOpenEvent(){return{datePicker:this}}dispatchCloseEvent(){return{datePicker:this}}dispatchClearEvent(){return{datePicker:this}}dispatchSelectEvent(e){return{date:e,formatted:this.formatDate(e),iso:e.toISOString().split("T")[0],datePicker:this}}focus(){this.input?.focus()}blur(){this.input?.blur()}clear(){this.selectedDate=null,this.value="",this.updateInputValue(),this.dispatchClearEvent(),this.dispatchChangeEvent(),this.focus()}open(){this.disabled||this.readonly||(this.showCalendar=!0,this.selectedDate&&(this.viewDate=new Date(this.selectedDate)),this.updateCalendarGrid(),this.calendar&&this.calendar.removeAttribute("hidden"),this.dispatchOpenEvent())}close(){this.showCalendar=!1,this.calendar&&this.calendar.setAttribute("hidden",""),this.dispatchCloseEvent()}selectDate(e){this.selectedDate=e,this.value=this.formatDate(e),this.viewDate=new Date(e),this.updateInputValue(),this.updateCalendarGrid(),this.dispatchSelectEvent(e),this.dispatchChangeEvent(),this.close(),this.focus()}goToMonth(e,t){this.viewDate=new Date(e,t,1),this.updateCalendarGrid()}goToToday(){const e=new Date;this.selectDate(e)}checkValidity(){return this.input?.checkValidity()??!0}reportValidity(){return this.input?.reportValidity()??!0}setCustomValidity(e){this.input?.setCustomValidity(e)}},s})();return e.SniceDatePicker=s,e}({},Snice);
126
+ `)}return h}updateInputValue(){if(this.input&&document.activeElement!==this.input){const e=this.getFormattedValue();this.input.value=e,this.inputValue=e}this.updateClearButton()}isCompleteDate(e){if("mmmm dd, yyyy"===this.format)return/^[A-Za-z]+\s+\d{1,2},\s+\d{4}$/.test(e);return(e.match(/[\/\-]/g)||[]).length>=2&&e.length>=8}updateClearButton(){if(!this.clearButton||!this.clearable)return;const e=this.selectedDate&&!this.disabled&&!this.readonly;this.clearButton.style.display=e?"":"none",this.clearButton.classList.toggle("clear-button--visible",!!e)}updateCalendarGrid(){this.render()}setupCalendarClickOutside(){document.addEventListener("click",e=>{!this.contains(e.target)&&this.showCalendar&&this.close()})}handleInput(e){const t=e.target;this.inputValue=t.value;const a=this.parseDate(t.value);a&&this.isCompleteDate(t.value)&&(this.selectedDate=a,this.viewDate=new Date(a),this.showCalendar&&this.updateCalendarGrid()),this.updateClearButton(),this.dispatchInputEvent()}handleChange(e){const t=e.target,a=this.parseDate(t.value);a?(this.selectedDate=a,this.value=this.formatDate(a),this.inputValue=this.value,this.input&&(this.input.value=this.value)):t.value?(this.selectedDate=null,this.value=t.value,this.inputValue=t.value):(this.selectedDate=null,this.value="",this.inputValue=""),this.updateClearButton(),this.dispatchChangeEvent()}handleFocus(e){this.dispatchFocusEvent()}handleInputClick(e){this.showCalendar||this.disabled||this.readonly||this.open()}handleBlur(e){this.dispatchBlurEvent()}handleCalendarToggle(e){this.showCalendar?this.close():this.open()}handleClear(e){this.clear()}handleCalendarClick(e){e.stopPropagation();const t=e.target;if(t.closest("[data-date]")){const e=t.closest("[data-date]")?.getAttribute("data-date");if(e){const[t,a,i]=e.split("-").map(Number),s=new Date(t,a-1,i);this.selectDate(s)}}else if(t.closest("[data-nav]")){const e=t.closest("[data-nav]")?.getAttribute("data-nav");this.handleNavigation(e)}}handleKeydown(e){"Enter"===e.key||" "===e.key?(e.preventDefault(),this.showCalendar||this.open()):"Escape"===e.key&&this.showCalendar&&(this.close(),this.focus())}handleNavigation(e){switch(e){case"prev-month":this.viewDate.setMonth(this.viewDate.getMonth()-1),this.updateCalendarGrid();break;case"next-month":this.viewDate.setMonth(this.viewDate.getMonth()+1),this.updateCalendarGrid();break;case"today":this.goToToday()}}handleValueChange(){const e=this.parseDate(this.value);this.selectedDate=e,e&&(this.viewDate=new Date(e)),this.updateInputValue(),this.updateClearButton(),this.internals&&this.internals.setFormValue(this.value),this.showCalendar&&this.updateCalendarGrid()}handleShowCalendarChange(){console.log("showCalendar changed:",this.calendar),this.calendar&&(this.showCalendar?(this.calendar.removeAttribute("hidden"),this.dispatchOpenEvent(),setTimeout(()=>{(this.selectedDayButton||this.firstDayButton)?.focus()},100)):(this.calendar.setAttribute("hidden",""),this.dispatchCloseEvent()))}handleDisabledChange(){this.input&&(this.input.disabled=this.disabled),this.calendarToggle&&(this.calendarToggle.disabled=this.disabled),this.updateClearButton()}handleReadonlyChange(){this.input&&(this.input.readOnly=this.readonly),this.updateClearButton()}handleInvalidChange(){this.input&&(this.input.setAttribute("aria-invalid",String(this.invalid)),this.input.classList.toggle("input--invalid",this.invalid))}handleFormatChange(){this.updateInputValue()}dispatchInputEvent(){return{value:this.value,datePicker:this}}dispatchChangeEvent(){return{value:this.value,date:this.selectedDate,formatted:this.selectedDate?this.formatDate(this.selectedDate):"",iso:this.selectedDate?this.selectedDate.toISOString().split("T")[0]:"",datePicker:this}}dispatchFocusEvent(){return{datePicker:this}}dispatchBlurEvent(){return{datePicker:this}}dispatchOpenEvent(){return{datePicker:this}}dispatchCloseEvent(){return{datePicker:this}}dispatchClearEvent(){return{datePicker:this}}dispatchSelectEvent(e){return{date:e,formatted:this.formatDate(e),iso:e.toISOString().split("T")[0],datePicker:this}}focus(){this.input?.focus()}blur(){this.input?.blur()}clear(){this.selectedDate=null,this.value="",this.updateInputValue(),this.dispatchClearEvent(),this.dispatchChangeEvent(),this.focus()}open(){this.disabled||this.readonly||(this.showCalendar=!0,this.selectedDate&&(this.viewDate=new Date(this.selectedDate)),this.updateCalendarGrid(),this.calendar&&this.calendar.removeAttribute("hidden"),this.dispatchOpenEvent())}close(){this.showCalendar=!1,this.calendar&&this.calendar.setAttribute("hidden",""),this.dispatchCloseEvent()}selectDate(e){this.selectedDate=e,this.value=this.formatDate(e),this.viewDate=new Date(e),this.updateInputValue(),this.updateCalendarGrid(),this.dispatchSelectEvent(e),this.dispatchChangeEvent(),this.close(),this.focus()}goToMonth(e,t){this.viewDate=new Date(e,t,1),this.updateCalendarGrid()}goToToday(){const e=new Date;this.selectDate(e)}checkValidity(){return this.input?.checkValidity()??!0}reportValidity(){return this.input?.reportValidity()??!0}setCustomValidity(e){this.input?.setCustomValidity(e)}},s})();return e.SniceDatePicker=s,e}({},Snice);
127
127
  //# sourceMappingURL=snice-date-picker.min.js.map