snice 4.27.0 → 4.29.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 (624) hide show
  1. package/adapters/react/action-bar.d.ts +30 -0
  2. package/adapters/react/action-bar.d.ts.map +1 -0
  3. package/adapters/react/action-bar.js +24 -0
  4. package/adapters/react/action-bar.js.map +1 -0
  5. package/adapters/react/action-bar.tsx +38 -0
  6. package/adapters/react/binpack.d.ts +35 -0
  7. package/adapters/react/binpack.d.ts.map +1 -0
  8. package/adapters/react/binpack.js +24 -0
  9. package/adapters/react/binpack.js.map +1 -0
  10. package/adapters/react/binpack.tsx +43 -0
  11. package/adapters/react/components.d.ts +4 -0
  12. package/adapters/react/components.d.ts.map +1 -1
  13. package/adapters/react/components.js +2 -0
  14. package/adapters/react/components.js.map +1 -1
  15. package/adapters/react/components.ts +4 -0
  16. package/adapters/react/useRequestHandler.d.ts +56 -0
  17. package/adapters/react/useRequestHandler.js +103 -0
  18. package/adapters/react/useRequestHandler.js.map +1 -0
  19. package/dist/cdn/accordion/snice-accordion.js +1 -1
  20. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  21. package/dist/cdn/action-bar/README.md +27 -0
  22. package/dist/cdn/action-bar/snice-action-bar.js +249 -0
  23. package/dist/cdn/action-bar/snice-action-bar.js.map +1 -0
  24. package/dist/cdn/action-bar/snice-action-bar.min.js +12 -0
  25. package/dist/cdn/action-bar/snice-action-bar.min.js.map +1 -0
  26. package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
  27. package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
  28. package/dist/cdn/alert/snice-alert.js +1 -1
  29. package/dist/cdn/alert/snice-alert.min.js +1 -1
  30. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  31. package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
  32. package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
  33. package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
  34. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  35. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  36. package/dist/cdn/availability/snice-availability.js +1 -1
  37. package/dist/cdn/availability/snice-availability.min.js +1 -1
  38. package/dist/cdn/avatar/snice-avatar.js +1 -1
  39. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  40. package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
  41. package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
  42. package/dist/cdn/badge/snice-badge.js +2 -2
  43. package/dist/cdn/badge/snice-badge.js.map +1 -1
  44. package/dist/cdn/badge/snice-badge.min.js +2 -2
  45. package/dist/cdn/badge/snice-badge.min.js.map +1 -1
  46. package/dist/cdn/banner/snice-banner.js +1 -1
  47. package/dist/cdn/banner/snice-banner.min.js +1 -1
  48. package/dist/cdn/binpack/README.md +27 -0
  49. package/dist/cdn/binpack/snice-binpack.js +1037 -0
  50. package/dist/cdn/binpack/snice-binpack.js.map +1 -0
  51. package/dist/cdn/binpack/snice-binpack.min.js +13 -0
  52. package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
  53. package/dist/cdn/book/snice-book.js +1 -1
  54. package/dist/cdn/book/snice-book.min.js +1 -1
  55. package/dist/cdn/booking/snice-booking.js +1 -1
  56. package/dist/cdn/booking/snice-booking.min.js +1 -1
  57. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  58. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  59. package/dist/cdn/button/README.md +1 -1
  60. package/dist/cdn/button/snice-button.js +11 -10
  61. package/dist/cdn/button/snice-button.js.map +1 -1
  62. package/dist/cdn/button/snice-button.min.js +3 -3
  63. package/dist/cdn/button/snice-button.min.js.map +1 -1
  64. package/dist/cdn/calendar/snice-calendar.js +1 -1
  65. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  66. package/dist/cdn/camera/snice-camera.js +1 -1
  67. package/dist/cdn/camera/snice-camera.min.js +1 -1
  68. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  69. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  70. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  71. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  72. package/dist/cdn/card/snice-card.js +1 -1
  73. package/dist/cdn/card/snice-card.min.js +1 -1
  74. package/dist/cdn/carousel/snice-carousel.js +1 -1
  75. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  76. package/dist/cdn/cart/snice-cart.js +1 -1
  77. package/dist/cdn/cart/snice-cart.min.js +1 -1
  78. package/dist/cdn/chart/snice-chart.js +1 -1
  79. package/dist/cdn/chart/snice-chart.min.js +1 -1
  80. package/dist/cdn/chat/snice-chat.js +1 -1
  81. package/dist/cdn/chat/snice-chat.min.js +1 -1
  82. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  83. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  84. package/dist/cdn/chip/snice-chip.js +1 -1
  85. package/dist/cdn/chip/snice-chip.min.js +1 -1
  86. package/dist/cdn/code-block/snice-code-block.js +1 -1
  87. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  88. package/dist/cdn/color-display/snice-color-display.js +1 -1
  89. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  90. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  91. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  92. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  93. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  94. package/dist/cdn/comments/snice-comments.js +1 -1
  95. package/dist/cdn/comments/snice-comments.min.js +1 -1
  96. package/dist/cdn/countdown/snice-countdown.js +1 -1
  97. package/dist/cdn/countdown/snice-countdown.min.js +1 -1
  98. package/dist/cdn/cropper/snice-cropper.js +1 -1
  99. package/dist/cdn/cropper/snice-cropper.min.js +1 -1
  100. package/dist/cdn/data-card/snice-data-card.js +1 -1
  101. package/dist/cdn/data-card/snice-data-card.min.js +1 -1
  102. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  103. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  104. package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
  105. package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +1 -1
  106. package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
  107. package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +1 -1
  108. package/dist/cdn/diff/snice-diff.js +1 -1
  109. package/dist/cdn/diff/snice-diff.min.js +1 -1
  110. package/dist/cdn/divider/snice-divider.js +1 -1
  111. package/dist/cdn/divider/snice-divider.min.js +1 -1
  112. package/dist/cdn/doc/snice-doc.js +1 -1
  113. package/dist/cdn/doc/snice-doc.min.js +1 -1
  114. package/dist/cdn/draw/snice-draw.js +1 -1
  115. package/dist/cdn/draw/snice-draw.min.js +1 -1
  116. package/dist/cdn/drawer/snice-drawer.js +1 -1
  117. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  118. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  119. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  120. package/dist/cdn/estimate/snice-estimate.js +1 -1
  121. package/dist/cdn/estimate/snice-estimate.min.js +1 -1
  122. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  123. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  124. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  125. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  126. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  127. package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
  128. package/dist/cdn/flow/snice-flow.js +1 -1
  129. package/dist/cdn/flow/snice-flow.min.js +1 -1
  130. package/dist/cdn/form-layout/snice-form-layout.js +1 -1
  131. package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
  132. package/dist/cdn/funnel/snice-funnel.js +1 -1
  133. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  134. package/dist/cdn/gantt/snice-gantt.js +1 -1
  135. package/dist/cdn/gantt/snice-gantt.min.js +1 -1
  136. package/dist/cdn/gauge/snice-gauge.js +1 -1
  137. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  138. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  139. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  140. package/dist/cdn/image/snice-image.js +1 -1
  141. package/dist/cdn/image/snice-image.min.js +1 -1
  142. package/dist/cdn/input/snice-input.js +1 -1
  143. package/dist/cdn/input/snice-input.min.js +1 -1
  144. package/dist/cdn/invoice/snice-invoice.js +1 -1
  145. package/dist/cdn/invoice/snice-invoice.min.js +1 -1
  146. package/dist/cdn/kanban/snice-kanban.js +1 -1
  147. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  148. package/dist/cdn/key-value/snice-key-value.js +1 -1
  149. package/dist/cdn/key-value/snice-key-value.min.js +1 -1
  150. package/dist/cdn/kpi/snice-kpi.js +1 -1
  151. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  152. package/dist/cdn/layout/snice-layout.js +1 -1
  153. package/dist/cdn/layout/snice-layout.min.js +1 -1
  154. package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
  155. package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
  156. package/dist/cdn/link/snice-link.js +1 -1
  157. package/dist/cdn/link/snice-link.min.js +1 -1
  158. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  159. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  160. package/dist/cdn/list/snice-list.js +1 -1
  161. package/dist/cdn/list/snice-list.min.js +1 -1
  162. package/dist/cdn/location/snice-location.js +1 -1
  163. package/dist/cdn/location/snice-location.min.js +1 -1
  164. package/dist/cdn/login/README.md +2 -2
  165. package/dist/cdn/login/snice-login.js +11 -10
  166. package/dist/cdn/login/snice-login.js.map +1 -1
  167. package/dist/cdn/login/snice-login.min.js +5 -5
  168. package/dist/cdn/login/snice-login.min.js.map +1 -1
  169. package/dist/cdn/map/snice-map.js +1 -1
  170. package/dist/cdn/map/snice-map.min.js +1 -1
  171. package/dist/cdn/markdown/snice-markdown.js +1 -1
  172. package/dist/cdn/markdown/snice-markdown.min.js +1 -1
  173. package/dist/cdn/masonry/snice-masonry.js +1 -1
  174. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  175. package/dist/cdn/menu/snice-menu.js +1 -1
  176. package/dist/cdn/menu/snice-menu.min.js +1 -1
  177. package/dist/cdn/message-strip/snice-message-strip.js +1 -1
  178. package/dist/cdn/message-strip/snice-message-strip.min.js +1 -1
  179. package/dist/cdn/metric-table/snice-metric-table.js +1 -1
  180. package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
  181. package/dist/cdn/modal/snice-modal.js +1 -1
  182. package/dist/cdn/modal/snice-modal.min.js +1 -1
  183. package/dist/cdn/music-player/snice-music-player.js +1 -1
  184. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  185. package/dist/cdn/nav/snice-nav.js +1 -1
  186. package/dist/cdn/nav/snice-nav.min.js +1 -1
  187. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  188. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  189. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  190. package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
  191. package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
  192. package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
  193. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  194. package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
  195. package/dist/cdn/pagination/snice-pagination.js +1 -1
  196. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  197. package/dist/cdn/paint/snice-paint.js +1 -1
  198. package/dist/cdn/paint/snice-paint.min.js +1 -1
  199. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  200. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
  201. package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
  202. package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
  203. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  204. package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
  205. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  206. package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
  207. package/dist/cdn/product-card/snice-product-card.js +1 -1
  208. package/dist/cdn/product-card/snice-product-card.min.js +1 -1
  209. package/dist/cdn/progress/snice-progress.js +1 -1
  210. package/dist/cdn/progress/snice-progress.min.js +1 -1
  211. package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
  212. package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
  213. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  214. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  215. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  216. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  217. package/dist/cdn/radio/snice-radio.js +1 -1
  218. package/dist/cdn/radio/snice-radio.min.js +1 -1
  219. package/dist/cdn/range-slider/snice-range-slider.js +1 -1
  220. package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
  221. package/dist/cdn/rating/snice-rating.js +1 -1
  222. package/dist/cdn/rating/snice-rating.min.js +1 -1
  223. package/dist/cdn/receipt/snice-receipt.js +1 -1
  224. package/dist/cdn/receipt/snice-receipt.min.js +1 -1
  225. package/dist/cdn/recipe/snice-recipe.js +1 -1
  226. package/dist/cdn/recipe/snice-recipe.min.js +1 -1
  227. package/dist/cdn/runtime/README.md +2 -2
  228. package/dist/cdn/runtime/snice-runtime.esm.js +152 -62
  229. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  230. package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
  231. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  232. package/dist/cdn/runtime/snice-runtime.js +152 -61
  233. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  234. package/dist/cdn/runtime/snice-runtime.min.js +8 -8
  235. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  236. package/dist/cdn/sankey/snice-sankey.js +1 -1
  237. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  238. package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
  239. package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
  240. package/dist/cdn/select/snice-select.js +1 -1
  241. package/dist/cdn/select/snice-select.min.js +1 -1
  242. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  243. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  244. package/dist/cdn/slider/snice-slider.js +1 -1
  245. package/dist/cdn/slider/snice-slider.min.js +1 -1
  246. package/dist/cdn/sortable/snice-sortable.js +1 -1
  247. package/dist/cdn/sortable/snice-sortable.min.js +1 -1
  248. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  249. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  250. package/dist/cdn/spinner/snice-spinner.js +1 -1
  251. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  252. package/dist/cdn/split-button/snice-split-button.js +1 -1
  253. package/dist/cdn/split-button/snice-split-button.min.js +1 -1
  254. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  255. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  256. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  257. package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
  258. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
  259. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
  260. package/dist/cdn/stat-group/snice-stat-group.js +1 -1
  261. package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
  262. package/dist/cdn/step-input/snice-step-input.js +1 -1
  263. package/dist/cdn/step-input/snice-step-input.min.js +1 -1
  264. package/dist/cdn/stepper/snice-stepper.js +1 -1
  265. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  266. package/dist/cdn/switch/snice-switch.js +1 -1
  267. package/dist/cdn/switch/snice-switch.min.js +1 -1
  268. package/dist/cdn/table/README.md +1 -1
  269. package/dist/cdn/table/snice-table.js +11 -10
  270. package/dist/cdn/table/snice-table.js.map +1 -1
  271. package/dist/cdn/table/snice-table.min.js +73 -73
  272. package/dist/cdn/table/snice-table.min.js.map +1 -1
  273. package/dist/cdn/tabs/snice-tabs.js +1 -1
  274. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  275. package/dist/cdn/tag/snice-tag.js +1 -1
  276. package/dist/cdn/tag/snice-tag.min.js +1 -1
  277. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  278. package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
  279. package/dist/cdn/terminal/snice-terminal.js +1 -1
  280. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  281. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  282. package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
  283. package/dist/cdn/textarea/snice-textarea.js +1 -1
  284. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  285. package/dist/cdn/time-picker/snice-time-picker.js +1 -1
  286. package/dist/cdn/time-picker/snice-time-picker.min.js +1 -1
  287. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  288. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  289. package/dist/cdn/timeline/snice-timeline.js +1 -1
  290. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  291. package/dist/cdn/timer/snice-timer.js +1 -1
  292. package/dist/cdn/timer/snice-timer.min.js +1 -1
  293. package/dist/cdn/toast/snice-toast.js +1 -1
  294. package/dist/cdn/toast/snice-toast.min.js +1 -1
  295. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  296. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  297. package/dist/cdn/tree/snice-tree.js +1 -1
  298. package/dist/cdn/tree/snice-tree.min.js +1 -1
  299. package/dist/cdn/treemap/snice-treemap.js +1 -1
  300. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  301. package/dist/cdn/user-card/snice-user-card.js +1 -1
  302. package/dist/cdn/user-card/snice-user-card.min.js +1 -1
  303. package/dist/cdn/video-player/snice-video-player.js +1 -1
  304. package/dist/cdn/video-player/snice-video-player.min.js +1 -1
  305. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  306. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  307. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  308. package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
  309. package/dist/cdn/weather/snice-weather.js +1 -1
  310. package/dist/cdn/weather/snice-weather.min.js +1 -1
  311. package/dist/cdn/work-order/snice-work-order.js +1 -1
  312. package/dist/cdn/work-order/snice-work-order.min.js +1 -1
  313. package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
  314. package/dist/components/action-bar/snice-action-bar.js +182 -0
  315. package/dist/components/action-bar/snice-action-bar.js.map +1 -0
  316. package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
  317. package/dist/components/badge/snice-badge.js +1 -1
  318. package/dist/components/badge/snice-badge.js.map +1 -1
  319. package/dist/components/binpack/snice-binpack.d.ts +82 -0
  320. package/dist/components/binpack/snice-binpack.js +970 -0
  321. package/dist/components/binpack/snice-binpack.js.map +1 -0
  322. package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
  323. package/dist/components/button/snice-button.d.ts +2 -2
  324. package/dist/components/button/snice-button.js +11 -10
  325. package/dist/components/button/snice-button.js.map +1 -1
  326. package/dist/create-request-handler.d.ts +42 -0
  327. package/dist/index.cjs +149 -58
  328. package/dist/index.cjs.map +1 -1
  329. package/dist/index.d.ts +2 -0
  330. package/dist/index.esm.js +149 -59
  331. package/dist/index.esm.js.map +1 -1
  332. package/dist/index.iife.js +149 -58
  333. package/dist/index.iife.js.map +1 -1
  334. package/dist/parts.d.ts +9 -7
  335. package/dist/react/useRequestHandler.d.ts +56 -0
  336. package/dist/react/useRequestHandler.js +103 -0
  337. package/dist/react/useRequestHandler.js.map +1 -0
  338. package/dist/symbols.cjs +1 -1
  339. package/dist/symbols.esm.js +1 -1
  340. package/dist/transitions.cjs +1 -1
  341. package/dist/transitions.esm.js +1 -1
  342. package/docs/ai/DEVELOPMENT.md +1 -1
  343. package/docs/ai/components/accordion.md +46 -80
  344. package/docs/ai/components/action-bar.md +75 -0
  345. package/docs/ai/components/activity-feed.md +7 -7
  346. package/docs/ai/components/alert.md +26 -44
  347. package/docs/ai/components/app-tiles.md +34 -39
  348. package/docs/ai/components/approval-flow.md +1 -1
  349. package/docs/ai/components/audio-recorder.md +35 -67
  350. package/docs/ai/components/availability.md +13 -34
  351. package/docs/ai/components/avatar-group.md +26 -13
  352. package/docs/ai/components/avatar.md +52 -36
  353. package/docs/ai/components/badge.md +21 -32
  354. package/docs/ai/components/banner.md +21 -43
  355. package/docs/ai/components/binpack.md +89 -0
  356. package/docs/ai/components/book.md +25 -23
  357. package/docs/ai/components/booking.md +31 -36
  358. package/docs/ai/components/breadcrumbs.md +36 -11
  359. package/docs/ai/components/button.md +33 -44
  360. package/docs/ai/components/calendar.md +37 -70
  361. package/docs/ai/components/camera-annotate.md +31 -64
  362. package/docs/ai/components/camera.md +38 -120
  363. package/docs/ai/components/candlestick.md +32 -52
  364. package/docs/ai/components/card.md +20 -30
  365. package/docs/ai/components/carousel.md +32 -32
  366. package/docs/ai/components/cart.md +24 -29
  367. package/docs/ai/components/chart.md +29 -114
  368. package/docs/ai/components/chat.md +38 -75
  369. package/docs/ai/components/checkbox.md +22 -41
  370. package/docs/ai/components/chip.md +18 -54
  371. package/docs/ai/components/code-block.md +57 -178
  372. package/docs/ai/components/color-display.md +12 -32
  373. package/docs/ai/components/color-picker.md +17 -39
  374. package/docs/ai/components/command-palette.md +49 -71
  375. package/docs/ai/components/comments.md +55 -36
  376. package/docs/ai/components/countdown.md +28 -30
  377. package/docs/ai/components/cropper.md +33 -33
  378. package/docs/ai/components/data-card.md +20 -14
  379. package/docs/ai/components/date-picker.md +40 -47
  380. package/docs/ai/components/date-range-picker.md +31 -15
  381. package/docs/ai/components/date-time-picker.md +23 -46
  382. package/docs/ai/components/diff.md +30 -31
  383. package/docs/ai/components/divider.md +17 -47
  384. package/docs/ai/components/doc.md +43 -68
  385. package/docs/ai/components/draw.md +35 -87
  386. package/docs/ai/components/drawer.md +48 -77
  387. package/docs/ai/components/empty-state.md +10 -44
  388. package/docs/ai/components/estimate.md +33 -58
  389. package/docs/ai/components/file-gallery.md +48 -100
  390. package/docs/ai/components/file-upload.md +17 -53
  391. package/docs/ai/components/flip-card.md +31 -23
  392. package/docs/ai/components/flow.md +37 -65
  393. package/docs/ai/components/form-builder.md +35 -75
  394. package/docs/ai/components/form-layout.md +10 -20
  395. package/docs/ai/components/funnel.md +33 -48
  396. package/docs/ai/components/gantt.md +27 -23
  397. package/docs/ai/components/gauge.md +16 -17
  398. package/docs/ai/components/heatmap.md +21 -21
  399. package/docs/ai/components/image.md +7 -13
  400. package/docs/ai/components/input.md +38 -70
  401. package/docs/ai/components/invoice.md +35 -36
  402. package/docs/ai/components/kanban.md +32 -61
  403. package/docs/ai/components/key-value.md +32 -16
  404. package/docs/ai/components/kpi.md +38 -73
  405. package/docs/ai/components/layout.md +29 -23
  406. package/docs/ai/components/leaderboard.md +28 -37
  407. package/docs/ai/components/link-preview.md +12 -18
  408. package/docs/ai/components/link.md +10 -7
  409. package/docs/ai/components/list.md +21 -5
  410. package/docs/ai/components/location.md +21 -25
  411. package/docs/ai/components/login.md +14 -9
  412. package/docs/ai/components/map.md +27 -33
  413. package/docs/ai/components/markdown.md +20 -24
  414. package/docs/ai/components/masonry.md +10 -14
  415. package/docs/ai/components/mentions.md +26 -12
  416. package/docs/ai/components/menu.md +54 -52
  417. package/docs/ai/components/message-strip.md +20 -20
  418. package/docs/ai/components/metric-table.md +14 -21
  419. package/docs/ai/components/modal.md +27 -18
  420. package/docs/ai/components/music-player.md +49 -41
  421. package/docs/ai/components/nav.md +34 -31
  422. package/docs/ai/components/network-graph.md +27 -42
  423. package/docs/ai/components/notification-center.md +31 -33
  424. package/docs/ai/components/order-tracker.md +36 -27
  425. package/docs/ai/components/org-chart.md +36 -31
  426. package/docs/ai/components/pagination.md +34 -26
  427. package/docs/ai/components/paint.md +53 -91
  428. package/docs/ai/components/pdf-viewer.md +35 -36
  429. package/docs/ai/components/permission-matrix.md +26 -31
  430. package/docs/ai/components/podcast-player.md +64 -70
  431. package/docs/ai/components/pricing-table.md +37 -48
  432. package/docs/ai/components/product-card.md +58 -41
  433. package/docs/ai/components/progress-ring.md +20 -24
  434. package/docs/ai/components/progress.md +28 -45
  435. package/docs/ai/components/qr-code.md +25 -27
  436. package/docs/ai/components/qr-reader.md +20 -23
  437. package/docs/ai/components/radio.md +17 -15
  438. package/docs/ai/components/range-slider.md +22 -11
  439. package/docs/ai/components/rating.md +29 -33
  440. package/docs/ai/components/receipt.md +50 -127
  441. package/docs/ai/components/recipe.md +44 -42
  442. package/docs/ai/components/sankey.md +21 -30
  443. package/docs/ai/components/scheduler.md +29 -41
  444. package/docs/ai/components/segmented-control.md +11 -15
  445. package/docs/ai/components/select.md +58 -102
  446. package/docs/ai/components/skeleton.md +16 -30
  447. package/docs/ai/components/slider.md +26 -20
  448. package/docs/ai/components/sortable.md +25 -27
  449. package/docs/ai/components/sparkline.md +21 -17
  450. package/docs/ai/components/spinner.md +9 -5
  451. package/docs/ai/components/split-button.md +10 -13
  452. package/docs/ai/components/split-pane.md +19 -14
  453. package/docs/ai/components/spotlight.md +31 -26
  454. package/docs/ai/components/spreadsheet.md +51 -97
  455. package/docs/ai/components/stat-group.md +9 -19
  456. package/docs/ai/components/step-input.md +17 -15
  457. package/docs/ai/components/stepper.md +14 -15
  458. package/docs/ai/components/switch.md +15 -9
  459. package/docs/ai/components/table.md +24 -84
  460. package/docs/ai/components/tabs.md +18 -10
  461. package/docs/ai/components/tag-input.md +18 -29
  462. package/docs/ai/components/tag.md +10 -22
  463. package/docs/ai/components/terminal.md +9 -9
  464. package/docs/ai/components/testimonial.md +9 -19
  465. package/docs/ai/components/textarea.md +15 -16
  466. package/docs/ai/components/theme.md +3 -3
  467. package/docs/ai/components/time-picker.md +30 -49
  468. package/docs/ai/components/time-range-picker.md +16 -15
  469. package/docs/ai/components/timeline.md +5 -4
  470. package/docs/ai/components/timer.md +8 -8
  471. package/docs/ai/components/toast.md +24 -18
  472. package/docs/ai/components/tooltip.md +11 -22
  473. package/docs/ai/components/tree.md +9 -9
  474. package/docs/ai/components/treemap.md +14 -13
  475. package/docs/ai/components/user-card.md +21 -27
  476. package/docs/ai/components/video-player.md +35 -52
  477. package/docs/ai/components/virtual-scroller.md +1 -1
  478. package/docs/ai/components/waterfall.md +17 -16
  479. package/docs/ai/components/weather.md +19 -34
  480. package/docs/ai/components/work-order.md +58 -134
  481. package/docs/ai/patterns.md +63 -0
  482. package/docs/components/accordion.md +72 -151
  483. package/docs/components/action-bar.md +185 -0
  484. package/docs/components/activity-feed.md +9 -14
  485. package/docs/components/alert.md +17 -109
  486. package/docs/components/app-tiles.md +58 -43
  487. package/docs/components/approval-flow.md +8 -14
  488. package/docs/components/audio-recorder.md +45 -51
  489. package/docs/components/availability.md +30 -45
  490. package/docs/components/avatar-group.md +34 -14
  491. package/docs/components/avatar.md +20 -55
  492. package/docs/components/badge.md +53 -470
  493. package/docs/components/banner.md +44 -30
  494. package/docs/components/binpack.md +208 -0
  495. package/docs/components/book.md +78 -57
  496. package/docs/components/booking.md +35 -87
  497. package/docs/components/breadcrumbs.md +74 -448
  498. package/docs/components/button.md +72 -603
  499. package/docs/components/calendar.md +77 -261
  500. package/docs/components/camera-annotate.md +44 -96
  501. package/docs/components/camera.md +94 -333
  502. package/docs/components/candlestick.md +79 -116
  503. package/docs/components/card.md +51 -689
  504. package/docs/components/carousel.md +29 -76
  505. package/docs/components/cart.md +44 -136
  506. package/docs/components/chart.md +95 -438
  507. package/docs/components/chat.md +175 -439
  508. package/docs/components/checkbox.md +52 -609
  509. package/docs/components/chip.md +45 -574
  510. package/docs/components/code-block.md +157 -421
  511. package/docs/components/color-display.md +45 -54
  512. package/docs/components/color-picker.md +103 -36
  513. package/docs/components/command-palette.md +98 -92
  514. package/docs/components/comments.md +16 -10
  515. package/docs/components/countdown.md +15 -20
  516. package/docs/components/cropper.md +14 -16
  517. package/docs/components/data-card.md +16 -15
  518. package/docs/components/date-picker.md +45 -25
  519. package/docs/components/date-range-picker.md +140 -87
  520. package/docs/components/date-time-picker.md +25 -28
  521. package/docs/components/diff.md +22 -17
  522. package/docs/components/divider.md +18 -20
  523. package/docs/components/doc.md +105 -197
  524. package/docs/components/draw.md +117 -223
  525. package/docs/components/drawer.md +113 -478
  526. package/docs/components/empty-state.md +13 -29
  527. package/docs/components/estimate.md +58 -118
  528. package/docs/components/file-gallery.md +123 -495
  529. package/docs/components/file-upload.md +36 -123
  530. package/docs/components/flip-card.md +30 -34
  531. package/docs/components/flow.md +74 -89
  532. package/docs/components/form-builder.md +59 -86
  533. package/docs/components/form-layout.md +21 -31
  534. package/docs/components/funnel.md +21 -22
  535. package/docs/components/gantt.md +5 -5
  536. package/docs/components/gauge.md +5 -23
  537. package/docs/components/heatmap.md +13 -55
  538. package/docs/components/image.md +28 -32
  539. package/docs/components/input.md +25 -14
  540. package/docs/components/invoice.md +34 -33
  541. package/docs/components/kanban.md +99 -394
  542. package/docs/components/key-value.md +22 -12
  543. package/docs/components/kpi.md +41 -112
  544. package/docs/components/layout.md +7 -13
  545. package/docs/components/leaderboard.md +52 -76
  546. package/docs/components/link-preview.md +20 -16
  547. package/docs/components/link.md +22 -19
  548. package/docs/components/list.md +44 -26
  549. package/docs/components/location.md +9 -13
  550. package/docs/components/login.md +42 -36
  551. package/docs/components/map.md +24 -46
  552. package/docs/components/markdown.md +14 -25
  553. package/docs/components/masonry.md +15 -13
  554. package/docs/components/mentions.md +36 -25
  555. package/docs/components/menu.md +39 -46
  556. package/docs/components/message-strip.md +15 -51
  557. package/docs/components/metric-table.md +50 -72
  558. package/docs/components/modal.md +32 -43
  559. package/docs/components/music-player.md +41 -49
  560. package/docs/components/nav.md +23 -13
  561. package/docs/components/network-graph.md +14 -13
  562. package/docs/components/notification-center.md +68 -172
  563. package/docs/components/order-tracker.md +72 -117
  564. package/docs/components/org-chart.md +58 -207
  565. package/docs/components/pagination.md +67 -89
  566. package/docs/components/paint.md +86 -172
  567. package/docs/components/pdf-viewer.md +46 -151
  568. package/docs/components/permission-matrix.md +61 -112
  569. package/docs/components/podcast-player.md +41 -119
  570. package/docs/components/pricing-table.md +104 -147
  571. package/docs/components/product-card.md +94 -197
  572. package/docs/components/progress-ring.md +29 -32
  573. package/docs/components/progress.md +30 -61
  574. package/docs/components/qr-code.md +53 -61
  575. package/docs/components/qr-reader.md +53 -42
  576. package/docs/components/radio.md +42 -40
  577. package/docs/components/range-slider.md +41 -30
  578. package/docs/components/rating.md +50 -84
  579. package/docs/components/receipt.md +91 -129
  580. package/docs/components/recipe.md +107 -216
  581. package/docs/components/sankey.md +47 -83
  582. package/docs/components/scheduler.md +81 -184
  583. package/docs/components/segmented-control.md +48 -40
  584. package/docs/components/select.md +107 -129
  585. package/docs/components/skeleton.md +33 -47
  586. package/docs/components/slider.md +49 -53
  587. package/docs/components/sortable.md +43 -186
  588. package/docs/components/sparkline.md +26 -25
  589. package/docs/components/spinner.md +32 -37
  590. package/docs/components/split-button.md +43 -23
  591. package/docs/components/split-pane.md +41 -58
  592. package/docs/components/spotlight.md +53 -145
  593. package/docs/components/spreadsheet.md +84 -307
  594. package/docs/components/stat-group.md +27 -61
  595. package/docs/components/step-input.md +44 -41
  596. package/docs/components/stepper.md +55 -89
  597. package/docs/components/switch.md +39 -39
  598. package/docs/components/table.md +27 -32
  599. package/docs/components/tabs.md +36 -27
  600. package/docs/components/tag-input.md +50 -176
  601. package/docs/components/tag.md +12 -50
  602. package/docs/components/terminal.md +32 -37
  603. package/docs/components/testimonial.md +24 -81
  604. package/docs/components/textarea.md +9 -14
  605. package/docs/components/theme.md +10 -23
  606. package/docs/components/time-picker.md +48 -72
  607. package/docs/components/time-range-picker.md +22 -41
  608. package/docs/components/timeline.md +7 -14
  609. package/docs/components/timer.md +16 -32
  610. package/docs/components/toast.md +19 -45
  611. package/docs/components/tooltip.md +13 -115
  612. package/docs/components/tree.md +2 -19
  613. package/docs/components/treemap.md +19 -43
  614. package/docs/components/user-card.md +13 -22
  615. package/docs/components/video-player.md +53 -227
  616. package/docs/components/virtual-scroller.md +11 -44
  617. package/docs/components/waterfall.md +58 -137
  618. package/docs/components/weather.md +94 -153
  619. package/docs/components/work-order.md +56 -143
  620. package/docs/plans/2026-03-09-action-bar-design.md +104 -0
  621. package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
  622. package/docs/plans/2026-03-10-react-integration-design.md +166 -0
  623. package/docs/request-response.md +77 -0
  624. package/package.json +20 -10
