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
@@ -8,96 +8,63 @@ Calendar with date selection and event support.
8
8
  value: Date | string = new Date();
9
9
  view: 'month'|'week'|'day' = 'month';
10
10
  events: CalendarEvent[] = [];
11
- minDate: Date | string = '';
12
- maxDate: Date | string = '';
13
- disabledDates: (Date | string)[] = [];
14
- highlightToday: boolean = true;
15
- showWeekNumbers: boolean = false;
16
- firstDayOfWeek: number = 0; // 0=Sun, 1=Mon
11
+ minDate: Date | string = ''; // attribute: min-date
12
+ maxDate: Date | string = ''; // attribute: max-date
13
+ disabledDates: (Date | string)[] = []; // attribute: disabled-dates
14
+ highlightToday: boolean = true; // attribute: highlight-today
15
+ showWeekNumbers: boolean = false; // attribute: show-week-numbers
16
+ firstDayOfWeek: number = 0; // attribute: first-day-of-week (0=Sun, 1=Mon)
17
17
  locale: string = 'en-US';
18
18
  ```
19
19
 
20
- ## CalendarEvent
21
-
22
- ```typescript
23
- interface CalendarEvent {
24
- id: string | number;
25
- title: string;
26
- start: Date | string;
27
- end?: Date | string;
28
- color?: string;
29
- data?: any;
30
- }
31
- ```
32
-
33
20
  ## Methods
34
21
 
35
- ```typescript
36
- goToToday(): void
37
- goToDate(date: Date | string): void
38
- previousMonth(): void
39
- nextMonth(): void
40
- previousWeek(): void
41
- nextWeek(): void
42
- previousDay(): void
43
- nextDay(): void
44
- getDisplayedMonth(): { month: number; year: number }
45
- getEventsForDate(date: Date | string): CalendarEvent[]
46
- ```
22
+ - `goToToday()` - Navigate to today
23
+ - `goToDate(date: Date | string)` - Navigate to specific date
24
+ - `previousMonth()` / `nextMonth()` - Navigate months
25
+ - `previousWeek()` / `nextWeek()` - Navigate weeks
26
+ - `previousDay()` / `nextDay()` - Navigate days
27
+ - `getDisplayedMonth()` - Returns `{ month: number; year: number }`
28
+ - `getEventsForDate(date: Date | string)` - Returns `CalendarEvent[]`
47
29
 
48
30
  ## Events
49
31
 
50
- - `calendar-change` - Date selected (detail: { value, calendar })
51
- - `calendar-event-click` - Event clicked (detail: { event, calendar })
32
+ - `calendar-change` -> `{ value: Date, calendar: SniceCalendarElement }`
33
+ - `calendar-event-click` -> `{ event: CalendarEvent, calendar: SniceCalendarElement }`
52
34
 
53
- ## Usage
35
+ ## CSS Parts
54
36
 
55
- ```html
56
- <snice-calendar></snice-calendar>
37
+ - `base` - Main calendar container
38
+ - `header` - Header with title and navigation buttons
39
+ - `grid` - Day cells grid
57
40
 
58
- <!-- With events -->
41
+ ## Basic Usage
42
+
43
+ ```html
59
44
  <snice-calendar></snice-calendar>
60
45
  ```
61
46
 
62
47
  ```typescript
48
+ import 'snice/components/calendar/snice-calendar';
49
+
63
50
  calendar.events = [
64
51
  { id: 1, title: 'Meeting', start: new Date(), color: '#2196f3' }
65
52
  ];
66
- ```
67
53
 
68
- ```html
69
- <!-- With restrictions -->
70
- <snice-calendar
71
- min-date="2024-01-01"
72
- max-date="2024-12-31"
73
- first-day-of-week="1"
74
- locale="fr-FR">
75
- </snice-calendar>
54
+ calendar.addEventListener('calendar-change', (e) => {
55
+ console.log('Selected:', e.detail.value);
56
+ });
76
57
  ```
77
58
 
78
- ```typescript
79
- // Programmatic control
80
- calendar.goToToday();
81
- calendar.previousMonth();
82
- calendar.nextMonth();
83
- calendar.goToDate(new Date(2024, 5, 15));
84
- ```
59
+ ## Keyboard Navigation
85
60
 
