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,17 +1,24 @@
1
- # snice-app-tiles
1
+ # snice-app-tiles & snice-app-tile
2
2
 
3
3
  App launcher grid like Google's app drawer or a phone home screen.
4
4
 
5
+ ## Components
6
+
7
+ ### snice-app-tiles
8
+ Container rendering a grid of tiles.
9
+
10
+ ### snice-app-tile
11
+ Declarative child element. Attributes: `name`, `icon`, `color`, `href`, `badge`.
12
+
5
13
  ## Properties
6
14
 
7
15
  ```typescript
8
16
  // snice-app-tiles
9
- tiles: AppTile[] = []; // Programmatic tile data
17
+ tiles: AppTile[] = []; // Programmatic tile data (set via JS)
10
18
  columns: number = 4; // Grid columns
11
- size: 'sm' | 'md' | 'lg' | 'xl' | '2xl' = 'md'; // Tile size
12
- variant: 'grid' | 'list' | 'compact' = 'grid'; // Layout variant
19
+ size: 'sm'|'md'|'lg'|'xl'|'2xl' = 'md';
20
+ variant: 'grid'|'list'|'compact' = 'grid';
13
21
 
14
- // AppTile interface
15
22
  interface AppTile {
16
23
  id: string;
17
24
  name: string;
@@ -22,34 +29,23 @@ interface AppTile {
22
29
  }
23
30
  ```
24
31
 
25
- ## Child Element
26
-
27
- `<snice-app-tile>` — declarative child for defining tiles in HTML.
28
-
29
- - `name` - Tile label
30
- - `icon` - URL, emoji, or Material Symbols ligature
31
- - `color` - Background color
32
- - `href` - Navigation URL
33
- - `badge` - Badge content
34
-
35
32
  ## Events
36
33
 
37
- - `tile-click` -> `{ tile: AppTile, index: number }`
34
+ - `tile-click` `{ tile: AppTile, index: number }`
38
35
 
39
- ## Icon Resolution
36
+ ## Slots
40
37
 
41
- 1. No icon -> letter fallback (first char of name, colored circle)
42
- 2. `img://` prefix or URL/path -> `<img>` element
43
- 3. Emoji (no ASCII letters) -> emoji display
44
- 4. ASCII text -> Material Symbols ligature
38
+ - `(default)` - `<snice-app-tile>` child elements for declarative mode
45
39
 
46
40
  ## CSS Custom Properties
47
41
 
48
- | Variable | Description |
49
- |----------|-------------|
50
- | `--snice-app-tile-icon-size` | Override icon container size (e.g. `7rem`) |
42
+ - `--snice-app-tile-icon-size` - Override icon container size (e.g. `7rem`)
43
+
44
+ ## CSS Parts
51
45
 
52
- ## Usage
46
+ - `icon` - Material Symbols ligature icon span
47
+
48
+ ## Basic Usage
53
49
 
54
50
  ```html
55
51
  <!-- Declarative -->
@@ -69,20 +65,19 @@ tiles.tiles = [
69
65
  { id: '2', name: 'Slack', icon: 'https://example.com/slack.svg' },
70
66
  ];
71
67
 
72
- <!-- Letter fallback (no icon) -->
73
- <snice-app-tiles columns="3">
74
- <snice-app-tile name="Slack" color="rgb(97 31 105)"></snice-app-tile>
75
- <snice-app-tile name="GitHub" color="rgb(82 82 82)"></snice-app-tile>
76
- </snice-app-tiles>
68
+ // Letter fallback (no icon)
69
+ // <snice-app-tile name="Slack" color="rgb(97 31 105)"></snice-app-tile>
77
70
 
78
- <!-- Custom icon size via CSS variable -->
79
- <snice-app-tiles columns="3" style="--snice-app-tile-icon-size: 7rem">
80
- <snice-app-tile name="Gallery" icon="collections" color="rgb(37 99 235)"></snice-app-tile>
81
- </snice-app-tiles>
71
+ // List variant
72
+ // <snice-app-tiles columns="1" variant="list">
82
73
 
83
- <!-- List variant -->
84
- <snice-app-tiles columns="1" variant="list">
85
- <snice-app-tile name="Dashboard" icon="dashboard"></snice-app-tile>
86
- <snice-app-tile name="Settings" icon="settings"></snice-app-tile>
87
- </snice-app-tiles>
74
+ // Custom icon size
75
+ // <snice-app-tiles style="--snice-app-tile-icon-size: 7rem">
88
76
  ```
