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
@@ -34,31 +34,12 @@ columns: any[] = []; // JS only
34
34
  data: any[] = []; // JS only
35
35
  ```
36
36
 
37
- ## Slots
38
-
39
- - `columns` - `<snice-column>` elements for declarative column definitions
40
- - `rows` - `<snice-row>` elements for declarative row data
41
- - `header` - Superheader content above column headers
42
-
43
- ## Events
44
-
45
- - `row-clicked` → `{ rowData, rowIndex }`
46
- - `table-row-selection-changed` → `{ selectedRows, rowIndex, selected }`
47
- - `table-select-all-changed` → `{ selectedRows, allSelected }`
48
- - `page-change` → `{ page, pageSize, totalPages, totalItems }`
49
- - `column-resize` → `{ key, width }`
50
- - `column-resize-end` → `{ key, width }`
51
- - `filter-change` → filter model
52
- - `sort-change` → sort model
53
-
54
37
  ## Methods
55
38
 
56
39
  - `setData(data)` - Set table data array
57
40
  - `setColumns(columns)` - Set column definitions
58
41
  - `renderHeader()` - Re-render header
59
42
  - `renderBody()` - Re-render body
60
- - `renderControls()` - Re-render search/filter controls
61
- - `renderPagination()` - Re-render pagination
62
43
  - `toggleSort(columnKey, multiSort?)` - Toggle sort on a column
63
44
  - `goToPage(page)` - Navigate to a specific page
64
45
  - `setPageSize(size)` - Change rows per page
@@ -77,13 +58,25 @@ data: any[] = []; // JS only
77
58
  - `autoSizeColumn(key)` - Auto-size column to content
78
59
  - `autoSizeAllColumns()` - Auto-size all columns
79
60
  - `moveColumn(key, toIndex)` - Reorder column
80
- - `scrollToColumn(key)` - Scroll to column
81
61
 
82
- ## Column Types
62
+ ## Events
83
63
 
84
- text, number, date, boolean, currency, percent, rating, progress, sparkline, tag, status, email, phone, link, color, image, duration, filesize, location, json, actions, custom
64
+ - `row-clicked` -> `{ rowData, rowIndex }`
65
+ - `table-row-selection-changed` -> `{ selectedRows, rowIndex, selected }`
66
+ - `table-select-all-changed` -> `{ selectedRows, allSelected }`
67
+ - `page-change` -> `{ page, pageSize, totalPages, totalItems }`
68
+ - `column-resize` -> `{ key, width }`
69
+ - `column-resize-end` -> `{ key, width }`
70
+ - `filter-change` -> filter model
71
+ - `sort-change` -> sort model
85
72
 
86
- ## ColumnDefinition
73
+ ## Slots
74
+
75
+ - `columns` - `<snice-column>` elements for declarative column definitions
76
+ - `rows` - `<snice-row>` elements for declarative row data
77
+ - `header` - Superheader content above column headers
78
+
79
+ ## Column Definition
87
80
 
88
81
  ```typescript