86
- **CSS Parts:**
87
- - `base` - Main calendar container
88
- - `header` - Header with title and navigation buttons
89
- - `grid` - Day cells grid
61
+ - Arrow keys: navigate dates
62
+ - Enter: select date
63
+ - Tab: move between controls
64
+
65
+ ## Accessibility
90
66
 
91
- ## Features
92
-
93
- - Month/week/day views
94
- - Event display with colors
95
- - Date restrictions (min/max/disabled)
96
- - Locale support
97
- - Week starting day configuration
98
- - Week numbers (optional)
99
- - Keyboard navigation
100
- - Event click handling
101
- - Programmatic navigation
102
- - Multi-event days
103
- - Today highlighting
67
+ - Keyboard navigation with arrow keys
68
+ - ARIA labels for dates and events
69
+ - Screen reader friendly
70
+ - Focus management
@@ -1,88 +1,55 @@
1
1
  # snice-camera-annotate
2
2
 
3
- Image annotation component combining camera capture + freehand drawing + labeled annotations.
3
+ Camera capture + freehand drawing + labeled annotations.
4
4
 
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
8
  mode: 'camera' | 'annotate' = 'camera';
9
- autoRotateColors: boolean = true; // attribute: auto-rotate-colors
10
- showLabelsPanel: boolean = true; // attribute: show-labels-panel
9
+ autoRotateColors: boolean = true; // attribute: auto-rotate-colors
10
+ showLabelsPanel: boolean = true; // attribute: show-labels-panel
11
11
  ```
12
12
 
13
13
  ## Methods
14
14
 
15
- ```typescript
16
- capture(): Promise<void>;
17
- exportImage(options?: { includeLabels?: boolean }): string;
18
- exportAnnotations(): AnnotationData;
19
- importAnnotations(data: AnnotationData): void;
20
- clearAnnotations(): void;
21
- ```
15
+ - `capture(): Promise<void>` - Capture frame, switch to annotate mode
16
+ - `exportImage(options?: { includeLabels?: boolean }): string` - Export as data URL
17
+ - `exportAnnotations(): AnnotationData` - Export annotation data (JSON-serializable)
18
+ - `importAnnotations(data: AnnotationData): void` - Load annotation data
19
+ - `clearAnnotations(): void` - Remove all annotations
22
20
 
23
21
  ## Events
24
22
 
25
- ```typescript
26
- 'capture' → { dataURL: string; width: number; height: number }
27
- 'annotate' → { annotation: Annotation }
28
- 'annotation-change' → { annotations: Annotation[] }
29
- ```
23
+ - `capture` -> `{ dataURL: string, width: number, height: number }`
24
+ - `annotate` -> `{ annotation: Annotation }`
25
+ - `annotation-change` -> `{ annotations: Annotation[] }`
30
26
 
31
- ## Types
27
+ ## CSS Parts
32
28
 
33
- ```typescript
34
- interface Annotation {
35
- id: string;
36
- strokeId: string;
37
- label: string;
38
- color: string;
39
- visible: boolean;
40
- timestamp: number;
41
- }
42
-
43
- interface AnnotationData {
44
- annotations: Annotation[];
45
- strokes: AnnotationStroke[];
46
- imageWidth: number;
47
- imageHeight: number;
48
- }
49
-
50
- interface AnnotationStroke {
51
- id: string;
52
- color: string;
53
- width: number;
54
- points: { x: number; y: number }[];
55
- timestamp: number;
56
- }
57
- ```
29
+ - `base` - Outer layout container
30
+ - `canvas` - Canvas area (video + drawing surface)
31
+ - `toolbar` - Toolbar (capture/retake, undo, clear, export)
32
+ - `sidebar` - Sidebar (color palette + annotation labels)
58
33
 
59
- ## Usage
34
+ ## Basic Usage
60
35
 
61
36
  ```html
62
- <!-- Default -->
63
37
  <snice-camera-annotate></snice-camera-annotate>
38
+ ```
64
39
 
65
- <!-- No sidebar -->
66
- <snice-camera-annotate show-labels-panel="false"></snice-camera-annotate>
40
+ ```typescript
41
+ import 'snice/components/camera-annotate/snice-camera-annotate';
67
42
 
