snice 4.28.0 → 4.30.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 (835) hide show
  1. package/README.md +3 -10
  2. package/adapters/react/SniceProvider.d.ts +71 -0
  3. package/adapters/react/SniceProvider.js +49 -0
  4. package/adapters/react/SniceProvider.js.map +1 -0
  5. package/adapters/react/SniceRouter.d.ts +44 -0
  6. package/adapters/react/SniceRouter.js +190 -0
  7. package/adapters/react/SniceRouter.js.map +1 -0
  8. package/adapters/react/action-bar.d.ts +30 -0
  9. package/adapters/react/action-bar.d.ts.map +1 -0
  10. package/adapters/react/action-bar.js +24 -0
  11. package/adapters/react/action-bar.js.map +1 -0
  12. package/adapters/react/action-bar.tsx +38 -0
  13. package/adapters/react/binpack.d.ts +35 -0
  14. package/adapters/react/binpack.d.ts.map +1 -0
  15. package/adapters/react/binpack.js +24 -0
  16. package/adapters/react/binpack.js.map +1 -0
  17. package/adapters/react/binpack.tsx +43 -0
  18. package/adapters/react/components.d.ts +6 -0
  19. package/adapters/react/components.d.ts.map +1 -1
  20. package/adapters/react/components.js +3 -0
  21. package/adapters/react/components.js.map +1 -1
  22. package/adapters/react/components.ts +6 -0
  23. package/adapters/react/grid.d.ts +36 -0
  24. package/adapters/react/grid.d.ts.map +1 -0
  25. package/adapters/react/grid.js +24 -0
  26. package/adapters/react/grid.js.map +1 -0
  27. package/adapters/react/grid.tsx +44 -0
  28. package/adapters/react/index.d.ts +5 -0
  29. package/adapters/react/index.d.ts.map +1 -1
  30. package/adapters/react/index.js +3 -2
  31. package/adapters/react/index.js.map +1 -1
  32. package/adapters/react/index.ts +6 -3
  33. package/adapters/react/matchRoute.d.ts +16 -0
  34. package/adapters/react/matchRoute.js +32 -0
  35. package/adapters/react/matchRoute.js.map +1 -0
  36. package/adapters/react/types.d.ts +1 -15
  37. package/adapters/react/types.d.ts.map +1 -1
  38. package/adapters/react/types.ts +1 -15
  39. package/adapters/react/useRequestHandler.d.ts +56 -0
  40. package/adapters/react/useRequestHandler.js +103 -0
  41. package/adapters/react/useRequestHandler.js.map +1 -0
  42. package/bin/snice.js +8 -13
  43. package/bin/templates/{pwa → default}/index.html +1 -1
  44. package/bin/templates/{pwa → default}/src/components/app-header.ts +36 -18
  45. package/bin/templates/{pwa → default}/src/components/notification-badge.ts +2 -21
  46. package/bin/templates/{pwa → default}/src/components/search-bar.ts +12 -12
  47. package/bin/templates/default/src/context.ts +17 -0
  48. package/bin/templates/{pwa → default}/src/controllers/notification-controller.ts +10 -15
  49. package/bin/templates/{pwa → default}/src/daemons/notifications.ts +0 -12
  50. package/bin/templates/{pwa → default}/src/main.ts +1 -7
  51. package/bin/templates/{pwa → default}/src/middleware/error.ts +1 -8
  52. package/bin/templates/{pwa → default}/src/pages/dashboard.ts +17 -18
  53. package/bin/templates/{pwa → default}/src/pages/data.ts +24 -24
  54. package/bin/templates/{pwa → default}/src/pages/login.ts +3 -6
  55. package/bin/templates/{pwa → default}/src/pages/notifications.ts +21 -19
  56. package/bin/templates/{pwa → default}/src/pages/profile.ts +10 -12
  57. package/bin/templates/{pwa → default}/src/pages/settings.ts +22 -22
  58. package/bin/templates/default/src/router.ts +13 -0
  59. package/bin/templates/default/src/styles/global.css +16 -0
  60. package/bin/templates/{pwa → default}/tsconfig.json +2 -1
  61. package/bin/templates/react/README.md +124 -0
  62. package/bin/templates/react/global.d.ts +10 -0
  63. package/bin/templates/react/index.html +15 -0
  64. package/bin/templates/react/package.json +31 -0
  65. package/bin/templates/react/src/App.tsx +112 -0
  66. package/bin/templates/react/src/components/AppHeader.tsx +85 -0
  67. package/bin/templates/react/src/components/AppLayout.tsx +11 -0
  68. package/bin/templates/react/src/components/NotificationBadge.tsx +13 -0
  69. package/bin/templates/react/src/components/SearchBar.tsx +63 -0
  70. package/bin/templates/react/src/daemons/notifications.ts +136 -0
  71. package/bin/templates/react/src/fetcher.ts +15 -0
  72. package/bin/templates/react/src/guards/auth.ts +6 -0
  73. package/bin/templates/react/src/main.tsx +27 -0
  74. package/bin/templates/react/src/middleware/auth.ts +16 -0
  75. package/bin/templates/react/src/middleware/error.ts +29 -0
  76. package/bin/templates/react/src/middleware/retry.ts +31 -0
  77. package/bin/templates/react/src/pages/DashboardPage.tsx +111 -0
  78. package/bin/templates/react/src/pages/DataPage.tsx +119 -0
  79. package/bin/templates/react/src/pages/LoginPage.tsx +46 -0
  80. package/bin/templates/react/src/pages/NotificationsPage.tsx +119 -0
  81. package/bin/templates/react/src/pages/ProfilePage.tsx +92 -0
  82. package/bin/templates/react/src/pages/SettingsPage.tsx +165 -0
  83. package/bin/templates/react/src/services/auth.ts +48 -0
  84. package/bin/templates/react/src/services/jwt.ts +35 -0
  85. package/bin/templates/react/src/services/storage.ts +24 -0
  86. package/bin/templates/react/src/styles/global.css +382 -0
  87. package/bin/templates/react/src/types/auth.ts +21 -0
  88. package/bin/templates/react/src/types/notifications.ts +9 -0
  89. package/bin/templates/react/tests/helpers/test-utils.ts +79 -0
  90. package/bin/templates/react/tests/middleware/auth.test.ts +67 -0
  91. package/bin/templates/react/tests/middleware/error.test.ts +105 -0
  92. package/bin/templates/react/tests/middleware/retry.test.ts +103 -0
  93. package/bin/templates/react/tests/services/auth.test.ts +89 -0
  94. package/bin/templates/react/tests/services/jwt.test.ts +76 -0
  95. package/bin/templates/react/tests/services/storage.test.ts +69 -0
  96. package/bin/templates/{base → react}/tsconfig.json +4 -6
  97. package/bin/templates/react/vite.config.ts +18 -0
  98. package/bin/templates/react/vitest.config.ts +18 -0
  99. package/dist/cdn/accordion/snice-accordion.js +1 -1
  100. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  101. package/dist/cdn/action-bar/README.md +27 -0
  102. package/dist/cdn/action-bar/snice-action-bar.js +249 -0
  103. package/dist/cdn/action-bar/snice-action-bar.js.map +1 -0
  104. package/dist/cdn/action-bar/snice-action-bar.min.js +12 -0
  105. package/dist/cdn/action-bar/snice-action-bar.min.js.map +1 -0
  106. package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
  107. package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
  108. package/dist/cdn/alert/snice-alert.js +1 -1
  109. package/dist/cdn/alert/snice-alert.min.js +1 -1
  110. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  111. package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
  112. package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
  113. package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
  114. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  115. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  116. package/dist/cdn/availability/snice-availability.js +1 -1
  117. package/dist/cdn/availability/snice-availability.min.js +1 -1
  118. package/dist/cdn/avatar/snice-avatar.js +1 -1
  119. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  120. package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
  121. package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
  122. package/dist/cdn/badge/snice-badge.js +1 -1
  123. package/dist/cdn/badge/snice-badge.min.js +1 -1
  124. package/dist/cdn/banner/snice-banner.js +1 -1
  125. package/dist/cdn/banner/snice-banner.min.js +1 -1
  126. package/dist/cdn/binpack/README.md +27 -0
  127. package/dist/cdn/binpack/snice-binpack.js +1037 -0
  128. package/dist/cdn/binpack/snice-binpack.js.map +1 -0
  129. package/dist/cdn/binpack/snice-binpack.min.js +13 -0
  130. package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
  131. package/dist/cdn/book/snice-book.js +1 -1
  132. package/dist/cdn/book/snice-book.min.js +1 -1
  133. package/dist/cdn/booking/snice-booking.js +1 -1
  134. package/dist/cdn/booking/snice-booking.min.js +1 -1
  135. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  136. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  137. package/dist/cdn/button/README.md +1 -1
  138. package/dist/cdn/button/snice-button.js +2 -2
  139. package/dist/cdn/button/snice-button.js.map +1 -1
  140. package/dist/cdn/button/snice-button.min.js +2 -2
  141. package/dist/cdn/button/snice-button.min.js.map +1 -1
  142. package/dist/cdn/calendar/snice-calendar.js +1 -1
  143. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  144. package/dist/cdn/camera/snice-camera.js +1 -1
  145. package/dist/cdn/camera/snice-camera.min.js +1 -1
  146. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  147. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  148. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  149. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  150. package/dist/cdn/card/snice-card.js +1 -1
  151. package/dist/cdn/card/snice-card.min.js +1 -1
  152. package/dist/cdn/carousel/snice-carousel.js +1 -1
  153. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  154. package/dist/cdn/cart/snice-cart.js +1 -1
  155. package/dist/cdn/cart/snice-cart.min.js +1 -1
  156. package/dist/cdn/chart/snice-chart.js +1 -1
  157. package/dist/cdn/chart/snice-chart.min.js +1 -1
  158. package/dist/cdn/chat/snice-chat.js +1 -1
  159. package/dist/cdn/chat/snice-chat.min.js +1 -1
  160. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  161. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  162. package/dist/cdn/chip/README.md +2 -2
  163. package/dist/cdn/chip/snice-chip.js +2 -2
  164. package/dist/cdn/chip/snice-chip.js.map +1 -1
  165. package/dist/cdn/chip/snice-chip.min.js +3 -3
  166. package/dist/cdn/chip/snice-chip.min.js.map +1 -1
  167. package/dist/cdn/code-block/snice-code-block.js +1 -1
  168. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  169. package/dist/cdn/color-display/snice-color-display.js +1 -1
  170. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  171. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  172. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  173. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  174. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  175. package/dist/cdn/comments/snice-comments.js +1 -1
  176. package/dist/cdn/comments/snice-comments.min.js +1 -1
  177. package/dist/cdn/countdown/snice-countdown.js +1 -1
  178. package/dist/cdn/countdown/snice-countdown.min.js +1 -1
  179. package/dist/cdn/cropper/snice-cropper.js +1 -1
  180. package/dist/cdn/cropper/snice-cropper.min.js +1 -1
  181. package/dist/cdn/data-card/snice-data-card.js +1 -1
  182. package/dist/cdn/data-card/snice-data-card.min.js +1 -1
  183. package/dist/cdn/date-picker/README.md +1 -1
  184. package/dist/cdn/date-picker/snice-date-picker.js +2 -2
  185. package/dist/cdn/date-picker/snice-date-picker.js.map +1 -1
  186. package/dist/cdn/date-picker/snice-date-picker.min.js +2 -2
  187. package/dist/cdn/date-picker/snice-date-picker.min.js.map +1 -1
  188. package/dist/cdn/date-range-picker/README.md +1 -1
  189. package/dist/cdn/date-range-picker/snice-date-range-picker.js +2 -2
  190. package/dist/cdn/date-range-picker/snice-date-range-picker.js.map +1 -1
  191. package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +11 -11
  192. package/dist/cdn/date-range-picker/snice-date-range-picker.min.js.map +1 -1
  193. package/dist/cdn/date-time-picker/README.md +1 -1
  194. package/dist/cdn/date-time-picker/snice-date-time-picker.js +2 -2
  195. package/dist/cdn/date-time-picker/snice-date-time-picker.js.map +1 -1
  196. package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +2 -2
  197. package/dist/cdn/date-time-picker/snice-date-time-picker.min.js.map +1 -1
  198. package/dist/cdn/diff/snice-diff.js +1 -1
  199. package/dist/cdn/diff/snice-diff.min.js +1 -1
  200. package/dist/cdn/divider/snice-divider.js +1 -1
  201. package/dist/cdn/divider/snice-divider.min.js +1 -1
  202. package/dist/cdn/doc/snice-doc.js +1 -1
  203. package/dist/cdn/doc/snice-doc.min.js +1 -1
  204. package/dist/cdn/draw/README.md +2 -2
  205. package/dist/cdn/draw/snice-draw.js +26 -4
  206. package/dist/cdn/draw/snice-draw.js.map +1 -1
  207. package/dist/cdn/draw/snice-draw.min.js +3 -3
  208. package/dist/cdn/draw/snice-draw.min.js.map +1 -1
  209. package/dist/cdn/drawer/snice-drawer.js +1 -1
  210. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  211. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  212. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  213. package/dist/cdn/estimate/snice-estimate.js +1 -1
  214. package/dist/cdn/estimate/snice-estimate.min.js +1 -1
  215. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  216. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  217. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  218. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  219. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  220. package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
  221. package/dist/cdn/flow/snice-flow.js +1 -1
  222. package/dist/cdn/flow/snice-flow.min.js +1 -1
  223. package/dist/cdn/form-layout/snice-form-layout.js +1 -1
  224. package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
  225. package/dist/cdn/funnel/snice-funnel.js +1 -1
  226. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  227. package/dist/cdn/gantt/snice-gantt.js +1 -1
  228. package/dist/cdn/gantt/snice-gantt.min.js +1 -1
  229. package/dist/cdn/gauge/snice-gauge.js +1 -1
  230. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  231. package/dist/cdn/grid/README.md +27 -0
  232. package/dist/cdn/grid/snice-grid.js +862 -0
  233. package/dist/cdn/grid/snice-grid.js.map +1 -0
  234. package/dist/cdn/grid/snice-grid.min.js +13 -0
  235. package/dist/cdn/grid/snice-grid.min.js.map +1 -0
  236. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  237. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  238. package/dist/cdn/image/snice-image.js +1 -1
  239. package/dist/cdn/image/snice-image.min.js +1 -1
  240. package/dist/cdn/input/snice-input.js +1 -1
  241. package/dist/cdn/input/snice-input.min.js +1 -1
  242. package/dist/cdn/invoice/snice-invoice.js +1 -1
  243. package/dist/cdn/invoice/snice-invoice.min.js +1 -1
  244. package/dist/cdn/kanban/snice-kanban.js +1 -1
  245. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  246. package/dist/cdn/key-value/snice-key-value.js +1 -1
  247. package/dist/cdn/key-value/snice-key-value.min.js +1 -1
  248. package/dist/cdn/kpi/snice-kpi.js +1 -1
  249. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  250. package/dist/cdn/layout/snice-layout.js +1 -1
  251. package/dist/cdn/layout/snice-layout.min.js +1 -1
  252. package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
  253. package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
  254. package/dist/cdn/link/snice-link.js +1 -1
  255. package/dist/cdn/link/snice-link.min.js +1 -1
  256. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  257. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  258. package/dist/cdn/list/snice-list.js +1 -1
  259. package/dist/cdn/list/snice-list.min.js +1 -1
  260. package/dist/cdn/location/snice-location.js +1 -1
  261. package/dist/cdn/location/snice-location.min.js +1 -1
  262. package/dist/cdn/login/README.md +2 -2
  263. package/dist/cdn/login/snice-login.js +2 -2
  264. package/dist/cdn/login/snice-login.js.map +1 -1
  265. package/dist/cdn/login/snice-login.min.js +2 -2
  266. package/dist/cdn/login/snice-login.min.js.map +1 -1
  267. package/dist/cdn/map/snice-map.js +1 -1
  268. package/dist/cdn/map/snice-map.min.js +1 -1
  269. package/dist/cdn/markdown/snice-markdown.js +1 -1
  270. package/dist/cdn/markdown/snice-markdown.min.js +1 -1
  271. package/dist/cdn/masonry/snice-masonry.js +1 -1
  272. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  273. package/dist/cdn/menu/snice-menu.js +1 -1
  274. package/dist/cdn/menu/snice-menu.min.js +1 -1
  275. package/dist/cdn/message-strip/README.md +2 -2
  276. package/dist/cdn/message-strip/snice-message-strip.js +2 -2
  277. package/dist/cdn/message-strip/snice-message-strip.js.map +1 -1
  278. package/dist/cdn/message-strip/snice-message-strip.min.js +6 -6
  279. package/dist/cdn/message-strip/snice-message-strip.min.js.map +1 -1
  280. package/dist/cdn/metric-table/snice-metric-table.js +1 -1
  281. package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
  282. package/dist/cdn/modal/snice-modal.js +1 -1
  283. package/dist/cdn/modal/snice-modal.min.js +1 -1
  284. package/dist/cdn/music-player/snice-music-player.js +1 -1
  285. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  286. package/dist/cdn/nav/snice-nav.js +1 -1
  287. package/dist/cdn/nav/snice-nav.min.js +1 -1
  288. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  289. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  290. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  291. package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
  292. package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
  293. package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
  294. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  295. package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
  296. package/dist/cdn/pagination/snice-pagination.js +1 -1
  297. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  298. package/dist/cdn/paint/README.md +2 -2
  299. package/dist/cdn/paint/snice-paint.js +26 -3
  300. package/dist/cdn/paint/snice-paint.js.map +1 -1
  301. package/dist/cdn/paint/snice-paint.min.js +3 -3
  302. package/dist/cdn/paint/snice-paint.min.js.map +1 -1
  303. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  304. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
  305. package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
  306. package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
  307. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  308. package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
  309. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  310. package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
  311. package/dist/cdn/product-card/README.md +1 -1
  312. package/dist/cdn/product-card/snice-product-card.js +1 -1
  313. package/dist/cdn/product-card/snice-product-card.min.js +1 -1
  314. package/dist/cdn/progress/snice-progress.js +1 -1
  315. package/dist/cdn/progress/snice-progress.min.js +1 -1
  316. package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
  317. package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
  318. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  319. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  320. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  321. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  322. package/dist/cdn/radio/snice-radio.js +1 -1
  323. package/dist/cdn/radio/snice-radio.min.js +1 -1
  324. package/dist/cdn/range-slider/snice-range-slider.js +1 -1
  325. package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
  326. package/dist/cdn/rating/snice-rating.js +1 -1
  327. package/dist/cdn/rating/snice-rating.min.js +1 -1
  328. package/dist/cdn/receipt/snice-receipt.js +1 -1
  329. package/dist/cdn/receipt/snice-receipt.min.js +1 -1
  330. package/dist/cdn/recipe/snice-recipe.js +1 -1
  331. package/dist/cdn/recipe/snice-recipe.min.js +1 -1
  332. package/dist/cdn/runtime/README.md +2 -2
  333. package/dist/cdn/runtime/snice-runtime.esm.js +109 -16
  334. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  335. package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
  336. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  337. package/dist/cdn/runtime/snice-runtime.js +109 -15
  338. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  339. package/dist/cdn/runtime/snice-runtime.min.js +7 -7
  340. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  341. package/dist/cdn/sankey/snice-sankey.js +1 -1
  342. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  343. package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
  344. package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
  345. package/dist/cdn/select/snice-select.js +1 -1
  346. package/dist/cdn/select/snice-select.min.js +1 -1
  347. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  348. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  349. package/dist/cdn/slider/snice-slider.js +1 -1
  350. package/dist/cdn/slider/snice-slider.min.js +1 -1
  351. package/dist/cdn/sortable/snice-sortable.js +1 -1
  352. package/dist/cdn/sortable/snice-sortable.min.js +1 -1
  353. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  354. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  355. package/dist/cdn/spinner/snice-spinner.js +1 -1
  356. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  357. package/dist/cdn/split-button/snice-split-button.js +1 -1
  358. package/dist/cdn/split-button/snice-split-button.min.js +1 -1
  359. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  360. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  361. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  362. package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
  363. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
  364. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
  365. package/dist/cdn/stat-group/snice-stat-group.js +1 -1
  366. package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
  367. package/dist/cdn/step-input/snice-step-input.js +1 -1
  368. package/dist/cdn/step-input/snice-step-input.min.js +1 -1
  369. package/dist/cdn/stepper/snice-stepper.js +1 -1
  370. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  371. package/dist/cdn/switch/snice-switch.js +1 -1
  372. package/dist/cdn/switch/snice-switch.min.js +1 -1
  373. package/dist/cdn/table/README.md +1 -1
  374. package/dist/cdn/table/snice-table.js +2 -2
  375. package/dist/cdn/table/snice-table.js.map +1 -1
  376. package/dist/cdn/table/snice-table.min.js +2 -2
  377. package/dist/cdn/table/snice-table.min.js.map +1 -1
  378. package/dist/cdn/tabs/snice-tabs.js +1 -1
  379. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  380. package/dist/cdn/tag/README.md +1 -1
  381. package/dist/cdn/tag/snice-tag.js +2 -2
  382. package/dist/cdn/tag/snice-tag.js.map +1 -1
  383. package/dist/cdn/tag/snice-tag.min.js +3 -3
  384. package/dist/cdn/tag/snice-tag.min.js.map +1 -1
  385. package/dist/cdn/tag-input/README.md +2 -2
  386. package/dist/cdn/tag-input/snice-tag-input.js +2 -2
  387. package/dist/cdn/tag-input/snice-tag-input.js.map +1 -1
  388. package/dist/cdn/tag-input/snice-tag-input.min.js +2 -2
  389. package/dist/cdn/tag-input/snice-tag-input.min.js.map +1 -1
  390. package/dist/cdn/terminal/snice-terminal.js +1 -1
  391. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  392. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  393. package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
  394. package/dist/cdn/textarea/snice-textarea.js +1 -1
  395. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  396. package/dist/cdn/time-picker/README.md +1 -1
  397. package/dist/cdn/time-picker/snice-time-picker.js +2 -2
  398. package/dist/cdn/time-picker/snice-time-picker.js.map +1 -1
  399. package/dist/cdn/time-picker/snice-time-picker.min.js +2 -2
  400. package/dist/cdn/time-picker/snice-time-picker.min.js.map +1 -1
  401. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  402. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  403. package/dist/cdn/timeline/snice-timeline.js +1 -1
  404. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  405. package/dist/cdn/timer/snice-timer.js +1 -1
  406. package/dist/cdn/timer/snice-timer.min.js +1 -1
  407. package/dist/cdn/toast/README.md +1 -1
  408. package/dist/cdn/toast/snice-toast.js +7 -3
  409. package/dist/cdn/toast/snice-toast.js.map +1 -1
  410. package/dist/cdn/toast/snice-toast.min.js +6 -6
  411. package/dist/cdn/toast/snice-toast.min.js.map +1 -1
  412. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  413. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  414. package/dist/cdn/tree/snice-tree.js +1 -1
  415. package/dist/cdn/tree/snice-tree.min.js +1 -1
  416. package/dist/cdn/treemap/snice-treemap.js +1 -1
  417. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  418. package/dist/cdn/user-card/snice-user-card.js +1 -1
  419. package/dist/cdn/user-card/snice-user-card.min.js +1 -1
  420. package/dist/cdn/video-player/snice-video-player.js +1 -1
  421. package/dist/cdn/video-player/snice-video-player.min.js +1 -1
  422. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  423. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  424. package/dist/cdn/waterfall/README.md +1 -1
  425. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  426. package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
  427. package/dist/cdn/weather/snice-weather.js +1 -1
  428. package/dist/cdn/weather/snice-weather.min.js +1 -1
  429. package/dist/cdn/work-order/snice-work-order.js +1 -1
  430. package/dist/cdn/work-order/snice-work-order.min.js +1 -1
  431. package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
  432. package/dist/components/action-bar/snice-action-bar.js +182 -0
  433. package/dist/components/action-bar/snice-action-bar.js.map +1 -0
  434. package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
  435. package/dist/components/binpack/snice-binpack.d.ts +82 -0
  436. package/dist/components/binpack/snice-binpack.js +970 -0
  437. package/dist/components/binpack/snice-binpack.js.map +1 -0
  438. package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
  439. package/dist/components/button/snice-button.js +1 -1
  440. package/dist/components/button/snice-button.js.map +1 -1
  441. package/dist/components/chip/snice-chip.js +1 -1
  442. package/dist/components/chip/snice-chip.js.map +1 -1
  443. package/dist/components/date-picker/snice-date-picker.js +1 -1
  444. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  445. package/dist/components/date-range-picker/snice-date-range-picker.js +1 -1
  446. package/dist/components/date-range-picker/snice-date-range-picker.js.map +1 -1
  447. package/dist/components/date-time-picker/snice-date-time-picker.js +1 -1
  448. package/dist/components/date-time-picker/snice-date-time-picker.js.map +1 -1
  449. package/dist/components/draw/snice-draw.d.ts +2 -0
  450. package/dist/components/draw/snice-draw.js +25 -3
  451. package/dist/components/draw/snice-draw.js.map +1 -1
  452. package/dist/components/grid/snice-grid.d.ts +73 -0
  453. package/dist/components/grid/snice-grid.js +795 -0
  454. package/dist/components/grid/snice-grid.js.map +1 -0
  455. package/dist/components/grid/snice-grid.types.d.ts +41 -0
  456. package/dist/components/message-strip/snice-message-strip.js +1 -1
  457. package/dist/components/message-strip/snice-message-strip.js.map +1 -1
  458. package/dist/components/paint/snice-paint.d.ts +2 -0
  459. package/dist/components/paint/snice-paint.js +25 -2
  460. package/dist/components/paint/snice-paint.js.map +1 -1
  461. package/dist/components/tag/snice-tag.js +1 -1
  462. package/dist/components/tag/snice-tag.js.map +1 -1
  463. package/dist/components/tag-input/snice-tag-input.js +1 -1
  464. package/dist/components/tag-input/snice-tag-input.js.map +1 -1
  465. package/dist/components/theme/theme.css +15 -0
  466. package/dist/components/time-picker/snice-time-picker.js +1 -1
  467. package/dist/components/time-picker/snice-time-picker.js.map +1 -1
  468. package/dist/components/toast/snice-toast-container.js +4 -0
  469. package/dist/components/toast/snice-toast-container.js.map +1 -1
  470. package/dist/components/toast/snice-toast.js +2 -2
  471. package/dist/create-request-handler.d.ts +42 -0
  472. package/dist/index.cjs +106 -12
  473. package/dist/index.cjs.map +1 -1
  474. package/dist/index.d.ts +2 -0
  475. package/dist/index.esm.js +106 -13
  476. package/dist/index.esm.js.map +1 -1
  477. package/dist/index.iife.js +106 -12
  478. package/dist/index.iife.js.map +1 -1
  479. package/dist/react/SniceProvider.d.ts +71 -0
  480. package/dist/react/SniceProvider.js +49 -0
  481. package/dist/react/SniceProvider.js.map +1 -0
  482. package/dist/react/SniceRouter.d.ts +44 -0
  483. package/dist/react/SniceRouter.js +190 -0
  484. package/dist/react/SniceRouter.js.map +1 -0
  485. package/dist/react/index.d.ts +3 -0
  486. package/dist/react/index.js +14 -0
  487. package/dist/react/index.js.map +1 -0
  488. package/dist/react/matchRoute.d.ts +16 -0
  489. package/dist/react/matchRoute.js +32 -0
  490. package/dist/react/matchRoute.js.map +1 -0
  491. package/dist/react/useRequestHandler.d.ts +56 -0
  492. package/dist/react/useRequestHandler.js +103 -0
  493. package/dist/react/useRequestHandler.js.map +1 -0
  494. package/dist/symbols.cjs +1 -1
  495. package/dist/symbols.esm.js +1 -1
  496. package/dist/transitions.cjs +1 -1
  497. package/dist/transitions.esm.js +1 -1
  498. package/dist/types/guard.d.ts +4 -11
  499. package/docs/ai/DEVELOPMENT.md +1 -1
  500. package/docs/ai/README.md +7 -7
  501. package/docs/ai/components/accordion.md +46 -80
  502. package/docs/ai/components/action-bar.md +75 -0
  503. package/docs/ai/components/activity-feed.md +7 -7
  504. package/docs/ai/components/alert.md +26 -44
  505. package/docs/ai/components/app-tiles.md +34 -39
  506. package/docs/ai/components/approval-flow.md +1 -1
  507. package/docs/ai/components/audio-recorder.md +35 -67
  508. package/docs/ai/components/availability.md +13 -34
  509. package/docs/ai/components/avatar-group.md +26 -13
  510. package/docs/ai/components/avatar.md +52 -36
  511. package/docs/ai/components/badge.md +21 -32
  512. package/docs/ai/components/banner.md +21 -43
  513. package/docs/ai/components/binpack.md +89 -0
  514. package/docs/ai/components/book.md +25 -23
  515. package/docs/ai/components/booking.md +31 -36
  516. package/docs/ai/components/breadcrumbs.md +36 -11
  517. package/docs/ai/components/button.md +33 -44
  518. package/docs/ai/components/calendar.md +37 -70
  519. package/docs/ai/components/camera-annotate.md +31 -64
  520. package/docs/ai/components/camera.md +38 -120
  521. package/docs/ai/components/candlestick.md +32 -52
  522. package/docs/ai/components/card.md +20 -30
  523. package/docs/ai/components/carousel.md +32 -32
  524. package/docs/ai/components/cart.md +24 -29
  525. package/docs/ai/components/chart.md +29 -114
  526. package/docs/ai/components/chat.md +38 -75
  527. package/docs/ai/components/checkbox.md +22 -41
  528. package/docs/ai/components/chip.md +18 -54
  529. package/docs/ai/components/code-block.md +57 -178
  530. package/docs/ai/components/color-display.md +12 -32
  531. package/docs/ai/components/color-picker.md +17 -39
  532. package/docs/ai/components/command-palette.md +49 -71
  533. package/docs/ai/components/comments.md +55 -36
  534. package/docs/ai/components/countdown.md +28 -30
  535. package/docs/ai/components/cropper.md +33 -33
  536. package/docs/ai/components/data-card.md +20 -14
  537. package/docs/ai/components/date-picker.md +40 -47
  538. package/docs/ai/components/date-range-picker.md +31 -15
  539. package/docs/ai/components/date-time-picker.md +23 -46
  540. package/docs/ai/components/diff.md +30 -31
  541. package/docs/ai/components/divider.md +17 -47
  542. package/docs/ai/components/doc.md +43 -68
  543. package/docs/ai/components/draw.md +35 -87
  544. package/docs/ai/components/drawer.md +48 -77
  545. package/docs/ai/components/empty-state.md +10 -44
  546. package/docs/ai/components/estimate.md +33 -58
  547. package/docs/ai/components/file-gallery.md +48 -100
  548. package/docs/ai/components/file-upload.md +17 -53
  549. package/docs/ai/components/flip-card.md +31 -23
  550. package/docs/ai/components/flow.md +37 -65
  551. package/docs/ai/components/form-builder.md +35 -75
  552. package/docs/ai/components/form-layout.md +10 -20
  553. package/docs/ai/components/funnel.md +33 -48
  554. package/docs/ai/components/gantt.md +27 -23
  555. package/docs/ai/components/gauge.md +16 -17
  556. package/docs/ai/components/grid.md +116 -0
  557. package/docs/ai/components/heatmap.md +21 -21
  558. package/docs/ai/components/image.md +7 -13
  559. package/docs/ai/components/input.md +38 -70
  560. package/docs/ai/components/invoice.md +35 -36
  561. package/docs/ai/components/kanban.md +32 -61
  562. package/docs/ai/components/key-value.md +32 -16
  563. package/docs/ai/components/kpi.md +38 -73
  564. package/docs/ai/components/layout.md +29 -23
  565. package/docs/ai/components/leaderboard.md +28 -37
  566. package/docs/ai/components/link-preview.md +12 -18
  567. package/docs/ai/components/link.md +10 -7
  568. package/docs/ai/components/list.md +21 -5
  569. package/docs/ai/components/location.md +21 -25
  570. package/docs/ai/components/login.md +14 -9
  571. package/docs/ai/components/map.md +27 -33
  572. package/docs/ai/components/markdown.md +20 -24
  573. package/docs/ai/components/masonry.md +10 -14
  574. package/docs/ai/components/mentions.md +26 -12
  575. package/docs/ai/components/menu.md +54 -52
  576. package/docs/ai/components/message-strip.md +20 -20
  577. package/docs/ai/components/metric-table.md +14 -21
  578. package/docs/ai/components/modal.md +27 -18
  579. package/docs/ai/components/music-player.md +49 -41
  580. package/docs/ai/components/nav.md +34 -31
  581. package/docs/ai/components/network-graph.md +27 -42
  582. package/docs/ai/components/notification-center.md +31 -33
  583. package/docs/ai/components/order-tracker.md +36 -27
  584. package/docs/ai/components/org-chart.md +36 -31
  585. package/docs/ai/components/pagination.md +34 -26
  586. package/docs/ai/components/paint.md +53 -91
  587. package/docs/ai/components/pdf-viewer.md +35 -36
  588. package/docs/ai/components/permission-matrix.md +26 -31
  589. package/docs/ai/components/podcast-player.md +64 -70
  590. package/docs/ai/components/pricing-table.md +37 -48
  591. package/docs/ai/components/product-card.md +58 -41
  592. package/docs/ai/components/progress-ring.md +20 -24
  593. package/docs/ai/components/progress.md +28 -45
  594. package/docs/ai/components/qr-code.md +25 -27
  595. package/docs/ai/components/qr-reader.md +20 -23
  596. package/docs/ai/components/radio.md +17 -15
  597. package/docs/ai/components/range-slider.md +22 -11
  598. package/docs/ai/components/rating.md +29 -33
  599. package/docs/ai/components/receipt.md +50 -127
  600. package/docs/ai/components/recipe.md +44 -42
  601. package/docs/ai/components/sankey.md +21 -30
  602. package/docs/ai/components/scheduler.md +29 -41
  603. package/docs/ai/components/segmented-control.md +11 -15
  604. package/docs/ai/components/select.md +58 -102
  605. package/docs/ai/components/skeleton.md +16 -30
  606. package/docs/ai/components/slider.md +26 -20
  607. package/docs/ai/components/sortable.md +25 -27
  608. package/docs/ai/components/sparkline.md +21 -17
  609. package/docs/ai/components/spinner.md +9 -5
  610. package/docs/ai/components/split-button.md +10 -13
  611. package/docs/ai/components/split-pane.md +19 -14
  612. package/docs/ai/components/spotlight.md +31 -26
  613. package/docs/ai/components/spreadsheet.md +51 -97
  614. package/docs/ai/components/stat-group.md +9 -19
  615. package/docs/ai/components/step-input.md +17 -15
  616. package/docs/ai/components/stepper.md +14 -15
  617. package/docs/ai/components/switch.md +15 -9
  618. package/docs/ai/components/table.md +24 -84
  619. package/docs/ai/components/tabs.md +18 -10
  620. package/docs/ai/components/tag-input.md +18 -29
  621. package/docs/ai/components/tag.md +10 -22
  622. package/docs/ai/components/terminal.md +9 -9
  623. package/docs/ai/components/testimonial.md +9 -19
  624. package/docs/ai/components/textarea.md +15 -16
  625. package/docs/ai/components/theme.md +3 -3
  626. package/docs/ai/components/time-picker.md +30 -49
  627. package/docs/ai/components/time-range-picker.md +16 -15
  628. package/docs/ai/components/timeline.md +5 -4
  629. package/docs/ai/components/timer.md +8 -8
  630. package/docs/ai/components/toast.md +24 -18
  631. package/docs/ai/components/tooltip.md +11 -22
  632. package/docs/ai/components/tree.md +9 -9
  633. package/docs/ai/components/treemap.md +14 -13
  634. package/docs/ai/components/user-card.md +21 -27
  635. package/docs/ai/components/video-player.md +35 -52
  636. package/docs/ai/components/virtual-scroller.md +1 -1
  637. package/docs/ai/components/waterfall.md +17 -16
  638. package/docs/ai/components/weather.md +19 -34
  639. package/docs/ai/components/work-order.md +58 -134
  640. package/docs/ai/patterns.md +87 -0
  641. package/docs/ai/react-integration.md +97 -0
  642. package/docs/components/accordion.md +72 -151
  643. package/docs/components/action-bar.md +185 -0
  644. package/docs/components/activity-feed.md +9 -14
  645. package/docs/components/alert.md +17 -109
  646. package/docs/components/app-tiles.md +58 -43
  647. package/docs/components/approval-flow.md +8 -14
  648. package/docs/components/audio-recorder.md +45 -51
  649. package/docs/components/availability.md +30 -45
  650. package/docs/components/avatar-group.md +34 -14
  651. package/docs/components/avatar.md +20 -55
  652. package/docs/components/badge.md +53 -470
  653. package/docs/components/banner.md +44 -30
  654. package/docs/components/binpack.md +208 -0
  655. package/docs/components/book.md +78 -57
  656. package/docs/components/booking.md +35 -87
  657. package/docs/components/breadcrumbs.md +74 -448
  658. package/docs/components/button.md +72 -603
  659. package/docs/components/calendar.md +77 -261
  660. package/docs/components/camera-annotate.md +44 -96
  661. package/docs/components/camera.md +94 -333
  662. package/docs/components/candlestick.md +79 -116
  663. package/docs/components/card.md +51 -689
  664. package/docs/components/carousel.md +29 -76
  665. package/docs/components/cart.md +44 -136
  666. package/docs/components/chart.md +95 -438
  667. package/docs/components/chat.md +175 -439
  668. package/docs/components/checkbox.md +52 -609
  669. package/docs/components/chip.md +45 -574
  670. package/docs/components/code-block.md +157 -421
  671. package/docs/components/color-display.md +45 -54
  672. package/docs/components/color-picker.md +103 -36
  673. package/docs/components/command-palette.md +98 -92
  674. package/docs/components/comments.md +16 -10
  675. package/docs/components/countdown.md +15 -20
  676. package/docs/components/cropper.md +14 -16
  677. package/docs/components/data-card.md +16 -15
  678. package/docs/components/date-picker.md +45 -25
  679. package/docs/components/date-range-picker.md +140 -87
  680. package/docs/components/date-time-picker.md +25 -28
  681. package/docs/components/diff.md +22 -17
  682. package/docs/components/divider.md +18 -20
  683. package/docs/components/doc.md +105 -197
  684. package/docs/components/draw.md +117 -223
  685. package/docs/components/drawer.md +113 -478
  686. package/docs/components/empty-state.md +13 -29
  687. package/docs/components/estimate.md +58 -118
  688. package/docs/components/file-gallery.md +123 -495
  689. package/docs/components/file-upload.md +36 -123
  690. package/docs/components/flip-card.md +30 -34
  691. package/docs/components/flow.md +74 -89
  692. package/docs/components/form-builder.md +59 -86
  693. package/docs/components/form-layout.md +21 -31
  694. package/docs/components/funnel.md +21 -22
  695. package/docs/components/gantt.md +5 -5
  696. package/docs/components/gauge.md +5 -23
  697. package/docs/components/grid.md +249 -0
  698. package/docs/components/heatmap.md +13 -55
  699. package/docs/components/image.md +28 -32
  700. package/docs/components/input.md +25 -14
  701. package/docs/components/invoice.md +34 -33
  702. package/docs/components/kanban.md +99 -394
  703. package/docs/components/key-value.md +22 -12
  704. package/docs/components/kpi.md +41 -112
  705. package/docs/components/layout.md +7 -13
  706. package/docs/components/leaderboard.md +52 -76
  707. package/docs/components/link-preview.md +20 -16
  708. package/docs/components/link.md +22 -19
  709. package/docs/components/list.md +44 -26
  710. package/docs/components/location.md +9 -13
  711. package/docs/components/login.md +42 -36
  712. package/docs/components/map.md +24 -46
  713. package/docs/components/markdown.md +14 -25
  714. package/docs/components/masonry.md +15 -13
  715. package/docs/components/mentions.md +36 -25
  716. package/docs/components/menu.md +39 -46
  717. package/docs/components/message-strip.md +15 -51
  718. package/docs/components/metric-table.md +50 -72
  719. package/docs/components/modal.md +32 -43
  720. package/docs/components/music-player.md +41 -49
  721. package/docs/components/nav.md +23 -13
  722. package/docs/components/network-graph.md +14 -13
  723. package/docs/components/notification-center.md +68 -172
  724. package/docs/components/order-tracker.md +72 -117
  725. package/docs/components/org-chart.md +58 -207
  726. package/docs/components/pagination.md +67 -89
  727. package/docs/components/paint.md +86 -172
  728. package/docs/components/pdf-viewer.md +46 -151
  729. package/docs/components/permission-matrix.md +61 -112
  730. package/docs/components/podcast-player.md +41 -119
  731. package/docs/components/pricing-table.md +104 -147
  732. package/docs/components/product-card.md +94 -197
  733. package/docs/components/progress-ring.md +29 -32
  734. package/docs/components/progress.md +30 -61
  735. package/docs/components/qr-code.md +53 -61
  736. package/docs/components/qr-reader.md +53 -42
  737. package/docs/components/radio.md +42 -40
  738. package/docs/components/range-slider.md +41 -30
  739. package/docs/components/rating.md +50 -84
  740. package/docs/components/receipt.md +91 -129
  741. package/docs/components/recipe.md +107 -216
  742. package/docs/components/sankey.md +47 -83
  743. package/docs/components/scheduler.md +81 -184
  744. package/docs/components/segmented-control.md +48 -40
  745. package/docs/components/select.md +107 -129
  746. package/docs/components/skeleton.md +33 -47
  747. package/docs/components/slider.md +49 -53
  748. package/docs/components/sortable.md +43 -186
  749. package/docs/components/sparkline.md +26 -25
  750. package/docs/components/spinner.md +32 -37
  751. package/docs/components/split-button.md +43 -23
  752. package/docs/components/split-pane.md +41 -58
  753. package/docs/components/spotlight.md +53 -145
  754. package/docs/components/spreadsheet.md +84 -307
  755. package/docs/components/stat-group.md +27 -61
  756. package/docs/components/step-input.md +44 -41
  757. package/docs/components/stepper.md +55 -89
  758. package/docs/components/switch.md +39 -39
  759. package/docs/components/table.md +27 -32
  760. package/docs/components/tabs.md +36 -27
  761. package/docs/components/tag-input.md +50 -176
  762. package/docs/components/tag.md +12 -50
  763. package/docs/components/terminal.md +32 -37
  764. package/docs/components/testimonial.md +24 -81
  765. package/docs/components/textarea.md +9 -14
  766. package/docs/components/theme.md +10 -23
  767. package/docs/components/time-picker.md +48 -72
  768. package/docs/components/time-range-picker.md +22 -41
  769. package/docs/components/timeline.md +7 -14
  770. package/docs/components/timer.md +16 -32
  771. package/docs/components/toast.md +19 -45
  772. package/docs/components/tooltip.md +13 -115
  773. package/docs/components/tree.md +2 -19
  774. package/docs/components/treemap.md +19 -43
  775. package/docs/components/user-card.md +13 -22
  776. package/docs/components/video-player.md +53 -227
  777. package/docs/components/virtual-scroller.md +11 -44
  778. package/docs/components/waterfall.md +58 -137
  779. package/docs/components/weather.md +94 -153
  780. package/docs/components/work-order.md +56 -143
  781. package/docs/plans/2026-03-09-action-bar-design.md +104 -0
  782. package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
  783. package/docs/plans/2026-03-10-grid-component-design.md +138 -0
  784. package/docs/plans/2026-03-10-grid-component-plan.md +716 -0
  785. package/docs/plans/2026-03-10-react-integration-design.md +166 -0
  786. package/docs/plans/2026-03-10-react-integration-plan.md +1178 -0
  787. package/docs/react-integration.md +508 -0
  788. package/docs/request-response.md +63 -0
  789. package/package.json +1 -1
  790. package/bin/templates/base/README.md +0 -33
  791. package/bin/templates/base/global.d.ts +0 -14
  792. package/bin/templates/base/index.html +0 -13
  793. package/bin/templates/base/package.json +0 -21
  794. package/bin/templates/base/src/components/counter-button.ts +0 -88
  795. package/bin/templates/base/src/components/counter-button.types.ts +0 -7
  796. package/bin/templates/base/src/components/feature-card.ts +0 -59
  797. package/bin/templates/base/src/components/feature-card.types.ts +0 -5
  798. package/bin/templates/base/src/controllers/counter-controller.ts +0 -24
  799. package/bin/templates/base/src/main.ts +0 -24
  800. package/bin/templates/base/src/pages/about-page.ts +0 -68
  801. package/bin/templates/base/src/pages/home-page.ts +0 -105
  802. package/bin/templates/base/src/pages/not-found-page.ts +0 -55
  803. package/bin/templates/base/src/router.ts +0 -9
  804. package/bin/templates/base/src/styles/global.css +0 -27
  805. package/bin/templates/base/src/types/api-response.ts +0 -5
  806. package/bin/templates/base/src/types/status.ts +0 -1
  807. package/bin/templates/base/src/types/theme.ts +0 -1
  808. package/bin/templates/base/src/types/user.ts +0 -5
  809. package/bin/templates/base/vite.config.ts +0 -38
  810. package/bin/templates/pwa/public/vite.svg +0 -1
  811. package/bin/templates/pwa/src/router.ts +0 -20
  812. package/bin/templates/pwa/src/styles/global.css +0 -64
  813. /package/bin/templates/{pwa → default}/README.md +0 -0
  814. /package/bin/templates/{pwa → default}/global.d.ts +0 -0
  815. /package/bin/templates/{pwa → default}/package.json +0 -0
  816. /package/bin/templates/{pwa → default}/public/icons/.gitkeep +0 -0
  817. /package/bin/templates/{base → default}/public/vite.svg +0 -0
  818. /package/bin/templates/{pwa → default}/src/fetcher.ts +0 -0
  819. /package/bin/templates/{pwa → default}/src/guards/auth.ts +0 -0
  820. /package/bin/templates/{pwa → default}/src/middleware/auth.ts +0 -0
  821. /package/bin/templates/{pwa → default}/src/middleware/retry.ts +0 -0
  822. /package/bin/templates/{pwa → default}/src/services/auth.ts +0 -0
  823. /package/bin/templates/{pwa → default}/src/services/jwt.ts +0 -0
  824. /package/bin/templates/{pwa → default}/src/services/storage.ts +0 -0
  825. /package/bin/templates/{pwa → default}/src/types/auth.ts +0 -0
  826. /package/bin/templates/{pwa → default}/src/types/notifications.ts +0 -0
  827. /package/bin/templates/{pwa → default}/tests/helpers/test-utils.ts +0 -0
  828. /package/bin/templates/{pwa → default}/tests/middleware/auth.test.ts +0 -0
  829. /package/bin/templates/{pwa → default}/tests/middleware/error.test.ts +0 -0
  830. /package/bin/templates/{pwa → default}/tests/middleware/retry.test.ts +0 -0
  831. /package/bin/templates/{pwa → default}/tests/services/auth.test.ts +0 -0
  832. /package/bin/templates/{pwa → default}/tests/services/jwt.test.ts +0 -0
  833. /package/bin/templates/{pwa → default}/tests/services/storage.test.ts +0 -0
  834. /package/bin/templates/{pwa → default}/vite.config.ts +0 -0
  835. /package/bin/templates/{pwa → default}/vitest.config.ts +0 -0