89
82
  interface ColumnDefinition {
@@ -93,10 +86,10 @@ interface ColumnDefinition {
93
86
  align?: 'left'|'center'|'right';
94
87
  width?: string;
95
88
  sortable?: boolean;
96
- resizable?: boolean; // default: true (when column-resize enabled)
97
- reorderable?: boolean; // default: true
98
- hideable?: boolean; // default: true
99
- pinnable?: boolean; // default: true
89
+ resizable?: boolean;
90
+ reorderable?: boolean;
91
+ hideable?: boolean;
92
+ pinnable?: boolean;
100
93
  formatter?: (value, row) => string;
101
94
  numberFormat?: { decimals?, thousandsSeparator?, prefix?, suffix?, negativeStyle? };
102
95
  dateFormat?: DateFormat;
@@ -106,64 +99,14 @@ interface ColumnDefinition {
106
99
  sparklineFormat?: { type?, color?, width?, height? };
107
100
  currencyFormat?: CurrencyFormat;
108
101
  percentageFormat?: { decimals?, colorize? };
109
- tagFormat?: TagFormat;
110
- statusFormat?: StatusFormat;
111
- linkFormat?: { target?, external? };
112
- colorFormat?: { showSwatch?, displayFormat? };
113
- emailFormat?: { showIcon? };
114
- phoneFormat?: { showIcon?, format? };
115
102
  conditionalFormats?: ConditionalFormat[];
116
103
  colSpan?: number | ((value, row) => number);
117
104
  }
118
105
  ```
119
106
 
120
- ## Per-Row Styling
121
-
122
- Sparkline and progress cells support per-row color via object values:
123
- ```typescript
124
- // Sparkline: { values: number[], color: string }
125
- { trend: { values: [10, 20, 30], color: '#22c55e' } }
126
-
127
- // Progress: { value: number, color: string }
128
- { completion: { value: 85, color: '#22c55e' } }
129
- ```
130
-
131
- Column-wide `colorize: true` on progressFormat auto-colors: green (≥70%), yellow (≥40%), red (<40%).
132
-
133
- ## Toolbar
134
-
135
- ```typescript
136
- table.setToolbar({
137
- showSearch?: boolean; // Search input
138
- showSort?: boolean; // Sort modal button
139
- showFilter?: boolean; // Filter modal button
140
- showExport?: boolean; // CSV export button
141
- });
142
- ```
143
-
144
- ## Filter Model (MUI X Pro compatible)
145
-
146
- ```typescript
147
- { filters: [{ column, operator, value }], logic: 'and'|'or' }
148
- // Operators: contains, equals, startsWith, endsWith, isEmpty, isNotEmpty (text)
149
- // eq, neq, gt, gte, lt, lte (number)
150
- ```
151
-
152
- ## Tree Data
153
-
154
- ```typescript
155
- table.setTreeData({
156
- getPath: (row) => row.path, // Returns path array e.g. ['US', 'CA']
157
- groupColumn: 'name', // Column key for expand/collapse toggle
158
- defaultExpansionDepth?: number // -1=collapsed, Infinity=expanded
159
- });
160
- ```
161
-
162
- ## Select-All Behavior
163
-
164
- Select-all checkbox only selects filtered/displayed rows. When filters are active, it won't select hidden rows.
107
+ Column types: text, number, date, boolean, currency, percent, rating, progress, sparkline, tag, status, email, phone, link, color, image, duration, filesize, location, json, actions, custom
165
108
 
166
- ## Usage
109
+ ## Basic Usage
167
110
 
168
111
  ```typescript
169
112
  table.setColumns([
@@ -171,13 +114,10 @@ table.setColumns([
171
114
  { key: 'revenue', label: 'Revenue', type: 'currency',
172
115
  numberFormat: { prefix: '$', thousandsSeparator: true } },
173
116
  { key: 'progress', label: 'Progress', type: 'progress',
174
- progressFormat: { colorize: true } },
175
- { key: 'trend', label: 'Trend', type: 'sparkline',
176
- sparklineFormat: { type: 'line', height: 24, width: 80 } }
117
+ progressFormat: { colorize: true } }
177
118
  ]);
178
119
  table.setData([
179
- { name: 'A', revenue: 50000, progress: 85,
180
- trend: { values: [10,20,30,40], color: '#22c55e' } }
120
+ { name: 'A', revenue: 50000, progress: 85 }
181
121
  ]);
182
122
  table.setToolbar({ showSearch: true, showSort: true, showFilter: true, showExport: true });
183
123
  ```
@@ -2,7 +2,15 @@
2
2
 
3
3
  Tabbed interface with tab buttons and content panels.
4
4
 
5
- ## snice-tabs (Container)
5
+ ## Components
6
+
7
+ - `snice-tabs` - Container
8
+ - `snice-tab` - Tab button
9
+ - `snice-tab-panel` - Content panel
10
+
11
+ ## Properties
12
+
13
+ ### snice-tabs
6
14
 
7
15
  ```typescript
8
16
  selected: number = 0;
@@ -11,14 +19,14 @@ noScrollControls: boolean = false; // attr: no-scroll-controls
11
19
  transition: string = 'none';
12
20
  ```
13
21
 
14
- ## snice-tab (Tab Button)
22
+ ### snice-tab
15
23
 
16
24
  ```typescript
17
25
  disabled: boolean = false;
18
26
  closable: boolean = false;
19
27
  ```
20
28
 
21
- ## snice-tab-panel (Content Panel)
29
+ ### snice-tab-panel
22
30
 
23
31
  ```typescript
24
32
  name: string = '';
@@ -27,12 +35,6 @@ transitionOut: string = ''; // attr: transition-out
27
35
  transitionDuration: number = 300; // attr: transition-duration
28
36
  ```
29
37
 
30
- ## Events
31
-
32
- - `tab-change` → `{ index, oldIndex, tab, panel }` - Tab switched
33
- - `tab-select` → `{ tab }` - Tab clicked
34
- - `tab-close` → `{ tab }` - Close button clicked
35
-
36
38
  ## Methods
37
39
 
38
40
  - `selectTab(index)` - Select tab by index
@@ -40,6 +42,12 @@ transitionDuration: number = 300; // attr: transition-duration
40
42
  - `getTab(index)` - Get tab element
41
43
  - `getPanel(index)` - Get panel element
42
44
 
45
+ ## Events
46
+
47
+ - `tab-change` -> `{ index, oldIndex, tab, panel }` - Tab switched
48
+ - `tab-select` -> `{ tab }` - Tab clicked
49
+ - `tab-close` -> `{ tab }` - Close button clicked
50
+
43
51
  ## Slots
44
52
 
45
53
  - `nav` - `<snice-tab>` elements for tab navigation
@@ -56,7 +64,7 @@ transitionDuration: number = 300; // attr: transition-duration
56
64
  - `scroll-button-end` - End scroll button
57
65
  - `panels` - Panel content wrapper
58
66
 
59
- ## Usage
67
+ ## Basic Usage
60
68
 
61
69
  ```html
62
70
  <snice-tabs>
@@ -4,16 +4,16 @@ Tag/chip input with autocomplete suggestions, keyboard navigation, and comma-sep
4
4
 
5
5
  ## Properties
6
6
 
7
- ```ts
8
- value: string[] = []
9
- suggestions: string[] = []
10
- maxTags: number = 0 // 0 = unlimited (attribute: max-tags)
11
- allowDuplicates: boolean = false // attribute: allow-duplicates
12
- placeholder: string = 'Add a tag...'
13
- disabled: boolean = false
14
- readonly: boolean = false
15
- label: string = ''
16
- name: string = ''
7
+ ```typescript
8
+ value: string[] = [];
9
+ suggestions: string[] = [];
10
+ maxTags: number = 0; // 0 = unlimited (attr: max-tags)
11
+ allowDuplicates: boolean = false; // attr: allow-duplicates
12
+ placeholder: string = 'Add a tag...';
13
+ disabled: boolean = false;
14
+ readonly: boolean = false;
15
+ label: string = '';
16
+ name: string = '';
17
17
  ```
18
18
 
19
19
  ## Methods
@@ -29,15 +29,8 @@ name: string = ''
29
29
  - `tag-remove` -> `{ tag: string; index: number; value: string[] }`
30
30
  - `tag-change` -> `{ value: string[] }`
31
31
 
32
- ## Input Behavior
33
-
34
- - Enter: Add current input as tag (or select highlighted suggestion)
35
- - Comma: Split input and add each part as a tag
36
- - Backspace on empty input: Remove last tag
37
- - ArrowUp/ArrowDown: Navigate suggestions
38
- - Escape: Close suggestions dropdown
32
+ ## CSS Parts
39
33
 
40
- **CSS Parts:**
41
34
  - `base` - Outer wrapper div
42
35
  - `label` - Label element
43
36
  - `container` - Tags + input container
@@ -46,19 +39,15 @@ name: string = ''
46
39
  - `input` - Text input field
47
40
  - `suggestions` - Suggestions dropdown
48
41
 
49
- ## CSS Custom Properties
42
+ ## Keyboard Navigation
50
43
 
51
- - `--snice-color-border` - Container border (default: `rgb(226 226 226)`)
52
- - `--snice-color-primary` - Focus ring, tag color (default: `rgb(37 99 235)`)
53
- - `--snice-color-primary-subtle` - Tag background (default: `rgb(239 246 255)`)
54
- - `--snice-color-background` - Input background (default: `rgb(255 255 255)`)
55
- - `--snice-color-text` - Text color (default: `rgb(23 23 23)`)
56
- - `--snice-color-text-tertiary` - Placeholder color
57
- - `--snice-focus-ring-width` - Focus ring width (default: `2px`)
58
- - `--snice-focus-ring-color` - Focus ring color
59
- - `--snice-shadow-lg` - Suggestions dropdown shadow
44
+ - Enter: Add current input as tag (or select highlighted suggestion)
45
+ - Comma: Split input and add each part as a tag
46
+ - Backspace on empty input: Remove last tag
47
+ - ArrowUp/ArrowDown: Navigate suggestions
48
+ - Escape: Close suggestions dropdown
60
49
 
61
- ## Usage
50
+ ## Basic Usage
62
51
 
63
52
  ```html
64
53
  <snice-tag-input
@@ -12,44 +12,32 @@ outline: boolean = false; // Outlined style
12
12
  pill: boolean = false; // Fully rounded corners
13
13
  ```
14
14
 
15
+ ## Events
16
+
17
+ - `tag-remove` -> `{ tag: SniceTagElement }`
18
+
15
19
  ## Slots
16
20
 
17
21
  - `(default)` - Tag label content
18
22
  - `icon` - Leading icon
19
23
 
20
- ## Events
24
+ ## CSS Parts
21
25
 
22
- - `tag-remove` `{ tag: SniceTagElement }`
26
+ - `base` - The tag container span
27
+ - `icon` - The icon slot wrapper
28
+ - `label` - The label slot wrapper
23
29
 
24
- ## Usage
30
+ ## Basic Usage
25
31
 
26
32
  ```html
27
- <!-- Basic -->
28
33
  <snice-tag>Label</snice-tag>
29
-
30
- <!-- Variants -->
31
34
  <snice-tag variant="primary">Primary</snice-tag>
32
35
  <snice-tag variant="success">Active</snice-tag>
33
36
  <snice-tag variant="danger">Critical</snice-tag>
34
-
35
- <!-- Outline -->
36
37
  <snice-tag variant="primary" outline>Outlined</snice-tag>
37
-
38
- <!-- Pill -->
39
38
  <snice-tag pill variant="info">Rounded</snice-tag>
40
-
41
- <!-- Removable -->
42
39
  <snice-tag removable>Removable</snice-tag>
43
-
44
- <!-- With icon -->
45
- <snice-tag variant="success"><span slot="icon">✓</span>Approved</snice-tag>
46
-
47
- <!-- Sizes -->
40
+ <snice-tag variant="success"><span slot="icon">&#10003;</span>Approved</snice-tag>
48
41
  <snice-tag size="small">Small</snice-tag>
49
42
  <snice-tag size="large">Large</snice-tag>
50
43
  ```
51
-
52
- **CSS Parts:**
53
- - `base` - The tag container span
54
- - `icon` - The icon slot wrapper
55
- - `label` - The label slot wrapper
@@ -12,12 +12,6 @@ maxLines: number = 1000; // attr: max-lines
12
12
  showTimestamps: boolean = false; // attr: show-timestamps
13
13
  ```
14
14
 
15
- ## Events
16
-
17
- - `terminal-command` → `{ command, args }` - Command entered
18
- - `terminal-clear` → `{}` - Terminal cleared
19
- - `terminal-ready` → `{}` - Terminal ready
20
-
21
15
  ## Methods
22
16
 
23
17
  - `write(content, type?)` - Write without newline
@@ -29,9 +23,11 @@ showTimestamps: boolean = false; // attr: show-timestamps
29
23
  - `getHistory()` - Get command history
30
24
  - `clearHistory()` - Clear command history
31
25
 
32
- ## Line Types
26
+ ## Events
33
27
 
34
- `input` | `output` | `error` | `info` | `success` | `warning`
28
+ - `terminal-command` -> `{ command, args }` - Command entered
29
+ - `terminal-clear` -> `{}` - Terminal cleared
30
+ - `terminal-ready` -> `{}` - Terminal ready
35
31
 
36
32
  ## CSS Custom Properties
37
33
 
@@ -67,7 +63,11 @@ showTimestamps: boolean = false; // attr: show-timestamps
67
63
  - `timestamp` - Line timestamp
68
64
  - `line-content` - Line text content
69
65
 
70
- ## Usage
66
+ ## Line Types
67
+
68
+ `input` | `output` | `error` | `info` | `success` | `warning`
69
+
70
+ ## Basic Usage
71
71
 
72
72
  ```html
73
73
  <snice-terminal prompt="$ " cwd="~"></snice-terminal>
@@ -4,22 +4,16 @@ Testimonial/quote card with author info, avatar, star rating, and variant styles
4
4
 
5
5
  ## Properties
6
6
 
7
- ```ts
8
- quote: string = ''
9
- author: string = ''
10
- avatar: string = '' // URL for author avatar image
11
- role: string = '' // e.g. "CEO"
12
- company: string = '' // e.g. "Acme Inc" (renders as "role at company")
13
- rating: number = 0 // 0-5 star rating (0 = hidden)
14
- variant: 'card' | 'minimal' | 'featured' = 'card'
7
+ ```typescript
8
+ quote: string = '';
9
+ author: string = '';
10
+ avatar: string = ''; // URL for author avatar image
11
+ role: string = ''; // e.g. "CEO"
12
+ company: string = ''; // e.g. "Acme Inc" (renders as "role at company")
13
+ rating: number = 0; // 0-5 star rating (0 = hidden)
14
+ variant: 'card'|'minimal'|'featured' = 'card';
15
15
  ```
16
16
 
17
- ## Variants
18
-
19
- - `card` - Default. Background, border, and shadow
20
- - `minimal` - Left border accent, no background
21
- - `featured` - Primary-colored background with inverse text
22
-
23
17
  ## CSS Custom Properties
24
18
 
25
19
  - `--snice-color-background-element` - Card background (default: `rgb(252 251 249)`)
@@ -29,9 +23,6 @@ variant: 'card' | 'minimal' | 'featured' = 'card'
29
23
  - `--snice-color-text-secondary` - Author role color
30
24
  - `--snice-color-text-inverse` - Featured variant text (default: `rgb(250 250 250)`)
31
25
  - `--snice-color-warning` - Star rating color (default: `rgb(234 179 8)`)
32
- - `--snice-shadow-sm` - Card shadow
33
- - `--snice-spacing-lg` - Card padding (default: `1.5rem`)
34
- - `--snice-border-radius-lg` - Card border radius (default: `0.5rem`)
35
26
 
36
27
  ## CSS Parts
37
28
 
@@ -40,7 +31,7 @@ variant: 'card' | 'minimal' | 'featured' = 'card'
40
31
  - `author` - The author info container (avatar, name, role)
41
32
  - `stars` - The star rating element
42
33
 
43
- ## Usage
34
+ ## Basic Usage
44
35
 
45
36
  ```html
46
37
  <snice-testimonial
@@ -53,7 +44,6 @@ variant: 'card' | 'minimal' | 'featured' = 'card'
53
44
  variant="card"
54
45
  ></snice-testimonial>
55
46
 
56
- <!-- Featured style -->
57
47
  <snice-testimonial
58
48
  quote="Outstanding experience from start to finish."
59
49
  author="John Smith"
@@ -27,13 +27,6 @@ autoGrow: boolean = false; // attr: auto-grow
27
27
  loading: boolean = false;
28
28
  ```
29
29
 
30
- ## Events
31
-
32
- - `textarea-input` → `{ value, textarea }` - On input
33
- - `textarea-change` → `{ value, textarea }` - On change
34
- - `textarea-focus` → `{ textarea }` - On focus
35
- - `textarea-blur` → `{ textarea }` - On blur
36
-
37
30
  ## Methods
38
31
 
39
32
  - `focus()` - Focus textarea
@@ -43,21 +36,27 @@ loading: boolean = false;
43
36
  - `reportValidity()` - Report validation to user, returns `boolean`
44
37
  - `setCustomValidity(message)` - Set custom validation message
45
38
 
46
- ## Usage
39
+ ## Events
40
+
41
+ - `textarea-input` -> `{ value, textarea }` - On input
42
+ - `textarea-change` -> `{ value, textarea }` - On change
43
+ - `textarea-focus` -> `{ textarea }` - On focus
44
+ - `textarea-blur` -> `{ textarea }` - On blur
45
+
46
+ ## CSS Parts
47
+
48
+ - `textarea` - The native textarea element
49
+ - `spinner` - Loading spinner
50
+ - `error-text` - Error message container
51
+ - `helper-text` - Helper text container
52
+
53
+ ## Basic Usage
47
54
 
48
55
  ```html
49
56
  <snice-textarea label="Comments" placeholder="Enter comments"></snice-textarea>
50
57
  <snice-textarea variant="filled"></snice-textarea>
51
- <snice-textarea variant="underlined"></snice-textarea>
52
- <snice-textarea rows="5"></snice-textarea>
53
58
  <snice-textarea auto-grow></snice-textarea>
54
59
  <snice-textarea maxlength="500"></snice-textarea>
55
60
  <snice-textarea resize="both"></snice-textarea>
56
- <snice-textarea size="small"></snice-textarea>
57
- <snice-textarea helper-text="Max 500 characters"></snice-textarea>
58
61
  <snice-textarea invalid error-text="Required field"></snice-textarea>
59
62
  ```
60
-
61
- ## CSS Parts
62
-
63
- `textarea`, `spinner`, `error-text`, `helper-text`
@@ -1,8 +1,8 @@
1
1
  # theme.css
2
2
 
3
- CSS-only design token system. No component just import the stylesheet.
3
+ CSS-only design token system. No component -- just import the stylesheet.
4
4
 
5
- ## Usage
5
+ ## Basic Usage
6
6
 
7
7
  ```html
8
8
  <link rel="stylesheet" href="snice/components/theme/theme.css">
@@ -19,7 +19,7 @@ CSS-only design token system. No component — just import the stylesheet.
19
19
  <html data-theme="dark">...</html>
20
20
  ```
21
21
 
22
- ## Tokens
22
+ ## CSS Custom Properties
23
23
 
24
24
  ### Colors
25
25
 
@@ -1,25 +1,25 @@
1
1
  # snice-time-picker
2
2
 
3
- Single time selection with hour/minute/second selectors and AM/PM toggle.
3
+ Single time selection with hour/minute/second selectors and AM/PM toggle. Form-associated.
4
4
 
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- value: string = ''; // Time string (HH:MM or HH:MM:SS)
8
+ value: string = ''; // Time string (HH:MM or HH:MM:SS)
9
9
  format: '12h'|'24h' = '24h';
10
10
  size: 'small'|'medium'|'large' = 'medium';
11
- step: 1|5|10|15|30 = 15; // Minute step
12
- minTime: string = ''; // attribute: min-time
13
- maxTime: string = ''; // attribute: max-time
14
- showSeconds: boolean = false; // attribute: show-seconds
11
+ step: 1|5|10|15|30 = 15; // Minute step
12
+ minTime: string = ''; // attr: min-time
13
+ maxTime: string = ''; // attr: max-time
14
+ showSeconds: boolean = false; // attr: show-seconds
15
15
  disabled: boolean = false;
16
16
  readonly: boolean = false;
17
17
  loading: boolean = false;
18
18
  clearable: boolean = false;
19
19
  placeholder: string = '';
20
20
  label: string = '';
21
- helperText: string = ''; // attribute: helper-text
22
- errorText: string = ''; // attribute: error-text
21
+ helperText: string = ''; // attr: helper-text
22
+ errorText: string = ''; // attr: error-text
23
23
  required: boolean = false;
24
24
  invalid: boolean = false;
25
25
  name: string = '';
@@ -33,7 +33,9 @@ variant: 'dropdown'|'inline' = 'dropdown';
33
33
  - `clear()` - Clear value
34
34
  - `focus()` - Focus input
35
35
  - `blur()` - Blur input
36
- - `checkValidity()` / `reportValidity()` / `setCustomValidity(msg)`
36
+ - `checkValidity()` - Check validation, returns `boolean`
37
+ - `reportValidity()` - Report validation to user, returns `boolean`
38
+ - `setCustomValidity(message)` - Set custom validation message
37
39
 
38
40
  ## Events
39
41
 
@@ -44,33 +46,30 @@ variant: 'dropdown'|'inline' = 'dropdown';
44
46
  - `timepicker-close` -> `{ timePicker }`
45
47
  - `timepicker-clear` -> `{ timePicker }`
46
48
 
47
- ## Usage
49
+ ## CSS Parts
48
50
 
49
- ```html
50
- <!-- Basic 24h -->
51
- <snice-time-picker label="Time"></snice-time-picker>
51
+ - `base` - Wrapper container
52
+ - `label` - Label element
53
+ - `input` - Text input
54
+ - `toggle` - Clock icon button
55
+ - `dropdown` - Dropdown/inline container
56
+ - `hours` - Hours selector column
57
+ - `minutes` - Minutes selector column
58
+ - `seconds` - Seconds selector column
59
+ - `period` - AM/PM selector column
60
+ - `clear` - Clear button
61
+ - `spinner` - Loading spinner
62
+ - `helper-text` - Helper text element
63
+ - `error-text` - Error text element
64
+
65
+ ## Basic Usage
52
66
 
53
- <!-- 12h format -->
67
+ ```html
68
+ <snice-time-picker label="Select time"></snice-time-picker>
54
69
  <snice-time-picker format="12h" value="14:30"></snice-time-picker>
55
-
56
- <!-- With seconds -->
57
70
  <snice-time-picker show-seconds value="09:15:30"></snice-time-picker>
58
-
59
- <!-- 5-minute steps -->
60
- <snice-time-picker step="5"></snice-time-picker>
61
-
62
- <!-- Min/max constraints -->
63
- <snice-time-picker min-time="09:00" max-time="17:00"></snice-time-picker>
64
-
65
- <!-- Inline (always visible) -->
71
+ <snice-time-picker step="5" min-time="09:00" max-time="17:00"></snice-time-picker>
66
72
  <snice-time-picker variant="inline" value="10:00"></snice-time-picker>
67
-
68
- <!-- Disabled/readonly -->
69
- <snice-time-picker disabled value="12:00"></snice-time-picker>
70
- <snice-time-picker readonly value="15:30"></snice-time-picker>
71
-
72
- <!-- Event handling -->
73
- <snice-time-picker></snice-time-picker>
74
73
  ```
75
74
 
76
75
  ```typescript
@@ -78,21 +77,3 @@ picker.addEventListener('time-change', (e) => {
78
77
  console.log('Time:', e.detail.value, e.detail.formatted);
79
78
  });
80
79
  ```
81
-
82
- ## CSS Parts
83
-
84
- `base`, `label`, `input`, `toggle`, `dropdown`, `hours`, `minutes`, `seconds`, `period`, `clear`, `spinner`, `helper-text`, `error-text`
85
-
86
- ## Features
87
-
88
- - Form-associated custom element
89
- - Hour/minute/second scrollable columns
90
- - AM/PM toggle for 12h format
91
- - Dropdown or inline variant
92
- - 3 sizes (small, medium, large)
93
- - Loading state with spinner
94
- - Clearable with clear button
95
- - Min/max time constraints
96
- - Configurable minute step (1, 5, 10, 15, 30)
97
- - Constraint Validation API (checkValidity, reportValidity, setCustomValidity)
98
- - Keyboard accessible