snice 4.28.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 (618) 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 +1 -1
  43. package/dist/cdn/badge/snice-badge.min.js +1 -1
  44. package/dist/cdn/banner/snice-banner.js +1 -1
  45. package/dist/cdn/banner/snice-banner.min.js +1 -1
  46. package/dist/cdn/binpack/README.md +27 -0
  47. package/dist/cdn/binpack/snice-binpack.js +1037 -0
  48. package/dist/cdn/binpack/snice-binpack.js.map +1 -0
  49. package/dist/cdn/binpack/snice-binpack.min.js +13 -0
  50. package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
  51. package/dist/cdn/book/snice-book.js +1 -1
  52. package/dist/cdn/book/snice-book.min.js +1 -1
  53. package/dist/cdn/booking/snice-booking.js +1 -1
  54. package/dist/cdn/booking/snice-booking.min.js +1 -1
  55. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  56. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  57. package/dist/cdn/button/README.md +1 -1
  58. package/dist/cdn/button/snice-button.js +2 -2
  59. package/dist/cdn/button/snice-button.js.map +1 -1
  60. package/dist/cdn/button/snice-button.min.js +2 -2
  61. package/dist/cdn/button/snice-button.min.js.map +1 -1
  62. package/dist/cdn/calendar/snice-calendar.js +1 -1
  63. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  64. package/dist/cdn/camera/snice-camera.js +1 -1
  65. package/dist/cdn/camera/snice-camera.min.js +1 -1
  66. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  67. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  68. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  69. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  70. package/dist/cdn/card/snice-card.js +1 -1
  71. package/dist/cdn/card/snice-card.min.js +1 -1
  72. package/dist/cdn/carousel/snice-carousel.js +1 -1
  73. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  74. package/dist/cdn/cart/snice-cart.js +1 -1
  75. package/dist/cdn/cart/snice-cart.min.js +1 -1
  76. package/dist/cdn/chart/snice-chart.js +1 -1
  77. package/dist/cdn/chart/snice-chart.min.js +1 -1
  78. package/dist/cdn/chat/snice-chat.js +1 -1
  79. package/dist/cdn/chat/snice-chat.min.js +1 -1
  80. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  81. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  82. package/dist/cdn/chip/snice-chip.js +1 -1
  83. package/dist/cdn/chip/snice-chip.min.js +1 -1
  84. package/dist/cdn/code-block/snice-code-block.js +1 -1
  85. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  86. package/dist/cdn/color-display/snice-color-display.js +1 -1
  87. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  88. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  89. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  90. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  91. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  92. package/dist/cdn/comments/snice-comments.js +1 -1
  93. package/dist/cdn/comments/snice-comments.min.js +1 -1
  94. package/dist/cdn/countdown/snice-countdown.js +1 -1
  95. package/dist/cdn/countdown/snice-countdown.min.js +1 -1
  96. package/dist/cdn/cropper/snice-cropper.js +1 -1
  97. package/dist/cdn/cropper/snice-cropper.min.js +1 -1
  98. package/dist/cdn/data-card/snice-data-card.js +1 -1
  99. package/dist/cdn/data-card/snice-data-card.min.js +1 -1
  100. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  101. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  102. package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
  103. package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +1 -1
  104. package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
  105. package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +1 -1
  106. package/dist/cdn/diff/snice-diff.js +1 -1
  107. package/dist/cdn/diff/snice-diff.min.js +1 -1
  108. package/dist/cdn/divider/snice-divider.js +1 -1
  109. package/dist/cdn/divider/snice-divider.min.js +1 -1
  110. package/dist/cdn/doc/snice-doc.js +1 -1
  111. package/dist/cdn/doc/snice-doc.min.js +1 -1
  112. package/dist/cdn/draw/snice-draw.js +1 -1
  113. package/dist/cdn/draw/snice-draw.min.js +1 -1
  114. package/dist/cdn/drawer/snice-drawer.js +1 -1
  115. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  116. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  117. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  118. package/dist/cdn/estimate/snice-estimate.js +1 -1
  119. package/dist/cdn/estimate/snice-estimate.min.js +1 -1
  120. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  121. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  122. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  123. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  124. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  125. package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
  126. package/dist/cdn/flow/snice-flow.js +1 -1
  127. package/dist/cdn/flow/snice-flow.min.js +1 -1
  128. package/dist/cdn/form-layout/snice-form-layout.js +1 -1
  129. package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
  130. package/dist/cdn/funnel/snice-funnel.js +1 -1
  131. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  132. package/dist/cdn/gantt/snice-gantt.js +1 -1
  133. package/dist/cdn/gantt/snice-gantt.min.js +1 -1
  134. package/dist/cdn/gauge/snice-gauge.js +1 -1
  135. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  136. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  137. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  138. package/dist/cdn/image/snice-image.js +1 -1
  139. package/dist/cdn/image/snice-image.min.js +1 -1
  140. package/dist/cdn/input/snice-input.js +1 -1
  141. package/dist/cdn/input/snice-input.min.js +1 -1
  142. package/dist/cdn/invoice/snice-invoice.js +1 -1
  143. package/dist/cdn/invoice/snice-invoice.min.js +1 -1
  144. package/dist/cdn/kanban/snice-kanban.js +1 -1
  145. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  146. package/dist/cdn/key-value/snice-key-value.js +1 -1
  147. package/dist/cdn/key-value/snice-key-value.min.js +1 -1
  148. package/dist/cdn/kpi/snice-kpi.js +1 -1
  149. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  150. package/dist/cdn/layout/snice-layout.js +1 -1
  151. package/dist/cdn/layout/snice-layout.min.js +1 -1
  152. package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
  153. package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
  154. package/dist/cdn/link/snice-link.js +1 -1
  155. package/dist/cdn/link/snice-link.min.js +1 -1
  156. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  157. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  158. package/dist/cdn/list/snice-list.js +1 -1
  159. package/dist/cdn/list/snice-list.min.js +1 -1
  160. package/dist/cdn/location/snice-location.js +1 -1
  161. package/dist/cdn/location/snice-location.min.js +1 -1
  162. package/dist/cdn/login/README.md +2 -2
  163. package/dist/cdn/login/snice-login.js +2 -2
  164. package/dist/cdn/login/snice-login.js.map +1 -1
  165. package/dist/cdn/login/snice-login.min.js +2 -2
  166. package/dist/cdn/login/snice-login.min.js.map +1 -1
  167. package/dist/cdn/map/snice-map.js +1 -1
  168. package/dist/cdn/map/snice-map.min.js +1 -1
  169. package/dist/cdn/markdown/snice-markdown.js +1 -1
  170. package/dist/cdn/markdown/snice-markdown.min.js +1 -1
  171. package/dist/cdn/masonry/snice-masonry.js +1 -1
  172. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  173. package/dist/cdn/menu/snice-menu.js +1 -1
  174. package/dist/cdn/menu/snice-menu.min.js +1 -1
  175. package/dist/cdn/message-strip/snice-message-strip.js +1 -1
  176. package/dist/cdn/message-strip/snice-message-strip.min.js +1 -1
  177. package/dist/cdn/metric-table/snice-metric-table.js +1 -1
  178. package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
  179. package/dist/cdn/modal/snice-modal.js +1 -1
  180. package/dist/cdn/modal/snice-modal.min.js +1 -1
  181. package/dist/cdn/music-player/snice-music-player.js +1 -1
  182. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  183. package/dist/cdn/nav/snice-nav.js +1 -1
  184. package/dist/cdn/nav/snice-nav.min.js +1 -1
  185. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  186. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  187. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  188. package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
  189. package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
  190. package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
  191. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  192. package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
  193. package/dist/cdn/pagination/snice-pagination.js +1 -1
  194. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  195. package/dist/cdn/paint/snice-paint.js +1 -1
  196. package/dist/cdn/paint/snice-paint.min.js +1 -1
  197. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  198. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
  199. package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
  200. package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
  201. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  202. package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
  203. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  204. package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
  205. package/dist/cdn/product-card/snice-product-card.js +1 -1
  206. package/dist/cdn/product-card/snice-product-card.min.js +1 -1
  207. package/dist/cdn/progress/snice-progress.js +1 -1
  208. package/dist/cdn/progress/snice-progress.min.js +1 -1
  209. package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
  210. package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
  211. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  212. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  213. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  214. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  215. package/dist/cdn/radio/snice-radio.js +1 -1
  216. package/dist/cdn/radio/snice-radio.min.js +1 -1
  217. package/dist/cdn/range-slider/snice-range-slider.js +1 -1
  218. package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
  219. package/dist/cdn/rating/snice-rating.js +1 -1
  220. package/dist/cdn/rating/snice-rating.min.js +1 -1
  221. package/dist/cdn/receipt/snice-receipt.js +1 -1
  222. package/dist/cdn/receipt/snice-receipt.min.js +1 -1
  223. package/dist/cdn/recipe/snice-recipe.js +1 -1
  224. package/dist/cdn/recipe/snice-recipe.min.js +1 -1
  225. package/dist/cdn/runtime/README.md +2 -2
  226. package/dist/cdn/runtime/snice-runtime.esm.js +73 -5
  227. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  228. package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
  229. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  230. package/dist/cdn/runtime/snice-runtime.js +73 -4
  231. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  232. package/dist/cdn/runtime/snice-runtime.min.js +7 -7
  233. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  234. package/dist/cdn/sankey/snice-sankey.js +1 -1
  235. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  236. package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
  237. package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
  238. package/dist/cdn/select/snice-select.js +1 -1
  239. package/dist/cdn/select/snice-select.min.js +1 -1
  240. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  241. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  242. package/dist/cdn/slider/snice-slider.js +1 -1
  243. package/dist/cdn/slider/snice-slider.min.js +1 -1
  244. package/dist/cdn/sortable/snice-sortable.js +1 -1
  245. package/dist/cdn/sortable/snice-sortable.min.js +1 -1
  246. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  247. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  248. package/dist/cdn/spinner/snice-spinner.js +1 -1
  249. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  250. package/dist/cdn/split-button/snice-split-button.js +1 -1
  251. package/dist/cdn/split-button/snice-split-button.min.js +1 -1
  252. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  253. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  254. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  255. package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
  256. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
  257. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
  258. package/dist/cdn/stat-group/snice-stat-group.js +1 -1
  259. package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
  260. package/dist/cdn/step-input/snice-step-input.js +1 -1
  261. package/dist/cdn/step-input/snice-step-input.min.js +1 -1
  262. package/dist/cdn/stepper/snice-stepper.js +1 -1
  263. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  264. package/dist/cdn/switch/snice-switch.js +1 -1
  265. package/dist/cdn/switch/snice-switch.min.js +1 -1
  266. package/dist/cdn/table/README.md +1 -1
  267. package/dist/cdn/table/snice-table.js +2 -2
  268. package/dist/cdn/table/snice-table.js.map +1 -1
  269. package/dist/cdn/table/snice-table.min.js +2 -2
  270. package/dist/cdn/table/snice-table.min.js.map +1 -1
  271. package/dist/cdn/tabs/snice-tabs.js +1 -1
  272. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  273. package/dist/cdn/tag/snice-tag.js +1 -1
  274. package/dist/cdn/tag/snice-tag.min.js +1 -1
  275. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  276. package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
  277. package/dist/cdn/terminal/snice-terminal.js +1 -1
  278. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  279. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  280. package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
  281. package/dist/cdn/textarea/snice-textarea.js +1 -1
  282. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  283. package/dist/cdn/time-picker/snice-time-picker.js +1 -1
  284. package/dist/cdn/time-picker/snice-time-picker.min.js +1 -1
  285. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  286. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  287. package/dist/cdn/timeline/snice-timeline.js +1 -1
  288. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  289. package/dist/cdn/timer/snice-timer.js +1 -1
  290. package/dist/cdn/timer/snice-timer.min.js +1 -1
  291. package/dist/cdn/toast/snice-toast.js +1 -1
  292. package/dist/cdn/toast/snice-toast.min.js +1 -1
  293. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  294. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  295. package/dist/cdn/tree/snice-tree.js +1 -1
  296. package/dist/cdn/tree/snice-tree.min.js +1 -1
  297. package/dist/cdn/treemap/snice-treemap.js +1 -1
  298. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  299. package/dist/cdn/user-card/snice-user-card.js +1 -1
  300. package/dist/cdn/user-card/snice-user-card.min.js +1 -1
  301. package/dist/cdn/video-player/snice-video-player.js +1 -1
  302. package/dist/cdn/video-player/snice-video-player.min.js +1 -1
  303. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  304. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  305. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  306. package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
  307. package/dist/cdn/weather/snice-weather.js +1 -1
  308. package/dist/cdn/weather/snice-weather.min.js +1 -1
  309. package/dist/cdn/work-order/snice-work-order.js +1 -1
  310. package/dist/cdn/work-order/snice-work-order.min.js +1 -1
  311. package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
  312. package/dist/components/action-bar/snice-action-bar.js +182 -0
  313. package/dist/components/action-bar/snice-action-bar.js.map +1 -0
  314. package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
  315. package/dist/components/binpack/snice-binpack.d.ts +82 -0
  316. package/dist/components/binpack/snice-binpack.js +970 -0
  317. package/dist/components/binpack/snice-binpack.js.map +1 -0
  318. package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
  319. package/dist/components/button/snice-button.js +1 -1
  320. package/dist/components/button/snice-button.js.map +1 -1
  321. package/dist/create-request-handler.d.ts +42 -0
  322. package/dist/index.cjs +70 -1
  323. package/dist/index.cjs.map +1 -1
  324. package/dist/index.d.ts +2 -0
  325. package/dist/index.esm.js +70 -2
  326. package/dist/index.esm.js.map +1 -1
  327. package/dist/index.iife.js +70 -1
  328. package/dist/index.iife.js.map +1 -1
  329. package/dist/react/useRequestHandler.d.ts +56 -0
  330. package/dist/react/useRequestHandler.js +103 -0
  331. package/dist/react/useRequestHandler.js.map +1 -0
  332. package/dist/symbols.cjs +1 -1
  333. package/dist/symbols.esm.js +1 -1
  334. package/dist/transitions.cjs +1 -1
  335. package/dist/transitions.esm.js +1 -1
  336. package/docs/ai/DEVELOPMENT.md +1 -1
  337. package/docs/ai/components/accordion.md +46 -80
  338. package/docs/ai/components/action-bar.md +75 -0
  339. package/docs/ai/components/activity-feed.md +7 -7
  340. package/docs/ai/components/alert.md +26 -44
  341. package/docs/ai/components/app-tiles.md +34 -39
  342. package/docs/ai/components/approval-flow.md +1 -1
  343. package/docs/ai/components/audio-recorder.md +35 -67
  344. package/docs/ai/components/availability.md +13 -34
  345. package/docs/ai/components/avatar-group.md +26 -13
  346. package/docs/ai/components/avatar.md +52 -36
  347. package/docs/ai/components/badge.md +21 -32
  348. package/docs/ai/components/banner.md +21 -43
  349. package/docs/ai/components/binpack.md +89 -0
  350. package/docs/ai/components/book.md +25 -23
  351. package/docs/ai/components/booking.md +31 -36
  352. package/docs/ai/components/breadcrumbs.md +36 -11
  353. package/docs/ai/components/button.md +33 -44
  354. package/docs/ai/components/calendar.md +37 -70
  355. package/docs/ai/components/camera-annotate.md +31 -64
  356. package/docs/ai/components/camera.md +38 -120
  357. package/docs/ai/components/candlestick.md +32 -52
  358. package/docs/ai/components/card.md +20 -30
  359. package/docs/ai/components/carousel.md +32 -32
  360. package/docs/ai/components/cart.md +24 -29
  361. package/docs/ai/components/chart.md +29 -114
  362. package/docs/ai/components/chat.md +38 -75
  363. package/docs/ai/components/checkbox.md +22 -41
  364. package/docs/ai/components/chip.md +18 -54
  365. package/docs/ai/components/code-block.md +57 -178
  366. package/docs/ai/components/color-display.md +12 -32
  367. package/docs/ai/components/color-picker.md +17 -39
  368. package/docs/ai/components/command-palette.md +49 -71
  369. package/docs/ai/components/comments.md +55 -36
  370. package/docs/ai/components/countdown.md +28 -30
  371. package/docs/ai/components/cropper.md +33 -33
  372. package/docs/ai/components/data-card.md +20 -14
  373. package/docs/ai/components/date-picker.md +40 -47
  374. package/docs/ai/components/date-range-picker.md +31 -15
  375. package/docs/ai/components/date-time-picker.md +23 -46
  376. package/docs/ai/components/diff.md +30 -31
  377. package/docs/ai/components/divider.md +17 -47
  378. package/docs/ai/components/doc.md +43 -68
  379. package/docs/ai/components/draw.md +35 -87
  380. package/docs/ai/components/drawer.md +48 -77
  381. package/docs/ai/components/empty-state.md +10 -44
  382. package/docs/ai/components/estimate.md +33 -58
  383. package/docs/ai/components/file-gallery.md +48 -100
  384. package/docs/ai/components/file-upload.md +17 -53
  385. package/docs/ai/components/flip-card.md +31 -23
  386. package/docs/ai/components/flow.md +37 -65
  387. package/docs/ai/components/form-builder.md +35 -75
  388. package/docs/ai/components/form-layout.md +10 -20
  389. package/docs/ai/components/funnel.md +33 -48
  390. package/docs/ai/components/gantt.md +27 -23
  391. package/docs/ai/components/gauge.md +16 -17
  392. package/docs/ai/components/heatmap.md +21 -21
  393. package/docs/ai/components/image.md +7 -13
  394. package/docs/ai/components/input.md +38 -70
  395. package/docs/ai/components/invoice.md +35 -36
  396. package/docs/ai/components/kanban.md +32 -61
  397. package/docs/ai/components/key-value.md +32 -16
  398. package/docs/ai/components/kpi.md +38 -73
  399. package/docs/ai/components/layout.md +29 -23
  400. package/docs/ai/components/leaderboard.md +28 -37
  401. package/docs/ai/components/link-preview.md +12 -18
  402. package/docs/ai/components/link.md +10 -7
  403. package/docs/ai/components/list.md +21 -5
  404. package/docs/ai/components/location.md +21 -25
  405. package/docs/ai/components/login.md +14 -9
  406. package/docs/ai/components/map.md +27 -33
  407. package/docs/ai/components/markdown.md +20 -24
  408. package/docs/ai/components/masonry.md +10 -14
  409. package/docs/ai/components/mentions.md +26 -12
  410. package/docs/ai/components/menu.md +54 -52
  411. package/docs/ai/components/message-strip.md +20 -20
  412. package/docs/ai/components/metric-table.md +14 -21
  413. package/docs/ai/components/modal.md +27 -18
  414. package/docs/ai/components/music-player.md +49 -41
  415. package/docs/ai/components/nav.md +34 -31
  416. package/docs/ai/components/network-graph.md +27 -42
  417. package/docs/ai/components/notification-center.md +31 -33
  418. package/docs/ai/components/order-tracker.md +36 -27
  419. package/docs/ai/components/org-chart.md +36 -31
  420. package/docs/ai/components/pagination.md +34 -26
  421. package/docs/ai/components/paint.md +53 -91
  422. package/docs/ai/components/pdf-viewer.md +35 -36
  423. package/docs/ai/components/permission-matrix.md +26 -31
  424. package/docs/ai/components/podcast-player.md +64 -70
  425. package/docs/ai/components/pricing-table.md +37 -48
  426. package/docs/ai/components/product-card.md +58 -41
  427. package/docs/ai/components/progress-ring.md +20 -24
  428. package/docs/ai/components/progress.md +28 -45
  429. package/docs/ai/components/qr-code.md +25 -27
  430. package/docs/ai/components/qr-reader.md +20 -23
  431. package/docs/ai/components/radio.md +17 -15
  432. package/docs/ai/components/range-slider.md +22 -11
  433. package/docs/ai/components/rating.md +29 -33
  434. package/docs/ai/components/receipt.md +50 -127
  435. package/docs/ai/components/recipe.md +44 -42
  436. package/docs/ai/components/sankey.md +21 -30
  437. package/docs/ai/components/scheduler.md +29 -41
  438. package/docs/ai/components/segmented-control.md +11 -15
  439. package/docs/ai/components/select.md +58 -102
  440. package/docs/ai/components/skeleton.md +16 -30
  441. package/docs/ai/components/slider.md +26 -20
  442. package/docs/ai/components/sortable.md +25 -27
  443. package/docs/ai/components/sparkline.md +21 -17
  444. package/docs/ai/components/spinner.md +9 -5
  445. package/docs/ai/components/split-button.md +10 -13
  446. package/docs/ai/components/split-pane.md +19 -14
  447. package/docs/ai/components/spotlight.md +31 -26
  448. package/docs/ai/components/spreadsheet.md +51 -97
  449. package/docs/ai/components/stat-group.md +9 -19
  450. package/docs/ai/components/step-input.md +17 -15
  451. package/docs/ai/components/stepper.md +14 -15
  452. package/docs/ai/components/switch.md +15 -9
  453. package/docs/ai/components/table.md +24 -84
  454. package/docs/ai/components/tabs.md +18 -10
  455. package/docs/ai/components/tag-input.md +18 -29
  456. package/docs/ai/components/tag.md +10 -22
  457. package/docs/ai/components/terminal.md +9 -9
  458. package/docs/ai/components/testimonial.md +9 -19
  459. package/docs/ai/components/textarea.md +15 -16
  460. package/docs/ai/components/theme.md +3 -3
  461. package/docs/ai/components/time-picker.md +30 -49
  462. package/docs/ai/components/time-range-picker.md +16 -15
  463. package/docs/ai/components/timeline.md +5 -4
  464. package/docs/ai/components/timer.md +8 -8
  465. package/docs/ai/components/toast.md +24 -18
  466. package/docs/ai/components/tooltip.md +11 -22
  467. package/docs/ai/components/tree.md +9 -9
  468. package/docs/ai/components/treemap.md +14 -13
  469. package/docs/ai/components/user-card.md +21 -27
  470. package/docs/ai/components/video-player.md +35 -52
  471. package/docs/ai/components/virtual-scroller.md +1 -1
  472. package/docs/ai/components/waterfall.md +17 -16
  473. package/docs/ai/components/weather.md +19 -34
  474. package/docs/ai/components/work-order.md +58 -134
  475. package/docs/ai/patterns.md +63 -0
  476. package/docs/components/accordion.md +72 -151
  477. package/docs/components/action-bar.md +185 -0
  478. package/docs/components/activity-feed.md +9 -14
  479. package/docs/components/alert.md +17 -109
  480. package/docs/components/app-tiles.md +58 -43
  481. package/docs/components/approval-flow.md +8 -14
  482. package/docs/components/audio-recorder.md +45 -51
  483. package/docs/components/availability.md +30 -45
  484. package/docs/components/avatar-group.md +34 -14
  485. package/docs/components/avatar.md +20 -55
  486. package/docs/components/badge.md +53 -470
  487. package/docs/components/banner.md +44 -30
  488. package/docs/components/binpack.md +208 -0
  489. package/docs/components/book.md +78 -57
  490. package/docs/components/booking.md +35 -87
  491. package/docs/components/breadcrumbs.md +74 -448
  492. package/docs/components/button.md +72 -603
  493. package/docs/components/calendar.md +77 -261
  494. package/docs/components/camera-annotate.md +44 -96
  495. package/docs/components/camera.md +94 -333
  496. package/docs/components/candlestick.md +79 -116
  497. package/docs/components/card.md +51 -689
  498. package/docs/components/carousel.md +29 -76
  499. package/docs/components/cart.md +44 -136
  500. package/docs/components/chart.md +95 -438
  501. package/docs/components/chat.md +175 -439
  502. package/docs/components/checkbox.md +52 -609
  503. package/docs/components/chip.md +45 -574
  504. package/docs/components/code-block.md +157 -421
  505. package/docs/components/color-display.md +45 -54
  506. package/docs/components/color-picker.md +103 -36
  507. package/docs/components/command-palette.md +98 -92
  508. package/docs/components/comments.md +16 -10
  509. package/docs/components/countdown.md +15 -20
  510. package/docs/components/cropper.md +14 -16
  511. package/docs/components/data-card.md +16 -15
  512. package/docs/components/date-picker.md +45 -25
  513. package/docs/components/date-range-picker.md +140 -87
  514. package/docs/components/date-time-picker.md +25 -28
  515. package/docs/components/diff.md +22 -17
  516. package/docs/components/divider.md +18 -20
  517. package/docs/components/doc.md +105 -197
  518. package/docs/components/draw.md +117 -223
  519. package/docs/components/drawer.md +113 -478
  520. package/docs/components/empty-state.md +13 -29
  521. package/docs/components/estimate.md +58 -118
  522. package/docs/components/file-gallery.md +123 -495
  523. package/docs/components/file-upload.md +36 -123
  524. package/docs/components/flip-card.md +30 -34
  525. package/docs/components/flow.md +74 -89
  526. package/docs/components/form-builder.md +59 -86
  527. package/docs/components/form-layout.md +21 -31
  528. package/docs/components/funnel.md +21 -22
  529. package/docs/components/gantt.md +5 -5
  530. package/docs/components/gauge.md +5 -23
  531. package/docs/components/heatmap.md +13 -55
  532. package/docs/components/image.md +28 -32
  533. package/docs/components/input.md +25 -14
  534. package/docs/components/invoice.md +34 -33
  535. package/docs/components/kanban.md +99 -394
  536. package/docs/components/key-value.md +22 -12
  537. package/docs/components/kpi.md +41 -112
  538. package/docs/components/layout.md +7 -13
  539. package/docs/components/leaderboard.md +52 -76
  540. package/docs/components/link-preview.md +20 -16
  541. package/docs/components/link.md +22 -19
  542. package/docs/components/list.md +44 -26
  543. package/docs/components/location.md +9 -13
  544. package/docs/components/login.md +42 -36
  545. package/docs/components/map.md +24 -46
  546. package/docs/components/markdown.md +14 -25
  547. package/docs/components/masonry.md +15 -13
  548. package/docs/components/mentions.md +36 -25
  549. package/docs/components/menu.md +39 -46
  550. package/docs/components/message-strip.md +15 -51
  551. package/docs/components/metric-table.md +50 -72
  552. package/docs/components/modal.md +32 -43
  553. package/docs/components/music-player.md +41 -49
  554. package/docs/components/nav.md +23 -13
  555. package/docs/components/network-graph.md +14 -13
  556. package/docs/components/notification-center.md +68 -172
  557. package/docs/components/order-tracker.md +72 -117
  558. package/docs/components/org-chart.md +58 -207
  559. package/docs/components/pagination.md +67 -89
  560. package/docs/components/paint.md +86 -172
  561. package/docs/components/pdf-viewer.md +46 -151
  562. package/docs/components/permission-matrix.md +61 -112
  563. package/docs/components/podcast-player.md +41 -119
  564. package/docs/components/pricing-table.md +104 -147
  565. package/docs/components/product-card.md +94 -197
  566. package/docs/components/progress-ring.md +29 -32
  567. package/docs/components/progress.md +30 -61
  568. package/docs/components/qr-code.md +53 -61
  569. package/docs/components/qr-reader.md +53 -42
  570. package/docs/components/radio.md +42 -40
  571. package/docs/components/range-slider.md +41 -30
  572. package/docs/components/rating.md +50 -84
  573. package/docs/components/receipt.md +91 -129
  574. package/docs/components/recipe.md +107 -216
  575. package/docs/components/sankey.md +47 -83
  576. package/docs/components/scheduler.md +81 -184
  577. package/docs/components/segmented-control.md +48 -40
  578. package/docs/components/select.md +107 -129
  579. package/docs/components/skeleton.md +33 -47
  580. package/docs/components/slider.md +49 -53
  581. package/docs/components/sortable.md +43 -186
  582. package/docs/components/sparkline.md +26 -25
  583. package/docs/components/spinner.md +32 -37
  584. package/docs/components/split-button.md +43 -23
  585. package/docs/components/split-pane.md +41 -58
  586. package/docs/components/spotlight.md +53 -145
  587. package/docs/components/spreadsheet.md +84 -307
  588. package/docs/components/stat-group.md +27 -61
  589. package/docs/components/step-input.md +44 -41
  590. package/docs/components/stepper.md +55 -89
  591. package/docs/components/switch.md +39 -39
  592. package/docs/components/table.md +27 -32
  593. package/docs/components/tabs.md +36 -27
  594. package/docs/components/tag-input.md +50 -176
  595. package/docs/components/tag.md +12 -50
  596. package/docs/components/terminal.md +32 -37
  597. package/docs/components/testimonial.md +24 -81
  598. package/docs/components/textarea.md +9 -14
  599. package/docs/components/theme.md +10 -23
  600. package/docs/components/time-picker.md +48 -72
  601. package/docs/components/time-range-picker.md +22 -41
  602. package/docs/components/timeline.md +7 -14
  603. package/docs/components/timer.md +16 -32
  604. package/docs/components/toast.md +19 -45
  605. package/docs/components/tooltip.md +13 -115
  606. package/docs/components/tree.md +2 -19
  607. package/docs/components/treemap.md +19 -43
  608. package/docs/components/user-card.md +13 -22
  609. package/docs/components/video-player.md +53 -227
  610. package/docs/components/virtual-scroller.md +11 -44
  611. package/docs/components/waterfall.md +58 -137
  612. package/docs/components/weather.md +94 -153
  613. package/docs/components/work-order.md +56 -143
  614. package/docs/plans/2026-03-09-action-bar-design.md +104 -0
  615. package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
  616. package/docs/plans/2026-03-10-react-integration-design.md +166 -0
  617. package/docs/request-response.md +77 -0
  618. package/package.json +1 -1