@@ -6,17 +6,13 @@ Coordinated row of KPI cards with trend indicators and responsive grid layout.
6
6
 
7
7
  ```typescript
8
8
  stats: StatItem[] = [];
9
- columns: number = 0; // 0 = auto-fit
9
+ columns: number = 0; // 0 = auto-fit
10
10
  variant: 'card'|'minimal'|'bordered' = 'card';
11
- ```
12
-
13
- ## Types
14
11
 
15
- ```typescript
16
12
  interface StatItem {
17
13
  label: string;
18
14
  value: string | number;
19
- trend?: 'up' | 'down' | 'neutral';
15
+ trend?: 'up'|'down'|'neutral';
20
16
  trendValue?: string;
21
17
  icon?: string;
22
18
  color?: string;
@@ -25,14 +21,14 @@ interface StatItem {
25
21
 
26
22
  ## Events
27
23
 
28
- - `stat-click` -> `{ stat: StatItem, index: number }`
24
+ - `stat-click` `{ stat, index }`
29
25
 
30
26
  ## CSS Parts
31
27
 
32
28
  - `base` - Grid container
33
29
  - `stat` - Individual stat card
34
30
 
35
- ## Usage
31
+ ## Basic Usage
36
32
 
37
33
  ```html
38
34
  <snice-stat-group></snice-stat-group>
