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,64 +1,64 @@
1
1
  # snice-carousel
2
2
 
3
- Image/content carousel with autoplay, loop, navigation.
3
+ Content carousel with autoplay, loop, navigation controls, and multi-slide views.
4
4
 
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- activeIndex: number = 0;
8
+ activeIndex: number = 0; // attribute: active-index
9
9
  autoplay: boolean = false;
10
- autoplayInterval: number = 3000;
11
- autoplayDirection: 'forward'|'backward' = 'forward';
10
+ autoplayInterval: number = 3000; // attribute: autoplay-interval
11
+ autoplayDirection: 'forward'|'backward' = 'forward'; // attribute: autoplay-direction
12
12
  loop: boolean = true;
13
- showControls: boolean = true;
14
- showIndicators: boolean = true;
15
- slidesPerView: number = 1;
16
- spaceBetween: number = 0;
13
+ showControls: boolean = true; // attribute: show-controls
14
+ showIndicators: boolean = true; // attribute: show-indicators
15
+ slidesPerView: number = 1; // attribute: slides-per-view
16
+ spaceBetween: number = 0; // attribute: space-between
17
17
  ```
18
18
 
19
19
  ## Methods
20
20
 
21
- - `next()`, `prev()`, `goToSlide(index)`
22
- - `play()`, `pause()`
21
+ - `next()` / `prev()` - Navigate slides
22
+ - `goToSlide(index: number)` - Go to specific slide
23
+ - `play()` / `pause()` - Control autoplay
23
24
 
24
- ## Slots
25
+ ## Events
25
26
 
26
- - `(default)` - Slide content (each direct child = one slide)
27
+ - `carousel-slide-change` -> `{ activeIndex, previousIndex, carousel }`
27
28
 
28
- ## Events
29
+ ## Slots
29
30
 
30
- - `carousel-slide-change` `{ activeIndex, previousIndex, carousel }`
31
+ - `(default)` - Slide content (each direct child = one slide)
31
32
 
32
33
  ## CSS Parts
33
34
 
34
- - `container` - Outermost carousel wrapper
35
+ - `container` - Outermost wrapper
35
36
  - `viewport` - Visible slide area
36
- - `slides-container` - Flex container holding all slides
37
+ - `slides-container` - Flex container holding slides
37
38
  - `controls` - Prev/next button container
38
- - `button-prev` - Previous slide button
39
- - `button-next` - Next slide button
40
- - `indicators` - Slide indicator dot container
39
+ - `button-prev` / `button-next` - Navigation buttons
40
+ - `indicators` - Indicator dot container
41
41
  - `indicator` - Individual indicator dot
42
42
 
43
- ## Usage
43
+ ## Basic Usage
44
44
 
45
45
  ```html
46
- <!-- Basic -->
47
46
  <snice-carousel>
48
47
  <div>Slide 1</div>
49
48
  <div>Slide 2</div>
49
+ <div>Slide 3</div>
50
50
  </snice-carousel>
51
+ ```
51
52
 
52
- <!-- Autoplay -->
53
- <snice-carousel autoplay autoplay-interval="2000">
54
- <div>Auto 1</div>
55
- <div>Auto 2</div>
56
- </snice-carousel>
53
+ ```typescript
54
+ import 'snice/components/carousel/snice-carousel';
57
55
 
