snice 4.27.0 → 4.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/adapters/react/action-bar.d.ts +30 -0
  2. package/adapters/react/action-bar.d.ts.map +1 -0
  3. package/adapters/react/action-bar.js +24 -0
  4. package/adapters/react/action-bar.js.map +1 -0
  5. package/adapters/react/action-bar.tsx +38 -0
  6. package/adapters/react/binpack.d.ts +35 -0
  7. package/adapters/react/binpack.d.ts.map +1 -0
  8. package/adapters/react/binpack.js +24 -0
  9. package/adapters/react/binpack.js.map +1 -0
  10. package/adapters/react/binpack.tsx +43 -0
  11. package/adapters/react/components.d.ts +4 -0
  12. package/adapters/react/components.d.ts.map +1 -1
  13. package/adapters/react/components.js +2 -0
  14. package/adapters/react/components.js.map +1 -1
  15. package/adapters/react/components.ts +4 -0
  16. package/adapters/react/useRequestHandler.d.ts +56 -0
  17. package/adapters/react/useRequestHandler.js +103 -0
  18. package/adapters/react/useRequestHandler.js.map +1 -0
  19. package/dist/cdn/accordion/snice-accordion.js +1 -1
  20. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  21. package/dist/cdn/action-bar/README.md +27 -0
  22. package/dist/cdn/action-bar/snice-action-bar.js +249 -0
  23. package/dist/cdn/action-bar/snice-action-bar.js.map +1 -0
  24. package/dist/cdn/action-bar/snice-action-bar.min.js +12 -0
  25. package/dist/cdn/action-bar/snice-action-bar.min.js.map +1 -0
  26. package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
  27. package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
  28. package/dist/cdn/alert/snice-alert.js +1 -1
  29. package/dist/cdn/alert/snice-alert.min.js +1 -1
  30. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  31. package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
  32. package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
  33. package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
  34. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  35. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  36. package/dist/cdn/availability/snice-availability.js +1 -1
  37. package/dist/cdn/availability/snice-availability.min.js +1 -1
  38. package/dist/cdn/avatar/snice-avatar.js +1 -1
  39. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  40. package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
  41. package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
  42. package/dist/cdn/badge/snice-badge.js +2 -2
  43. package/dist/cdn/badge/snice-badge.js.map +1 -1
  44. package/dist/cdn/badge/snice-badge.min.js +2 -2
  45. package/dist/cdn/badge/snice-badge.min.js.map +1 -1
  46. package/dist/cdn/banner/snice-banner.js +1 -1
  47. package/dist/cdn/banner/snice-banner.min.js +1 -1
  48. package/dist/cdn/binpack/README.md +27 -0
  49. package/dist/cdn/binpack/snice-binpack.js +1037 -0
  50. package/dist/cdn/binpack/snice-binpack.js.map +1 -0
  51. package/dist/cdn/binpack/snice-binpack.min.js +13 -0
  52. package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
  53. package/dist/cdn/book/snice-book.js +1 -1
  54. package/dist/cdn/book/snice-book.min.js +1 -1
  55. package/dist/cdn/booking/snice-booking.js +1 -1
  56. package/dist/cdn/booking/snice-booking.min.js +1 -1
  57. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  58. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  59. package/dist/cdn/button/README.md +1 -1
  60. package/dist/cdn/button/snice-button.js +11 -10
  61. package/dist/cdn/button/snice-button.js.map +1 -1
  62. package/dist/cdn/button/snice-button.min.js +3 -3
  63. package/dist/cdn/button/snice-button.min.js.map +1 -1
  64. package/dist/cdn/calendar/snice-calendar.js +1 -1
  65. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  66. package/dist/cdn/camera/snice-camera.js +1 -1
  67. package/dist/cdn/camera/snice-camera.min.js +1 -1
  68. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  69. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  70. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  71. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  72. package/dist/cdn/card/snice-card.js +1 -1
  73. package/dist/cdn/card/snice-card.min.js +1 -1
  74. package/dist/cdn/carousel/snice-carousel.js +1 -1
  75. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  76. package/dist/cdn/cart/snice-cart.js +1 -1
  77. package/dist/cdn/cart/snice-cart.min.js +1 -1
  78. package/dist/cdn/chart/snice-chart.js +1 -1
  79. package/dist/cdn/chart/snice-chart.min.js +1 -1
  80. package/dist/cdn/chat/snice-chat.js +1 -1
  81. package/dist/cdn/chat/snice-chat.min.js +1 -1
  82. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  83. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  84. package/dist/cdn/chip/snice-chip.js +1 -1
  85. package/dist/cdn/chip/snice-chip.min.js +1 -1
  86. package/dist/cdn/code-block/snice-code-block.js +1 -1
  87. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  88. package/dist/cdn/color-display/snice-color-display.js +1 -1
  89. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  90. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  91. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  92. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  93. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  94. package/dist/cdn/comments/snice-comments.js +1 -1
  95. package/dist/cdn/comments/snice-comments.min.js +1 -1
  96. package/dist/cdn/countdown/snice-countdown.js +1 -1
  97. package/dist/cdn/countdown/snice-countdown.min.js +1 -1
  98. package/dist/cdn/cropper/snice-cropper.js +1 -1
  99. package/dist/cdn/cropper/snice-cropper.min.js +1 -1
  100. package/dist/cdn/data-card/snice-data-card.js +1 -1
  101. package/dist/cdn/data-card/snice-data-card.min.js +1 -1
  102. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  103. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  104. package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
  105. package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +1 -1
  106. package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
  107. package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +1 -1
  108. package/dist/cdn/diff/snice-diff.js +1 -1
  109. package/dist/cdn/diff/snice-diff.min.js +1 -1
  110. package/dist/cdn/divider/snice-divider.js +1 -1
  111. package/dist/cdn/divider/snice-divider.min.js +1 -1
  112. package/dist/cdn/doc/snice-doc.js +1 -1
  113. package/dist/cdn/doc/snice-doc.min.js +1 -1
  114. package/dist/cdn/draw/snice-draw.js +1 -1
  115. package/dist/cdn/draw/snice-draw.min.js +1 -1
  116. package/dist/cdn/drawer/snice-drawer.js +1 -1
  117. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  118. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  119. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  120. package/dist/cdn/estimate/snice-estimate.js +1 -1
  121. package/dist/cdn/estimate/snice-estimate.min.js +1 -1
  122. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  123. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  124. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  125. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  126. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  127. package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
  128. package/dist/cdn/flow/snice-flow.js +1 -1
  129. package/dist/cdn/flow/snice-flow.min.js +1 -1
  130. package/dist/cdn/form-layout/snice-form-layout.js +1 -1
  131. package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
  132. package/dist/cdn/funnel/snice-funnel.js +1 -1
  133. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  134. package/dist/cdn/gantt/snice-gantt.js +1 -1
  135. package/dist/cdn/gantt/snice-gantt.min.js +1 -1
  136. package/dist/cdn/gauge/snice-gauge.js +1 -1
  137. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  138. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  139. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  140. package/dist/cdn/image/snice-image.js +1 -1
  141. package/dist/cdn/image/snice-image.min.js +1 -1
  142. package/dist/cdn/input/snice-input.js +1 -1
  143. package/dist/cdn/input/snice-input.min.js +1 -1
  144. package/dist/cdn/invoice/snice-invoice.js +1 -1
  145. package/dist/cdn/invoice/snice-invoice.min.js +1 -1
  146. package/dist/cdn/kanban/snice-kanban.js +1 -1
  147. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  148. package/dist/cdn/key-value/snice-key-value.js +1 -1
  149. package/dist/cdn/key-value/snice-key-value.min.js +1 -1
  150. package/dist/cdn/kpi/snice-kpi.js +1 -1
  151. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  152. package/dist/cdn/layout/snice-layout.js +1 -1
  153. package/dist/cdn/layout/snice-layout.min.js +1 -1
  154. package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
  155. package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
  156. package/dist/cdn/link/snice-link.js +1 -1
  157. package/dist/cdn/link/snice-link.min.js +1 -1
  158. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  159. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  160. package/dist/cdn/list/snice-list.js +1 -1
  161. package/dist/cdn/list/snice-list.min.js +1 -1
  162. package/dist/cdn/location/snice-location.js +1 -1
  163. package/dist/cdn/location/snice-location.min.js +1 -1
  164. package/dist/cdn/login/README.md +2 -2
  165. package/dist/cdn/login/snice-login.js +11 -10
  166. package/dist/cdn/login/snice-login.js.map +1 -1
  167. package/dist/cdn/login/snice-login.min.js +5 -5
  168. package/dist/cdn/login/snice-login.min.js.map +1 -1
  169. package/dist/cdn/map/snice-map.js +1 -1
  170. package/dist/cdn/map/snice-map.min.js +1 -1
  171. package/dist/cdn/markdown/snice-markdown.js +1 -1
  172. package/dist/cdn/markdown/snice-markdown.min.js +1 -1
  173. package/dist/cdn/masonry/snice-masonry.js +1 -1
  174. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  175. package/dist/cdn/menu/snice-menu.js +1 -1
  176. package/dist/cdn/menu/snice-menu.min.js +1 -1
  177. package/dist/cdn/message-strip/snice-message-strip.js +1 -1
  178. package/dist/cdn/message-strip/snice-message-strip.min.js +1 -1
  179. package/dist/cdn/metric-table/snice-metric-table.js +1 -1
  180. package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
  181. package/dist/cdn/modal/snice-modal.js +1 -1
  182. package/dist/cdn/modal/snice-modal.min.js +1 -1
  183. package/dist/cdn/music-player/snice-music-player.js +1 -1
  184. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  185. package/dist/cdn/nav/snice-nav.js +1 -1
  186. package/dist/cdn/nav/snice-nav.min.js +1 -1
  187. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  188. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  189. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  190. package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
  191. package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
  192. package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
  193. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  194. package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
  195. package/dist/cdn/pagination/snice-pagination.js +1 -1
  196. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  197. package/dist/cdn/paint/snice-paint.js +1 -1
  198. package/dist/cdn/paint/snice-paint.min.js +1 -1
  199. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  200. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
  201. package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
  202. package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
  203. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  204. package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
  205. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  206. package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
  207. package/dist/cdn/product-card/snice-product-card.js +1 -1
  208. package/dist/cdn/product-card/snice-product-card.min.js +1 -1
  209. package/dist/cdn/progress/snice-progress.js +1 -1
  210. package/dist/cdn/progress/snice-progress.min.js +1 -1
  211. package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
  212. package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
  213. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  214. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  215. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  216. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  217. package/dist/cdn/radio/snice-radio.js +1 -1
  218. package/dist/cdn/radio/snice-radio.min.js +1 -1
  219. package/dist/cdn/range-slider/snice-range-slider.js +1 -1
  220. package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
  221. package/dist/cdn/rating/snice-rating.js +1 -1
  222. package/dist/cdn/rating/snice-rating.min.js +1 -1
  223. package/dist/cdn/receipt/snice-receipt.js +1 -1
  224. package/dist/cdn/receipt/snice-receipt.min.js +1 -1
  225. package/dist/cdn/recipe/snice-recipe.js +1 -1
  226. package/dist/cdn/recipe/snice-recipe.min.js +1 -1
  227. package/dist/cdn/runtime/README.md +2 -2
  228. package/dist/cdn/runtime/snice-runtime.esm.js +152 -62
  229. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  230. package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
  231. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  232. package/dist/cdn/runtime/snice-runtime.js +152 -61
  233. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  234. package/dist/cdn/runtime/snice-runtime.min.js +8 -8
  235. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  236. package/dist/cdn/sankey/snice-sankey.js +1 -1
  237. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  238. package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
  239. package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
  240. package/dist/cdn/select/snice-select.js +1 -1
  241. package/dist/cdn/select/snice-select.min.js +1 -1
  242. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  243. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  244. package/dist/cdn/slider/snice-slider.js +1 -1
  245. package/dist/cdn/slider/snice-slider.min.js +1 -1
  246. package/dist/cdn/sortable/snice-sortable.js +1 -1
  247. package/dist/cdn/sortable/snice-sortable.min.js +1 -1
  248. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  249. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  250. package/dist/cdn/spinner/snice-spinner.js +1 -1
  251. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  252. package/dist/cdn/split-button/snice-split-button.js +1 -1
  253. package/dist/cdn/split-button/snice-split-button.min.js +1 -1
  254. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  255. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  256. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  257. package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
  258. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
  259. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
  260. package/dist/cdn/stat-group/snice-stat-group.js +1 -1
  261. package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
  262. package/dist/cdn/step-input/snice-step-input.js +1 -1
  263. package/dist/cdn/step-input/snice-step-input.min.js +1 -1
  264. package/dist/cdn/stepper/snice-stepper.js +1 -1
  265. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  266. package/dist/cdn/switch/snice-switch.js +1 -1
  267. package/dist/cdn/switch/snice-switch.min.js +1 -1
  268. package/dist/cdn/table/README.md +1 -1
  269. package/dist/cdn/table/snice-table.js +11 -10
  270. package/dist/cdn/table/snice-table.js.map +1 -1
  271. package/dist/cdn/table/snice-table.min.js +73 -73
  272. package/dist/cdn/table/snice-table.min.js.map +1 -1
  273. package/dist/cdn/tabs/snice-tabs.js +1 -1
  274. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  275. package/dist/cdn/tag/snice-tag.js +1 -1
  276. package/dist/cdn/tag/snice-tag.min.js +1 -1
  277. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  278. package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
  279. package/dist/cdn/terminal/snice-terminal.js +1 -1
  280. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  281. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  282. package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
  283. package/dist/cdn/textarea/snice-textarea.js +1 -1
  284. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  285. package/dist/cdn/time-picker/snice-time-picker.js +1 -1
  286. package/dist/cdn/time-picker/snice-time-picker.min.js +1 -1
  287. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  288. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  289. package/dist/cdn/timeline/snice-timeline.js +1 -1
  290. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  291. package/dist/cdn/timer/snice-timer.js +1 -1
  292. package/dist/cdn/timer/snice-timer.min.js +1 -1
  293. package/dist/cdn/toast/snice-toast.js +1 -1
  294. package/dist/cdn/toast/snice-toast.min.js +1 -1
  295. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  296. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  297. package/dist/cdn/tree/snice-tree.js +1 -1
  298. package/dist/cdn/tree/snice-tree.min.js +1 -1
  299. package/dist/cdn/treemap/snice-treemap.js +1 -1
  300. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  301. package/dist/cdn/user-card/snice-user-card.js +1 -1
  302. package/dist/cdn/user-card/snice-user-card.min.js +1 -1
  303. package/dist/cdn/video-player/snice-video-player.js +1 -1
  304. package/dist/cdn/video-player/snice-video-player.min.js +1 -1
  305. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  306. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  307. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  308. package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
  309. package/dist/cdn/weather/snice-weather.js +1 -1
  310. package/dist/cdn/weather/snice-weather.min.js +1 -1
  311. package/dist/cdn/work-order/snice-work-order.js +1 -1
  312. package/dist/cdn/work-order/snice-work-order.min.js +1 -1
  313. package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
  314. package/dist/components/action-bar/snice-action-bar.js +182 -0
  315. package/dist/components/action-bar/snice-action-bar.js.map +1 -0
  316. package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
  317. package/dist/components/badge/snice-badge.js +1 -1
  318. package/dist/components/badge/snice-badge.js.map +1 -1
  319. package/dist/components/binpack/snice-binpack.d.ts +82 -0
  320. package/dist/components/binpack/snice-binpack.js +970 -0
  321. package/dist/components/binpack/snice-binpack.js.map +1 -0
  322. package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
  323. package/dist/components/button/snice-button.d.ts +2 -2
  324. package/dist/components/button/snice-button.js +11 -10
  325. package/dist/components/button/snice-button.js.map +1 -1
  326. package/dist/create-request-handler.d.ts +42 -0
  327. package/dist/index.cjs +149 -58
  328. package/dist/index.cjs.map +1 -1
  329. package/dist/index.d.ts +2 -0
  330. package/dist/index.esm.js +149 -59
  331. package/dist/index.esm.js.map +1 -1
  332. package/dist/index.iife.js +149 -58
  333. package/dist/index.iife.js.map +1 -1
  334. package/dist/parts.d.ts +9 -7
  335. package/dist/react/useRequestHandler.d.ts +56 -0
  336. package/dist/react/useRequestHandler.js +103 -0
  337. package/dist/react/useRequestHandler.js.map +1 -0
  338. package/dist/symbols.cjs +1 -1
  339. package/dist/symbols.esm.js +1 -1
  340. package/dist/transitions.cjs +1 -1
  341. package/dist/transitions.esm.js +1 -1
  342. package/docs/ai/DEVELOPMENT.md +1 -1
  343. package/docs/ai/components/accordion.md +46 -80
  344. package/docs/ai/components/action-bar.md +75 -0
  345. package/docs/ai/components/activity-feed.md +7 -7
  346. package/docs/ai/components/alert.md +26 -44
  347. package/docs/ai/components/app-tiles.md +34 -39
  348. package/docs/ai/components/approval-flow.md +1 -1
  349. package/docs/ai/components/audio-recorder.md +35 -67
  350. package/docs/ai/components/availability.md +13 -34
  351. package/docs/ai/components/avatar-group.md +26 -13
  352. package/docs/ai/components/avatar.md +52 -36
  353. package/docs/ai/components/badge.md +21 -32
  354. package/docs/ai/components/banner.md +21 -43
  355. package/docs/ai/components/binpack.md +89 -0
  356. package/docs/ai/components/book.md +25 -23
  357. package/docs/ai/components/booking.md +31 -36
  358. package/docs/ai/components/breadcrumbs.md +36 -11
  359. package/docs/ai/components/button.md +33 -44
  360. package/docs/ai/components/calendar.md +37 -70
  361. package/docs/ai/components/camera-annotate.md +31 -64
  362. package/docs/ai/components/camera.md +38 -120
  363. package/docs/ai/components/candlestick.md +32 -52
  364. package/docs/ai/components/card.md +20 -30
  365. package/docs/ai/components/carousel.md +32 -32
  366. package/docs/ai/components/cart.md +24 -29
  367. package/docs/ai/components/chart.md +29 -114
  368. package/docs/ai/components/chat.md +38 -75
  369. package/docs/ai/components/checkbox.md +22 -41
  370. package/docs/ai/components/chip.md +18 -54
  371. package/docs/ai/components/code-block.md +57 -178
  372. package/docs/ai/components/color-display.md +12 -32
  373. package/docs/ai/components/color-picker.md +17 -39
  374. package/docs/ai/components/command-palette.md +49 -71
  375. package/docs/ai/components/comments.md +55 -36
  376. package/docs/ai/components/countdown.md +28 -30
  377. package/docs/ai/components/cropper.md +33 -33
  378. package/docs/ai/components/data-card.md +20 -14
  379. package/docs/ai/components/date-picker.md +40 -47
  380. package/docs/ai/components/date-range-picker.md +31 -15
  381. package/docs/ai/components/date-time-picker.md +23 -46
  382. package/docs/ai/components/diff.md +30 -31
  383. package/docs/ai/components/divider.md +17 -47
  384. package/docs/ai/components/doc.md +43 -68
  385. package/docs/ai/components/draw.md +35 -87
  386. package/docs/ai/components/drawer.md +48 -77
  387. package/docs/ai/components/empty-state.md +10 -44
  388. package/docs/ai/components/estimate.md +33 -58
  389. package/docs/ai/components/file-gallery.md +48 -100
  390. package/docs/ai/components/file-upload.md +17 -53
  391. package/docs/ai/components/flip-card.md +31 -23
  392. package/docs/ai/components/flow.md +37 -65
  393. package/docs/ai/components/form-builder.md +35 -75
  394. package/docs/ai/components/form-layout.md +10 -20
  395. package/docs/ai/components/funnel.md +33 -48
  396. package/docs/ai/components/gantt.md +27 -23
  397. package/docs/ai/components/gauge.md +16 -17
  398. package/docs/ai/components/heatmap.md +21 -21
  399. package/docs/ai/components/image.md +7 -13
  400. package/docs/ai/components/input.md +38 -70
  401. package/docs/ai/components/invoice.md +35 -36
  402. package/docs/ai/components/kanban.md +32 -61
  403. package/docs/ai/components/key-value.md +32 -16
  404. package/docs/ai/components/kpi.md +38 -73
  405. package/docs/ai/components/layout.md +29 -23
  406. package/docs/ai/components/leaderboard.md +28 -37
  407. package/docs/ai/components/link-preview.md +12 -18
  408. package/docs/ai/components/link.md +10 -7
  409. package/docs/ai/components/list.md +21 -5
  410. package/docs/ai/components/location.md +21 -25
  411. package/docs/ai/components/login.md +14 -9
  412. package/docs/ai/components/map.md +27 -33
  413. package/docs/ai/components/markdown.md +20 -24
  414. package/docs/ai/components/masonry.md +10 -14
  415. package/docs/ai/components/mentions.md +26 -12
  416. package/docs/ai/components/menu.md +54 -52
  417. package/docs/ai/components/message-strip.md +20 -20
  418. package/docs/ai/components/metric-table.md +14 -21
  419. package/docs/ai/components/modal.md +27 -18
  420. package/docs/ai/components/music-player.md +49 -41
  421. package/docs/ai/components/nav.md +34 -31
  422. package/docs/ai/components/network-graph.md +27 -42
  423. package/docs/ai/components/notification-center.md +31 -33
  424. package/docs/ai/components/order-tracker.md +36 -27
  425. package/docs/ai/components/org-chart.md +36 -31
  426. package/docs/ai/components/pagination.md +34 -26
  427. package/docs/ai/components/paint.md +53 -91
  428. package/docs/ai/components/pdf-viewer.md +35 -36
  429. package/docs/ai/components/permission-matrix.md +26 -31
  430. package/docs/ai/components/podcast-player.md +64 -70
  431. package/docs/ai/components/pricing-table.md +37 -48
  432. package/docs/ai/components/product-card.md +58 -41
  433. package/docs/ai/components/progress-ring.md +20 -24
  434. package/docs/ai/components/progress.md +28 -45
  435. package/docs/ai/components/qr-code.md +25 -27
  436. package/docs/ai/components/qr-reader.md +20 -23
  437. package/docs/ai/components/radio.md +17 -15
  438. package/docs/ai/components/range-slider.md +22 -11
  439. package/docs/ai/components/rating.md +29 -33
  440. package/docs/ai/components/receipt.md +50 -127
  441. package/docs/ai/components/recipe.md +44 -42
  442. package/docs/ai/components/sankey.md +21 -30
  443. package/docs/ai/components/scheduler.md +29 -41
  444. package/docs/ai/components/segmented-control.md +11 -15
  445. package/docs/ai/components/select.md +58 -102
  446. package/docs/ai/components/skeleton.md +16 -30
  447. package/docs/ai/components/slider.md +26 -20
  448. package/docs/ai/components/sortable.md +25 -27
  449. package/docs/ai/components/sparkline.md +21 -17
  450. package/docs/ai/components/spinner.md +9 -5
  451. package/docs/ai/components/split-button.md +10 -13
  452. package/docs/ai/components/split-pane.md +19 -14
  453. package/docs/ai/components/spotlight.md +31 -26
  454. package/docs/ai/components/spreadsheet.md +51 -97
  455. package/docs/ai/components/stat-group.md +9 -19
  456. package/docs/ai/components/step-input.md +17 -15
  457. package/docs/ai/components/stepper.md +14 -15
  458. package/docs/ai/components/switch.md +15 -9
  459. package/docs/ai/components/table.md +24 -84
  460. package/docs/ai/components/tabs.md +18 -10
  461. package/docs/ai/components/tag-input.md +18 -29
  462. package/docs/ai/components/tag.md +10 -22
  463. package/docs/ai/components/terminal.md +9 -9
  464. package/docs/ai/components/testimonial.md +9 -19
  465. package/docs/ai/components/textarea.md +15 -16
  466. package/docs/ai/components/theme.md +3 -3
  467. package/docs/ai/components/time-picker.md +30 -49
  468. package/docs/ai/components/time-range-picker.md +16 -15
  469. package/docs/ai/components/timeline.md +5 -4
  470. package/docs/ai/components/timer.md +8 -8
  471. package/docs/ai/components/toast.md +24 -18
  472. package/docs/ai/components/tooltip.md +11 -22
  473. package/docs/ai/components/tree.md +9 -9
  474. package/docs/ai/components/treemap.md +14 -13
  475. package/docs/ai/components/user-card.md +21 -27
  476. package/docs/ai/components/video-player.md +35 -52
  477. package/docs/ai/components/virtual-scroller.md +1 -1
  478. package/docs/ai/components/waterfall.md +17 -16
  479. package/docs/ai/components/weather.md +19 -34
  480. package/docs/ai/components/work-order.md +58 -134
  481. package/docs/ai/patterns.md +63 -0
  482. package/docs/components/accordion.md +72 -151
  483. package/docs/components/action-bar.md +185 -0
  484. package/docs/components/activity-feed.md +9 -14
  485. package/docs/components/alert.md +17 -109
  486. package/docs/components/app-tiles.md +58 -43
  487. package/docs/components/approval-flow.md +8 -14
  488. package/docs/components/audio-recorder.md +45 -51
  489. package/docs/components/availability.md +30 -45
  490. package/docs/components/avatar-group.md +34 -14
  491. package/docs/components/avatar.md +20 -55
  492. package/docs/components/badge.md +53 -470
  493. package/docs/components/banner.md +44 -30
  494. package/docs/components/binpack.md +208 -0
  495. package/docs/components/book.md +78 -57
  496. package/docs/components/booking.md +35 -87
  497. package/docs/components/breadcrumbs.md +74 -448
  498. package/docs/components/button.md +72 -603
  499. package/docs/components/calendar.md +77 -261
  500. package/docs/components/camera-annotate.md +44 -96
  501. package/docs/components/camera.md +94 -333
  502. package/docs/components/candlestick.md +79 -116
  503. package/docs/components/card.md +51 -689
  504. package/docs/components/carousel.md +29 -76
  505. package/docs/components/cart.md +44 -136
  506. package/docs/components/chart.md +95 -438
  507. package/docs/components/chat.md +175 -439
  508. package/docs/components/checkbox.md +52 -609
  509. package/docs/components/chip.md +45 -574
  510. package/docs/components/code-block.md +157 -421
  511. package/docs/components/color-display.md +45 -54
  512. package/docs/components/color-picker.md +103 -36
  513. package/docs/components/command-palette.md +98 -92
  514. package/docs/components/comments.md +16 -10
  515. package/docs/components/countdown.md +15 -20
  516. package/docs/components/cropper.md +14 -16
  517. package/docs/components/data-card.md +16 -15
  518. package/docs/components/date-picker.md +45 -25
  519. package/docs/components/date-range-picker.md +140 -87
  520. package/docs/components/date-time-picker.md +25 -28
  521. package/docs/components/diff.md +22 -17
  522. package/docs/components/divider.md +18 -20
  523. package/docs/components/doc.md +105 -197
  524. package/docs/components/draw.md +117 -223
  525. package/docs/components/drawer.md +113 -478
  526. package/docs/components/empty-state.md +13 -29
  527. package/docs/components/estimate.md +58 -118
  528. package/docs/components/file-gallery.md +123 -495
  529. package/docs/components/file-upload.md +36 -123
  530. package/docs/components/flip-card.md +30 -34
  531. package/docs/components/flow.md +74 -89
  532. package/docs/components/form-builder.md +59 -86
  533. package/docs/components/form-layout.md +21 -31
  534. package/docs/components/funnel.md +21 -22
  535. package/docs/components/gantt.md +5 -5
  536. package/docs/components/gauge.md +5 -23
  537. package/docs/components/heatmap.md +13 -55
  538. package/docs/components/image.md +28 -32
  539. package/docs/components/input.md +25 -14
  540. package/docs/components/invoice.md +34 -33
  541. package/docs/components/kanban.md +99 -394
  542. package/docs/components/key-value.md +22 -12
  543. package/docs/components/kpi.md +41 -112
  544. package/docs/components/layout.md +7 -13
  545. package/docs/components/leaderboard.md +52 -76
  546. package/docs/components/link-preview.md +20 -16
  547. package/docs/components/link.md +22 -19
  548. package/docs/components/list.md +44 -26
  549. package/docs/components/location.md +9 -13
  550. package/docs/components/login.md +42 -36
  551. package/docs/components/map.md +24 -46
  552. package/docs/components/markdown.md +14 -25
  553. package/docs/components/masonry.md +15 -13
  554. package/docs/components/mentions.md +36 -25
  555. package/docs/components/menu.md +39 -46
  556. package/docs/components/message-strip.md +15 -51
  557. package/docs/components/metric-table.md +50 -72
  558. package/docs/components/modal.md +32 -43
  559. package/docs/components/music-player.md +41 -49
  560. package/docs/components/nav.md +23 -13
  561. package/docs/components/network-graph.md +14 -13
  562. package/docs/components/notification-center.md +68 -172
  563. package/docs/components/order-tracker.md +72 -117
  564. package/docs/components/org-chart.md +58 -207
  565. package/docs/components/pagination.md +67 -89
  566. package/docs/components/paint.md +86 -172
  567. package/docs/components/pdf-viewer.md +46 -151
  568. package/docs/components/permission-matrix.md +61 -112
  569. package/docs/components/podcast-player.md +41 -119
  570. package/docs/components/pricing-table.md +104 -147
  571. package/docs/components/product-card.md +94 -197
  572. package/docs/components/progress-ring.md +29 -32
  573. package/docs/components/progress.md +30 -61
  574. package/docs/components/qr-code.md +53 -61
  575. package/docs/components/qr-reader.md +53 -42
  576. package/docs/components/radio.md +42 -40
  577. package/docs/components/range-slider.md +41 -30
  578. package/docs/components/rating.md +50 -84
  579. package/docs/components/receipt.md +91 -129
  580. package/docs/components/recipe.md +107 -216
  581. package/docs/components/sankey.md +47 -83
  582. package/docs/components/scheduler.md +81 -184
  583. package/docs/components/segmented-control.md +48 -40
  584. package/docs/components/select.md +107 -129
  585. package/docs/components/skeleton.md +33 -47
  586. package/docs/components/slider.md +49 -53
  587. package/docs/components/sortable.md +43 -186
  588. package/docs/components/sparkline.md +26 -25
  589. package/docs/components/spinner.md +32 -37
  590. package/docs/components/split-button.md +43 -23
  591. package/docs/components/split-pane.md +41 -58
  592. package/docs/components/spotlight.md +53 -145
  593. package/docs/components/spreadsheet.md +84 -307
  594. package/docs/components/stat-group.md +27 -61
  595. package/docs/components/step-input.md +44 -41
  596. package/docs/components/stepper.md +55 -89
  597. package/docs/components/switch.md +39 -39
  598. package/docs/components/table.md +27 -32
  599. package/docs/components/tabs.md +36 -27
  600. package/docs/components/tag-input.md +50 -176
  601. package/docs/components/tag.md +12 -50
  602. package/docs/components/terminal.md +32 -37
  603. package/docs/components/testimonial.md +24 -81
  604. package/docs/components/textarea.md +9 -14
  605. package/docs/components/theme.md +10 -23
  606. package/docs/components/time-picker.md +48 -72
  607. package/docs/components/time-range-picker.md +22 -41
  608. package/docs/components/timeline.md +7 -14
  609. package/docs/components/timer.md +16 -32
  610. package/docs/components/toast.md +19 -45
  611. package/docs/components/tooltip.md +13 -115
  612. package/docs/components/tree.md +2 -19
  613. package/docs/components/treemap.md +19 -43
  614. package/docs/components/user-card.md +13 -22
  615. package/docs/components/video-player.md +53 -227
  616. package/docs/components/virtual-scroller.md +11 -44
  617. package/docs/components/waterfall.md +58 -137
  618. package/docs/components/weather.md +94 -153
  619. package/docs/components/work-order.md +56 -143
  620. package/docs/plans/2026-03-09-action-bar-design.md +104 -0
  621. package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
  622. package/docs/plans/2026-03-10-react-integration-design.md +166 -0
  623. package/docs/request-response.md +77 -0
  624. package/package.json +20 -10