@@ -1,8 +1,14 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/color-display.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/color-display.md -->
2
2
 
3
3
  # Color Display Component
4
4
 
5
- The `<snice-color-display>` component displays colors with a swatch and formatted label.
5
+ Displays colors with a swatch and formatted label. Supports hex, RGB, and HSL formats with configurable swatch sizes.
6
+
7
+ ## Table of Contents
8
+ - [Properties](#properties)
9
+ - [CSS Parts](#css-parts)
10
+ - [Basic Usage](#basic-usage)
11
+ - [Examples](#examples)
6
12
 
7
13
  ## Properties
8
14
 
@@ -10,29 +16,45 @@ The `<snice-color-display>` component displays colors with a swatch and formatte
10
16
  |----------|------|---------|-------------|
11
17
  | `value` | `string` | `''` | Color value (hex format) |
12
18
  | `format` | `'hex' \| 'rgb' \| 'hsl'` | `'hex'` | Display format |
13
- | `showSwatch` | `boolean` | `true` | Show color swatch |
14
- | `showLabel` | `boolean` | `true` | Show color label |
15
- | `swatchSize` | `'small' \| 'medium' \| 'large'` | `'medium'` | Swatch size |
19
+ | `showSwatch` (attr: `show-swatch`) | `boolean` | `true` | Show color swatch |
20
+ | `showLabel` (attr: `show-label`) | `boolean` | `true` | Show color label |
21
+ | `swatchSize` (attr: `swatch-size`) | `'small' \| 'medium' \| 'large'` | `'medium'` | Swatch size |
16
22
  | `label` | `string` | `''` | Custom label text |
17
23
 
24
+ ## CSS Parts
25
+
26
+ | Part | Description |
27
+ |------|-------------|
28
+ | `container` | The outer container |
29
+ | `swatch` | The color swatch element |
30
+ | `label` | The color label text |
31
+
32
+ ```css
33
+ snice-color-display::part(swatch) {
34
+ border-radius: 50%;
35
+ }
36
+
37
+ snice-color-display::part(label) {
38
+ font-family: monospace;
39
+ }
40
+ ```
41
+
18
42
  ## Basic Usage
19
43
 
20
44
  ```html
21
45
  <snice-color-display value="#3b82f6"></snice-color-display>
22
46
  ```
23
47
 
24
- ## Examples
25
-
26
- ### Basic Colors
27
-
28
- ```html
29
- <snice-color-display value="#ff0000"></snice-color-display>
30
- <snice-color-display value="#00ff00"></snice-color-display>
31
- <snice-color-display value="#0000ff"></snice-color-display>
48
+ ```typescript
49
+ import 'snice/components/color-display/snice-color-display';
32
50
  ```
33
51
 
52
+ ## Examples
53
+
34
54
  ### Color Formats
35
55
 
56
+ Use the `format` attribute to change the displayed color format.
57
+
36
58
  ```html
37
59
  <snice-color-display value="#3b82f6" format="hex"></snice-color-display>
38
60
  <snice-color-display value="#3b82f6" format="rgb"></snice-color-display>
@@ -41,6 +63,8 @@ The `<snice-color-display>` component displays colors with a swatch and formatte
41
63
 
42
64
  ### Swatch Sizes
43
65
 
66
+ Use `swatch-size` to change the swatch dimensions.
67
+
44
68
  ```html
45
69
  <snice-color-display value="#10b981" swatch-size="small"></snice-color-display>
46
70
  <snice-color-display value="#10b981" swatch-size="medium"></snice-color-display>
@@ -49,6 +73,8 @@ The `<snice-color-display>` component displays colors with a swatch and formatte
49
73
 
50
74
  ### Custom Labels
51
75
 
76
+ Use the `label` attribute to display a custom name instead of the color value.
77
+
52
78
  ```html
53
79
  <snice-color-display value="#ef4444" label="Error Red"></snice-color-display>
54
80
  <snice-color-display value="#10b981" label="Success Green"></snice-color-display>
@@ -56,51 +82,16 @@ The `<snice-color-display>` component displays colors with a swatch and formatte
56
82
 
57
83
  ### Swatch Only
58
84
 
59
- ```html
60
- <snice-color-display
61
- value="#3b82f6"
62
- show-label="false"
63
- swatch-size="large"
64
- ></snice-color-display>
65
- ```
66
-
67
- ### Label Only
85
+ Hide the label for a swatch-only display.
68
86
 
69
87
  ```html
70
- <snice-color-display
71
- value="#3b82f6"
72
- show-swatch="false"
73
- format="rgb"
74
- ></snice-color-display>
88
+ <snice-color-display value="#3b82f6" show-label="false" swatch-size="large"></snice-color-display>
75
89
  ```
76
90
 
77
- ## CSS Parts
78
-
79
- Style internal elements from outside the shadow DOM using `::part()`.
80
-
81
- | Part | Element | Description |
82
- |------|---------|-------------|
83
- | `container` | `<div>` | The outer container |
84
- | `swatch` | `<div>` | The color swatch element |
85
- | `label` | `<span>` | The color label text |
86
-
87
- ```css
88
- snice-color-display::part(container) {
89
- gap: 0.5rem;
90
- }
91
+ ### Label Only
91
92
 
92
- snice-color-display::part(swatch) {
93
- border-radius: 50%;
94
- }
93
+ Hide the swatch for a text-only color value.
95
94
 
96
- snice-color-display::part(label) {
97
- font-family: monospace;
98
- }
95
+ ```html
96
+ <snice-color-display value="#3b82f6" show-swatch="false" format="rgb"></snice-color-display>
99
97
  ```
100
-
101
- ## Notes
102
-
103
- - Colors must be provided in hex format (#RRGGBB)
104
- - The component automatically converts to RGB and HSL formats
105
- - When no custom label is provided, the formatted color value is used
106
- - Swatch and label can be shown/hidden independently
@@ -1,44 +1,52 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/color-picker.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/color-picker.md -->
2
2
 
3
3
  # Color Picker Component
4
4
 
5
- The `<snice-color-picker>` component provides a color selection interface with format conversion and preset colors.
5
+ A color selection interface with format conversion, preset colors, and form integration.
6
+
7
+ ## Table of Contents
8
+ - [Properties](#properties)
9
+ - [Methods](#methods)
10
+ - [Events](#events)
11
+ - [CSS Parts](#css-parts)
12
+ - [Basic Usage](#basic-usage)
13
+ - [Examples](#examples)
14
+ - [Accessibility](#accessibility)
6
15
 
7
16
  ## Properties
8
17
 
9
18
  | Property | Type | Default | Description |
10
19
  |----------|------|---------|-------------|
20
+ | `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | Size variant |
11
21
  | `value` | `string` | `'#000000'` | Current color value |
12
22
  | `format` | `'hex' \| 'rgb' \| 'hsl'` | `'hex'` | Display format |
13
- | `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | Size variant |
14
23
  | `label` | `string` | `''` | Label text |
15
- | `helperText` (attr: `helper-text`) | `string` | `''` | Helper text |
16
- | `errorText` (attr: `error-text`) | `string` | `''` | Error message |
24
+ | `helperText` (attr: `helper-text`) | `string` | `''` | Helper text below the input |
25
+ | `errorText` (attr: `error-text`) | `string` | `''` | Error message text |
17
26
  | `disabled` | `boolean` | `false` | Disabled state |
18
- | `required` | `boolean` | `false` | Required state |
27
+ | `required` | `boolean` | `false` | Required state for form validation |
19
28
  | `invalid` | `boolean` | `false` | Invalid state |
20
29
  | `name` | `string` | `''` | Form field name |
21
- | `showInput` (attr: `show-input`) | `boolean` | `true` | Show text input |
22
- | `showPresets` (attr: `show-presets`) | `boolean` | `false` | Show preset colors |
23
- | `presets` | `string[]` | `[...]` | Preset color values |
24
- | `loading` | `boolean` | `false` | Loading state |
30
+ | `showInput` (attr: `show-input`) | `boolean` | `true` | Show text input field |
31
+ | `showPresets` (attr: `show-presets`) | `boolean` | `false` | Show preset color swatches |
32
+ | `presets` | `string[]` | `[...]` | Array of preset color values |
33
+ | `loading` | `boolean` | `false` | Loading state with spinner |
25
34
 
26
35
  ## Methods
27
36
 
28
- ### `focus(): void`
29
- Focus the color picker.
30
-
31
- ### `blur(): void`
32
- Blur the color picker.
37
+ | Method | Arguments | Description |
38
+ |--------|-----------|-------------|
39
+ | `focus()` | -- | Focus the color picker input |
40
+ | `blur()` | -- | Remove focus from the color picker input |
33
41
 
34
42
  ## Events
35
43
 
36
44
  | Event | Detail | Description |
37
45
  |-------|--------|-------------|
38
- | `color-picker-input` | `{ value: string, colorPicker }` | Fired during color input |
39
- | `color-picker-change` | `{ value: string, colorPicker }` | Fired when color changes |
40
- | `color-picker-focus` | `{ colorPicker }` | Fired on input focus |
41
- | `color-picker-blur` | `{ colorPicker }` | Fired on input blur |
46
+ | `color-picker-input` | `{ value: string, colorPicker }` | Fired during color input as the user adjusts the color |
47
+ | `color-picker-change` | `{ value: string, colorPicker }` | Fired when the color value is committed |
48
+ | `color-picker-focus` | `{ colorPicker }` | Fired when the input receives focus |
49
+ | `color-picker-blur` | `{ colorPicker }` | Fired when the input loses focus |
42
50
 
43
51
  ## CSS Parts
44
52
 
@@ -48,47 +56,106 @@ Blur the color picker.
48
56
  | `error-text` | Error text element |
49
57
  | `helper-text` | Helper text element |
50
58
 
59
+ ```css
60
+ snice-color-picker::part(error-text) {
61
+ font-size: 0.75rem;
62
+ color: red;
63
+ }
64
+ ```
65
+
51
66
  ## Basic Usage
52
67
 
53
68
  ```html
54
- <snice-color-picker
55
- label="Brand Color"
56
- value="#3b82f6"
57
- show-presets
58
- ></snice-color-picker>
69
+ <snice-color-picker label="Brand Color" value="#3b82f6"></snice-color-picker>
70
+ ```
71
+
72
+ ```typescript
73
+ import 'snice/components/color-picker/snice-color-picker';
59
74
  ```
60
75
 
61
76
  ## Examples
62
77
 
63
- ### Basic
78
+ ### Color Formats
79
+
80
+ Use the `format` attribute to change the displayed color format.
64
81
 
65
82
  ```html
66
- <snice-color-picker label="Background Color"></snice-color-picker>
83
+ <snice-color-picker format="hex" label="Hex Color"></snice-color-picker>
84
+ <snice-color-picker format="rgb" label="RGB Color"></snice-color-picker>
85
+ <snice-color-picker format="hsl" label="HSL Color"></snice-color-picker>
67
86
  ```
68
87
 
69
- ### With Presets
88
+ ### Sizes
89
+
90
+ Use the `size` attribute to change the picker dimensions.
70
91
 
71
92
  ```html
72
- <snice-color-picker
73
- label="Theme Color"
74
- show-presets
75
- ></snice-color-picker>
93
+ <snice-color-picker size="small" label="Small"></snice-color-picker>
94
+ <snice-color-picker size="medium" label="Medium"></snice-color-picker>
95
+ <snice-color-picker size="large" label="Large"></snice-color-picker>
76
96
  ```
77
97
 
78
- ### Different Formats
98
+ ### With Preset Colors
99
+
100
+ Set `show-presets` to display a row of preset color swatches for quick selection.
79
101
 
80
102
  ```html
81
- <snice-color-picker format="hex" label="Hex"></snice-color-picker>
82
- <snice-color-picker format="rgb" label="RGB"></snice-color-picker>
83
- <snice-color-picker format="hsl" label="HSL"></snice-color-picker>
103
+ <snice-color-picker label="Theme Color" show-presets></snice-color-picker>
84
104
  ```
85
105
 
86
106
  ### Custom Presets
87
107
 
108
+ Use the `presets` property to provide your own set of preset colors.
109
+
88
110
  ```html
89
111
  <snice-color-picker
90
112
  label="Brand Colors"
91
113
  show-presets
92
- presets='["#ff0000", "#00ff00", "#0000ff"]'
114
+ presets='["#ff0000", "#00ff00", "#0000ff", "#ffcc00"]'
115
+ ></snice-color-picker>
116
+ ```
117
+
118
+ ### Without Text Input
119
+
120
+ Set `show-input="false"` to hide the text input and show only the color swatch.
121
+
122
+ ```html
123
+ <snice-color-picker label="Pick a Color" show-input="false"></snice-color-picker>
124
+ ```
125
+
126
+ ### Form Validation
127
+
128
+ Use `required`, `invalid`, and `error-text` for form validation feedback.
129
+
130
+ ```html
131
+ <snice-color-picker
132
+ label="Required Color"
133
+ required
134
+ invalid
135
+ error-text="Please select a color"
93
136
  ></snice-color-picker>
94
137
  ```
138
+
139
+ ### Event Handling
140
+
141
+ Listen for color changes to sync with your application state.
142
+
143
+ ```javascript
144
+ const picker = document.querySelector('snice-color-picker');
145
+
146
+ picker.addEventListener('color-picker-change', (e) => {
147
+ console.log('Color changed to:', e.detail.value);
148
+ });
149
+
150
+ picker.addEventListener('color-picker-input', (e) => {
151
+ // Fires continuously as the user adjusts
152
+ document.body.style.backgroundColor = e.detail.value;
153
+ });
154
+ ```
155
+
156
+ ## Accessibility
157
+
158
+ - Form-associated custom element with native form integration
159
+ - Label association for screen readers
160
+ - Keyboard accessible color input
161
+ - Error and helper text announced to assistive technology
@@ -1,8 +1,8 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/command-palette.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/command-palette.md -->
2
2
 
3
3
  # Command Palette Component
4
4
 
5
- A searchable command palette overlay (⌘K) for quick access to application commands and actions.
5
+ A searchable command palette overlay for quick access to application commands and actions. Opens with Cmd+K / Ctrl+K.
6
6
 
7
7
  ## Table of Contents
8
8
  - [Properties](#properties)
@@ -11,8 +11,7 @@ A searchable command palette overlay (⌘K) for quick access to application comm
11
11
  - [CSS Parts](#css-parts)
12
12
  - [Basic Usage](#basic-usage)
13
13
  - [Examples](#examples)
14
- - [CommandItem Interface](#commanditem-interface)
15
- - [Keyboard Shortcuts](#keyboard-shortcuts)
14
+ - [Keyboard Navigation](#keyboard-navigation)
16
15
  - [Accessibility](#accessibility)
17
16
 
18
17
  ## Properties
@@ -20,32 +19,81 @@ A searchable command palette overlay (⌘K) for quick access to application comm
20
19
  | Property | Type | Default | Description |
21
20
  |----------|------|---------|-------------|
22
21
  | `open` | `boolean` | `false` | Palette visibility |
23
- | `commands` | `CommandItem[]` | `[]` | Array of commands |
24
- | `placeholder` | `string` | `'Type a command or search...'` | Search input placeholder |
25
- | `noResultsText` | `string` | `'No results found'` | Empty state text |
26
- | `maxResults` | `number` | `50` | Maximum results to display |
27
- | `showRecentCommands` | `boolean` | `true` | Show recent commands when search is empty |
28
- | `recentCommandsLimit` | `number` | `5` | Number of recent commands to track |
29
- | `caseSensitive` | `boolean` | `false` | Case-sensitive search |
22
+ | `commands` | `CommandItem[]` | `[]` | Array of command objects |
23
+ | `placeholder` | `string` | `'Type a command or search...'` | Search input placeholder text |
24
+ | `noResultsText` (attr: `no-results-text`) | `string` | `'No results found'` | Text shown when search yields no results |
25
+ | `maxResults` (attr: `max-results`) | `number` | `50` | Maximum number of results to display |
26
+ | `showRecentCommands` (attr: `show-recent-commands`) | `boolean` | `true` | Show recently used commands when search is empty |
27
+ | `recentCommandsLimit` (attr: `recent-commands-limit`) | `number` | `5` | Number of recent commands to track |
28
+ | `caseSensitive` (attr: `case-sensitive`) | `boolean` | `false` | Enable case-sensitive search matching |
29
+
30
+ ### CommandItem Interface
31
+
32
+ ```typescript
33
+ interface CommandItem {
34
+ id: string; // Unique identifier
35
+ label: string; // Command name
36
+ description?: string; // Command description
37
+ icon?: string; // Text/emoji icon
38
+ iconImage?: string; // Icon image URL
39
+ shortcut?: string; // Keyboard shortcut display text
40
+ category?: string; // Category for grouping
41
+ disabled?: boolean; // Disable command
42
+ action?: () => void | Promise<void>; // Command action
43
+ data?: any; // Custom data
44
+ }
45
+ ```
30
46
 
31
47
  ## Methods
32
48
 
33
- - `show()` - Open the palette
34
- - `close()` - Close the palette
35
- - `toggle()` - Toggle palette visibility
36
- - `addCommand(command: CommandItem)` - Add a command
37
- - `removeCommand(id: string)` - Remove a command
38
- - `executeCommand(id: string)` - Execute command by ID
39
- - `clearSearch()` - Clear search input
40
- - `focus()` - Focus search input
49
+ | Method | Arguments | Description |
50
+ |--------|-----------|-------------|
51
+ | `show()` | -- | Open the palette |
52
+ | `close()` | -- | Close the palette |
53
+ | `toggle()` | -- | Toggle palette visibility |
54
+ | `addCommand()` | `command: CommandItem` | Add a command dynamically |
55
+ | `removeCommand()` | `id: string` | Remove a command by ID |
56
+ | `executeCommand()` | `id: string` | Execute a command by ID |
57
+ | `clearSearch()` | -- | Clear the search input |
58
+ | `focus()` | -- | Focus the search input |
41
59
 
42
60
  ## Events
43
61
 
44
- - `command-palette-open` - Fired when palette opens
45
- - `command-palette-close` - Fired when palette closes
46
- - `command-select` - Fired when command is selected (detail: { command, palette })
47
- - `command-execute` - Fired when command is executed (detail: { command, palette })
48
- - `command-search` - Fired when search changes (detail: { query, results, palette })
62
+ | Event | Detail | Description |
63
+ |-------|--------|-------------|
64
+ | `command-palette-open` | `{ palette }` | Fired when the palette opens |
65
+ | `command-palette-close` | `{ palette }` | Fired when the palette closes |
66
+ | `command-select` | `{ command, palette }` | Fired when a command is highlighted/selected |
67
+ | `command-execute` | `{ command, palette }` | Fired when a command is executed |
68
+ | `command-search` | `{ query, results, palette }` | Fired when the search input changes |
69
+
70
+ ## CSS Parts
71
+
72
+ | Part | Description |
73
+ |------|-------------|
74
+ | `container` | Main palette container |
75
+ | `search` | Search area wrapper |
76
+ | `input` | Search input element |
77
+ | `results` | Results list container |
78
+ | `empty` | Empty state message |
79
+ | `category` | Category group header |
80
+ | `item` | Individual command item button |
81
+ | `item-icon` | Item icon wrapper |
82
+ | `item-icon-image` | Item icon image element |
83
+ | `item-content` | Item label and description wrapper |
84
+ | `item-label` | Item label text |
85
+ | `item-description` | Item description text |
86
+ | `item-shortcut` | Keyboard shortcut badge |
87
+
88
+ ```css
89
+ snice-command-palette::part(container) {
90
+ max-width: 800px;
91
+ }
92
+
93
+ snice-command-palette::part(item) {
94
+ border-radius: 0.25rem;
95
+ }
96
+ ```
49
97
 
50
98
  ## Basic Usage
51
99
 
@@ -67,21 +115,24 @@ A searchable command palette overlay (⌘K) for quick access to application comm
67
115
  {
68
116
  id: 'save',
69
117
  label: 'Save',
70
- description: 'Save the current file',
71
118
  icon: '💾',
72
119
  shortcut: '⌘S',
73
120
  category: 'File',
74
121
  action: () => console.log('File saved')
75
122
  }
76
123
  ];
77
-
78
- // Opens automatically with ⌘K or Ctrl+K
79
124
  </script>
80
125
  ```
81
126
 
127
+ ```typescript
128
+ import 'snice/components/command-palette/snice-command-palette';
129
+ ```
130
+
82
131
  ## Examples
83
132
 
84
- ### Basic Commands
133
+ ### Categorized Commands
134
+
135
+ Group commands by category for organized navigation.
85
136
 
86
137
  ```html
87
138
  <snice-command-palette id="palette"></snice-command-palette>
@@ -96,7 +147,9 @@ A searchable command palette overlay (⌘K) for quick access to application comm
96
147
  </script>
97
148
  ```
98
149
 
99
- ### With Actions
150
+ ### Commands with Actions
151
+
152
+ Attach action functions to commands for immediate execution.
100
153
 
101
154
  ```javascript
102
155
  palette.commands = [
@@ -104,9 +157,7 @@ palette.commands = [
104
157
  id: 'theme-toggle',
105
158
  label: 'Toggle Theme',
106
159
  icon: '🌓',
107
- action: () => {
108
- document.body.classList.toggle('dark-mode');
109
- }
160
+ action: () => document.body.classList.toggle('dark-mode')
110
161
  },
111
162
  {
112
163
  id: 'logout',
@@ -122,6 +173,8 @@ palette.commands = [
122
173
 
123
174
  ### Custom Trigger
124
175
 
176
+ Use `show()` to open the palette from a custom button instead of the keyboard shortcut.
177
+
125
178
  ```html
126
179
  <button onclick="palette.show()">Open Commands</button>
127
180
  <snice-command-palette id="palette"></snice-command-palette>
@@ -129,6 +182,8 @@ palette.commands = [
129
182
 
130
183
  ### Event Handling
131
184
 
185
+ Listen for command execution to log analytics or trigger side effects.
186
+
132
187
  ```javascript
133
188
  palette.addEventListener('command-execute', (e) => {
134
189
  console.log('Executed:', e.detail.command.label);
@@ -136,67 +191,18 @@ palette.addEventListener('command-execute', (e) => {
136
191
  });
137
192
  ```
138
193
 
139
- ## CSS Parts
140
-
141
- Style internal elements from outside the shadow DOM using `::part()`.
142
-
143
- | Part | Element | Description |
144
- |------|---------|-------------|
145
- | `container` | `<div>` | Main palette container |
146
- | `search` | `<div>` | Search area wrapper |
147
- | `input` | `<input>` | Search input element |
148
- | `results` | `<div>` | Results list container |
149
- | `empty` | `<div>` | Empty state message |
150
- | `category` | `<div>` | Category group header |
151
- | `item` | `<button>` | Individual command item |
152
- | `item-icon` | `<div>` | Item icon wrapper |
153
- | `item-icon-image` | `<img>` | Item icon image |
154
- | `item-content` | `<div>` | Item label and description wrapper |
155
- | `item-label` | `<div>` | Item label text |
156
- | `item-description` | `<div>` | Item description text |
157
- | `item-shortcut` | `<div>` | Keyboard shortcut badge |
158
-
159
- ```css
160
- snice-command-palette::part(container) {
161
- max-width: 800px;
162
- }
163
-
164
- snice-command-palette::part(item) {
165
- border-radius: 0.25rem;
166
- }
167
- ```
194
+ ## Keyboard Navigation
168
195
 
169
- ## CommandItem Interface
170
-
171
- ```typescript
172
- interface CommandItem {
173
- id: string; // Unique identifier
174
- label: string; // Command name
175
- description?: string; // Command description
176
- icon?: string; // Text/emoji icon
177
- iconImage?: string; // Icon image URL
178
- shortcut?: string; // Keyboard shortcut display
179
- category?: string; // Command category for grouping
180
- disabled?: boolean; // Disable command
181
- action?: () => void | Promise<void>; // Command action
182
- data?: any; // Custom data
183
- }
184
- ```
185
-
186
- ## Keyboard Shortcuts
187
-
188
- - `⌘K` or `Ctrl+K` - Toggle palette
189
- - `Escape` - Close palette
190
- - `↑` / `↓` - Navigate commands
191
- - `Enter` - Execute active command
196
+ | Key | Action |
197
+ |-----|--------|
198
+ | `Cmd+K` / `Ctrl+K` | Toggle palette |
199
+ | `Escape` | Close palette |
200
+ | `Arrow Up` / `Arrow Down` | Navigate commands |
201
+ | `Enter` | Execute active command |
192
202
 
193
203
  ## Accessibility
194
204
 
195
- - Full keyboard navigation
196
- - ARIA labels and roles
197
- - Focus trap when open
198
- - Screen reader announcements
199
-
200
- ## Browser Support
201
-
202
- Modern browsers with Custom Elements v1 support
205
+ - Full keyboard navigation with arrow keys
206
+ - ARIA labels and roles on all interactive elements
207
+ - Focus trap when palette is open
208
+ - Screen reader announcements for search results
@@ -1,8 +1,8 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/comments.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/comments.md -->
2
2
 
3
3
  # Comments Component
4
4
 
5
- The comments component provides a threaded comment system with nested replies, like/unlike functionality, user avatars, relative timestamps, and current-user awareness for delete permissions.
5
+ A threaded comment system with nested replies, like/unlike functionality, user avatars, relative timestamps, and current-user awareness for delete permissions. Supports both programmatic and declarative usage.
6
6
 
7
7
  ## Table of Contents
8
8
  - [Properties](#properties)
@@ -77,6 +77,13 @@ interface Comment {
77
77
  | `input-area` | The new comment input area |
78
78
  | `list` | The comments list container |
79
79
 
80
+ ```css
81
+ snice-comments::part(base) {
82
+ max-width: 600px;
83
+ margin: 0 auto;
84
+ }
85
+ ```
86
+
80
87
  ## Basic Usage
81
88
 
82
89
  ```html
@@ -91,7 +98,7 @@ import 'snice/components/comments/snice-comments';
91
98
 
92
99
  ### Basic Comment Thread
93
100
 
94
- Set comments via JavaScript to display a comment thread with the current user set.
101
+ Set comments via JavaScript to display a threaded conversation.
95
102
 
96
103
  ```html
97
104
  <snice-comments id="my-comments" current-user="Alice" allow-replies allow-likes></snice-comments>
@@ -158,7 +165,7 @@ Use the `replies` array within a comment to create threaded conversations. Contr
158
165
  </script>
159
166
  ```
160
167
 
161
- ### Read-Only Comments (No Replies or Likes)
168
+ ### Read-Only Comments
162
169
 
163
170
  Disable replies and likes for a read-only display of past comments.
164
171
 
@@ -179,7 +186,7 @@ Disable replies and likes for a read-only display of past comments.
179
186
  </script>
180
187
  ```
181
188
 
182
- ### Listening to Events
189
+ ### Event Handling
183
190
 
184
191
  Listen for comment actions to sync with a backend.
185
192
 
@@ -192,7 +199,6 @@ Listen for comment actions to sync with a backend.
192
199
 
193
200
  el.addEventListener('comment-add', (e) => {
194
201
  console.log('New comment:', e.detail.text, 'by', e.detail.author);
195
- // POST to your API
196
202
  });
197
203
 
198
204
  el.addEventListener('comment-reply', (e) => {
@@ -229,7 +235,7 @@ Comments can also be defined declaratively using `<snice-comment>` child element
229
235
 
230
236
  ## Accessibility
231
237
 
232
- - **Keyboard support**: Tab through comments, reply buttons, and like buttons. Enter or Space to activate controls.
233
- - **Timestamps**: Displayed as relative times (e.g., "2 hours ago") for quick scanning
234
- - **Current user**: Delete controls only appear on the current user's own comments to prevent confusion
235
- - **Screen readers**: Comment structure and author information are conveyed through semantic markup
238
+ - Keyboard support: Tab through comments, reply buttons, and like buttons. Enter or Space to activate controls.
239
+ - Timestamps displayed as relative times (e.g., "2 hours ago") for quick scanning
240
+ - Delete controls only appear on the current user's own comments
241
+ - Semantic markup conveys comment structure and author information to screen readers