@@ -43,16 +39,12 @@ el.stats = [
43
39
  { label: 'Revenue', value: '$45,231', trend: 'up', trendValue: '+12.5%' },
44
40
  { label: 'Users', value: '2,338', trend: 'up', trendValue: '+8.2%' },
45
41
  { label: 'Orders', value: '1,245', trend: 'down', trendValue: '-3.1%' },
46
- { label: 'Bounce', value: '3.24%', trend: 'neutral', trendValue: '0.0%' }
47
42
  ];
48
43
  ```
49
44
 
50
45
  ```html
51
- <!-- Variants -->
52
46
  <snice-stat-group variant="minimal"></snice-stat-group>
53
47
  <snice-stat-group variant="bordered"></snice-stat-group>
54
-
55
- <!-- Fixed columns -->
56
48
  <snice-stat-group columns="2"></snice-stat-group>
57
49
  ```
58
50
 
@@ -61,13 +53,11 @@ el.stats = [
61
53
  el.stats = [
62
54
  { label: 'Revenue', value: '$45K', icon: '$', color: 'rgb(22 163 74)', trend: 'up', trendValue: '+12%' }
63
55
  ];
56
+
57
+ el.addEventListener('stat-click', (e) => console.log(e.detail.stat.label));
64
58
  ```