68
- <!-- Manual color selection -->
69
- <snice-camera-annotate auto-rotate-colors="false"></snice-camera-annotate>
43
+ // Save/load annotations
44
+ const data = annotator.exportAnnotations();
45
+ annotator.importAnnotations(data);
46
+
47
+ // Export image
48
+ const url = annotator.exportImage({ includeLabels: true });
70
49
  ```
71
50
 
72
- **CSS Parts:**
73
- - `base` - Outer layout container div
74
- - `canvas` - Canvas area containing video and drawing surface
75
- - `toolbar` - Toolbar with capture/retake, undo, clear, export buttons
76
- - `sidebar` - Sidebar panel with color palette and annotation labels
77
-
78
- ## Features
79
-
80
- - Camera capture → freehand draw → label workflow
81
- - 12-color preset palette with auto-rotation
82
- - Sidebar labels linked to drawn shapes
83
- - Hover label highlights shape, dims others (opacity 0.2 + grayscale)
84
- - Show/hide individual and bulk annotations
85
- - Export image with/without rendered labels
86
- - Save/load annotation data (JSON)
87
- - Undo last stroke
88
- - Adjustable stroke width
51
+ ## Accessibility
52
+
53
+ - Color swatches have title attributes
54
+ - Annotation toggles have descriptive titles
55
+ - Sidebar scrolls independently
@@ -5,150 +5,68 @@ Live camera feed with built-in mobile-style controls.
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- autoStart: boolean = true;
9
- facingMode: 'user'|'environment' = 'user';
8
+ autoStart: boolean = true; // attribute: auto-start
9
+ facingMode: 'user'|'environment' = 'user'; // attribute: facing-mode
10
10
  mirror: boolean = true;
11
- controlsPosition: ControlsPosition = 'auto';
12
- showControls: boolean = true;
11
+ controlsPosition: ControlsPosition = 'auto'; // attribute: controls-position
12
+ showControls: boolean = true; // attribute: show-controls
13
13
  width: number = 1280;
14
14
  height: number = 720;
15
- aspectRatio: string = 'auto'; // 'auto' (fills space), '16:9', '9:16', '4:3', '1:1', '21:9'
16
- objectFit: 'contain'|'cover' = 'cover'; // cover: fills frame (may crop), contain: full video (may letterbox)
17
- ```
18
-
19
- ## ControlsPosition
20
-
21
- ```typescript
22
- type ControlsPosition =
23
- | 'auto' // Auto-detect (bottom-right portrait, right landscape)
24
- | 'bottom' | 'right' | 'left' | 'top' // Edge positions
25
- | 'bottom-left' | 'bottom-right' // Corner positions
26
- | 'top-left' | 'top-right';
15
+ aspectRatio: string = 'auto'; // attribute: aspect-ratio — 'auto','16:9','9:16','4:3','1:1','21:9'
16
+ objectFit: 'contain'|'cover' = 'cover'; // attribute: object-fit
27
17
  ```
28
18
 
29
19
  ## Methods
30
20
 
31
- ```typescript
32
- start(): Promise<void>
33
- stop(): void
34
- capture(): Promise<CapturedImage>
35
- switchCamera(): Promise<void>
36
- isActive(): boolean
37
- getStream(): MediaStream | null
38
- enterFullscreen(): void
39
- exitFullscreen(): void
40
- toggleFullscreen(): void
41
- ```
42
-
43
- ## CapturedImage
44
-
45
- ```typescript
46
- interface CapturedImage {
47
- dataURL: string;
48
- blob: Blob;
49
- width: number;
50
- height: number;
51
- timestamp: number;
52
- }
53
- ```
21
+ - `start(): Promise<void>` - Start camera feed
22
+ - `stop(): void` - Stop camera
23
+ - `capture(): Promise<CapturedImage>` - Capture frame (`{ dataURL, blob, width, height, timestamp }`)
24
+ - `switchCamera(): Promise<void>` - Toggle front/back
25
+ - `isActive(): boolean` - Check if running
26
+ - `getStream(): MediaStream | null` - Get stream
27
+ - `enterFullscreen()` / `exitFullscreen()` / `toggleFullscreen()` - Fullscreen control
54
28
 
55
29
  ## Events
56
30
 
57
- - `camera-start` - Camera started (detail: { stream })
58
- - `camera-stop` - Camera stopped
59
- - `camera-capture` - Photo captured (detail: { image })
60
- - `camera-error` - Error occurred (detail: { error })
31
+ - `camera-start` -> `{ stream: MediaStream }`
32
+ - `camera-stop` -> (no detail)
33
+ - `camera-capture` -> `{ image: CapturedImage }`
34
+ - `camera-error` -> `{ error: Error }`
61
35
 