58
- <!-- Multiple slides -->
59
- <snice-carousel slides-per-view="3" space-between="20">
60
- <div>1</div>
61
- <div>2</div>
62
- <div>3</div>
63
- </snice-carousel>
56
+ carousel.addEventListener('carousel-slide-change', (e) => {
57
+ console.log('Active:', e.detail.activeIndex);
58
+ });
64
59
  ```
60
+
61
+ ## Accessibility
62
+
63
+ - Keyboard navigation with arrow keys
64
+ - ARIA roles and labels for controls
@@ -1,35 +1,22 @@
1
1
  # snice-cart
2
2
 
3
- Shopping cart summary with line items, quantity controls, coupon field, tax, discount, and checkout CTA.
3
+ Shopping cart with line items, quantity controls, coupon, tax, discount, and checkout.
4
4
 
5
5
  ## Properties
6
6
 
7
- ```ts
8
- items: CartItem[] = []; // Cart items
9
- currency: string = '$'; // Currency symbol
10
- taxRate: number = 0; // Tax percentage (attr: tax-rate)
11
- discount: number = 0; // Discount amount
12
- couponCode: string = ''; // Applied coupon code (attr: coupon-code)
13
- ```
14
-
15
- ### Types
16
-
17
- ```ts
18
- interface CartItem {
19
- id: string;
20
- name: string;
21
- image?: string;
22
- price: number;
23
- quantity: number;
24
- variant?: string; // e.g. 'Size: M, Color: Black'
25
- }
7
+ ```typescript
8
+ items: CartItem[] = []; // Cart items (property only)
9
+ currency: string = '$';
10
+ taxRate: number = 0; // attribute: tax-rate
11
+ discount: number = 0;
12
+ couponCode: string = ''; // attribute: coupon-code
26
13
  ```
27
14
 
28
15
  ## Methods
29
16
 
30
- - `addItem(item: CartItem)` - Add item (increments quantity if exists)
31
- - `removeItem(id: string)` - Remove item by ID
32
- - `updateQuantity(id: string, qty: number)` - Set quantity (removes if 0)
17
+ - `addItem(item: CartItem)` - Add item (increments qty if exists)
18
+ - `removeItem(id: string)` - Remove by ID
19
+ - `updateQuantity(id: string, qty: number)` - Set qty (removes if 0)
33
20
  - `applyCoupon(code: string)` - Apply coupon code
34
21
  - `clear()` - Remove all items
35
22
 