65
59
 
66
- ## Features
60
+ ## Accessibility
67
61
 
68
- - 3 visual variants: card, minimal, bordered
69
- - Auto-fit responsive grid (wraps on narrow viewports)
70
- - Fixed column count option
71
- - Trend indicators (up/down/neutral) with color coding
72
- - Icon and color customization per stat
73
- - Keyboard accessible (Enter/Space to click)
62
+ - Stat cards have `role="button"`, keyboard accessible (Enter/Space)
63
+ - Trend indicators use semantic color coding
@@ -15,10 +15,6 @@ size: 'small'|'medium'|'large' = 'medium';
15
15
  wrap: boolean = false; // wrap around at min/max boundaries
16
16
  ```
17
17
 
18
- ## Events
19
-
20
- - `value-change` -> `{ value: number, oldValue: number, component: SniceStepInputElement }`
21
-
22
18
  ## Methods
23
19
 
24
20
  - `increment()` - Increase value by step
@@ -26,29 +22,35 @@ wrap: boolean = false; // wrap around at min/max boundaries
26
22
  - `focus()` - Focus the input
27
23
  - `blur()` - Remove focus
28
24
 
25
+ ## Events
26
+
27
+ - `value-change` → `{ value, oldValue, component }`
28
+
29
29
  ## CSS Parts
30
30
 
31
31
  - `base` - Outer container
32
32
  - `decrement-button` - Minus button
33
33
  - `increment-button` - Plus button
34
- - `input` - The number input
34
+ - `input` - Number input field
35
35
 
36
- ## Usage
36
+ ## Basic Usage
37
37
 
38
38
  ```html