62
36
  ## Slots
63
37
 
64
38
  - `controls` - Custom controls overlay (full viewport, positioned absolutely)
65
39
 
66
- ## Usage
67
-
68
- ```html
69
- <!-- Zero config -->
70
- <snice-camera></snice-camera>
71
-
72
- <!-- Custom position -->
73
- <snice-camera controls-position="bottom-left"></snice-camera>
74
-
75
- <!-- Back camera -->
76
- <snice-camera facing-mode="environment"></snice-camera>
77
-
78
- <!-- Custom controls overlay -->
79
- <snice-camera>
80
- <div slot="controls" style="position: absolute; top: 10px; left: 10px;">
81
- LIVE
82
- </div>
83
- </snice-camera>
84
-
85
- <!-- Hide built-in controls, use only custom -->
86
- <snice-camera show-controls="false">
87
- <div slot="controls" style="position: absolute; bottom: 20px; right: 20px;">
88
- <button onclick="this.closest('snice-camera').capture()">📷</button>
89
- </div>
90
- </snice-camera>
40
+ ## CSS Custom Properties
91
41
 
92
- <!-- 4K resolution -->
93
- <snice-camera width="3840" height="2160"></snice-camera>
42
+ - `--snice-camera-bg` - Background (default: `rgb(0 0 0)`)
43
+ - `--snice-camera-overlay` - Controls gradient overlay
44
+ - `--snice-camera-controls-color` - Controls icon/text color
45
+ - `--snice-camera-btn-bg` / `--snice-camera-btn-hover-bg` - Button backgrounds
46
+ - `--snice-camera-capture-bg` / `--snice-camera-capture-color` / `--snice-camera-capture-hover-bg` - Capture button
47
+ - `--snice-camera-flash-color` - Flash overlay
48
+ - `--snice-camera-status-bg` - Status badge
94
49
 
95
- <!-- 16:9 aspect ratio -->
96
- <snice-camera aspect-ratio="16:9"></snice-camera>
50
+ ## CSS Parts
97
51
 
98
- <!-- Square -->
99
- <snice-camera aspect-ratio="1:1" width="1080" height="1080"></snice-camera>
52
+ - `base` - Outer camera container
53
+ - `controls` - Built-in control buttons area
100
54
 
101
- <!-- Portrait mode with cover -->
102
- <snice-camera aspect-ratio="9:16" object-fit="cover" width="720" height="1280"></snice-camera>
55
+ ## Basic Usage
103
56
 
104
- <!-- Cover mode (fills container, may crop) -->
105
- <snice-camera object-fit="cover"></snice-camera>
57
+ ```html
58
+ <snice-camera></snice-camera>
106
59
  ```
107
60
 
108
- ```javascript
109
- // Capture photo
61
+ ```typescript
62
+ import 'snice/components/camera/snice-camera';
63
+
110
64
  const image = await camera.capture();
111
65
  // { dataURL, blob, width, height, timestamp }
112
-
113
- // Switch camera
114
- await camera.switchCamera();
115
-
116
- // Events
117
- camera.addEventListener('camera-capture', (e) => {
118
- const img = e.detail.image;
119
- console.log(img.dataURL);
120
- });
121
-
122
- // Fullscreen
123
- camera.toggleFullscreen();
124
66
  ```
125
67
 
126
- **CSS Parts:**
127
- - `base` - Outer camera container div
128
- - `controls` - Built-in control buttons area (capture, switch camera)
129
-
130
- ## CSS Custom Properties
68
+ ## Accessibility
131
69
 