@@ -4,60 +4,63 @@ Product display card with image gallery, pricing, ratings, variant selectors, an
4
4
 
5
5
  ## Properties
6
6
 
7
- ```ts
8
- name: string = ''; // Product name
9
- price: number = 0; // Regular price
10
- salePrice: number | null = null; // Sale price (attr: sale-price)
11
- currency: string = '$'; // Currency symbol
12
- images: string[] = []; // Image URLs (gallery if multiple)
13
- rating: number = 0; // Star rating (0-5)
14
- reviewCount: number = 0; // Review count (attr: review-count)
15
- variants: ProductVariant[] = []; // Variant selectors
16
- inStock: boolean = true; // In-stock status (attr: in-stock)
17
- variant: 'vertical' | 'horizontal' | 'compact' | 'featured' | 'minimal' | 'grid' = 'vertical';
18
- badge: string = ''; // Badge text (e.g. "SALE", "NEW")
19
- badgeVariant: 'sale' | 'new' | 'featured' = 'sale'; // Badge style (attr: badge-variant)
20
- loading: boolean = false; // Shows skeleton loading state
21
- favorite: boolean = false; // Favorite/heart state
22
- stockCount: number = -1; // Stock count (-1=hidden, <5=urgency) (attr: stock-count)
23
- ```
24
-
25
- ### Types
26
-
27
- ```ts
28
- interface ProductVariant {
29
- type: string; // e.g. 'Size', 'Color'
30
- options: string[]; // e.g. ['S','M','L'] or ['#000','#fff']
31
- }
7
+ ```typescript
8
+ name: string = '';
9
+ price: number = 0;
10
+ salePrice: number | null = null; // attr: sale-price
11
+ currency: string = '$';
12
+ images: string[] = []; // attr: none (JS only)
13
+ rating: number = 0; // 0-5, supports half stars
14
+ reviewCount: number = 0; // attr: review-count
15
+ variants: ProductVariant[] = []; // attr: none (JS only)
16
+ inStock: boolean = true; // attr: in-stock
17
+ variant: 'vertical'|'horizontal'|'compact'|'featured'|'minimal'|'grid' = 'vertical';
18
+ badge: string = ''; // Badge text (e.g. "SALE", "NEW")
19
+ badgeVariant: 'sale'|'new'|'featured' = 'sale'; // attr: badge-variant
20
+ loading: boolean = false; // Skeleton loading state
21
+ favorite: boolean = false; // Heart toggle state
22
+ stockCount: number = -1; // attr: stock-count, -1=hidden, <5=urgency
32
23
  ```
33
24
 
34
25
  ## Events
35
26
 
36
- - `add-to-cart` -> `{ name: string; price: number; salePrice: number | null; selectedVariants: Record<string, string> }`
37
- - `variant-select` -> `{ type: string; value: string }`
38
- - `image-click` -> `{ index: number; src: string }`
39
- - `favorite` -> `{ favorited: boolean }`
40
- - `quick-view` -> `void`
27
+ - `add-to-cart` `{ name, price, salePrice, selectedVariants: Record<string, string> }`
28
+ - `variant-select` `{ type: string, value: string }`
29
+ - `image-click` `{ index: number, src: string }`
30
+ - `favorite` `{ favorited: boolean }`
31
+ - `quick-view` `void`
41
32
 
42
33
  ## CSS Parts
43
34
 
44
- `base`, `gallery`, `body`, `title`, `rating`, `stars`, `price`, `price-current`, `price-original`, `discount`, `stock`, `variants`, `variant-group`, `variant-option`, `cta`, `badge`, `favorite-btn`, `image`
35
+ - `base` - Outer card container
36
+ - `gallery` - Image gallery area
37
+ - `body` - Card body content
38
+ - `title` - Product name heading
39
+ - `rating` - Star rating area
40
+ - `stars` - Star rating container
41
+ - `price` - Price display area
42
+ - `price-current` - Current price
43
+ - `price-original` - Original price (strikethrough on sale)
44
+ - `discount` - Discount percentage badge
45
+ - `stock` - Stock status indicator
46
+ - `variants` - Variant selectors area
47
+ - `variant-group` - Variant selector group
48
+ - `variant-option` - Individual variant option button
49
+ - `cta` - Add-to-cart button
50
+ - `badge` - Product badge
51
+ - `favorite-btn` - Favorite/heart button
52
+ - `image` - Gallery image element
45
53
 
46
- ## Usage
54
+ ## Basic Usage
47
55
 
48
56
  ```html