39
- <!-- Basic -->
40
39
  <snice-step-input value="5"></snice-step-input>
41
-
42
- <!-- With min/max -->
43
40
  <snice-step-input min="0" max="10" value="5" step="1"></snice-step-input>
44
-
45
- <!-- Wrap around -->
46
41
  <snice-step-input min="1" max="12" value="1" wrap></snice-step-input>
47
-
48
- <!-- Sizes -->
49
42
  <snice-step-input size="small"></snice-step-input>
50
43
  <snice-step-input size="large"></snice-step-input>
51
-
52
- <!-- Disabled -->
53
44
  <snice-step-input value="3" disabled></snice-step-input>
54
45
  ```
46
+
47
+ ## Keyboard Navigation
48
+
49
+ - ArrowUp: increment by step
50
+ - ArrowDown: decrement by step
51
+
52
+ ## Accessibility
53
+
54
+ - Buttons keyboard accessible with focus indicators
55
+ - Direct keyboard entry in input field
56
+ - Buttons disabled at min/max (unless `wrap` is set)
@@ -10,41 +10,35 @@ currentStep: number = 0; // attr: current-step
10
10
  orientation: 'horizontal'|'vertical' = 'horizontal';
11
11
  clickable: boolean = false;
12
12
 
13
- // Step object:
14
13
  interface Step {
15
14
  label: string;
16
15
  description?: string;
17
- status?: 'pending'|'active'|'completed'|'error'; // auto-computed if not set
16
+ status?: 'pending'|'active'|'completed'|'error'; // auto-computed if not set
18
17
  }
19
18
  ```