132
- - `--snice-camera-bg` - Camera background (default: `rgb(0 0 0)`)
133
- - `--snice-camera-overlay` - Controls gradient overlay (default: `rgb(0 0 0 / 0.5)`)
134
- - `--snice-camera-controls-color` - Controls icon/text color (default: `rgb(255 255 255)`)
135
- - `--snice-camera-btn-bg` - Button background (default: `rgb(0 0 0 / 0.4)`)
136
- - `--snice-camera-btn-hover-bg` - Button hover background (default: `rgb(0 0 0 / 0.6)`)
137
- - `--snice-camera-capture-bg` - Capture button background (default: `rgb(255 255 255 / 0.95)`)
138
- - `--snice-camera-capture-color` - Capture button icon color (default: `rgb(51 51 51)`)
139
- - `--snice-camera-capture-hover-bg` - Capture button hover (default: `rgb(255 255 255)`)
140
- - `--snice-camera-flash-color` - Flash overlay color (default: `rgb(255 255 255)`)
141
- - `--snice-camera-status-bg` - Status badge background (default: `rgb(0 0 0 / 0.7)`)
142
-
143
- ## Features
144
-
145
- - Auto-starts on load (default)
146
- - Built-in mobile-style controls (Material Design icons)
147
- - 720p HD quality (1280x720 hardcoded)
148
- - Switch camera button (auto-hides if only one camera)
149
- - Capture button with camera icon
150
- - Auto-detect orientation for control positioning
151
- - Corner and edge control positioning
152
- - Mirror mode for front camera
153
- - Slotted custom controls overlay
154
- - Requires HTTPS
70
+ - Keyboard navigation for controls
71
+ - Visual feedback for capture
72
+ - Error messaging
@@ -5,76 +5,56 @@ SVG-based OHLC candlestick chart for financial data visualization.
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- data: CandleData[] = []; // {date, open, high, low, close, volume?}
9
- showVolume: boolean = false; // Show volume bars below chart
10
- showGrid: boolean = true; // Show horizontal grid lines
11
- showCrosshair: boolean = true; // Show crosshair on hover
12
- bullishColor: string = ''; // Custom bullish (close >= open) color
13
- bearishColor: string = ''; // Custom bearish (close < open) color
14
- timeFormat: 'auto'|'date'|'time'|'datetime'|'month'|'year' = 'auto';
15
- yAxisFormat: 'number'|'currency'|'percent' = 'number';
16
- zoomEnabled: boolean = true; // Enable scroll zoom and drag pan
17
- animation: boolean = true; // Animate candle appearance
18
- ```
19
-
20
- ## Types
21
-
22
- ```typescript
23
- interface CandleData {
24
- date: string | number | Date;
25
- open: number;
26
- high: number;
27
- low: number;
28
- close: number;
29
- volume?: number;
30
- }
8
+ data: CandleData[] = []; // {date, open, high, low, close, volume?}
9
+ showVolume: boolean = false; // attribute: show-volume
10
+ showGrid: boolean = true; // attribute: show-grid
11
+ showCrosshair: boolean = true; // attribute: show-crosshair
12
+ bullishColor: string = ''; // attribute: bullish-color
13
+ bearishColor: string = ''; // attribute: bearish-color
14
+ timeFormat: 'auto'|'date'|'time'|'datetime'|'month'|'year' = 'auto'; // attribute: time-format
15
+ yAxisFormat: 'number'|'currency'|'percent' = 'number'; // attribute: y-axis-format
16
+ zoomEnabled: boolean = true; // attribute: zoom-enabled
17
+ animation: boolean = true;
31
18
  ```
32
19
 
33
20
  ## Methods
34
21
 
35
- - `resetZoom()` reset zoom to show all data
36
- - `zoomTo(startIndex: number, endIndex: number)` zoom to index range
22
+ - `resetZoom()` - Reset zoom to show all data
23
+ - `zoomTo(startIndex: number, endIndex: number)` - Zoom to index range
37
24
 
38
25
  ## Events
39
26
 
40
- - `candle-click` `{ candle: CandleData; index: number }` — candle clicked
41
- - `candle-hover` `{ candle: CandleData; index: number }` — candle hovered
42
- - `crosshair-move` `{ price: number; date: string; x: number; y: number }` — crosshair moved
27
+ - `candle-click` -> `{ candle: CandleData, index: number }`
28
+ - `candle-hover` -> `{ candle: CandleData, index: number }`
29
+ - `crosshair-move` -> `{ price: number, date: string, x: number, y: number }`
30
+
31
+ ## CSS Custom Properties
32
+
33
+ - `--snice-candlestick-bullish` - Bullish candle color (default: green)
34
+ - `--snice-candlestick-bearish` - Bearish candle color (default: red)
35
+
36
+ ## CSS Parts
37
+
38
+ - `base` - Outer chart container
39
+ - `canvas` - SVG chart element
40
+ - `tooltip` - OHLC tooltip overlay
43
41
 
44
- ## Usage
42
+ ## Basic Usage
45
43
 
46
44
  ```html
47
45
  <snice-candlestick show-volume></snice-candlestick>