49
- <snice-product-card
50
- name="Running Shoes"
51
- price="129.99"
52
- sale-price="89.99"
53
- rating="4.5"
54
- review-count="342"
55
- in-stock>
56
- </snice-product-card>
57
+ <snice-product-card name="Running Shoes" price="129.99" rating="4.5" review-count="342" in-stock></snice-product-card>
57
58
  ```
58
59
 
59
60
  ```typescript
60
- card.images = ['shoe1.jpg', 'shoe2.jpg', 'shoe3.jpg'];
61
+ import 'snice/components/product-card/snice-product-card';
62
+
63
+ card.images = ['shoe1.jpg', 'shoe2.jpg'];
61
64
  card.variants = [
62
65
  { type: 'Size', options: ['S', 'M', 'L', 'XL'] },
63
66
  { type: 'Color', options: ['#1a1a2e', '#e94560', '#0f3460'] }
@@ -67,3 +70,17 @@ card.addEventListener('add-to-cart', (e) => {
67
70
  console.log(e.detail.name, e.detail.selectedVariants);
68
71
  });
69
72
  ```
73
+
74
+ ## Accessibility
75
+
76
+ - Star rating has `aria-label` with numeric rating
77
+ - Variant selectors use `role="radiogroup"` / `role="radio"` with `aria-checked`
78
+ - Gallery navigation buttons have `aria-label`
79
+ - Favorite button has descriptive `aria-label`
80
+ - Out-of-stock disables CTA button
81
+
82
+ ## Types
83
+
84
+ ```typescript
85
+ interface ProductVariant { type: string; options: string[]; }
86
+ ```
@@ -5,18 +5,18 @@ Determinate circular progress indicator with animated SVG ring fill and optional
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- value: number = 0; // 0 to max
8
+ value: number = 0; // 0 to max
9
9
  max: number = 100;
10
10
  size: 'small'|'medium'|'large' = 'medium';
11
- thickness: number = 4; // ring stroke width
12
- color: string = ''; // custom ring color (CSS value)
13
- showValue: boolean = false; // attr: show-value, show percentage in center
14
- label: string = ''; // custom center text
11
+ thickness: number = 4; // Ring stroke width
12
+ color: string = ''; // Custom ring color (CSS value)
13
+ showValue: boolean = false; // attr: show-value, show percentage in center
14
+ label: string = ''; // Custom center text
15
15
  ```
16
16
 
17
17
  ## Events
18
18
 
19
- - `progress-complete` → `{ value, max, component }`
19
+ - `progress-complete` → `{ value, max, component }` - Value reached max
20
20
 
21
21
  ## CSS Parts
22
22
 
@@ -27,28 +27,24 @@ label: string = ''; // custom center text
27
27
  - `value` - Percentage text
28
28
  - `label` - Label text
29
29
 
30
- ## Usage
30
+ ## Basic Usage
31
31
 
32
32
  ```html
33
- <!-- Basic -->
34
- <snice-progress-ring value="75"></snice-progress-ring>
35
-
36
- <!-- With percentage display -->
37
- <snice-progress-ring value="42" show-value></snice-progress-ring>
38
-
39
- <!-- With label -->
33
+ <snice-progress-ring value="75" show-value></snice-progress-ring>
40
34
  <snice-progress-ring value="60" label="CPU"></snice-progress-ring>
41
-
42
- <!-- Custom color -->
43
35
  <snice-progress-ring value="80" color="#10b981" show-value></snice-progress-ring>
36
+ <snice-progress-ring value="50" size="large" thickness="6" show-value></snice-progress-ring>
37
+ ```
44
38
 
45
- <!-- Sizes -->
46
- <snice-progress-ring value="50" size="small"></snice-progress-ring>
47
- <snice-progress-ring value="50" size="large" show-value></snice-progress-ring>
48
-
49
- <!-- Custom thickness -->
50
- <snice-progress-ring value="65" thickness="6" show-value></snice-progress-ring>
39
+ ```typescript
40
+ import 'snice/components/progress-ring/snice-progress-ring';
51
41
 
52
- <!-- Custom max -->
53
- <snice-progress-ring value="150" max="200" show-value></snice-progress-ring>
42
+ ring.addEventListener('progress-complete', () => {
43
+ console.log('Complete!');
44
+ });
54
45
  ```
46
+
47
+ ## Accessibility
48
+
49
+ - Uses `role="progressbar"` with `aria-valuenow`, `aria-valuemin`, `aria-valuemax`
50
+ - Label or percentage used as `aria-label`
@@ -1,6 +1,6 @@
1
1
  # snice-progress
2
2
 
3
- Progress indicator with linear or circular display.
3
+ Progress indicator with linear or circular display, indeterminate mode, striped/animated styles, and labels.
4
4
 
5
5
  ## Properties
6
6
 
@@ -8,75 +8,58 @@ Progress indicator with linear or circular display.
8
8
  value: number = 0;
9
9
  max: number = 100;
10
10
  variant: 'linear'|'circular' = 'linear';
11
- indeterminate: boolean = false;
12
11
  size: 'small'|'medium'|'large'|'xl'|'xxl'|'xxxl' = 'medium';
13
12
  color: 'primary'|'success'|'warning'|'error'|'info'|string = 'primary';
14
- showLabel: boolean = false; // attr: show-label
15
- label: string = '';
13
+ indeterminate: boolean = false;
14
+ showLabel: boolean = false; // attr: show-label
15
+ label: string = ''; // Custom label text
16
16
  striped: boolean = false;
17
17
  animated: boolean = false;
18
- thickness: number = 4; // Stroke width for circular variant
18
+ thickness: number = 4; // Circular stroke width
19
19
  ```
20
20
 
21
21
  ## Methods
22
22
 
23
- - `setProgress(value, max?)` - Set progress value
23
+ - `setProgress(value: number, max?: number)` - Set progress value
24
24
  - `getPercentage()` - Get calculated percentage (0-100)
25
25
 
26
26
  ## Events
27
27
 
28
- - `progress-change` → `{ value, max, percentage, indeterminate }`
28
+ - `progress-change` → `{ value, max, percentage, indeterminate }` - Value changed
29
+
30
+ ## CSS Parts
31
+
32
+ Linear: `base`, `bar`, `label`
33
+ Circular: `base`, `circle`, `circle-bg`, `circle-bar`, `label`
34
+
35
+ ## CSS Custom Properties
36
+
37
+ ```css
38
+ --progress-height: 0.5rem;
39
+ --progress-radius: 4px;
40
+ --progress-bg: var(--snice-color-border, rgb(226 226 226));
41
+ --progress-color: var(--snice-color-primary, rgb(37 99 235));
42
+ --progress-animation-duration: 1.5s;
43
+ ```
29
44
 
30
- ## Usage
45
+ ## Basic Usage
31
46
 
32
47
  ```html
33
- <!-- Linear -->
34
48
  <snice-progress value="50"></snice-progress>
35
-
36
- <!-- Circular -->
37
49
  <snice-progress variant="circular" value="75" size="xl"></snice-progress>
38
-
39
- <!-- Indeterminate -->
40
50
  <snice-progress indeterminate></snice-progress>
41
-
42
- <!-- With label -->
43
51
  <snice-progress value="60" show-label></snice-progress>
44
- <snice-progress value="60" label="Uploading..."></snice-progress>
45
-
46
- <!-- Striped and animated -->
47
52
  <snice-progress value="70" striped animated></snice-progress>
48
-
49
- <!-- Colors -->
50
53
  <snice-progress value="80" color="success"></snice-progress>
51
- <snice-progress value="80" color="#3b82f6"></snice-progress>
52
-
53
- <!-- Custom max -->
54
- <snice-progress value="3" max="10"></snice-progress>
55
54
  ```
56
55
 
57
56
  ```typescript
57
+ import 'snice/components/progress/snice-progress';
58
58
  progress.setProgress(75);
59
- progress.setProgress(3, 10);
60
59
  console.log(progress.getPercentage());
61
60
  ```
62
61
 
63
- **CSS Parts (linear):**
64
- - `base` - Outer progress container
65
- - `bar` - The progress bar fill
66
- - `label` - Percentage or custom label text
67
-
68
- **CSS Parts (circular):**
69
- - `base` - Outer progress container
70
- - `circle` - The SVG element
71
- - `circle-bg` - Background circle stroke
72
- - `circle-bar` - Foreground progress arc
73
- - `label` - Percentage or custom label text
74
-
75
- ## Features
76
-
77
- - Linear and circular variants
78
- - Indeterminate mode for unknown progress
79
- - Optional percentage or custom label
80
- - Striped and animated styles
81
- - 5 semantic + custom CSS colors
82
- - 6 sizes (small through xxxl)
62
+ ## Accessibility
63
+
64
+ - Uses `role="progressbar"` with `aria-valuenow`, `aria-valuemin`, `aria-valuemax`
65
+ - Label text used as `aria-label`
@@ -1,6 +1,6 @@
1
1
  # snice-qr-code
2
2
 
3
- QR code generator with customizable styling and export.
3
+ QR code generator with customizable styling, center overlays, and export.
4
4
 
5
5
  ## Properties
6
6
 
@@ -8,7 +8,7 @@ QR code generator with customizable styling and export.
8
8
  value: string = '';
9
9
  size: number = 200;
10
10
  errorCorrectionLevel: 'L'|'M'|'Q'|'H' = 'M'; // attr: error-correction-level
11
- renderMode: 'canvas'|'svg' = 'canvas'; // attr: render-mode
11
+ renderMode: 'canvas'|'svg' = 'canvas'; // attr: render-mode
12
12
  dotStyle: 'square'|'rounded'|'dots' = 'square'; // attr: dot-style
13
13
  margin: number = 4;
14
14
  fgColor: string = '#000000'; // attr: fg-color
@@ -24,50 +24,48 @@ textOutlineColor: string = '#ffffff'; // attr: text-outline-color
24
24
 
25
25
  ## Methods
26
26
 
27
- - `toSVGString()` - Export as SVG markup string (sync, only when renderMode='svg')
27
+ - `toSVGString()` - SVG markup string (sync, only when renderMode='svg')
28
28
  - `toDataURL(type?, quality?)` - Export as data URL (async)
29
29
  - `toBlob(type?, quality?)` - Export as Blob (async)
30
30
  - `download(filename?)` - Download as image file
31
31
 
32
32
  ## CSS Custom Properties
33
33
 
34
- - `--qr-bg` - Container background
35
- - `--qr-border-radius` - Container border radius
36
- - `--qr-padding` - Container padding
34
+ - `--qr-bg` - Container background (`hsl(0 0% 100%)`)
35
+ - `--qr-border-radius` - Container border radius (`0`)
36
+ - `--qr-padding` - Container padding (`0`)
37
37
 
38
- ## Usage
38
+ ## CSS Parts
39
+
40
+ - `base` - QR code container div
41
+
42
+ ## Basic Usage
39
43
 
40
44
  ```html
41
- <snice-qr-code value="https://example.com" size="250"></snice-qr-code>
45
+ <snice-qr-code value="https://example.com"></snice-qr-code>
42
46
 
43
- <!-- Custom colors -->
44
- <snice-qr-code value="https://example.com" fg-color="#2196f3" bg-color="#e3f2fd"></snice-qr-code>
47
+ <!-- Custom colors + dot style -->
48
+ <snice-qr-code value="https://example.com" fg-color="#2196f3" dot-style="rounded"></snice-qr-code>
45
49
 
46
- <!-- With center image -->
50
+ <!-- Center image overlay (use high error correction) -->
47
51
  <snice-qr-code value="https://example.com" include-image image-url="/logo.png" error-correction-level="H"></snice-qr-code>
48
52
 
49
- <!-- Dot styles -->
50
- <snice-qr-code value="https://example.com" dot-style="rounded"></snice-qr-code>
53
+ <!-- Center text overlay -->
54
+ <snice-qr-code value="https://example.com" center-text="SCAN" error-correction-level="H"></snice-qr-code>
55
+
56
+ <!-- SVG render mode -->
57
+ <snice-qr-code value="https://example.com" render-mode="svg"></snice-qr-code>
51
58
  ```
52
59
 
53
60
  ```typescript
54
- qr.value = 'https://example.com';
61
+ const qr = document.querySelector('snice-qr-code');
55
62
  const url = await qr.toDataURL('image/png');
56
63
  const blob = await qr.toBlob('image/png');
57
64
  qr.download('qr-code.png');
65
+ const svg = qr.toSVGString(); // only when renderMode='svg'
58
66
  ```
59
67
 
60
- **CSS Parts:**
61
- - `base` - QR code container div
62
-
63
- ## Common Data Formats
68
+ ## Accessibility
64
69
 
65
- ```typescript
66
- // URL: 'https://example.com'
67
- // Email: 'mailto:name@example.com'
68
- // Phone: 'tel:+1234567890'
69
- // SMS: 'sms:+1234567890?body=Hello'
70
- // WiFi: 'WIFI:T:WPA;S:NetworkName;P:password;;'
71
- // Geo: 'geo:37.7749,-122.4194'
72
- // vCard: 'BEGIN:VCARD\nVERSION:3.0\nFN:Name\nEND:VCARD'
73
- ```
70
+ - Purely visual output, no interactive elements
71
+ - Provide adjacent text or wrapper `aria-label` for screen readers
@@ -1,6 +1,6 @@
1
1
  # snice-qr-reader
2
2
 
3
- QR code scanner using device camera and ZXing WASM decoder.
3
+ QR code scanner using device camera with real-time detection.
4
4
 
5
5
  ## Properties
6
6
 
@@ -15,10 +15,10 @@ tapStart: boolean = false; // attr: tap-start, tap viewport to start/st
15
15
 
16
16
  ## Methods
17
17
 
18
- - `start()` - Start camera and scanning
18
+ - `start()` - Start camera and scanning (async)
19
19
  - `stop()` - Stop scanning and release camera
20
- - `snap()` - Take snapshot (manual-snap mode), returns QR data or null
21
- - `scanImage(file: File)` - Scan QR code from image file
20
+ - `snap()` - Take snapshot, returns QR data string or null (async)
21
+ - `scanImage(file: File)` - Scan QR code from image file (async)
22
22
  - `switchCamera()` - Toggle front/back camera
23
23
 
24
24
  ## Events
@@ -28,7 +28,15 @@ tapStart: boolean = false; // attr: tap-start, tap viewport to start/st
28
28
  - `camera-ready` → `{ reader }`
29
29
  - `camera-error` → `{ error: any, reader }`
30
30
 
31
- ## Usage
31
+ ## CSS Custom Properties
32
+
33
+ - `--qr-reader-bg` - Container background (`rgb(0 0 0)`)
34
+ - `--qr-reader-overlay` - Overlay/gradient color (`rgb(0 0 0 / 0.7)`)
35
+ - `--qr-reader-controls-color` - Button icon/text color (`rgb(255 255 255)`)
36
+ - `--qr-reader-btn-bg` - Button background (`rgb(0 0 0 / 0.4)`)
37
+ - `--qr-reader-btn-hover-bg` - Button hover background (`rgb(0 0 0 / 0.6)`)
38
+
39
+ ## Basic Usage
32
40
 
33
41
  ```html
34
42
  <!-- Auto-start continuous scanning -->
@@ -46,28 +54,17 @@ tapStart: boolean = false; // attr: tap-start, tap viewport to start/st
46
54
 
47
55
  ```typescript
48
56
  reader.addEventListener('qr-scan', (e) => console.log(e.detail.data));
49
- reader.start();
57
+ await reader.start();
50
58
 
51
59
  // Manual snap
52
60
  const result = await reader.snap();
61
+
62
+ // Scan from file
63
+ const data = await reader.scanImage(file);
53
64
  ```
54
65
 
55
- ## CSS Custom Properties
66
+ ## Accessibility
56
67
 
57
- - `--qr-reader-bg` - Container background (default: `rgb(0 0 0)`)
58
- - `--qr-reader-overlay` - Overlay/gradient color (default: `rgb(0 0 0 / 0.7)`)
59
- - `--qr-reader-controls-color` - Button icon/text color (default: `rgb(255 255 255)`)
60
- - `--qr-reader-btn-bg` - Button background (default: `rgb(0 0 0 / 0.4)`)
61
- - `--qr-reader-btn-hover-bg` - Button hover background (default: `rgb(0 0 0 / 0.6)`)
62
-
63
- ## Features
64
-
65
- - ZXing WASM decoder (Apache 2.0 + MIT)
66
- - Web Worker for non-blocking detection
67
- - Front/back camera switching
68
- - Configurable scan speed (1-10)
69
- - Pick-first mode (max speed, auto-stop)
70
- - Manual snapshot mode
71
- - Tap-to-start interaction
68
+ - Requires HTTPS for mobile camera access
69
+ - Built-in control buttons with icon labels
72
70
  - Camera released on stop/dispose
73
- - HTTPS required for mobile
@@ -1,6 +1,6 @@
1
1
  # snice-radio
2
2
 
3
- Form radio button input with automatic group management.
3
+ Form radio button input with automatic group management by name.
4
4
 
5
5
  ## Properties
6
6
 
@@ -15,19 +15,19 @@ size: 'small'|'medium'|'large' = 'medium';
15
15
  name: string = ''; // Group name for mutual exclusion
16
16
  value: string = '';
17
17
  label: string = '';
18
- description: string = ''; // Subtitle text (block variant)
18
+ description: string = ''; // Subtitle text (block variant only)
19
19
  ```
20
20
 
21
21
  ## Methods
22
22
 
23
- - `focus()` - Focus radio
23
+ - `focus()` - Focus radio input
24
24
  - `blur()` - Remove focus
25
25
  - `click()` - Programmatic click
26
26
  - `select()` - Select and fire change event
27
27
 
28
28
  ## Events
29
29
 
30
- - `radio-change` → `{ checked, value, radio }`
30
+ - `radio-change` → `{ checked: boolean, value: string, radio: SniceRadioElement }`
31
31
 
32
32
  ## Slots
33
33
 
@@ -35,15 +35,15 @@ description: string = ''; // Subtitle text (block variant)
35
35
 
36
36
  ## CSS Parts
37
37
 
38
- - `input` - Hidden radio input
38
+ - `input` - Hidden native radio input
39
39
  - `radio` - Radio circle container
40
40
  - `dot` - Inner dot indicator
41
41
  - `spinner` - Loading spinner
42
- - `label` - Label text
43
42
  - `content` - Content wrapper (block variant)
43
+ - `label` - Label text
44
44
  - `description` - Description text (block variant)
45
45
 
46
- ## Usage
46
+ ## Basic Usage
47
47
 
48
48
  ```html
49
49
  <!-- Radio group -->
@@ -59,7 +59,6 @@ description: string = ''; // Subtitle text (block variant)
59
59
  <snice-radio label="Disabled" disabled></snice-radio>
60
60
  <snice-radio label="Loading" loading></snice-radio>
61
61
  <snice-radio label="Invalid" invalid></snice-radio>
62
- <snice-radio label="Required" required></snice-radio>
63
62
 
64
63
  <!-- Block variant (card-style) -->
65
64
  <snice-radio variant="block" name="plan" value="free" label="Free" description="For individuals" checked>
@@ -76,11 +75,14 @@ radio.addEventListener('radio-change', (e) => {
76
75
  });
77
76
  ```
78
77
 
79
- ## Features
78
+ ## Keyboard Navigation
79
+
80
+ - Arrow keys navigate within group (wraps around)
81
+ - Focused radio is auto-selected
82
+
83
+ ## Accessibility
80
84
 
81
- - Automatic radio group management by name
82
- - 3 sizes
83
- - Block variant: card-style layout with description + suffix slot
84
- - Loading state with spinner
85
- - Keyboard accessible (arrow keys navigate group, wraps around)
86
- - Contains native `<input type="radio">` for form participation
85
+ - Native `<input type="radio">` for form participation
86
+ - `aria-invalid` when invalid
87
+ - Focus ring on keyboard navigation
88
+ - Required indicator on label
@@ -18,35 +18,46 @@ orientation: 'horizontal'|'vertical' = 'horizontal';
18
18
 
19
19
  ## Events
20
20
 
21
- - `range-change` -> `{ valueLow: number, valueHigh: number, component: SniceRangeSliderElement }`
21
+ - `range-change` `{ valueLow: number, valueHigh: number, component: SniceRangeSliderElement }`
22
22
 
23
23
  ## CSS Parts
24
24
 
25
25
  - `track` - The slider track
26
- - `range` - The highlighted range between thumbs
26
+ - `range` - Highlighted range between thumbs
27
27
  - `thumb-low` - Low value thumb
28
28
  - `thumb-high` - High value thumb
29
29
  - `label-min` - Min label text
30
30
  - `label-max` - Max label text
31
31
 
32
- ## Usage
32
+ ## Basic Usage
33
33
 
34
34
  ```html
35
- <!-- Basic -->
36
35
  <snice-range-slider value-low="20" value-high="80"></snice-range-slider>
37
36
 
38
- <!-- With tooltips -->
39
- <snice-range-slider show-tooltip value-low="25" value-high="75"></snice-range-slider>
40
-
41
- <!-- With labels -->
42
- <snice-range-slider show-labels min="0" max="1000"></snice-range-slider>
37
+ <!-- With tooltips and labels -->
38
+ <snice-range-slider show-tooltip show-labels min="0" max="1000" value-low="200" value-high="800"></snice-range-slider>
43
39
 
44
40
  <!-- Custom step -->
45
41
  <snice-range-slider min="0" max="100" step="5"></snice-range-slider>
46
42
 
47
43
  <!-- Vertical -->
48
44
  <snice-range-slider orientation="vertical" value-low="30" value-high="70"></snice-range-slider>
45
+ ```
49
46
 
50
- <!-- Disabled -->
51
- <snice-range-slider disabled value-low="20" value-high="60"></snice-range-slider>
47
+ ```typescript
48
+ slider.addEventListener('range-change', (e) => {
49
+ console.log(e.detail.valueLow, e.detail.valueHigh);
50
+ });
52
51
  ```
52
+
53
+ ## Keyboard Navigation
54
+
55
+ - Arrow keys adjust focused thumb by step
56
+ - Home/End move to min/max bounds
57
+ - Each thumb independently focusable
58
+
59
+ ## Accessibility
60
+
61
+ - `role="slider"` on each thumb with aria-valuenow/min/max
62
+ - Focus ring on keyboard navigation
63
+ - Track click moves nearest thumb