20
19
 
21
- ## Slots
22
-
23
- - `(default)` - `<snice-stepper-panel>` elements (auto show/hide based on currentStep)
24
-
25
20
  ## Events
26
21
 
27
- - `step-change` → `{ previousStep, currentStep, step }` - Cancelable via preventDefault()
22
+ - `step-change` → `{ previousStep, currentStep, step }` - Cancelable via `preventDefault()`
28
23
 
29
- ## Methods
24
+ ## Slots
30
25
 
31
- - Navigate via `currentStep` property (increment/decrement/set)
26
+ - `(default)` - `<snice-stepper-panel>` elements (auto show/hide based on `currentStep`)
32
27
 
33
28
  ## CSS Parts
34
29
 
35
30
  - `container` - Main container
36
- - `step` - Individual step
37
- - `step-indicator` - Circular indicator
31
+ - `step` - Individual step wrapper
32
+ - `step-indicator` - Circular indicator (number/checkmark)
38
33
  - `step-content` - Label + description wrapper
39
34
  - `step-label` - Step label text
40
35
  - `step-description` - Description text
41
36
  - `step-connector` - Line between steps
42
37
  - `panels` - Panels container (wraps slotted content)
43
38
 
44
- ## Usage
39
+ ## Basic Usage
45
40
 