@@ -37,23 +24,25 @@ interface CartItem {
37
24
 
38
25
  - `item-add` -> `{ item: CartItem }`
39
26
  - `item-remove` -> `{ item: CartItem }`
40
- - `quantity-change` -> `{ item: CartItem; previousQuantity: number; newQuantity: number }`
27
+ - `quantity-change` -> `{ item, previousQuantity, newQuantity }`
41
28
  - `coupon-apply` -> `{ code: string }`
42
- - `checkout` -> `{ items: CartItem[]; subtotal: number; discount: number; tax: number; total: number }`
29
+ - `checkout` -> `{ items, subtotal, discount, tax, total }`
43
30
 
44
31
  ## CSS Parts
45
32
 
46
- `base`, `header`, `items`, `item`, `coupon`, `summary`, `checkout`, `empty`
33
+ - `base`, `header`, `items`, `item`, `coupon`, `summary`, `checkout`, `empty`
47
34
 
48
- ## Usage
35
+ ## Basic Usage
49
36
 
50
37
  ```html
51
- <snice-cart tax-rate="8.5" currency="$"></snice-cart>
38
+ <snice-cart tax-rate="8.5"></snice-cart>
52
39
  ```
53
40
 
54
41
  ```typescript
42
+ import 'snice/components/cart/snice-cart';
43
+
55
44
  cart.items = [
56
- { id: '1', name: 'Running Shoes', image: 'shoe.jpg', price: 89.99, quantity: 1, variant: 'Size: M' },
45
+ { id: '1', name: 'Shoes', price: 89.99, quantity: 1, variant: 'Size: M' },
57
46
  { id: '2', name: 'Watch', price: 249.00, quantity: 1 }
58
47
  ];
59
48
 
@@ -64,3 +53,9 @@ cart.addEventListener('checkout', (e) => {
64
53
  console.log(`Total: ${e.detail.total}`);
65
54
  });
66
55
  ```
56
+
57
+ ## Accessibility
58
+
59
+ - Quantity controls have descriptive aria-labels
60
+ - Remove buttons include item name
61
+ - Keyboard operable
@@ -1,139 +1,54 @@
1
1
  # snice-chart
2
2
 
3
- General-purpose chart component with multiple types and animations.
3
+ General-purpose chart component with 10 chart types and animations.
4
4
 
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
8
  type: 'line'|'bar'|'horizontal-bar'|'area'|'pie'|'donut'|'scatter'|'bubble'|'radar'|'mixed' = 'line';
9
- datasets: ChartDataset[] = [];
10
- labels: string[] = [];
11
- options: ChartOptions = {};
12
- width: number = 0;
13
- height: number = 0;
9
+ datasets: ChartDataset[] = []; // property only
10
+ labels: string[] = []; // property only
11
+ options: ChartOptions = {}; // property only
12
+ width: number = 0; // 0 = auto
13
+ height: number = 0; // 0 = auto
14
14
  ```
15
15
 
16
- ## ChartDataset
16
+ ## Methods
17
17
 
18
- ```typescript
19
- interface ChartDataset {
20
- label: string;
21
- data: (number | ChartDataPoint)[];
22
- type?: ChartType; // for mixed charts
23
- backgroundColor?: string | string[];
24
- borderColor?: string;
25
- borderWidth?: number;
26
- fill?: boolean;
27
- tension?: number; // 0-1
28
- pointRadius?: number;
29
- pointHoverRadius?: number;
30
- hidden?: boolean;
31
- }
32
- ```
18
+ - `refresh()` - Re-render chart
19
+ - `update(datasets: ChartDataset[])` - Replace all datasets
20
+ - `addDataset(dataset: ChartDataset)` - Append dataset
21
+ - `removeDataset(index: number)` - Remove by index
22
+ - `toggleDataset(index: number)` - Toggle visibility
23
+ - `exportImage(format?: 'png'|'svg'): string` - Export as data URL (default: `'svg'`)
24
+ - `getData(): { datasets, labels }` - Get current data
33
25
 
34
- ## ChartDataPoint
26
+ ## CSS Parts
35
27
 
36
- ```typescript
37
- interface ChartDataPoint {
38
- x?: number | string | Date;
39
- y?: number;
40
- r?: number; // bubble radius
41
- label?: string;
42
- }
43
- ```
28
+ - `base` - Outer chart container
29
+ - `canvas` - Chart canvas rendering area
30
+ - `legend` - Legend container
44
31
 
45
- ## ChartOptions
32
+ ## Basic Usage
46
33
 
47
- ```typescript
48
- interface ChartOptions {
49
- responsive?: boolean;
50
- maintainAspectRatio?: boolean;
51
- aspectRatio?: number;
52
- legend?: { position?: 'top'|'bottom'|'left'|'right'|'none'; clickable?: boolean };
53
- tooltip?: { trigger?: 'hover'|'click'|'none'; format?: (value, datasetIndex, pointIndex) => string };
54
- animation?: { enabled?: boolean; duration?: number; easing?: 'linear'|'ease-in'|'ease-out'|'ease-in-out' };
55
- xAxis?: { title?: string; min?: number; max?: number; ticks?: number; grid?: boolean; labels?: string[] };
56
- yAxis?: { title?: string; min?: number; max?: number; ticks?: number; grid?: boolean; labels?: string[] };
57
- }
34
+ ```html
35
+ <snice-chart type="line" height="400"></snice-chart>
58
36
  ```
59
37
 
60
- ## Methods
61
-
62
- - `refresh()` — re-render the chart
63
- - `update(datasets: ChartDataset[])` — replace all datasets
64
- - `addDataset(dataset: ChartDataset)` — append a dataset
65
- - `removeDataset(index: number)` — remove dataset by index
66
- - `toggleDataset(index: number)` — toggle dataset visibility
67
- - `exportImage(format?: 'png'|'svg')` — returns data URL string (default: `'svg'`)
68
- - `getData()` — returns `{ datasets: ChartDataset[]; labels: string[] }`
69
-
70
- ## Usage
38
+ ```typescript
39
+ import 'snice/components/chart/snice-chart';
71
40
 
72
- ```javascript
73
- // Line chart
74
41
  chart.type = 'line';
75
- chart.datasets = [{
76
- label: 'Sales',
77
- data: [12, 19, 15, 25, 22, 30],
78
- borderColor: '#2196f3',
79
- tension: 0.4
80
- }];
81
- chart.labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'];
82
-
83
- // Bar chart
84
- chart.type = 'bar';
85
- chart.datasets = [{
86
- label: 'Revenue',
87
- data: [65, 59, 80, 81, 56],
88
- backgroundColor: ['#ff6384', '#36a2eb', '#ffce56', '#4bc0c0', '#9966ff']
89
- }];
90
-
91
- // Pie chart
92
- chart.type = 'pie';
93
- chart.datasets = [{
94
- label: 'Market Share',
95
- data: [30, 25, 20, 15, 10],
96
- backgroundColor: ['#ff6384', '#36a2eb', '#ffce56', '#4bc0c0', '#9966ff']
97
- }];
98
- chart.labels = ['A', 'B', 'C', 'D', 'E'];
99
-
100
- // Scatter plot
101
- chart.type = 'scatter';
102
- chart.datasets = [{
103
- label: 'Dataset 1',
104
- data: [
105
- { x: 10, y: 20 },
106
- { x: 15, y: 25 },
107
- { x: 20, y: 22 }
108
- ],
109
- backgroundColor: '#2196f3'
110
- }];
111
-
112
- // Options
42
+ chart.datasets = [{ label: 'Sales', data: [12, 19, 15, 25], borderColor: '#2196f3' }];
43
+ chart.labels = ['Jan', 'Feb', 'Mar', 'Apr'];
113
44
  chart.options = {
114
45
  legend: { position: 'bottom', clickable: true },
115
46
  animation: { enabled: true, duration: 1000 },
116
- yAxis: { min: 0, max: 100, ticks: 5, grid: true }
47
+ yAxis: { min: 0, max: 100, grid: true }
117
48
  };
118
49
  ```
119
50
 
120
- ```html
121
- <snice-chart type="line" height="400"></snice-chart>
122
- ```
123
-
124
- **CSS Parts:**
125
- - `base` - Outer chart container div
126
- - `canvas` - Chart canvas rendering area
127
- - `legend` - Legend container
128
-
129
- ## Features
51
+ ## Accessibility
130
52
 
131
- - 10 chart types (line, bar, area, pie, donut, scatter, bubble, radar, horizontal-bar, mixed)
132
- - Multiple datasets
133
- - Interactive legend
134
- - Hover tooltips
135
- - Animations
136
- - SVG rendering
137
- - Custom colors
138
- - Grid/axes
139
- - Export capability
53
+ - Legend items clickable to toggle datasets
54
+ - Hover tooltips for data values
@@ -2,105 +2,68 @@
2
2
 
3
3
  Slack-style chat interface with messages, typing indicators, reactions, and file attachments.
4
4
 
5
- ## Usage
6
-
7
- ```html
8
- <snice-chat current-user="You"></snice-chat>
9
- ```
10
-
11
5
  ## Properties
12
6
 
13
- - `messages: ChatMessage[]` - Messages array (property only)
14
- - `currentUser: string` - Current user name (default: `"You"`)
15
- - `currentAvatar: string` - Current user avatar URL (default: `""`)
16
- - `placeholder: string` - Input placeholder (default: `"Type a message..."`)
17
- - `allowFiles: boolean` - Enable file uploads (default: `true`)
18
- - `showTyping: boolean` - Show typing indicators (default: `true`)
19
- - `showAvatars: boolean` - Show user avatars (default: `true`)
20
- - `showTimestamps: boolean` - Show timestamps (default: `true`)
7
+ ```typescript
8
+ messages: ChatMessage[] = []; // property only
9
+ currentUser: string = 'You'; // attribute: current-user
10
+ currentAvatar: string = ''; // attribute: current-avatar
11
+ placeholder: string = 'Type a message...';
12
+ allowFiles: boolean = true; // attribute: allow-files
13
+ showTyping: boolean = true; // attribute: show-typing
14
+ showAvatars: boolean = true; // attribute: show-avatars
15
+ showTimestamps: boolean = true; // attribute: show-timestamps
16
+ ```
21
17
 
22
18
  ## Methods
23
19
 
24
- - `addMessage(message: Omit<ChatMessage, 'id'>): void` - Add message
25
- - `updateMessage(messageId: string, updates: Partial<ChatMessage>): void` - Update message
26
- - `deleteMessage(messageId: string): void` - Delete message
27
- - `addTypingIndicator(user: string): void` - Add typing indicator
28
- - `removeTypingIndicator(user: string): void` - Remove typing indicator
29
- - `clear(): void` - Clear messages
30
- - `scrollToBottom(): void` - Scroll to bottom
31
- - `scrollToMessage(messageId: string): void` - Scroll to message
20
+ - `addMessage(message: Omit<ChatMessage, 'id'>)` - Add message
21
+ - `updateMessage(messageId: string, updates: Partial<ChatMessage>)` - Update message
22
+ - `deleteMessage(messageId: string)` - Delete message
23
+ - `addTypingIndicator(user: string)` - Show typing indicator
24
+ - `removeTypingIndicator(user: string)` - Remove typing indicator
25
+ - `clear()` - Clear all messages
26
+ - `scrollToBottom()` - Scroll to bottom
27
+ - `scrollToMessage(messageId: string)` - Scroll to message
32
28
 
33
29
  ## Events
34
30
 
35
- - `message-send` `{ message: string; attachments?: File[] }` - Message sent
36
- - `message-edit` `{ messageId: string; newContent: string }` - Message edited
37
- - `message-delete` `{ messageId: string }` - Message deleted
38
- - `message-react` `{ messageId: string; emoji: string }` - Reaction added
39
- - `message-thread` `{ messageId: string }` - Thread started
40
- - `typing-start` `{}` - User started typing
41
- - `typing-stop` `{}` - User stopped typing
31
+ - `message-send` -> `{ message: string, attachments?: File[] }`
32
+ - `message-edit` -> `{ messageId: string, newContent: string }`
33
+ - `message-delete` -> `{ messageId: string }`
34
+ - `message-react` -> `{ messageId: string, emoji: string }`
35
+ - `message-thread` -> `{ messageId: string }`
36
+ - `typing-start` -> `{}`
37
+ - `typing-stop` -> `{}`
38
+
39
+ ## CSS Parts
42
40
 
43
- **CSS Parts:**
44
41
  - `base` - Chat container
45
42
  - `messages` - Messages scrollable area
46
43
  - `input-area` - Input area wrapper
47
44
  - `input-container` - Input + buttons container
48
45
  - `input` - Textarea input field
49
46
 
50
- ## Message Types
51
-
52
- - `text` - Text message
53
- - `image` - Image attachment
54
- - `file` - File attachment
55
- - `system` - System notification
47
+ ## Basic Usage
56
48
 
57
- ## Types
58
-
59
- ```typescript
60
- type MessageType = 'text' | 'file' | 'image' | 'system';
61
-
62
- interface ChatMessage {
63
- id: string;
64
- type: MessageType;
65
- content: string;
66
- author: string;
67
- avatar?: string;
68
- timestamp: Date;
69
- edited?: boolean;
70
- reactions?: MessageReaction[];
71
- thread?: ChatMessage[];
72
- attachment?: MessageAttachment;
73
- }
74
-
75
- interface MessageAttachment {
76
- type: 'image' | 'file';
77
- url: string;
78
- name: string;
79
- size?: number;
80
- thumbnailUrl?: string;
81
- }
82
-
83
- interface MessageReaction {
84
- emoji: string;
85
- count: number;
86
- users: string[];
87
- }
49
+ ```html
50
+ <snice-chat current-user="You"></snice-chat>
88
51
  ```
89
52
 
90
- ## Usage
91
-
92
53
  ```typescript
93
- // Add message
94
- chat.addMessage({
95
- type: 'text', content: 'Hello!', author: 'Alice', timestamp: new Date(),
96
- });
54
+ import 'snice/components/chat/snice-chat';
55
+
56
+ chat.addMessage({ type: 'text', content: 'Hello!', author: 'Alice', timestamp: new Date() });
97
57
 
98
- // Handle send
99
58
  chat.addEventListener('message-send', (e) => {
100
59
  chat.addMessage({ type: 'text', content: e.detail.message, author: 'You', timestamp: new Date() });
101
60
  });
102
61
 
103
- // Typing indicators
104
62
  chat.addTypingIndicator('Alice');
105
63
  chat.removeTypingIndicator('Alice');
106
64
  ```
65
+
66
+ ## Accessibility
67
+
68
+ - Keyboard navigation for messages and controls
69
+ - ARIA roles for chat structure
@@ -1,6 +1,6 @@
1
1
  # snice-checkbox
2
2
 
3
- Form checkbox input with indeterminate state.
3
+ Form checkbox with indeterminate and loading states.
4
4
 
5
5
  ## Properties
6
6
 
@@ -8,75 +8,56 @@ Form checkbox input with indeterminate state.
8
8
  checked: boolean = false;
9
9
  indeterminate: boolean = false;
10
10
  disabled: boolean = false;
11
+ loading: boolean = false;
11
12
  required: boolean = false;
12
13
  invalid: boolean = false;
13
14
  size: 'small'|'medium'|'large' = 'medium';
14
15
  name: string = '';
15
16
  value: string = 'on';
16
17
  label: string = '';
17
- loading: boolean = false;
18
18
  ```
19
19
 
20
20
  ## Methods
21
21
 
22
22
  - `focus()` - Focus checkbox
23
- - `blur()` - Blur checkbox
23
+ - `blur()` - Remove focus
24
24
  - `click()` - Programmatic click
25
25
  - `toggle()` - Toggle checked state
26
26
  - `setIndeterminate()` - Set indeterminate state
27
27
 
28
28
  ## Events
29
29
 
30
- - `checkbox-change` - {checked, indeterminate, checkbox}
31
-
32
- ## Usage
33
-
34
- ```html
35
- <!-- Basic -->
36
- <snice-checkbox label="Accept terms"></snice-checkbox>
37
-
38
- <!-- Checked -->
39
- <snice-checkbox label="Enabled" checked></snice-checkbox>
40
-
41
- <!-- Indeterminate (partial selection) -->
42
- <snice-checkbox label="Select all" indeterminate></snice-checkbox>
30
+ - `checkbox-change` -> `{ checked: boolean, indeterminate: boolean, checkbox: SniceCheckboxElement }`
43
31
 
44
- <!-- Disabled -->
45
- <snice-checkbox label="Disabled" disabled></snice-checkbox>
46
-
47
- <!-- Required -->
48
- <snice-checkbox label="Required" required></snice-checkbox>
49
-
50
- <!-- Invalid -->
51
- <snice-checkbox label="Invalid" invalid></snice-checkbox>
32
+ ## CSS Parts
52
33
 
53
- <!-- Sizes -->
54
- <snice-checkbox label="Small" size="small"></snice-checkbox>
55
- <snice-checkbox label="Medium" size="medium"></snice-checkbox>
56
- <snice-checkbox label="Large" size="large"></snice-checkbox>
34
+ - `input` - Hidden checkbox input
35
+ - `checkbox` - Custom checkbox element
36
+ - `spinner` - Loading spinner
37
+ - `label` - Label text
57
38
 
58
- <!-- Form integration -->
59
- <snice-checkbox name="newsletter" value="yes" label="Subscribe"></snice-checkbox>
39
+ ## Basic Usage
60
40
 
61
- <!-- Event handling -->
62
- <snice-checkbox></snice-checkbox>
41
+ ```html
42
+ <snice-checkbox label="Accept terms"></snice-checkbox>
63
43
  ```
64
44
 
65
45
  ```typescript
46
+ import 'snice/components/checkbox/snice-checkbox';
47
+
66
48
  checkbox.addEventListener('checkbox-change', (e) => {
67
49
  console.log('Checked:', e.detail.checked);
68
50
  });
69
51
  ```
70
52
 
71
- ## CSS Parts
53
+ ## Keyboard Navigation
72
54
 
73
- `input`, `checkbox`, `spinner`, `label`
55
+ - Space: toggle
56
+ - Tab: navigate
74
57
 
75
- ## Features
58
+ ## Accessibility
76
59
 
77
- - Form-associated custom element
78
- - Indeterminate state
79
- - 3 sizes
80
- - Keyboard accessible
81
- - Change events
82
- - Invalid state styling
60
+ - aria-checked (including "mixed" for indeterminate)
61
+ - aria-invalid for validation
62
+ - Screen reader label association
63
+ - Focus indicators