77
+
78
+ ## Icon Resolution
79
+
80
+ 1. No icon -> letter fallback (first char of name, colored circle)
81
+ 2. `img://` prefix or URL/path -> `<img>` element
82
+ 3. Emoji (no ASCII letters) -> emoji display
83
+ 4. ASCII text -> Material Symbols ligature
@@ -40,7 +40,7 @@ interface ApprovalStep {
40
40
  - `actions` - Approve/reject button row
41
41
  - `connector` - Line between steps
42
42
 
43
- ## Usage
43
+ ## Basic Usage
44
44
 
45
45
  ```html
46
46
  <snice-approval-flow current-step="2" orientation="vertical"></snice-approval-flow>
@@ -5,33 +5,29 @@ Audio recording with visualization and playback.
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- autoStart: boolean = false;
8
+ autoStart: boolean = false; // attr: auto-start
9
9
  format: 'audio/webm'|'audio/ogg'|'audio/mp4'|'audio/wav' = 'audio/webm';
10
10
  bitrate: number = 128000;
11
- showControls: boolean = true;
12
- showVisualizer: boolean = true;
13
- maxDuration: number = 0;
14
- showTimer: boolean = true;
15
- showPlayback: boolean = true;
16
- recordedUrl: string = ''; // URL of recorded audio (set after stop)
11
+ showControls: boolean = true; // attr: show-controls
12
+ showVisualizer: boolean = true; // attr: show-visualizer
13
+ maxDuration: number = 0; // attr: max-duration, 0=unlimited
14
+ showTimer: boolean = true; // attr: show-timer
15
+ showPlayback: boolean = true; // attr: show-playback
16
+ recordedUrl: string = ''; // URL of recorded audio (set after stop)
17
17
  ```
18
18
 
19
19
  ## Methods
20
20
 
21
- ```typescript
22
- start(): Promise<void>
23
- stop(): Promise<AudioRecording>
24
- pause(): void
25
- resume(): void
26
- cancel(): void
27
- getState(): 'inactive'|'recording'|'paused'
28
- getDuration(): number
29
- isRecording(): boolean
30
- download(filename?: string): void
31
- reset(): void
32
- ```
33
-
34
- ## AudioRecording
21
+ - `start(): Promise<void>` - Start recording
22
+ - `stop(): Promise<AudioRecording>` - Stop and return recording
23
+ - `pause()` - Pause recording
24
+ - `resume()` - Resume recording
25
+ - `cancel()` - Cancel and discard
26
+ - `getState(): 'inactive'|'recording'|'paused'`
27
+ - `getDuration(): number` - Duration in seconds
28
+ - `isRecording(): boolean`
29
+ - `download(filename?)` - Download recorded audio
30
+ - `reset()` - Reset state and discard playback
35
31
 
36
32
  ```typescript
37
33
  interface AudioRecording {
@@ -46,31 +42,29 @@ interface AudioRecording {
46
42
 
47
43
  ## Events
48
44
 
49
- - `recorder-start` - Recording started
50
- - `recorder-stop` - Recording stopped
51
- - `recorder-pause` - Paused
52
- - `recorder-resume` - Resumed
53
- - `recorder-cancel` - Cancelled
54
- - `recorder-error` - Error
45
+ - `recorder-start` → `{ recorder }` - Recording started
46
+ - `recorder-stop` → `{ recorder }` - Recording stopped
47
+ - `recorder-pause` → `{ recorder }` - Paused
48
+ - `recorder-resume` → `{ recorder }` - Resumed
49
+ - `recorder-cancel` → `{ recorder }` - Cancelled
50
+ - `recorder-error` → `{ recorder, error }` - Error
55
51
 
56
- ## Usage
57
-
58
- ```javascript
59
- // Start
60
- await recorder.start();
52
+ ## CSS Parts
61
53
 
62
- // Stop and get recording
63
- const recording = await recorder.stop();
64
- // { blob, url, duration, size, format, timestamp }
54
+ - `base` - Outer recorder container
55
+ - `controls` - Recording and playback control buttons
56
+ - `visualizer` - Audio frequency visualizer bar container
57
+ - `progress` - Playback progress bar
65
58
 
66
- // Pause/resume
67
- recorder.pause();
68
- recorder.resume();
59
+ ## Basic Usage
69
60
 
70
- // Cancel
71
- recorder.cancel();
61
+ ```html
62
+ <snice-audio-recorder auto-start format="audio/mp4" bitrate="256000" max-duration="60"></snice-audio-recorder>
63
+ ```
72
64
 
73
- // Download
65
+ ```javascript
66
+ await recorder.start();
67
+ const recording = await recorder.stop();
74
68
  recorder.download('recording.webm');
75
69
 
76
70
  // Upload
@@ -78,29 +72,3 @@ const formData = new FormData();
78
72
  formData.append('audio', recording.blob);
79
73
  await fetch('/upload', { method: 'POST', body: formData });
80
74
  ```
81
-
82
- ```html
83
- <snice-audio-recorder
84
- auto-start
85
- format="audio/mp4"
86
- bitrate="256000"
87
- max-duration="60">
88
- </snice-audio-recorder>
89
- ```
90
-
91
- **CSS Parts:**
92
- - `base` - Outer recorder container div
93
- - `controls` - Recording and playback control buttons
94
- - `visualizer` - Audio frequency visualizer bar container
95
- - `progress` - Playback progress bar
96
-
97
- ## Features
98
-
99
- - MediaRecorder API
100
- - Real-time visualizer
101
- - Pause/resume
102
- - Timer
103
- - Multiple formats
104
- - Playback
105
- - Download
106
- - Requires HTTPS
@@ -11,11 +11,7 @@ startHour: number = 0; // attr: start-hour
11
11
  endHour: number = 24; // attr: end-hour
12
12
  format: '12h'|'24h' = '12h';
13
13
  readonly: boolean = false;
14
- ```
15
-
16
- ## Interfaces
17
14
 
18
- ```typescript
19
15
  interface AvailabilityRange {
20
16
  day: number; // 0=Mon, 1=Tue, ..., 6=Sun
21
17
  start: string; // "HH:MM"
@@ -31,51 +27,34 @@ interface AvailabilityRange {
31
27
 
32
28
  ## Events
33
29
 
34
- - `availability-change` -> `{ value: AvailabilityRange[] }`
30
+ - `availability-change` `{ value: AvailabilityRange[] }`
35
31
 
36
- ## Usage
32
+ ## CSS Parts
33
+
34
+ - `base` - Main container
35
+ - `header` - Header with title and presets
36
+ - `grid` - Availability grid
37
+
38
+ ## Basic Usage
37
39
 
38
40
  ```html
39
41
  <snice-availability start-hour="8" end-hour="18" granularity="30"></snice-availability>
42
+ <snice-availability format="24h"></snice-availability>
43
+ <snice-availability readonly></snice-availability>
40
44
  ```
41
45
 
42
46
  ```typescript
43
- // Pre-fill
44
47
  availability.setAvailability([
45
48
  { day: 0, start: '09:00', end: '17:00' },
46
49
  { day: 1, start: '09:00', end: '17:00' },
47
50
  ]);
48
-
49
- // Listen for changes
50
- availability.addEventListener('availability-change', e => {
51
- console.log(e.detail.value);
52
- });
53
-
54
- // Read current state
51
+ availability.addEventListener('availability-change', e => console.log(e.detail.value));
55
52
  const ranges = availability.getAvailability();
56
-
57
- // Clear all
58
53
  availability.clear();
59
-
60
- <!-- Readonly display -->
61
- <snice-availability readonly></snice-availability>
62
-
63
- <!-- 24h format -->
64
- <snice-availability format="24h"></snice-availability>
65
54
  ```
66
55
 
67
- **CSS Parts:**
68
- - `base` - Main container
69
- - `header` - Header with title and presets
70
- - `grid` - Availability grid
71
-
72
- ## Features
56
+ ## Accessibility
73
57
 
74
58
  - Click or drag to toggle cells
75
59
  - Presets: Business Hours, Weekdays Only, Clear All
76
- - Readonly mode
77
- - 12h/24h time format
78
- - Configurable granularity (15/30/60 min)
79
- - Configurable hour range
80
- - Legend and total hours counter
81
- - Drag painting (add/remove mode)
60
+ - Visual legend and total hours counter
@@ -5,13 +5,11 @@ Row of overlapping avatars with "+N" overflow indicator.
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- avatars: AvatarGroupItem[] = []; // Array of avatar data (set via JS property)
9
- max: number = 5; // Max visible before "+N"
8
+ avatars: AvatarGroupItem[] = []; // Array of avatar data (set via JS)
9
+ max: number = 5; // Max visible before "+N"
10
10
  size: 'small'|'medium'|'large' = 'medium';
11
- overlap: number = 8; // Overlap in px
12
- ```
11
+ overlap: number = 8; // Overlap in px
13
12
 
14
- ```typescript
15
13
  interface AvatarGroupItem {
16
14
  src?: string; // Image URL
17
15
  initials?: string; // Fallback initials
@@ -20,18 +18,32 @@ interface AvatarGroupItem {
20
18
  }
21
19
  ```
22
20
 
21
+ ## Events
22
+
23
+ - `avatar-click` → `{ avatar: AvatarGroupItem, index: number }`
24
+ - `overflow-click` → `{ remaining: number, avatars: AvatarGroupItem[] }`
25
+
23
26
  ## Slots
24
27
 
25
28
  - `(default)` - `<snice-avatar>` elements for declarative mode
26
29
 
27
- ## Events
30
+ ## CSS Parts
28
31
 
29
- - `avatar-click` `{ avatar: AvatarGroupItem, index: number }`
30
- - `overflow-click` `{ remaining: number, avatars: AvatarGroupItem[] }`
32
+ - `base` - The avatar group container
33
+ - `avatar` - Individual avatar buttons
34
+ - `overflow` - The "+N" overflow button
31
35
 
32
- ## Usage
36
+ ## Basic Usage
33
37
 
34
38
  ```html
39
+ <!-- Declarative -->
40
+ <snice-avatar-group max="3" size="medium">
41
+ <snice-avatar name="Alice Johnson"></snice-avatar>
42
+ <snice-avatar name="Bob Smith" src="/avatars/bob.jpg"></snice-avatar>
43
+ <snice-avatar name="Carol Williams"></snice-avatar>
44
+ </snice-avatar-group>
45
+
46
+ <!-- Programmatic -->
35
47
  <snice-avatar-group id="group" max="3" size="medium"></snice-avatar-group>
36
48
  ```
37
49
 
@@ -51,7 +63,8 @@ group.addEventListener('overflow-click', (e) => {
51
63
  });
52
64
  ```
53
65
 
54
- **CSS Parts:**
55
- - `base` - The avatar group container
56
- - `avatar` - Individual avatar buttons
57
- - `overflow` - The "+N" overflow button
66
+ ## Accessibility
67
+
68
+ - `role="group"` with `aria-label="Avatar group"`
69
+ - Each avatar is a `<button>` with title and aria-label
70
+ - Focus styles on all interactive elements
@@ -1,42 +1,61 @@
1
1
  # snice-avatar
2
2
 
3
- User profile images with fallback initials.
3
+ User profile image with automatic fallback to name-based initials or default person icon.
4
+
5
+ ## Table of Contents
6
+ - [Properties](#properties)
7
+ - [Methods](#methods)
8
+ - [CSS Custom Properties](#css-custom-properties)
9
+ - [CSS Parts](#css-parts)
10
+ - [Basic Usage](#basic-usage)
11
+ - [Examples](#examples)
4
12
 
5
13
  ## Properties
6
14
 
7
15
  ```typescript
8
- src: string = '';
9
- alt: string = '';
10
- name: string = '';
16
+ src: string = ''; // Image URL
17
+ alt: string = ''; // Alt text (falls back to `name`)
18
+ name: string = ''; // User's name (initials + color generation)
11
19
  size: 'xs'|'small'|'medium'|'large'|'xl'|'xxl' = 'medium';
12
20
  shape: 'circle'|'square'|'rounded' = 'circle';
13
- fallbackColor: string = '#ffffff';
14
- fallbackBackground: string = '';
21
+ fallbackColor: string = '#ffffff'; // attr: fallback-color — text color for initials
22
+ fallbackBackground: string = ''; // attr: fallback-background — overrides auto-color
15
23
  ```
16
24
 
17
25
  ## Methods
18
26
 
19
- - `getInitials(name)` - Extract initials from name
27
+ - `getInitials(name: string): string` - Extract initials from a name string
28
+
29
+ ## CSS Custom Properties
30
+
31
+ - `--avatar-size` - Avatar dimensions (varies by `size`)
32
+ - `--avatar-bg` - Background color (auto-generated from name)
33
+ - `--avatar-color` - Text/icon color (default: `rgb(255 255 255)`)
34
+
35
+ ## CSS Parts
36
+
37
+ - `base` - Outer avatar container
38
+ - `image` - The `<img>` element (when loaded)
39
+ - `fallback` - Initials or default icon container
40
+
41
+ ## Basic Usage
20
42
 
21
- ## Usage
43
+ ```html
44
+ <snice-avatar src="/user.jpg" name="John Doe"></snice-avatar>
45
+ ```
46
+
47
+ ## Examples
22
48
 
23
49
  ```html
24
- <!-- With image -->
25
- <snice-avatar
26
- src="/user.jpg"
27
- alt="John Doe"
28
- name="John Doe">
29
- </snice-avatar>
30
-
31
- <!-- Fallback to initials -->
50
+ <!-- Initials fallback (no image) -->
32
51
  <snice-avatar name="John Doe"></snice-avatar>
33
52
 
53
+ <!-- Default icon (no name or image) -->
54
+ <snice-avatar></snice-avatar>
55
+
34
56
  <!-- Sizes -->
35
57
  <snice-avatar name="JD" size="xs"></snice-avatar>
36
- <snice-avatar name="JD" size="small"></snice-avatar>
37
- <snice-avatar name="JD" size="medium"></snice-avatar>
38
58
  <snice-avatar name="JD" size="large"></snice-avatar>
39
- <snice-avatar name="JD" size="xl"></snice-avatar>
40
59
  <snice-avatar name="JD" size="xxl"></snice-avatar>
41
60
 
42
61
  <!-- Shapes -->
@@ -44,23 +63,20 @@ fallbackBackground: string = '';
44
63
  <snice-avatar name="JD" shape="square"></snice-avatar>
45
64
  <snice-avatar name="JD" shape="rounded"></snice-avatar>
46
65
 
47
- <!-- Custom colors -->
48
- <snice-avatar
49
- name="JD"
50
- fallback-color="#fff"
51
- fallback-background="#3b82f6">
52
- </snice-avatar>
53
- ```
66
+ <!-- Custom fallback colors -->
67
+ <snice-avatar name="Custom" fallback-color="#fff" fallback-background="#3b82f6"></snice-avatar>
54
68
 
55
- **CSS Parts:**
56
- - `base` - Outer avatar container
57
- - `image` - The `<img>` element (when image is loaded)
58
- - `fallback` - Initials or default icon container
69
+ <!-- Broken image falls back to initials -->
70
+ <snice-avatar src="https://broken-url.com/404.jpg" name="Fallback User"></snice-avatar>
71
+ ```
59
72
 
60
- ## Features
73
+ ### Size Reference
61
74
 
62
- - 6 size options (xs to xxl)
63
- - 3 shape options
64
- - Image with fallback to initials
65
- - Custom fallback colors
66
- - Auto-extracts initials from name
75
+ | Size | Dimensions | Font Size |
76
+ |------|-----------|-----------|
77
+ | `xs` | 1.5rem (24px) | 0.625rem |
78
+ | `small` | 2rem (32px) | 0.75rem |
79
+ | `medium` | 2.5rem (40px) | 0.875rem |
80
+ | `large` | 3rem (48px) | 1rem |
81
+ | `xl` | 4rem (64px) | 1.25rem |
82
+ | `xxl` | 6rem (96px) | 2rem |
@@ -17,10 +17,6 @@ pulse: boolean = false;
17
17
  offset: number = 0;
18
18
  ```
19
19
 
20
- ## Slots
21
-
22
- - `(default)` - Content the badge overlays
23
-
24
20
  ## Methods
25
21
 
26
22
  - `setBadgeContent(content)` - Set text content
@@ -28,57 +24,50 @@ offset: number = 0;
28
24
  - `showDot()` - Switch to dot mode
29
25
  - `hide()` - Clear all content
30
26
 
31
- ## Usage
27
+ ## Slots
28
+
29
+ - `(default)` - Content the badge overlays
30
+
31
+ ## CSS Parts
32
+
33
+ - `base` - Outer wrapper element
34
+ - `badge` - The badge indicator element
35
+
36
+ ## Basic Usage
32
37
 
33
38
  ```html
34
- <!-- Basic -->
35
39
  <snice-badge content="New"></snice-badge>
36
-
37
- <!-- Count badge -->
38
40
  <snice-badge count="5"></snice-badge>
39
-
40
- <!-- Max count (99+) -->
41
41
  <snice-badge count="150" max="99"></snice-badge>
42
-
43
- <!-- Dot indicator -->
44
42
  <snice-badge dot></snice-badge>
45
43
 
46
44
  <!-- On element -->
47
- <div style="position: relative; display: inline-block;">
45
+ <snice-badge count="3" variant="error">
48
46
  <button>Messages</button>
49
- <snice-badge count="3" variant="error"></snice-badge>
50
- </div>
47
+ </snice-badge>
51
48
 
52
49
  <!-- Variants -->
53
50
  <snice-badge content="New" variant="primary"></snice-badge>
54
- <snice-badge content="" variant="success"></snice-badge>
51
+ <snice-badge content="OK" variant="success"></snice-badge>
55
52
  <snice-badge content="!" variant="warning"></snice-badge>
56
- <snice-badge content="×" variant="error"></snice-badge>
53
+ <snice-badge content="x" variant="error"></snice-badge>
57
54
  <snice-badge content="i" variant="info"></snice-badge>
58
55
 
59
56
  <!-- Positions -->
60
- <snice-badge count="5" position="top-right"></snice-badge>
61
57
  <snice-badge count="5" position="top-left"></snice-badge>
62
58
  <snice-badge count="5" position="bottom-right"></snice-badge>
63
- <snice-badge count="5" position="bottom-left"></snice-badge>
64
59
 
65
60
  <!-- Inline -->
66
- <p>Status <snice-badge inline content="Active"></snice-badge></p>
61
+ <p>Status <snice-badge inline content="Active" variant="success"></snice-badge></p>
67
62
 
68
63
  <!-- Pulse animation -->
69
64
  <snice-badge dot pulse variant="error"></snice-badge>
70
- ```
71
65
 
72
- **CSS Parts:**
73
- - `base` - Outer wrapper element
74
- - `badge` - The badge indicator element
66
+ <!-- Custom offset -->
67
+ <snice-badge count="5" offset="5">...</snice-badge>
68
+ ```
75
69
 
76
- ## Features
70
+ ## Accessibility
77
71
 
78
- - 6 color variants
79
- - Count with max limit (shows 99+ style)
80
- - Dot mode for indicators
81
- - 4 positioning options
82
- - Inline or positioned
83
- - Pulse animation
84
- - Custom offset
72
+ - `role="status"` for screen reader announcements
73
+ - Descriptive `aria-label` on badge element