46
41
  ```html
47
- <!-- Basic -->
48
42
  <snice-stepper></snice-stepper>
49
43
  ```
50
44
 
@@ -66,14 +60,19 @@ stepper.currentStep = 1;
66
60
 
67
61
  <!-- Vertical with descriptions -->
68
62
  <snice-stepper orientation="vertical"></snice-stepper>
69
-
70
- <!-- Error state -->
71
63
  ```
72
64
 
73
65
  ```typescript
66
+ // Error state
74
67
  stepper.steps = [
75
68
  { label: 'Upload', status: 'completed' },
76
69
  { label: 'Validate', status: 'error' },
77
70
  { label: 'Process', status: 'pending' }
78
71
  ];
79
72
  ```
73
+
74
+ ## Accessibility
75
+
76
+ - Clickable steps are keyboard accessible (Enter/Space)
77
+ - Completed steps show checkmark; error steps use semantic color
78
+ - Navigate via `currentStep` property
@@ -1,27 +1,23 @@
1
1
  # snice-switch
2
2
 
3
- Toggle switch input for boolean selections. Form-associated.
3
+ Toggle switch input for boolean selections.
4
4
 
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
8
  checked: boolean = false;
9
9
  disabled: boolean = false;
10
+ loading: boolean = false;
10
11
  required: boolean = false;
11
12
  invalid: boolean = false;
12
13
  size: 'small'|'medium'|'large' = 'medium';
13
14
  name: string = '';
14
15
  value: string = 'on';
15
16
  label: string = '';
16
- labelOn: string = ''; // attr: label-on
17
- labelOff: string = ''; // attr: label-off
18
- loading: boolean = false;
17
+ labelOn: string = ''; // attr: label-on
18
+ labelOff: string = ''; // attr: label-off
19
19
  ```