48
46
  ```
49
47
 
50
48
  ```typescript
49
+ import 'snice/components/candlestick/snice-candlestick';
50
+
51
51
  chart.data = [
52
52
  { date: '2024-01-01', open: 100, high: 110, low: 95, close: 105, volume: 500000 },
53
53
  { date: '2024-01-02', open: 105, high: 115, low: 100, close: 98, volume: 600000 },
54
54
  ];
55
55
  ```
56
56
 
57
- ## Features
58
-
59
- - SVG candlestick bodies with wicks (high/low shadows)
60
- - Green bullish / red bearish coloring (customizable)
61
- - Optional volume bars below price chart
62
- - Horizontal grid lines
63
- - Y-axis price labels (number/currency/percent)
64
- - X-axis date labels with smart formatting
65
- - Crosshair with price/date readout
66
- - OHLC + volume tooltip on hover
67
- - Scroll to zoom, drag to pan
68
- - Responsive via ResizeObserver
69
- - Entrance animation with staggered delays
70
- - Accessible: role="img" with aria-label
71
-
72
- **CSS Parts:**
73
- - `base` - Outer chart container div
74
- - `canvas` - SVG element containing the candlestick chart
75
- - `tooltip` - OHLC tooltip overlay div
76
-
77
- ## CSS Custom Properties
57
+ ## Accessibility
78
58
 
79
- - `--snice-candlestick-bullish` bullish candle color (default: green)
80
- - `--snice-candlestick-bearish` bearish candle color (default: red)
59
+ - SVG: role="img" with aria-label
60
+ - WCAG AA contrast for default colors
@@ -1,6 +1,6 @@
1
1
  # snice-card
2
2
 
3
- Container for grouped content.
3
+ Container for grouped content with variants, slots, and interactive states.
4
4
 
5
5
  ## Properties
6
6
 
@@ -12,17 +12,17 @@ selected: boolean = false;
12
12
  disabled: boolean = false;
13
13
  ```
14
14
 
15
+ ## Events
16
+
17
+ - `card-click` -> `{ selected: boolean }`
18
+
15
19
  ## Slots
16
20
 
17
21
  - `(default)` - Card body content
22
+ - `image` - Image at top of card
18
23
  - `header` - Card header
19
- - `image` - Card image (top of card)
20
24
  - `footer` - Card footer
21
25
 
22
- ## Events
23
-
24
- - `card-click` → `{ selected: boolean }`
25
-
26
26
  ## CSS Parts
27
27
 
28
28
  - `base` - Outer card container
@@ -30,36 +30,26 @@ disabled: boolean = false;
30
30
  - `body` - Card body section
31
31
  - `footer` - Card footer section
32
32
 
33
- ## Usage
33
+ ## Basic Usage
34
34
 
35
35
  ```html
36
- <!-- Basic -->
37
36
  <snice-card>
38
- <p>Card content</p>
39
- </snice-card>
40
-
41
- <!-- With header and footer -->
42
- <snice-card>
43
- <div slot="header">Card Title</div>
37
+ <div slot="header">Title</div>
44
38
  <p>Card body content</p>
45
- <div slot="footer">
46
- <button>Action</button>
47
- </div>
39
+ <div slot="footer"><button>Action</button></div>
48
40
  </snice-card>
41
+ ```
49
42
 
50
- <!-- Variants -->
51
- <snice-card variant="elevated">Elevated (shadow)</snice-card>
52
- <snice-card variant="bordered">Bordered</snice-card>
53
- <snice-card variant="flat">Flat</snice-card>
54
-
55
- <!-- Sizes -->
56
- <snice-card size="small">Small padding</snice-card>
57
- <snice-card size="medium">Medium padding</snice-card>
58
- <snice-card size="large">Large padding</snice-card>
43
+ ```typescript
44
+ import 'snice/components/card/snice-card';
59
45
 
60
- <!-- Interactive -->
61
- <snice-card clickable>Click me</snice-card>
62
- <snice-card clickable selected>Selected</snice-card>
63
- <snice-card clickable disabled>Disabled</snice-card>
46
+ card.addEventListener('card-click', (e) => {
47
+ console.log('Selected:', e.detail.selected);
48
+ });
64
49
  ```
65
50
 
51
+ ## Accessibility
52
+
53
+ - Clickable cards are keyboard accessible
54
+ - ARIA roles and states for interactive cards
55
+ - Clear focus indicators