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
@@ -5,12 +5,12 @@ Drag-and-drop kanban board.
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- columns: KanbanColumn[] = [];
9
- allowDragDrop: boolean = true; // attribute: allow-drag-drop
10
- showCardCount: boolean = true; // attribute: show-card-count
8
+ columns: KanbanColumn[] = []; // attribute: false
9
+ allowDragDrop: boolean = true; // attr: allow-drag-drop
10
+ showCardCount: boolean = true; // attr: show-card-count
11
11
  ```
12
12
 
13
- ## Interfaces
13
+ ## Types
14
14
 
15
15
  ```typescript
16
16
  interface KanbanLabel {
@@ -43,87 +43,58 @@ interface KanbanCard {
43
43
 
44
44
  ## Methods
45
45
 
46
- ```typescript
47
- addColumn(column: KanbanColumn): void
48
- removeColumn(id: string | number): void
49
- addCard(columnId: string | number, card: KanbanCard): void
50
- removeCard(cardId: string | number): void
51
- moveCard(cardId: string | number, targetColumnId: string | number, targetIndex?: number): void
52
- getColumn(id: string | number): KanbanColumn | undefined
53
- getCard(id: string | number): KanbanCard | undefined
54
- filterByLabels(labels: string[]): void
55
- search(query: string): void
56
- clearFilters(): void
57
- ```
46
+ - `addColumn(column: KanbanColumn): void`
47
+ - `removeColumn(id: string | number): void`
48
+ - `addCard(columnId: string | number, card: KanbanCard): void`
49
+ - `removeCard(cardId: string | number): void`
50
+ - `moveCard(cardId: string | number, targetColumnId: string | number, targetIndex?: number): void`
51
+ - `getColumn(id: string | number): KanbanColumn | undefined`
52
+ - `getCard(id: string | number): KanbanCard | undefined`
53
+ - `filterByLabels(labels: string[]): void`
54
+ - `search(query: string): void`
55
+ - `clearFilters(): void`
58
56
 
59
57
  ## Events
60
58
 
61
- - `kanban-card-move` - Card moved (detail: { card, fromColumn, toColumn, kanban })
62
- - `kanban-card-click` - Card clicked (detail: { card, kanban })
59
+ - `kanban-card-move` `{ card, fromColumn, toColumn, kanban }`
60
+ - `kanban-card-click` `{ card, kanban }`
61
+
62
+ ## CSS Parts
63
+
64
+ - `base` - Outer kanban board container div
65
+ - `column-header` - Column header with title and card count
66
+ - `column-cards` - Card list area within a column
67
+
68
+ ## Basic Usage
63
69
 
64
- ## Usage
70
+ ```typescript
71
+ import 'snice/components/kanban/snice-kanban';
72
+ ```
65
73
 
66
74
  ```javascript
67
75
  kanban.columns = [
68
76
  {
69
- id: 'todo',
70
- title: 'To Do',
71
- color: '#f44336',
77
+ id: 'todo', title: 'To Do', color: '#f44336',
72
78
  cards: [
73
- {
74
- id: 1,
75
- title: 'Task',
76
- description: 'Details',
77
- assignee: 'Alice',
78
- labels: [
79
- 'bug',
80
- { text: 'urgent', color: '#dc2626', background: '#fee2e2', icon: '🔥', iconPosition: 'left' }
81
- ],
82
- color: '#f44336'
83
- }
79
+ { id: 1, title: 'Task', description: 'Details', assignee: 'Alice',
80
+ labels: ['bug', { text: 'urgent', color: '#dc2626', background: '#fee2e2', icon: '🔥' }],
81
+ color: '#f44336' }
84
82
  ]
85
83
  },
86
84
  { id: 'done', title: 'Done', cards: [] }
87
85
  ];
88
86
 
89
- // Add/remove/move
90
87
  kanban.addCard('todo', { id: 2, title: 'New Task' });
91
88
  kanban.moveCard(1, 'done');
92
- kanban.removeCard(2);
93
-
94
- // Filter/search
95
- kanban.filterByLabels(['bug', 'high-priority']);
89
+ kanban.filterByLabels(['bug']);
96
90
  kanban.search('landing page');
97
91
  kanban.clearFilters();
98
92
 
99
- // Events
100
93
  kanban.addEventListener('kanban-card-move', (e) => {
101
94
  console.log(`Moved ${e.detail.card.title}`);
102
95
  });
103
96
  ```
104
97
 
105
98
  ```html
106
- <!-- Disable drag/drop -->
107
99
  <snice-kanban allow-drag-drop="false"></snice-kanban>
108
100
  ```
109
-
110
- **CSS Parts:**
111
- - `base` - Outer kanban board container div
112
- - `column-header` - Column header with title and card count
113
- - `column-cards` - Card list area within a column
114
-
115
- ## Features
116
-
117
- - Drag and drop cards between columns and within same column
118
- - Custom labels with colors, backgrounds, and icons
119
- - Label icon positioning (left/right)
120
- - Filter by labels
121
- - Search by title/description
122
- - Card assignees
123
- - Color-coded cards and columns
124
- - Card counts
125
- - Click handling
126
- - Programmatic card movement with positioning
127
- - Column management
128
- - Event dispatching
129
- - View Transitions API animations
@@ -2,7 +2,7 @@
2
2
 
3
3
  Key-value pair editor for HTTP headers, env vars, config entries. Dual API: declarative `<snice-kv-pair>` children or imperative `setItems()`.
4
4
 
5
- ## Elements
5
+ ## Components
6
6
 
7
7
  - `snice-key-value` — Container/editor
8
8
  - `snice-kv-pair` — Data container child (no shadow DOM)
@@ -22,7 +22,7 @@ readonly: boolean = false;
22
22
  name: string = '';
23
23
  variant: 'default'|'compact' = 'default';
24
24
  mode: 'edit'|'view' = 'edit'; // view = read-only display
25
- showCopy: boolean = false; // attr: show-copy — copy button in header
25
+ showCopy: boolean = false; // attr: show-copy
26
26
  value: string; // readonly getter — JSON string of items
27
27
  ```
28
28
 
@@ -34,13 +34,6 @@ value: string = '';
34
34
  description: string = '';
35
35
  ```
36
36
 
37
- ## Events
38
-
39
- - `kv-add` → `{ item: KeyValueItem, index: number }`
40
- - `kv-remove` → `{ item: KeyValueItem, index: number }`
41
- - `kv-change` → `{ items: KeyValueItem[] }`
42
- - `kv-copy` → `{ items: KeyValueItem[] }`
43
-
44
37
  ## Methods
45
38
 
46
39
  - `setItems(items)` - Set items imperatively (ignored in slot mode)
@@ -50,7 +43,26 @@ description: string = '';
50
43
  - `getItems()` - Returns non-empty items
51
44
  - `focus()` - Focus first key input
52
45
 
53
- ## Usage
46
+ ## Events
47
+
48
+ - `kv-add` → `{ item: KeyValueItem, index: number }`
49
+ - `kv-remove` → `{ item: KeyValueItem, index: number }`
50
+ - `kv-change` → `{ items: KeyValueItem[] }`
51
+ - `kv-copy` → `{ items: KeyValueItem[] }`
52
+
53
+ ## Slots
54
+
55
+ - `(default)` - `<snice-kv-pair>` child elements
56
+
57
+ ## CSS Parts
58
+
59
+ `base`, `title`, `copy-button`, `rows`, `row`, `key-input`, `value-input`, `description-input`, `delete-button`, `view-row`, `view-key`, `view-value`, `view-desc`, `empty`
60
+
61
+ ## Basic Usage
62
+
63
+ ```typescript
64
+ import 'snice/components/key-value/snice-key-value';
65
+ ```
54
66
 
55
67
  ```html
56
68
  <!-- Declarative -->
@@ -77,14 +89,18 @@ kv.addEventListener('kv-change', e => console.log(e.detail.items));
77
89
 
78
90
  <!-- Compact with descriptions -->
79
91
  <snice-key-value variant="compact" show-description></snice-key-value>
92
+
93
+ <!-- View mode -->
94
+ <snice-key-value mode="view" label="Response Headers">
95
+ <snice-kv-pair key="Content-Type" value="application/json"></snice-kv-pair>
96
+ </snice-key-value>
80
97
  ```
81
98
 
82
99
  ## Behavior
83
100
 
84
- - **Auto-expand** (default): last row non-empty new empty row appended
85
- - **Fixed rows**: `rows="5"` exactly 5, no delete buttons, no auto-expand
101
+ - **Auto-expand** (default): last row non-empty -> new empty row appended
102
+ - **Fixed rows**: `rows="5"` -> exactly 5, no delete buttons, no auto-expand
86
103
  - **Slot precedence**: `<snice-kv-pair>` children override `setItems()`
87
- - **View mode**: `mode="view"` renders as read-only text (no inputs), empty items hidden
88
- - **Copy button**: `show-copy` adds clipboard button in header, copies JSON
89
- - **Form associated**: `value` getter returns `JSON.stringify({key:value,...})`, `setFormValue()` called on every change
90
- - Delete all rows → one empty row remains
104
+ - **View mode**: `mode="view"` renders as read-only text, empty items hidden
105
+ - **Copy button**: `show-copy` adds clipboard button, copies JSON
106
+ - **Form associated**: `value` getter returns JSON string, `setFormValue()` on every change
@@ -2,39 +2,48 @@
2
2
 
3
3
  Key performance indicator display with value, label, trend, sparkline, and sentiment.
4
4
 
5
- > **Note**: `snice-stat` component has been merged into `snice-kpi`.
5
+ > `snice-stat` has been merged into `snice-kpi`.
6
6
 
7
7
  ## Properties
8
8
 
9
9
  ```typescript
10
- label: string = '' // Metric label/name
11
- value: string | number = '' // Main metric value
12
- trendValue?: string | number // attribute: trend-value
13
- trendData?: number[] // Sparkline data array (JS only)
14
- sentiment?: KpiSentiment // 'up' | 'down' | 'neutral'
15
- size: KpiSize = 'medium' // 'small' | 'medium' | 'large'
16
- showSparkline: boolean = true // attribute: show-sparkline
17
- colorValue: boolean = false // attribute: color-value
10
+ label: string = '';
11
+ value: string | number = '';
12
+ trendValue?: string | number; // attr: trend-value
13
+ trendData?: number[]; // Sparkline data array (JS only, attribute: false)
14
+ sentiment?: KpiSentiment; // 'up' | 'down' | 'neutral'
15
+ size: KpiSize = 'medium'; // 'small' | 'medium' | 'large'
16
+ showSparkline: boolean = true; // attr: show-sparkline
17
+ colorValue: boolean = false; // attr: color-value — apply sentiment color to value
18
18
  ```
19
19
 
20
20
  ## Slots
21
21
 
22
+ - `before` - Content before label/value (e.g., icons)
23
+ - `after` - Content after sparkline (e.g., actions)
24
+
25
+ ## CSS Parts
26
+
27
+ - `container` - Main container
28
+ - `header` - Header section
29
+ - `main` - Main content (label + value)
30
+ - `label` - Label text
31
+ - `value` - Value text
32
+ - `trend` - Trend container
33
+ - `trend-icon` - Trend icon (up/down/neutral arrow)
34
+ - `trend-value` - Trend value text
35
+ - `sparkline` - Sparkline container
36
+
37
+ ## Basic Usage
38
+
22
39
  ```typescript
23
- before // Content before label/value (e.g., icons)
24
- after // Content after sparkline (e.g., actions)
40
+ import 'snice/components/kpi/snice-kpi';
25
41
  ```
26
42
 
27
- ## Usage
28
-
29
43
  ```html
30
44
  <!-- Basic -->
31
45
  <snice-kpi label="Revenue" value="$45,231"></snice-kpi>
32
46
 
33
- <!-- With icon (before slot) -->
34
- <snice-kpi label="Revenue" value="$45,231">
35
- <div slot="before">🏆</div>
36
- </snice-kpi>
37
-
38
47
  <!-- With trend -->
39
48
  <snice-kpi
40
49
  label="Monthly Revenue"
@@ -59,9 +68,9 @@ sales.trendData = [20, 25, 22, 30, 28, 35, 32];
59
68
 
60
69
  ```html
61
70
  <!-- Sentiments -->
62
- <snice-kpi sentiment="up"></snice-kpi> <!-- Green, -->
63
- <snice-kpi sentiment="down"></snice-kpi> <!-- Red, -->
64
- <snice-kpi sentiment="neutral"></snice-kpi> <!-- Gray, -->
71
+ <snice-kpi sentiment="up"></snice-kpi> <!-- Green, arrow up -->
72
+ <snice-kpi sentiment="down"></snice-kpi> <!-- Red, arrow down -->
73
+ <snice-kpi sentiment="neutral"></snice-kpi> <!-- Gray, arrow right -->
65
74
 
66
75
  <!-- Sizes -->
67
76
  <snice-kpi size="small"></snice-kpi>
@@ -71,58 +80,14 @@ sales.trendData = [20, 25, 22, 30, 28, 35, 32];
71
80
  <!-- Without sparkline -->
72
81
  <snice-kpi show-sparkline="false"></snice-kpi>
73
82
 
74
- <!-- Dashboard grid -->
75
- <div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;">
76
- <snice-kpi
77
- id="mrr"
78
- label="MRR"
79
- value="$127K"
80
- trend-value="+22%"
81
- sentiment="up">
82
- </snice-kpi>
83
-
84
- <snice-kpi
85
- id="users"
86
- label="Active Users"
87
- value="2,345"
88
- trend-value="+8.7%"
89
- sentiment="up">
90
- </snice-kpi>
91
-
92
- <snice-kpi
93
- id="churn"
94
- label="Churn"
95
- value="2.3%"
96
- trend-value="+0.8%"
97
- sentiment="down">
98
- </snice-kpi>
99
- </div>
100
- ```
101
-
102
- ```typescript
103
- mrr.trendData = [100, 110, 105, 120, 115, 130, 127];
104
- users.trendData = [2000, 2100, 2200, 2250, 2300, 2345];
105
- churn.trendData = [1.5, 1.8, 2.0, 2.2, 2.1, 2.3];
106
- ```
107
-
108
- ## CSS Parts
109
-
110
- ```css
111
- ::part(container) /* Main container */
112
- ::part(header) /* Header section */
113
- ::part(main) /* Main content (label + value) */
114
- ::part(label) /* Label text */
115
- ::part(value) /* Value text */
116
- ::part(trend) /* Trend container */
117
- ::part(trend-icon) /* Trend icon (↑↓→) */
118
- ::part(trend-value) /* Trend value text */
119
- ::part(sparkline) /* Sparkline container */
83
+ <!-- With icon slot -->
84
+ <snice-kpi label="Revenue" value="$45,231">
85
+ <div slot="before">icon here</div>
86
+ </snice-kpi>
120
87
  ```
121
88
 
122
- ## Notes
89
+ ## Accessibility
123
90
 
124
- - Sparkline automatically uses sentiment color (success/danger/muted)
125
- - Sentiment icons: up=↑, down=↓, neutral=→
126
- - trendData array automatically renders sparkline
127
- - Value can be string or number for formatting flexibility
128
- - showSparkline=false hides sparkline even if data provided
91
+ - Labels provide context for values
92
+ - Sentiment: color + icon differentiation
93
+ - Sufficient color contrast
@@ -2,42 +2,48 @@
2
2
 
3
3
  Application layout with header navigation, main content area, and footer.
4
4
 
5
+ ## Methods
6
+
7
+ - `update(appContext, placards, currentRoute, routeParams)` - Update layout navigation from router state
8
+
5
9
  ## Slots
6
10
 
7
11
  - `brand` - Logo/brand in header
8
12
  - `page` - Main page content
9
13
  - `footer` - Footer content
10
14
 
11
- ## Methods
15
+ ## CSS Parts
12
16
 
13
- - `update(appContext, placards, currentRoute, routeParams)` - Update layout navigation from router state
17
+ - `base` - Outer layout container div
18
+ - `header` - Header element with navigation
19
+ - `brand` - Brand/logo area within header
20
+ - `main` - Main content area
21
+ - `footer` - Footer element
14
22
 
15
- ## Usage
23
+ ## Basic Usage
24
+
25
+ ```typescript
26
+ import 'snice/components/layout/snice-layout';
27
+ ```
16
28
 
17
29
  ```html
18
30
  <snice-layout>
19
- <div slot="brand">
20
- <h1>My App</h1>
21
- </div>
22
- <div slot="page">
23
- <!-- Page content -->
24
- </div>
25
- <div slot="footer">
26
- <p>&copy; 2025 My Company</p>
27
- </div>
31
+ <div slot="brand"><h1>My App</h1></div>
32
+ <div slot="page">Page content</div>
33
+ <div slot="footer"><p>&copy; 2025 My Company</p></div>
28
34
  </snice-layout>
29
35
  ```
30
36
 
31
- **CSS Parts:**
32
- - `base` - Outer layout container div
33
- - `header` - Header element with navigation
34
- - `brand` - Brand/logo area within header
35
- - `main` - Main content area
36
- - `footer` - Footer element
37
+ ## Examples
37
38
 
38
- ## Features
39
+ ```html
40
+ <!-- Router integration -->
41
+ <snice-layout id="app-layout">
42
+ <img slot="brand" src="/logo.svg" alt="Logo" />
43
+ <div slot="page"></div>
44
+ </snice-layout>
45
+ ```
39
46
 
40
- - Grid layout: header, main, footer
41
- - Integrated `snice-nav` in header
42
- - Router integration via `update()` method
43
- - Slotted brand, page, and footer areas
47
+ ```typescript
48
+ layout.update(appContext, placards, currentRoute, routeParams);
49
+ ```
@@ -2,21 +2,22 @@
2
2
 
3
3
  Ranked list with podium variant, avatars, change indicators. Dual API: declarative children or imperative setter.
4
4
 
5
+ ## Components
6
+
7
+ - `<snice-leaderboard>` - Container
8
+ - `<snice-leaderboard-entry>` - Data container child (attrs: `rank`, `name`, `score`, `avatar`, `change`, `highlighted`)
9
+
5
10
  ## Properties
6
11
 
7
12
  ```ts
8
- variant: 'default' | 'podium' | 'compact' // Display variant (default: 'default')
9
- size: 'small' | 'medium' | 'large' // Size (default: 'medium')
10
- title: string // Optional header title (default: '')
13
+ variant: 'default'|'podium'|'compact' = 'default';
14
+ size: 'small'|'medium'|'large' = 'medium';
15
+ title: string = '';
11
16
  ```
12
17
 
13
18
  ## Methods
14
19
 
15
- ```ts
16
- setEntries(entries: LeaderboardEntry[]): void // Set entries imperatively
17
- ```
18
-
19
- ### LeaderboardEntry
20
+ - `setEntries(entries: LeaderboardEntry[]): void` - Set entries imperatively (slot children take precedence)
20
21
 
21
22
  ```ts
22
23
  interface LeaderboardEntry {
@@ -29,48 +30,38 @@ interface LeaderboardEntry {
29
30
  }
30
31
  ```
31
32
 
32
- ## Slots
33
-
34
- - `(default)` - `<snice-leaderboard-entry>` child elements for declarative API
35
-
36
- ## Child Elements
37
-
38
- ### `<snice-leaderboard-entry>`
39
-
40
- Data container element. Attributes: `rank` (Number), `name` (String), `score` (String), `avatar` (String, optional), `change` (Number, optional), `highlighted` (Boolean).
41
-
42
- **Slot children take precedence over `setEntries()`.** When all children removed, falls back to imperative mode.
43
-
44
33
  ## Events
45
34
 
46
- - `entry-click` -> `{ entry: LeaderboardEntry, index: number }` -- Entry clicked
35
+ - `entry-click` `{ entry: LeaderboardEntry, index: number }`
47
36
 
48
- ## Variants
37
+ ## Slots
49
38
 
50
- - `default` -- Flat list
51
- - `podium` -- Top 3 shown as podium, rest as list
52
- - `compact` -- Tighter spacing, smaller avatars
39
+ - `(default)` - `<snice-leaderboard-entry>` child elements for declarative API
53
40
 
54
41
  ## CSS Custom Properties
55
42
 
56
43
  ```css
57
- --leaderboard-bg /* Background (default: --snice-color-background) */
58
- --leaderboard-text /* Text color (default: --snice-color-text) */
59
- --leaderboard-text-secondary /* Secondary text (default: --snice-color-text-secondary) */
60
- --leaderboard-border /* Border color (default: --snice-color-border) */
61
- --leaderboard-primary /* Primary accent (default: --snice-color-primary) */
62
- --leaderboard-success /* Up change color (default: --snice-color-success) */
63
- --leaderboard-danger /* Down change color (default: --snice-color-danger) */
64
- --leaderboard-bg-element /* Element background (default: --snice-color-background-element) */
65
- --leaderboard-radius /* Border radius (default: --snice-border-radius-lg) */
44
+ --leaderboard-bg /* var(--snice-color-background) */
45
+ --leaderboard-text /* var(--snice-color-text) */
46
+ --leaderboard-text-secondary /* var(--snice-color-text-secondary) */
47
+ --leaderboard-border /* var(--snice-color-border) */
48
+ --leaderboard-primary /* var(--snice-color-primary) */
49
+ --leaderboard-success /* var(--snice-color-success) */
50
+ --leaderboard-danger /* var(--snice-color-danger) */
51
+ --leaderboard-bg-element /* var(--snice-color-background-element) */
52
+ --leaderboard-radius /* var(--snice-border-radius-lg) */
66
53
  ```
67
54
 
68
- **CSS Parts:** `base`, `title`, `list`, `empty`
55
+ ## CSS Parts
56
+
57
+ - `base` - Outer container
58
+ - `title` - Title heading
59
+ - `list` - Entries list
60
+ - `empty` - Empty state
69
61
 
70
- ## Usage
62
+ ## Basic Usage
71
63
 
72
64
  ```html
73
- <!-- Declarative -->
74
65
  <snice-leaderboard variant="podium" title="Top Players">
75
66
  <snice-leaderboard-entry rank="1" name="Alice" score="2500" change="3" highlighted></snice-leaderboard-entry>
76
67
  <snice-leaderboard-entry rank="2" name="Bob" score="2100" change="-1"></snice-leaderboard-entry>
@@ -4,7 +4,7 @@ Rich URL preview card with image, title, description, and site info.
4
4
 
5
5
  ## Properties
6
6
 
7
- ```typescript
7
+ ```ts
8
8
  url: string = '';
9
9
  title: string = '';
10
10
  description: string = '';
@@ -19,7 +19,17 @@ size: 'small'|'medium'|'large' = 'medium';
19
19
 
20
20
  - `link-click` → `{ url: string }`
21
21
 
22
- ## Usage
22
+ ## CSS Parts
23
+
24
+ - `base` - Outer preview card container
25
+ - `content` - Text content area (title, description, footer)
26
+ - `title` - Title text element
27
+
28
+ ## Basic Usage
29
+
30
+ ```typescript
31
+ import 'snice/components/link-preview/snice-link-preview';
32
+ ```
23
33
 
24
34
  ```html
25
35
  <!-- Vertical (default) -->
@@ -37,19 +47,3 @@ size: 'small'|'medium'|'large' = 'medium';
37
47
  url="https://example.com" title="Quick Link" description="Short.">
38
48
  </snice-link-preview>
39
49
  ```
40
-
41
- ## CSS Parts
42
-
43
- - `base` - The outer preview card container
44
- - `content` - The text content area (title, description, footer)
45
- - `title` - The title text element
46
-
47
- ## Features
48
-
49
- - Vertical (image top) and horizontal (image left) layouts
50
- - 3 sizes: small, medium, large
51
- - Placeholder icon when no image
52
- - Title clamped to 2 lines, description to 3
53
- - Domain extracted from URL
54
- - Click opens URL in new tab (noopener, noreferrer)
55
- - Keyboard accessible (Enter/Space)
@@ -4,7 +4,7 @@ Hyperlink component with variants, external link handling, and hash routing.
4
4
 
5
5
  ## Properties
6
6
 
7
- ```typescript
7
+ ```ts
8
8
  href: string = '';
9
9
  target: '_self'|'_blank'|'_parent'|'_top' = '_self';
10
10
  variant: 'default'|'primary'|'secondary'|'muted' = 'default';
@@ -14,24 +14,27 @@ underline: boolean = false;
14
14
  hash: boolean = false; // auto-prepend # to href
15
15
  ```
16
16
 
17
- ## Slots
18
-
19
- - `(default)` - Link text content
20
-
21
17
  ## Events
22
18
 
23
19
  - `click` → `MouseEvent` (prevented when disabled)
24
20
  - `navigate` → `{ href: string }` (hash links only, cancelable)
25
21
 
22
+ ## Slots
23
+
24
+ - `(default)` - Link text content
25
+
26
26
  ## CSS Parts
27
27
 
28
28
  - `link` - Anchor element
29
29
  - `external-icon` - External arrow icon
30
30
 
31
- ## Usage
31
+ ## Basic Usage
32
+
33
+ ```typescript
34
+ import 'snice/components/link/snice-link';
35
+ ```
32
36
 
33
37
  ```html
34
- <!-- Basic -->
35
38
  <snice-link href="/about">About</snice-link>
36
39
 
37
40
  <!-- Variants -->
@@ -2,9 +2,14 @@
2
2
 
3
3
  List container with search, infinite scroll, and composable list items.
4
4
 
5
+ ## Components
6
+
7
+ - `<snice-list>` - Container with search, infinite scroll, loading
8
+ - `<snice-list-item>` - Individual item with heading, description, slots
9
+
5
10
  ## Properties
6
11
 
7
- ```typescript
12
+ ```ts
8
13
  // snice-list
9
14
  dividers: boolean = false;
10
15
  searchable: boolean = false;
@@ -22,6 +27,11 @@ selected: boolean = false;
22
27
  disabled: boolean = false;
23
28
  ```
24
29
 
30
+ ## Requests
31
+
32
+ - `list/search` → `{ query, list }` - Handle search (debounced 300ms)
33
+ - `list/load-more` → `{ page, list }` - Infinite scroll pagination
34
+
25
35
  ## Slots (snice-list)
26
36
 
27
37
  - `(default)` - List items
@@ -36,12 +46,18 @@ disabled: boolean = false;
36
46
  - `before` - Icon/avatar area
37
47
  - `after` - Badge/metadata area
38
48
 
39
- ## Requests
49
+ ## CSS Parts (snice-list)
50
+
51
+ - `container` - Outer list container
52
+ - `search` - Search input wrapper
53
+ - `loading` - Loading skeletons wrapper
54
+ - `sentinel` - Infinite scroll sentinel
40
55
 
41
- - `list/search` → `{ query, list }` - Handle search
42
- - `list/load-more` → `{ page, list }` - Infinite scroll
56
+ ## Basic Usage
43
57
 
44
- ## Usage
58
+ ```typescript
59
+ import 'snice/components/list/snice-list';
60
+ ```
45
61
 
46
62
  ```html
47
63
  <!-- Basic with dividers -->