20
20
 
21
- ## Events
22
-
23
- - `switch-change` → `{ checked, switch }`
24
-
25
21
  ## Methods
26
22
 
27
23
  - `toggle()` - Toggle switch state
@@ -29,6 +25,10 @@ loading: boolean = false;
29
25
  - `blur()` - Remove focus
30
26
  - `click()` - Programmatic click
31
27
 
28
+ ## Events
29
+
30
+ - `switch-change` → `{ checked, switch }`
31
+
32
32
  ## CSS Parts
33
33
 
34
34
  - `input` - Hidden input element
@@ -37,7 +37,7 @@ loading: boolean = false;
37
37
  - `spinner` - Loading spinner
38
38
  - `label` - Label text
39
39
 
40
- ## Usage
40
+ ## Basic Usage
41
41
 
42
42
  ```html
43
43
  <snice-switch label="Enable notifications"></snice-switch>
@@ -47,3 +47,9 @@ loading: boolean = false;
47
47
  <snice-switch loading label="Saving..."></snice-switch>
48
48
  <snice-switch disabled></snice-switch>
49
49
  ```
50
+
51
+ ## Accessibility
52
+
53
+ - `role="switch"` with `aria-checked`
54
+ - Space key to toggle
55
+ - Visible focus ring on keyboard navigation
@@ -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>