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
@@ -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