@@ -1,20 +1,19 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/alert.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/alert.md -->
2
2
 
3
- # Alert Component
3
+ # Alert
4
+ `<snice-alert>`
4
5
 
5
- The alert component displays notification messages to provide user feedback for informational, success, warning, or error states. It supports customizable variants, sizes, titles, icons, and optional dismissal.
6
+ Displays notification messages to provide user feedback for informational, success, warning, or error states. Supports customizable variants, sizes, titles, icons, and optional dismissal.
6
7
 
7
8
  ## Table of Contents
8
9
  - [Properties](#properties)
9
10
  - [Methods](#methods)
10
11
  - [Events](#events)
11
12
  - [Slots](#slots)
13
+ - [CSS Parts](#css-parts)
12
14
  - [Basic Usage](#basic-usage)
13
15
  - [Examples](#examples)
14
16
  - [Accessibility](#accessibility)
15
- - [Browser Support](#browser-support)
16
- - [Common Patterns](#common-patterns)
17
- - [Variant Colors](#variant-colors)
18
17
 
19
18
  ## Properties
20
19
 
@@ -107,18 +106,24 @@ Use the `icon` slot for external CSS-based icon fonts (Material Symbols, Font Aw
107
106
  </snice-alert>
108
107
  ```
109
108
 
109
+ ## CSS Parts
110
+
111
+ | Part | Description |
112
+ |------|-------------|
113
+ | `icon` | The icon container |
114
+
110
115
  ## Basic Usage
111
116
 
117
+ ```typescript
118
+ import 'snice/components/alert/snice-alert';
119
+ ```
120
+
112
121
  ```html
113
122
  <snice-alert>
114
123
  This is a basic alert message.
115
124
  </snice-alert>
116
125
  ```
117
126
 
118
- ```typescript
119
- import 'snice/components/alert/snice-alert';
120
- ```
121
-
122
127
  ## Examples
123
128
 
124
129
  ### Basic Alerts
@@ -197,10 +202,10 @@ import 'snice/components/alert/snice-alert';
197
202
 
198
203
  The `icon` property supports multiple formats:
199
204
  - **URLs**: Image files (`/icons/info.svg`)
200
- - **Emoji**: `🎉`, `💡`
205
+ - **Emoji**: icons like a lightbulb or star
201
206
  - **Scheme overrides**: `img://filename` forces `<img>`, `text://content` forces text
202
207
 
203
- > **⚠️ Common mistake:** `icon="lightbulb"` or `icon="info"` renders as **plain text**, not a Material icon. Snice does not bundle Material Symbols. Use the `icon` slot instead.
208
+ > **Common mistake:** `icon="lightbulb"` or `icon="info"` renders as **plain text**, not a Material icon. Snice does not bundle Material Symbols. Use the `icon` slot instead.
204
209
 
205
210
  ```html
206
211
  <!-- Emoji icons -->
@@ -208,9 +213,6 @@ The `icon` property supports multiple formats:
208
213
  Congratulations! You've unlocked a new achievement!
209
214
  </snice-alert>
210
215
 
211
- <snice-alert variant="info" icon="💡">
212
- </snice-alert>
213
-
214
216
  <!-- Image URL -->
215
217
  <snice-alert variant="info" icon="/icons/info-circle.svg">
216
218
  Custom image icon alert.
@@ -248,7 +250,6 @@ The `icon` property supports multiple formats:
248
250
 
249
251
  <button type="submit">Sign Up</button>
250
252
  </form>
251
-
252
253
  ```
253
254
 
254
255
  ```typescript
@@ -275,7 +276,6 @@ form.addEventListener('submit', (e) => {
275
276
  errorAlert.show();
276
277
  } else {
277
278
  errorAlert.style.display = 'none';
278
- // Submit form
279
279
  }
280
280
  });
281
281
  ```
@@ -287,7 +287,6 @@ form.addEventListener('submit', (e) => {
287
287
 
288
288
  <button onclick="showSuccessAlert()">Show Success</button>
289
289
  <button onclick="showErrorAlert()">Show Error</button>
290
-
291
290
  ```
292
291
 
293
292
  ```typescript
@@ -385,7 +384,6 @@ alert.addEventListener('alert-hidden', () => {
385
384
  <button onclick="notify('success', 'File uploaded successfully')">Success</button>
386
385
  <button onclick="notify('warning', 'Low disk space')">Warning</button>
387
386
  <button onclick="notify('error', 'Connection lost')">Error</button>
388
-
389
387
  ```
390
388
 
391
389
  ```typescript
@@ -444,7 +442,6 @@ window.notify = (variant, message) => {
444
442
  ```typescript
445
443
  alert.addEventListener('alert-dismiss', (e) => {
446
444
  console.log('User dismissed alert:', e.detail);
447
- // Track analytics
448
445
  analytics.track('alert_dismissed', {
449
446
  variant: e.detail.variant,
450
447
  title: e.detail.title
@@ -457,48 +454,10 @@ alert.addEventListener('alert-shown', () => {
457
454
 
458
455
  alert.addEventListener('alert-hidden', () => {
459
456
  console.log('Alert is now hidden');
460
- // Clean up or remove from DOM
461
457
  alert.remove();
462
458
  });
463
459
  ```
464
460
 
465
- ### API Response Alerts
466
-
467
- ```html
468
- <snice-alert style="display: none;"></snice-alert>
469
-
470
- <button onclick="makeApiCall()">Make API Call</button>
471
- ```
472
-
473
- ```typescript
474
- window.makeApiCall = async () => {
475
- try {
476
- const response = await fetch('/api/data');
477
-
478
- if (!response.ok) {
479
- throw new Error(`HTTP error! status: ${response.status}`);
480
- }
481
-
482
- const data = await response.json();
483
-
484
- alert.variant = 'success';
485
- alert.title = 'Success!';
486
- alert.textContent = 'Data loaded successfully.';
487
- alert.dismissible = true;
488
- alert.style.display = 'block';
489
- alert.show();
490
-
491
- } catch (error) {
492
- alert.variant = 'error';
493
- alert.title = 'Error';
494
- alert.textContent = `Failed to load data: ${error.message}`;
495
- alert.dismissible = true;
496
- alert.style.display = 'block';
497
- alert.show();
498
- }
499
- };
500
- ```
501
-
502
461
  ## Accessibility
503
462
 
504
463
  - **ARIA role**: `alert` role with `aria-live="polite"` for screen reader announcements
@@ -506,54 +465,3 @@ window.makeApiCall = async () => {
506
465
  - **Color contrast**: All variants meet WCAG AA standards
507
466
  - **Screen reader friendly**: Content is properly announced
508
467
  - **Focus management**: Dismiss button receives proper focus
509
-
510
- ## Browser Support
511
-
512
- - Modern browsers (Chrome, Firefox, Safari, Edge)
513
- - Requires Custom Elements v1 and Shadow DOM support
514
-
515
- ## Common Patterns
516
-
517
- ### Success Pattern
518
- ```html
519
- <snice-alert variant="success" title="Success!" dismissible>
520
- Your changes have been saved.
521
- </snice-alert>
522
- ```
523
-
524
- ### Error Pattern
525
- ```html
526
- <snice-alert variant="error" title="Error" dismissible>
527
- Unable to save changes. Please try again.
528
- </snice-alert>
529
- ```
530
-
531
- ### Warning Pattern
532
- ```html
533
- <snice-alert variant="warning" title="Warning">
534
- This action cannot be undone.
535
- </snice-alert>
536
- ```
537
-
538
- ### Info Pattern
539
- ```html
540
- <snice-alert variant="info" title="Information">
541
- New features are available in this update.
542
- </snice-alert>
543
- ```
544
-
545
- ### Inline Form Validation
546
- ```html
547
- <snice-alert variant="error" size="small">
548
- Please enter a valid email address.
549
- </snice-alert>
550
- ```
551
-
552
- ## Variant Colors
553
-
554
- | Variant | Color Scheme | Use Case |
555
- |---------|-------------|----------|
556
- | `info` | Blue | General information, tips, updates |
557
- | `success` | Green | Successful operations, confirmations |
558
- | `warning` | Orange | Cautions, important notices |
559
- | `error` | Red | Errors, failed operations, critical issues |
@@ -1,59 +1,53 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/app-tiles.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/app-tiles.md -->
2
2
 
3
- # App Tiles Component
3
+ # App Tiles
4
+ `<snice-app-tiles>` & `<snice-app-tile>`
5
+
6
+ An app launcher grid like Google's app drawer or a phone home screen. Supports material icons, image URLs, emoji, and letter fallbacks with optional badges.
4
7
 
5
8
  ## Table of Contents
6
- - [Importing](#importing)
9
+ - [Components](#components)
7
10
  - [Properties](#properties)
8
11
  - [Events](#events)
12
+ - [Slots](#slots)
9
13
  - [CSS Custom Properties](#css-custom-properties)
14
+ - [CSS Parts](#css-parts)
10
15
  - [Basic Usage](#basic-usage)
11
16
  - [Examples](#examples)
12
- - [App Tiles Component](#app-tiles-component)
13
- - [Icon Resolution Order](#icon-resolution-order)
14
17
 
15
- ## Importing
18
+ ## Components
16
19
 
17
- **ESM (bundler)**
18
- ```typescript
19
- import 'snice/components/app-tiles/snice-app-tiles';
20
- ```
20
+ ### `<snice-app-tiles>`
21
+ Container element that renders a grid of tiles.
21
22
 
22
- **CDN**
23
- ```html
24
- <script src="snice-runtime.min.js"></script>
25
- <script src="snice-app-tiles.min.js"></script>
26
- ```
23
+ ### `<snice-app-tile>`
24
+ Declarative child element for defining tiles in HTML.
25
+
26
+ **Attributes:** `name`, `icon` (URL, emoji, or Material Symbols ligature), `color`, `href`, `badge`
27
27
 
28
28
  ## Properties
29
29
 
30
+ ### App Tiles Container
31
+
30
32
  | Property | Type | Default | Description |
31
33
  |----------|------|---------|-------------|
32
- | `tiles` | `AppTile[]` | `[]` | Array of tile data objects (programmatic mode) |
34
+ | `tiles` | `AppTile[]` | `[]` | Array of tile data objects (programmatic mode, set via JavaScript) |
33
35
  | `columns` | `number` | `4` | Number of grid columns |
34
36
  | `size` | `'sm' \| 'md' \| 'lg' \| 'xl' \| '2xl'` | `'md'` | Tile size |
35
37
  | `variant` | `'grid' \| 'list' \| 'compact'` | `'grid'` | Layout variant |
36
38
 
37
39
  ### AppTile Interface
38
40
 
39
- | Property | Type | Description |
40
- |----------|------|-------------|
41
- | `id` | `string` | Unique identifier |
42
- | `name` | `string` | Tile label |
43
- | `icon` | `string` | URL, emoji, or Material Symbols ligature name |
44
- | `color` | `string?` | Background color for letter/ligature fallback |
45
- | `href` | `string?` | Navigation URL on click |
46
- | `badge` | `string?` | Badge content |
47
-
48
- ### snice-app-tile Attributes
49
-
50
- | Attribute | Description |
51
- |-----------|-------------|
52
- | `name` | Tile label |
53
- | `icon` | URL, emoji, or Material Symbols ligature |
54
- | `color` | Background color |
55
- | `href` | Navigation URL |
56
- | `badge` | Badge content |
41
+ ```typescript
42
+ interface AppTile {
43
+ id: string;
44
+ name: string;
45
+ icon: string; // URL, emoji, or Material Symbols ligature name
46
+ color?: string; // Background color for letter/ligature fallback
47
+ href?: string; // Navigation URL on click
48
+ badge?: string; // Badge content
49
+ }
50
+ ```
57
51
 
58
52
  ## Events
59
53
 
@@ -61,14 +55,32 @@ import 'snice/components/app-tiles/snice-app-tiles';
61
55
  |-------|--------|-------------|
62
56
  | `tile-click` | `{ tile: AppTile, index: number }` | Fired when a tile is clicked |
63
57
 
58
+ ## Slots
59
+
60
+ ### App Tiles Container
61
+
62
+ | Name | Description |
63
+ |------|-------------|
64
+ | (default) | `<snice-app-tile>` child elements for declarative mode |
65
+
64
66
  ## CSS Custom Properties
65
67
 
66
68
  | Variable | Description |
67
69
  |----------|-------------|
68
70
  | `--snice-app-tile-icon-size` | Override icon container width/height. Takes precedence over the `size` attribute. |
69
71
 
72
+ ## CSS Parts
73
+
74
+ | Part | Description |
75
+ |------|-------------|
76
+ | `icon` | Material Symbols ligature icon span (inside rendered tiles) |
77
+
70
78
  ## Basic Usage
71
79
 
80
+ ```typescript
81
+ import 'snice/components/app-tiles/snice-app-tiles';
82
+ ```
83
+
72
84
  ```html
73
85
  <snice-app-tiles columns="3">
74
86
  <snice-app-tile name="Mail" icon="mail" color="rgb(220 38 38)"></snice-app-tile>
@@ -77,10 +89,6 @@ import 'snice/components/app-tiles/snice-app-tiles';
77
89
  </snice-app-tiles>
78
90
  ```
79
91
 
80
- ```typescript
81
- import 'snice/components/app-tiles/snice-app-tiles';
82
- ```
83
-
84
92
  ## Examples
85
93
 
86
94
  ### Material Icons
@@ -131,6 +139,17 @@ Use `variant="list"` with `columns="1"` for a vertical list layout.
131
139
  </snice-app-tiles>
132
140
  ```
133
141
 
142
+ ### Compact Variant
143
+
144
+ Use `variant="compact"` for a denser layout with icon and name side by side.
145
+
146
+ ```html
147
+ <snice-app-tiles columns="2" variant="compact">
148
+ <snice-app-tile name="Dashboard" icon="dashboard" color="rgb(37 99 235)"></snice-app-tile>
149
+ <snice-app-tile name="Settings" icon="settings" color="rgb(82 82 82)"></snice-app-tile>
150
+ </snice-app-tiles>
151
+ ```
152
+
134
153
  ### Sizes
135
154
 
136
155
  Use the `size` attribute to change tile size. Available sizes: `sm`, `md` (default), `lg`, `xl`, `2xl`.
@@ -166,11 +185,7 @@ Use the `badge` attribute to display a notification badge on a tile.
166
185
  <snice-app-tile name="AWS" color="rgb(255 153 0)" badge="!"></snice-app-tile>
167
186
  ```
168
187
 
169
- ## App Tiles Component
170
-
171
- An app launcher grid like Google's app drawer or a phone home screen. Supports material icons, image URLs, emoji, and letter fallbacks with optional badges.
172
-
173
- ## Icon Resolution Order
188
+ ### Icon Resolution Order
174
189
 
175
190
  1. No icon provided: displays first letter of name on a colored circle
176
191
  2. `img://` prefix or URL/path: renders as `<img>` element
@@ -1,28 +1,22 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/approval-flow.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/approval-flow.md -->
2
2
 
3
3
  # Approval Flow
4
4
  `<snice-approval-flow>`
5
5
 
6
6
  A visual approval chain showing a sequence of approver nodes with avatar, name, role, and status.
7
7
 
8
- ## Importing
9
-
10
- **ESM (bundler)**
11
- ```typescript
12
- import 'snice/components/approval-flow/snice-approval-flow';
13
- ```
14
-
15
- **CDN**
16
- ```html
17
- <script src="snice-runtime.min.js"></script>
18
- <script src="snice-approval-flow.min.js"></script>
19
- ```
8
+ ## Table of Contents
9
+ - [Properties](#properties)
10
+ - [Events](#events)
11
+ - [CSS Parts](#css-parts)
12
+ - [Basic Usage](#basic-usage)
13
+ - [Examples](#examples)
20
14
 
21
15
  ## Properties
22
16
 
23
17
  | Property | Type | Default | Description |
24
18
  |----------|------|---------|-------------|
25
- | `steps` | `ApprovalStep[]` | `[]` | Array of approver step objects |
19
+ | `steps` | `ApprovalStep[]` | `[]` | Array of approver step objects (set via JavaScript) |
26
20
  | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Layout direction |
27
21
  | `currentStep` (attr: `current-step`) | `string` | `''` | ID of the active step |
28
22
 
@@ -1,21 +1,30 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/audio-recorder.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/audio-recorder.md -->
2
2
 
3
- # Audio Recorder Component
3
+ # Audio Recorder
4
+ `<snice-audio-recorder>`
4
5
 
5
6
  Record audio with visualization, pause/resume, and playback.
6
7
 
8
+ ## Table of Contents
9
+ - [Properties](#properties)
10
+ - [Methods](#methods)
11
+ - [Events](#events)
12
+ - [CSS Parts](#css-parts)
13
+ - [Basic Usage](#basic-usage)
14
+ - [Examples](#examples)
15
+
7
16
  ## Properties
8
17
 
9
18
  | Property | Type | Default | Description |
10
19
  |----------|------|---------|-------------|
11
- | `autoStart` | `boolean` | `false` | Auto-start recording |
12
- | `format` | `AudioFormat` | `'audio/webm'` | Output format |
20
+ | `autoStart` (attr: `auto-start`) | `boolean` | `false` | Auto-start recording |
21
+ | `format` | `AudioFormat` | `'audio/webm'` | Output format (`'audio/webm'`, `'audio/ogg'`, `'audio/mp4'`, `'audio/wav'`) |
13
22
  | `bitrate` | `number` | `128000` | Audio bitrate (bps) |
14
- | `showControls` | `boolean` | `true` | Show control buttons |
15
- | `showVisualizer` | `boolean` | `true` | Show frequency visualizer |
16
- | `maxDuration` | `number` | `0` | Max duration (seconds, 0=unlimited) |
17
- | `showTimer` | `boolean` | `true` | Show recording timer |
18
- | `showPlayback` | `boolean` | `true` | Show playback controls after recording |
23
+ | `showControls` (attr: `show-controls`) | `boolean` | `true` | Show control buttons |
24
+ | `showVisualizer` (attr: `show-visualizer`) | `boolean` | `true` | Show frequency visualizer |
25
+ | `maxDuration` (attr: `max-duration`) | `number` | `0` | Max duration (seconds, 0=unlimited) |
26
+ | `showTimer` (attr: `show-timer`) | `boolean` | `true` | Show recording timer |
27
+ | `showPlayback` (attr: `show-playback`) | `boolean` | `true` | Show playback controls after recording |
19
28
  | `recordedUrl` | `string` | `''` | URL of recorded audio (set automatically after stop) |
20
29
 
21
30
  ## Methods
@@ -36,7 +45,7 @@ Resume paused recording.
36
45
  Cancel and discard recording.
37
46
 
38
47
  ### `getState(): RecorderState`
39
- Get current state ('inactive', 'recording', 'paused').
48
+ Get current state (`'inactive'`, `'recording'`, `'paused'`).
40
49
 
41
50
  ### `getDuration(): number`
42
51
  Get recording duration in seconds.
@@ -44,25 +53,38 @@ Get recording duration in seconds.
44
53
  ### `isRecording(): boolean`
45
54
  Check if currently recording.
46
55
 
47
- ### `download(filename?): void`
56
+ ### `download(filename?: string): void`
48
57
  Download recorded audio.
49
58
 
50
59
  ### `reset(): void`
51
60
  Reset recorder state and discard playback.
52
61
 
62
+ ### AudioRecording Interface
63
+
64
+ ```typescript
65
+ interface AudioRecording {
66
+ blob: Blob;
67
+ url: string;
68
+ duration: number;
69
+ size: number;
70
+ format: string;
71
+ timestamp: number;
72
+ }
73
+ ```
74
+
53
75
  ## Events
54
76
 
55
- - `recorder-start` - Recording started
56
- - `recorder-stop` - Recording stopped
57
- - `recorder-pause` - Recording paused
58
- - `recorder-resume` - Recording resumed
59
- - `recorder-cancel` - Recording cancelled
60
- - `recorder-error` - Error occurred
77
+ | Event | Detail | Description |
78
+ |-------|--------|-------------|
79
+ | `recorder-start` | `{ recorder }` | Recording started |
80
+ | `recorder-stop` | `{ recorder }` | Recording stopped |
81
+ | `recorder-pause` | `{ recorder }` | Recording paused |
82
+ | `recorder-resume` | `{ recorder }` | Recording resumed |
83
+ | `recorder-cancel` | `{ recorder }` | Recording cancelled |
84
+ | `recorder-error` | `{ recorder, error }` | Error occurred |
61
85
 
62
86
  ## CSS Parts
63
87
 
64
- Style internal elements from outside the shadow DOM using `::part()`.
65
-
66
88
  | Part | Element | Description |
67
89
  |------|---------|-------------|
68
90
  | `base` | `<div>` | Outer recorder container |
@@ -84,26 +106,22 @@ snice-audio-recorder::part(visualizer) {
84
106
 
85
107
  ## Basic Usage
86
108
 
109
+ ```typescript
110
+ import 'snice/components/audio-recorder/snice-audio-recorder';
111
+ ```
112
+
87
113
  ```html
88
114
  <snice-audio-recorder id="recorder"></snice-audio-recorder>
89
115
 
90
116
  <script>
91
117
  const recorder = document.getElementById('recorder');
92
118
 
93
- // Listen for stop event
94
119
  recorder.addEventListener('recorder-stop', async () => {
95
120
  // Recording complete
96
121
  });
97
122
  </script>
98
123
  ```
99
124
 
100
- ## Audio Formats
101
-
102
- - `'audio/webm'` - WebM (default)
103
- - `'audio/ogg'` - Ogg Vorbis
104
- - `'audio/mp4'` - MP4/AAC
105
- - `'audio/wav'` - WAV (uncompressed)
106
-
107
125
  ## Examples
108
126
 
109
127
  ### Basic Recording
@@ -156,27 +174,3 @@ const formData = new FormData();
156
174
  formData.append('audio', recording.blob, 'recording.webm');
157
175
  await fetch('/upload', { method: 'POST', body: formData });
158
176
  ```
159
-
160
- ## AudioRecording Interface
161
-
162
- ```typescript
163
- interface AudioRecording {
164
- blob: Blob;
165
- url: string;
166
- duration: number;
167
- size: number;
168
- format: string;
169
- timestamp: number;
170
- }
171
- ```
172
-
173
- ## Security
174
-
175
- - Requires HTTPS (or localhost)
176
- - Requires user permission
177
- - Permission prompts are browser-controlled
178
-
179
- ## Browser Support
180
-
181
- - Modern browsers with MediaRecorder API
182
- - Requires microphone hardware
@@ -1,34 +1,40 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/availability.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/availability.md -->
2
2
 
3
- # Availability Component
3
+ # Availability
4
4
  `<snice-availability>`
5
5
 
6
6
  A weekly availability grid for setting recurring time ranges. Users can click or drag to toggle time slots on and off.
7
7
 
8
- ## Importing
9
-
10
- **ESM (bundler)**
11
- ```typescript
12
- import 'snice/components/availability/snice-availability';
13
- ```
14
-
15
- **CDN**
16
- ```html
17
- <script src="snice-runtime.min.js"></script>
18
- <script src="snice-availability.min.js"></script>
19
- ```
8
+ ## Table of Contents
9
+ - [Properties](#properties)
10
+ - [Methods](#methods)
11
+ - [Events](#events)
12
+ - [CSS Parts](#css-parts)
13
+ - [Basic Usage](#basic-usage)
14
+ - [Examples](#examples)
15
+ - [Accessibility](#accessibility)
20
16
 
21
17
  ## Properties
22
18
 
23
19
  | Property | Attribute | Type | Default | Description |
24
20
  |----------|-----------|------|---------|-------------|
25
- | `value` | | `AvailabilityRange[]` | `[]` | Current availability ranges |
21
+ | `value` | -- | `AvailabilityRange[]` | `[]` | Current availability ranges (set via JavaScript) |
26
22
  | `granularity` | `granularity` | `number` | `60` | Slot size in minutes (15, 30, 60) |
27
23
  | `startHour` | `start-hour` | `number` | `0` | First hour displayed |
28
24
  | `endHour` | `end-hour` | `number` | `24` | Last hour displayed |
29
25
  | `format` | `format` | `'12h' \| '24h'` | `'12h'` | Time format for labels |
30
26
  | `readonly` | `readonly` | `boolean` | `false` | Prevents editing |
31
27
 
28
+ ### AvailabilityRange Interface
29
+
30
+ ```typescript
31
+ interface AvailabilityRange {
32
+ day: number; // 0=Mon, 1=Tue, 2=Wed, 3=Thu, 4=Fri, 5=Sat, 6=Sun
33
+ start: string; // "HH:MM" (24h format)
34
+ end: string; // "HH:MM" (24h format)
35
+ }
36
+ ```
37
+
32
38
  ## Methods
33
39
 
34
40
  ### `getAvailability(): AvailabilityRange[]`
@@ -66,14 +72,14 @@ availability.clear();
66
72
  ### `availability-change`
67
73
  Dispatched when availability changes (after mouse up from drag, or preset/clear action).
68
74
 
75
+ **Detail:** `{ value: AvailabilityRange[] }`
76
+
69
77
  ```javascript
70
78
  availability.addEventListener('availability-change', (e) => {
71
79
  saveToServer(e.detail.value);
72
80
  });
73
81
  ```
74
82
 
75
- **Detail:** `{ value: AvailabilityRange[] }`
76
-
77
83
  ## CSS Parts
78
84
 
79
85
  | Part | Element | Description |
@@ -94,6 +100,10 @@ snice-availability::part(header) {
94
100
 
95
101
  ## Basic Usage
96
102
 
103
+ ```typescript
104
+ import 'snice/components/availability/snice-availability';
105
+ ```
106
+
97
107
  ```html
98
108
  <snice-availability start-hour="8" end-hour="18"></snice-availability>
99
109
  ```
@@ -197,33 +207,8 @@ availability.setAvailability(ranges);
197
207
  availability.readonly = true; // Display only
198
208
  ```
199
209
 
200
- ## Interfaces
201
-
202
- ### AvailabilityRange
203
-
204
- ```typescript
205
- interface AvailabilityRange {
206
- day: number; // 0=Mon, 1=Tue, 2=Wed, 3=Thu, 4=Fri, 5=Sat, 6=Sun
207
- start: string; // "HH:MM" (24h format)
208
- end: string; // "HH:MM" (24h format)
209
- }
210
- ```
211
-
212
- ## Interaction
213
-
214
- - **Click** a cell to toggle it on or off
215
- - **Click and drag** to paint multiple cells (adds or removes based on first cell's state)
216
- - **Presets** for quick selection of common patterns
217
- - Changes emit `availability-change` after mouse release
218
-
219
210
  ## Accessibility
220
211
 
221
- - Keyboard navigation with arrow keys
222
- - ARIA labels for days and time slots
223
- - Visual legend for available/unavailable
224
- - Hours counter in footer
225
-
226
- ## Browser Support
227
-
228
- - Modern browsers with Custom Elements v1 support
229
- - Mouse interaction for click and drag
212
+ - **Interaction**: Click a cell to toggle, click and drag to paint multiple cells
213
+ - **Visual legend**: Available/unavailable indicator in footer
214
+ - **Hours counter**: Total selected hours displayed in footer