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
@@ -1,29 +1,27 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/work-order.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/work-order.md -->
2
2
 
3
- # Work Order Component
3
+ # Work Order
4
+ `<snice-work-order>`
4
5
 
5
- A service work order component with task checklists, parts/materials tracking, time/labor calculations, and customer sign-off. Perfect for field service, maintenance, and repair workflows.
6
+ A service work order component with task checklists, parts/materials tracking, time/labor calculations, customer sign-off, and QR code support. Designed for field service, maintenance, and repair workflows.
6
7
 
7
- ## Importing
8
-
9
- **ESM (bundler)**
10
- ```typescript
11
- import 'snice/components/work-order/snice-work-order';
12
- ```
13
-
14
- **CDN**
15
- ```html
16
- <script src="snice-runtime.min.js"></script>
17
- <script src="snice-work-order.min.js"></script>
18
- ```
8
+ ## Table of Contents
9
+ - [Properties](#properties)
10
+ - [Methods](#methods)
11
+ - [Events](#events)
12
+ - [Slots](#slots)
13
+ - [CSS Custom Properties](#css-custom-properties)
14
+ - [CSS Parts](#css-parts)
15
+ - [Basic Usage](#basic-usage)
16
+ - [Examples](#examples)
19
17
 
20
18
  ## Properties
21
19
 
22
20
  | Property | Type | Default | Description |
23
21
  |----------|------|---------|-------------|
24
- | `woNumber` | `string` | `''` | Work order identifier |
22
+ | `woNumber` (attr: `wo-number`) | `string` | `''` | Work order identifier |
25
23
  | `date` | `string` | `''` | Work order date |
26
- | `dueDate` | `string` | `''` | Due/completion date |
24
+ | `dueDate` (attr: `due-date`) | `string` | `''` | Due/completion date |
27
25
  | `priority` | `'low' \| 'medium' \| 'high' \| 'urgent'` | `'medium'` | Priority level with visual badge |
28
26
  | `status` | `'open' \| 'in-progress' \| 'completed' \| 'cancelled'` | `'open'` | Status with visual badge |
29
27
  | `customer` | `WorkOrderCustomer \| null` | `null` | Customer information |
@@ -31,14 +29,14 @@ import 'snice/components/work-order/snice-work-order';
31
29
  | `tasks` | `WorkOrderTask[]` | `[]` | Task checklist |
32
30
  | `parts` | `WorkOrderPart[]` | `[]` | Parts/materials list |
33
31
  | `asset` | `WorkOrderAsset \| null` | `null` | Equipment/asset information |
34
- | `laborRate` | `number` | `0` | Hourly labor rate for calculations |
32
+ | `laborRate` (attr: `labor-rate`) | `number` | `0` | Hourly labor rate for calculations |
35
33
  | `notes` | `string` | `''` | Additional notes |
36
34
  | `variant` | `'standard' \| 'compact' \| 'field-service' \| 'maintenance' \| 'detailed'` | `'standard'` | Visual style variant |
37
- | `showQr` | `boolean` | `false` | Show QR code placeholder |
38
- | `qrData` | `string` | `''` | QR code data |
39
- | `qrPosition` | `'top-right' \| 'header' \| 'footer'` | `'top-right'` | QR code placement |
35
+ | `showQr` (attr: `show-qr`) | `boolean` | `false` | Show QR code placeholder |
36
+ | `qrData` (attr: `qr-data`) | `string` | `''` | QR code data |
37
+ | `qrPosition` (attr: `qr-position`) | `'top-right' \| 'header' \| 'footer'` | `'top-right'` | QR code placement |
40
38
 
41
- ### WorkOrderCustomer Interface
39
+ ### Data Interfaces
42
40
 
43
41
  ```typescript
44
42
  interface WorkOrderCustomer {
@@ -47,33 +45,21 @@ interface WorkOrderCustomer {
47
45
  phone?: string;
48
46
  email?: string;
49
47
  }
50
- ```
51
-
52
- ### WorkOrderTask Interface
53
48
 
54
- ```typescript
55
49
  interface WorkOrderTask {
56
50
  description: string;
57
51
  assignee?: string;
58
52
  completed?: boolean;
59
53
  hours?: number;
60
54
  }
61
- ```
62
55
 
63
- ### WorkOrderPart Interface
64
-
65
- ```typescript
66
56
  interface WorkOrderPart {
67
57
  name: string;
68
58
  partNumber?: string;
69
59
  quantity: number;
70
60
  unitCost: number;
71
61
  }
72
- ```
73
-
74
- ### WorkOrderAsset Interface
75
62
 
76
- ```typescript
77
63
  interface WorkOrderAsset {
78
64
  id: string;
79
65
  name: string;
@@ -89,7 +75,7 @@ interface WorkOrderAsset {
89
75
  |--------|---------|-------------|
90
76
  | `getTotalPartsCost()` | `number` | Calculate total cost of all parts |
91
77
  | `getTotalLaborHours()` | `number` | Sum of all task hours |
92
- | `getTotalLaborCost()` | `number` | Labor hours × labor rate |
78
+ | `getTotalLaborCost()` | `number` | Labor hours x labor rate |
93
79
  | `getTotalCost()` | `number` | Parts cost + labor cost |
94
80
  | `print()` | `void` | Print the work order |
95
81
  | `toJSON()` | `WorkOrderJSON` | Export all data including calculated totals |
@@ -104,31 +90,31 @@ interface WorkOrderAsset {
104
90
 
105
91
  ## Slots
106
92
 
107
- | Slot Name | Description |
108
- |-----------|-------------|
93
+ | Name | Description |
94
+ |------|-------------|
95
+ | (default) | Additional content after main sections |
109
96
  | `qr` | QR code content |
110
97
  | `signature` | Signature capture area |
111
98
  | `footer` | Additional footer content |
112
- | (default) | Default slot for extra content |
113
99
 
114
100
  ## CSS Custom Properties
115
101
 
116
- | Property | Default | Description |
117
- |----------|---------|-------------|
118
- | `--wo-max-width` | `50rem` | Maximum width |
119
- | `--wo-bg` | `white` | Background color |
120
- | `--wo-bg-element` | `rgb(252 251 249)` | Element background |
121
- | `--wo-text` | `rgb(23 23 23)` | Text color |
122
- | `--wo-text-secondary` | `rgb(82 82 82)` | Secondary text |
123
- | `--wo-border` | `rgb(226 226 226)` | Border color |
124
- | `--wo-accent` | `rgb(37 99 235)` | Accent color |
125
- | `--wo-priority-low-bg/text` | various | Low priority badge colors |
126
- | `--wo-priority-medium-bg/text` | various | Medium priority badge colors |
127
- | `--wo-priority-high-bg/text` | various | High priority badge colors |
128
- | `--wo-priority-urgent-bg/text` | various | Urgent priority badge colors |
129
- | `--wo-task-checkbox-size` | `1.25rem` | Checkbox size |
130
- | `--wo-signature-line-color` | border color | Signature line color |
131
- | `--wo-qr-size` | `5rem` | QR code size |
102
+ | Property | Description | Default |
103
+ |----------|-------------|---------|
104
+ | `--wo-max-width` | Maximum width | `50rem` |
105
+ | `--wo-bg` | Background color | `white` |
106
+ | `--wo-bg-element` | Element background | `rgb(252 251 249)` |
107
+ | `--wo-text` | Text color | `rgb(23 23 23)` |
108
+ | `--wo-text-secondary` | Secondary text | `rgb(82 82 82)` |
109
+ | `--wo-border` | Border color | `rgb(226 226 226)` |
110
+ | `--wo-accent` | Accent color | `rgb(37 99 235)` |
111
+ | `--wo-priority-low-bg` / `--wo-priority-low-text` | Low priority badge colors | various |
112
+ | `--wo-priority-medium-bg` / `--wo-priority-medium-text` | Medium priority badge colors | various |
113
+ | `--wo-priority-high-bg` / `--wo-priority-high-text` | High priority badge colors | various |
114
+ | `--wo-priority-urgent-bg` / `--wo-priority-urgent-text` | Urgent priority badge colors | various |
115
+ | `--wo-task-checkbox-size` | Checkbox size | `1.25rem` |
116
+ | `--wo-signature-line-color` | Signature line color | border color |
117
+ | `--wo-qr-size` | QR code size | `5rem` |
132
118
 
133
119
  ## CSS Parts
134
120
 
@@ -183,6 +169,10 @@ interface WorkOrderAsset {
183
169
 
184
170
  ## Basic Usage
185
171
 
172
+ ```typescript
173
+ import 'snice/components/work-order/snice-work-order';
174
+ ```
175
+
186
176
  ```html
187
177
  <snice-work-order
188
178
  wo-number="WO-2026-0184"
@@ -207,37 +197,11 @@ wo.parts = [
207
197
 
208
198
  ## Examples
209
199
 
210
- ### Basic Work Order
211
-
212
- ```html
213
- <snice-work-order
214
- wo-number="WO-001"
215
- date="2026-03-01"
216
- priority="medium"
217
- status="open"
218
- description="Routine maintenance check.">
219
- </snice-work-order>
220
- ```
221
-
222
- ```typescript
223
- wo.customer = { name: 'ABC Company' };
224
- wo.tasks = [
225
- { description: 'Check system status', completed: false }
226
- ];
227
- ```
228
-
229
200
  ### With Asset Information
230
201
 
231
- ```html
232
- <snice-work-order
233
- wo-number="WO-002"
234
- date="2026-03-01"
235
- description="Repair malfunctioning equipment.">
236
- </snice-work-order>
237
- ```
202
+ Use the `asset` property to display equipment details. The `maintenance` variant highlights the asset section.
238
203
 
239
204
  ```typescript
240
- wo.customer = { name: 'Manufacturing Plant' };
241
205
  wo.asset = {
242
206
  id: 'EQ-12345',
243
207
  name: 'CNC Machine Alpha',
@@ -245,43 +209,27 @@ wo.asset = {
245
209
  serial: 'SN789456123',
246
210
  lastService: '2025-12-15'
247
211
  };
248
- wo.tasks = [
249
- { description: 'Diagnose issue', completed: true },
250
- { description: 'Replace worn parts', completed: false }
251
- ];
252
212
  ```
253
213
 
254
214
  ### Task Checklist with Hours
255
215
 
216
+ Set `labor-rate` and provide tasks with hours for automatic labor cost calculation.
217
+
256
218
  ```html
257
- <snice-work-order
258
- wo-number="WO-003"
259
- labor-rate="75"
260
- description="Server room maintenance.">
261
- </snice-work-order>
219
+ <snice-work-order wo-number="WO-003" labor-rate="75"></snice-work-order>
262
220
  ```
263
221
 
264
222
  ```typescript
265
- wo.customer = { name: 'Tech Corp' };
266
223
  wo.tasks = [
267
224
  { description: 'Clean server racks', assignee: 'John D.', hours: 2, completed: true },
268
225
  { description: 'Replace failed drives', assignee: 'John D.', hours: 1.5, completed: true },
269
- { description: 'Update firmware', assignee: 'Sarah M.', hours: 1, completed: false },
270
- { description: 'Run diagnostics', assignee: 'Sarah M.', hours: 0.5, completed: false }
226
+ { description: 'Update firmware', assignee: 'Sarah M.', hours: 1, completed: false }
271
227
  ];
272
228
  ```
273
229
 
274
230
  ### Parts and Materials
275
231
 
276
- ```html
277
- <snice-work-order
278
- wo-number="WO-004"
279
- labor-rate="90">
280
- </snice-work-order>
281
- ```
282
-
283
232
  ```typescript
284
- wo.customer = { name: 'Property Management' };
285
233
  wo.parts = [
286
234
  { name: 'Air Filter 16x25x1', partNumber: 'AF-1625', quantity: 12, unitCost: 8.99 },
287
235
  { name: 'Thermostat', partNumber: 'TH-WIFI', quantity: 3, unitCost: 149.99 },
@@ -289,30 +237,20 @@ wo.parts = [
289
237
  ];
290
238
  ```
291
239
 
292
- ### Different Priorities and Statuses
240
+ ### Priorities and Statuses
293
241
 
294
242
  ```html
295
- <!-- Low priority, open -->
296
243
  <snice-work-order wo-number="WO-L1" priority="low" status="open"></snice-work-order>
297
-
298
- <!-- Medium priority, in-progress -->
299
244
  <snice-work-order wo-number="WO-M1" priority="medium" status="in-progress"></snice-work-order>
300
-
301
- <!-- High priority -->
302
245
  <snice-work-order wo-number="WO-H1" priority="high" status="open"></snice-work-order>
303
-
304
- <!-- Urgent priority -->
305
246
  <snice-work-order wo-number="WO-U1" priority="urgent" status="in-progress"></snice-work-order>
306
-
307
- <!-- Completed status -->
308
247
  <snice-work-order wo-number="WO-C1" priority="medium" status="completed"></snice-work-order>
309
-
310
- <!-- Cancelled -->
311
- <snice-work-order wo-number="WO-X1" priority="low" status="cancelled"></snice-work-order>
312
248
  ```
313
249
 
314
250
  ### Field Service Variant
315
251
 
252
+ Use the `field-service` variant for larger checkboxes, bordered tasks, and a prominent signature area.
253
+
316
254
  ```html
317
255
  <snice-work-order
318
256
  variant="field-service"
@@ -323,11 +261,7 @@ wo.parts = [
323
261
  </snice-work-order>
324
262
  ```
325
263
 
326
- ### Listening for Events
327
-
328
- ```html
329
- <snice-work-order wo-number="WO-EVT-001"></snice-work-order>
330
- ```
264
+ ### Event Handling
331
265
 
332
266
  ```typescript
333
267
  wo.addEventListener('task-toggle', (e) => {
@@ -345,37 +279,16 @@ wo.addEventListener('wo-sign', (e) => {
345
279
 
346
280
  ### Cost Calculation
347
281
 
348
- ```html
349
- <snice-work-order
350
- wo-number="WO-COST-001"
351
- labor-rate="100">
352
- </snice-work-order>
353
- ```
354
-
355
282
  ```typescript
356
- wo.tasks = [
357
- { description: 'Labor 1', hours: 2, completed: true },
358
- { description: 'Labor 2', hours: 3, completed: false }
359
- ];
360
- wo.parts = [
361
- { name: 'Part A', quantity: 2, unitCost: 50 },
362
- { name: 'Part B', quantity: 1, unitCost: 150 }
363
- ];
364
-
365
- // Access calculated totals
366
283
  console.log('Parts cost:', wo.getTotalPartsCost());
367
284
  console.log('Labor hours:', wo.getTotalLaborHours());
368
285
  console.log('Labor cost:', wo.getTotalLaborCost());
369
286
  console.log('Total cost:', wo.getTotalCost());
370
287
  ```
371
288
 
372
- ### Print Work Order
373
-
374
- ```html
375
- <snice-work-order wo-number="WO-PRINT-001"></snice-work-order>
376
- <button>Print Work Order</button>
377
- ```
289
+ ### Print and Export
378
290
 
379
291
  ```typescript
380
- wo.print();
292
+ wo.print(); // Opens browser print dialog
293
+ const data = wo.toJSON(); // Export all data with computed totals
381
294
  ```
@@ -0,0 +1,104 @@
1
+ # Design: snice-action-bar
2
+
3
+ ## Summary
4
+
5
+ A positioned, animated container for contextual actions. Wraps slotted content (buttons, icons, anything), handles layout, show/hide animation, and keyboard navigation. Consumer controls shape, content, and trigger.
6
+
7
+ ## Properties
8
+
9
+ ```typescript
10
+ open: boolean = false; // attr: open
11
+ position: 'top' | 'bottom' | 'left' | 'right'
12
+ | 'top-left' | 'top-right'
13
+ | 'bottom-left' | 'bottom-right' = 'bottom'; // attr: position
14
+ size: 'small' | 'medium' = 'medium'; // attr: size
15
+ variant: 'default' | 'pill' = 'default'; // attr: variant
16
+ noAnimation: boolean = false; // attr: no-animation
17
+ noEscapeDismiss: boolean = false; // attr: no-escape-dismiss
18
+ ```
19
+
20
+ ## Methods
21
+
22
+ - `show()` — sets open = true
23
+ - `hide()` — sets open = false
24
+ - `toggle()` — toggles open state
25
+
26
+ ## Events
27
+
28
+ - `action-bar-open` → `{ actionBar: this }`
29
+ - `action-bar-close` → `{ actionBar: this }`
30
+
31
+ ## Slots
32
+
33
+ - `(default)` — action content
34
+
35
+ ## Keyboard
36
+
37
+ - Arrow keys navigate focusable slotted children (roving tabindex)
38
+ - `Escape` calls hide() unless `no-escape-dismiss`
39
+ - `role="toolbar"` with `aria-label` support
40
+
41
+ ## Positioning
42
+
43
+ - `position: absolute` within a `position: relative` parent
44
+ - `position` property maps to CSS inset values:
45
+ - `bottom` → bottom center
46
+ - `top-right` → top right corner
47
+ - etc.
48
+
49
+ ## Animation
50
+
51
+ - Show: fade in + slide from anchored edge (e.g., bottom → slides up)
52
+ - Hide: reverse (fade out + slide back)
53
+ - `no-animation`: always visible, `open` ignored, no transitions
54
+ - Uses CSS transitions (not keyframes) for simplicity
55
+
56
+ ## CSS Custom Properties
57
+
58
+ ```css
59
+ --action-bar-background: var(--snice-color-background-element, rgb(252 251 249))
60
+ --action-bar-border: 1px solid var(--snice-color-border, rgb(226 226 226))
61
+ --action-bar-border-radius: var(--snice-border-radius-lg, 0.5rem)
62
+ --action-bar-padding: var(--snice-spacing-xs, 0.5rem)
63
+ --action-bar-gap: var(--snice-spacing-2xs, 0.25rem)
64
+ --action-bar-shadow: var(--snice-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1))
65
+ --action-bar-z-index: 10
66
+ ```
67
+
68
+ ## Variant: pill
69
+
70
+ Overrides border-radius to full rounding (`9999px`).
71
+
72
+ ## Size
73
+
74
+ - `small`: reduced padding and gap
75
+ - `medium`: default
76
+
77
+ ## Non-goals (v1)
78
+
79
+ - No `for="selector"` auto-trigger (future)
80
+ - No viewport collision detection
81
+ - No imperative items API
82
+ - No built-in trigger modes
83
+
84
+ ## Usage
85
+
86
+ ```html
87
+ <!-- Animated on parent hover -->
88
+ <div class="card"
89
+ @mouseenter=${() => bar.show()}
90
+ @mouseleave=${() => bar.hide()}>
91
+ <p>Post content</p>
92
+ <snice-action-bar id="bar" position="bottom" variant="pill">
93
+ <button>♡</button>
94
+ <button>💬</button>
95
+ <button>🗑</button>
96
+ </snice-action-bar>
97
+ </div>
98
+
99
+ <!-- Always visible -->
100
+ <snice-action-bar no-animation position="top-right" size="small">
101
+ <button>✏️</button>
102
+ <button>🗑</button>
103
+ </snice-action-bar>
104
+ ```