snice 4.27.0 → 4.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/adapters/react/action-bar.d.ts +30 -0
  2. package/adapters/react/action-bar.d.ts.map +1 -0
  3. package/adapters/react/action-bar.js +24 -0
  4. package/adapters/react/action-bar.js.map +1 -0
  5. package/adapters/react/action-bar.tsx +38 -0
  6. package/adapters/react/binpack.d.ts +35 -0
  7. package/adapters/react/binpack.d.ts.map +1 -0
  8. package/adapters/react/binpack.js +24 -0
  9. package/adapters/react/binpack.js.map +1 -0
  10. package/adapters/react/binpack.tsx +43 -0
  11. package/adapters/react/components.d.ts +4 -0
  12. package/adapters/react/components.d.ts.map +1 -1
  13. package/adapters/react/components.js +2 -0
  14. package/adapters/react/components.js.map +1 -1
  15. package/adapters/react/components.ts +4 -0
  16. package/adapters/react/useRequestHandler.d.ts +56 -0
  17. package/adapters/react/useRequestHandler.js +103 -0
  18. package/adapters/react/useRequestHandler.js.map +1 -0
  19. package/dist/cdn/accordion/snice-accordion.js +1 -1
  20. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  21. package/dist/cdn/action-bar/README.md +27 -0
  22. package/dist/cdn/action-bar/snice-action-bar.js +249 -0
  23. package/dist/cdn/action-bar/snice-action-bar.js.map +1 -0
  24. package/dist/cdn/action-bar/snice-action-bar.min.js +12 -0
  25. package/dist/cdn/action-bar/snice-action-bar.min.js.map +1 -0
  26. package/dist/cdn/activity-feed/snice-activity-feed.js +1 -1
  27. package/dist/cdn/activity-feed/snice-activity-feed.min.js +1 -1
  28. package/dist/cdn/alert/snice-alert.js +1 -1
  29. package/dist/cdn/alert/snice-alert.min.js +1 -1
  30. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  31. package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
  32. package/dist/cdn/approval-flow/snice-approval-flow.js +1 -1
  33. package/dist/cdn/approval-flow/snice-approval-flow.min.js +1 -1
  34. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  35. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  36. package/dist/cdn/availability/snice-availability.js +1 -1
  37. package/dist/cdn/availability/snice-availability.min.js +1 -1
  38. package/dist/cdn/avatar/snice-avatar.js +1 -1
  39. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  40. package/dist/cdn/avatar-group/snice-avatar-group.js +1 -1
  41. package/dist/cdn/avatar-group/snice-avatar-group.min.js +1 -1
  42. package/dist/cdn/badge/snice-badge.js +2 -2
  43. package/dist/cdn/badge/snice-badge.js.map +1 -1
  44. package/dist/cdn/badge/snice-badge.min.js +2 -2
  45. package/dist/cdn/badge/snice-badge.min.js.map +1 -1
  46. package/dist/cdn/banner/snice-banner.js +1 -1
  47. package/dist/cdn/banner/snice-banner.min.js +1 -1
  48. package/dist/cdn/binpack/README.md +27 -0
  49. package/dist/cdn/binpack/snice-binpack.js +1037 -0
  50. package/dist/cdn/binpack/snice-binpack.js.map +1 -0
  51. package/dist/cdn/binpack/snice-binpack.min.js +13 -0
  52. package/dist/cdn/binpack/snice-binpack.min.js.map +1 -0
  53. package/dist/cdn/book/snice-book.js +1 -1
  54. package/dist/cdn/book/snice-book.min.js +1 -1
  55. package/dist/cdn/booking/snice-booking.js +1 -1
  56. package/dist/cdn/booking/snice-booking.min.js +1 -1
  57. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  58. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  59. package/dist/cdn/button/README.md +1 -1
  60. package/dist/cdn/button/snice-button.js +11 -10
  61. package/dist/cdn/button/snice-button.js.map +1 -1
  62. package/dist/cdn/button/snice-button.min.js +3 -3
  63. package/dist/cdn/button/snice-button.min.js.map +1 -1
  64. package/dist/cdn/calendar/snice-calendar.js +1 -1
  65. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  66. package/dist/cdn/camera/snice-camera.js +1 -1
  67. package/dist/cdn/camera/snice-camera.min.js +1 -1
  68. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  69. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  70. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  71. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  72. package/dist/cdn/card/snice-card.js +1 -1
  73. package/dist/cdn/card/snice-card.min.js +1 -1
  74. package/dist/cdn/carousel/snice-carousel.js +1 -1
  75. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  76. package/dist/cdn/cart/snice-cart.js +1 -1
  77. package/dist/cdn/cart/snice-cart.min.js +1 -1
  78. package/dist/cdn/chart/snice-chart.js +1 -1
  79. package/dist/cdn/chart/snice-chart.min.js +1 -1
  80. package/dist/cdn/chat/snice-chat.js +1 -1
  81. package/dist/cdn/chat/snice-chat.min.js +1 -1
  82. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  83. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  84. package/dist/cdn/chip/snice-chip.js +1 -1
  85. package/dist/cdn/chip/snice-chip.min.js +1 -1
  86. package/dist/cdn/code-block/snice-code-block.js +1 -1
  87. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  88. package/dist/cdn/color-display/snice-color-display.js +1 -1
  89. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  90. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  91. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  92. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  93. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  94. package/dist/cdn/comments/snice-comments.js +1 -1
  95. package/dist/cdn/comments/snice-comments.min.js +1 -1
  96. package/dist/cdn/countdown/snice-countdown.js +1 -1
  97. package/dist/cdn/countdown/snice-countdown.min.js +1 -1
  98. package/dist/cdn/cropper/snice-cropper.js +1 -1
  99. package/dist/cdn/cropper/snice-cropper.min.js +1 -1
  100. package/dist/cdn/data-card/snice-data-card.js +1 -1
  101. package/dist/cdn/data-card/snice-data-card.min.js +1 -1
  102. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  103. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  104. package/dist/cdn/date-range-picker/snice-date-range-picker.js +1 -1
  105. package/dist/cdn/date-range-picker/snice-date-range-picker.min.js +1 -1
  106. package/dist/cdn/date-time-picker/snice-date-time-picker.js +1 -1
  107. package/dist/cdn/date-time-picker/snice-date-time-picker.min.js +1 -1
  108. package/dist/cdn/diff/snice-diff.js +1 -1
  109. package/dist/cdn/diff/snice-diff.min.js +1 -1
  110. package/dist/cdn/divider/snice-divider.js +1 -1
  111. package/dist/cdn/divider/snice-divider.min.js +1 -1
  112. package/dist/cdn/doc/snice-doc.js +1 -1
  113. package/dist/cdn/doc/snice-doc.min.js +1 -1
  114. package/dist/cdn/draw/snice-draw.js +1 -1
  115. package/dist/cdn/draw/snice-draw.min.js +1 -1
  116. package/dist/cdn/drawer/snice-drawer.js +1 -1
  117. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  118. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  119. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  120. package/dist/cdn/estimate/snice-estimate.js +1 -1
  121. package/dist/cdn/estimate/snice-estimate.min.js +1 -1
  122. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  123. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  124. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  125. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  126. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  127. package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
  128. package/dist/cdn/flow/snice-flow.js +1 -1
  129. package/dist/cdn/flow/snice-flow.min.js +1 -1
  130. package/dist/cdn/form-layout/snice-form-layout.js +1 -1
  131. package/dist/cdn/form-layout/snice-form-layout.min.js +1 -1
  132. package/dist/cdn/funnel/snice-funnel.js +1 -1
  133. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  134. package/dist/cdn/gantt/snice-gantt.js +1 -1
  135. package/dist/cdn/gantt/snice-gantt.min.js +1 -1
  136. package/dist/cdn/gauge/snice-gauge.js +1 -1
  137. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  138. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  139. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  140. package/dist/cdn/image/snice-image.js +1 -1
  141. package/dist/cdn/image/snice-image.min.js +1 -1
  142. package/dist/cdn/input/snice-input.js +1 -1
  143. package/dist/cdn/input/snice-input.min.js +1 -1
  144. package/dist/cdn/invoice/snice-invoice.js +1 -1
  145. package/dist/cdn/invoice/snice-invoice.min.js +1 -1
  146. package/dist/cdn/kanban/snice-kanban.js +1 -1
  147. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  148. package/dist/cdn/key-value/snice-key-value.js +1 -1
  149. package/dist/cdn/key-value/snice-key-value.min.js +1 -1
  150. package/dist/cdn/kpi/snice-kpi.js +1 -1
  151. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  152. package/dist/cdn/layout/snice-layout.js +1 -1
  153. package/dist/cdn/layout/snice-layout.min.js +1 -1
  154. package/dist/cdn/leaderboard/snice-leaderboard.js +1 -1
  155. package/dist/cdn/leaderboard/snice-leaderboard.min.js +1 -1
  156. package/dist/cdn/link/snice-link.js +1 -1
  157. package/dist/cdn/link/snice-link.min.js +1 -1
  158. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  159. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  160. package/dist/cdn/list/snice-list.js +1 -1
  161. package/dist/cdn/list/snice-list.min.js +1 -1
  162. package/dist/cdn/location/snice-location.js +1 -1
  163. package/dist/cdn/location/snice-location.min.js +1 -1
  164. package/dist/cdn/login/README.md +2 -2
  165. package/dist/cdn/login/snice-login.js +11 -10
  166. package/dist/cdn/login/snice-login.js.map +1 -1
  167. package/dist/cdn/login/snice-login.min.js +5 -5
  168. package/dist/cdn/login/snice-login.min.js.map +1 -1
  169. package/dist/cdn/map/snice-map.js +1 -1
  170. package/dist/cdn/map/snice-map.min.js +1 -1
  171. package/dist/cdn/markdown/snice-markdown.js +1 -1
  172. package/dist/cdn/markdown/snice-markdown.min.js +1 -1
  173. package/dist/cdn/masonry/snice-masonry.js +1 -1
  174. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  175. package/dist/cdn/menu/snice-menu.js +1 -1
  176. package/dist/cdn/menu/snice-menu.min.js +1 -1
  177. package/dist/cdn/message-strip/snice-message-strip.js +1 -1
  178. package/dist/cdn/message-strip/snice-message-strip.min.js +1 -1
  179. package/dist/cdn/metric-table/snice-metric-table.js +1 -1
  180. package/dist/cdn/metric-table/snice-metric-table.min.js +1 -1
  181. package/dist/cdn/modal/snice-modal.js +1 -1
  182. package/dist/cdn/modal/snice-modal.min.js +1 -1
  183. package/dist/cdn/music-player/snice-music-player.js +1 -1
  184. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  185. package/dist/cdn/nav/snice-nav.js +1 -1
  186. package/dist/cdn/nav/snice-nav.min.js +1 -1
  187. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  188. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  189. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  190. package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
  191. package/dist/cdn/order-tracker/snice-order-tracker.js +1 -1
  192. package/dist/cdn/order-tracker/snice-order-tracker.min.js +1 -1
  193. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  194. package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
  195. package/dist/cdn/pagination/snice-pagination.js +1 -1
  196. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  197. package/dist/cdn/paint/snice-paint.js +1 -1
  198. package/dist/cdn/paint/snice-paint.min.js +1 -1
  199. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  200. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
  201. package/dist/cdn/permission-matrix/snice-permission-matrix.js +1 -1
  202. package/dist/cdn/permission-matrix/snice-permission-matrix.min.js +1 -1
  203. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  204. package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
  205. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  206. package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
  207. package/dist/cdn/product-card/snice-product-card.js +1 -1
  208. package/dist/cdn/product-card/snice-product-card.min.js +1 -1
  209. package/dist/cdn/progress/snice-progress.js +1 -1
  210. package/dist/cdn/progress/snice-progress.min.js +1 -1
  211. package/dist/cdn/progress-ring/snice-progress-ring.js +1 -1
  212. package/dist/cdn/progress-ring/snice-progress-ring.min.js +1 -1
  213. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  214. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  215. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  216. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  217. package/dist/cdn/radio/snice-radio.js +1 -1
  218. package/dist/cdn/radio/snice-radio.min.js +1 -1
  219. package/dist/cdn/range-slider/snice-range-slider.js +1 -1
  220. package/dist/cdn/range-slider/snice-range-slider.min.js +1 -1
  221. package/dist/cdn/rating/snice-rating.js +1 -1
  222. package/dist/cdn/rating/snice-rating.min.js +1 -1
  223. package/dist/cdn/receipt/snice-receipt.js +1 -1
  224. package/dist/cdn/receipt/snice-receipt.min.js +1 -1
  225. package/dist/cdn/recipe/snice-recipe.js +1 -1
  226. package/dist/cdn/recipe/snice-recipe.min.js +1 -1
  227. package/dist/cdn/runtime/README.md +2 -2
  228. package/dist/cdn/runtime/snice-runtime.esm.js +152 -62
  229. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  230. package/dist/cdn/runtime/snice-runtime.esm.min.js +8 -8
  231. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  232. package/dist/cdn/runtime/snice-runtime.js +152 -61
  233. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  234. package/dist/cdn/runtime/snice-runtime.min.js +8 -8
  235. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  236. package/dist/cdn/sankey/snice-sankey.js +1 -1
  237. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  238. package/dist/cdn/segmented-control/snice-segmented-control.js +1 -1
  239. package/dist/cdn/segmented-control/snice-segmented-control.min.js +1 -1
  240. package/dist/cdn/select/snice-select.js +1 -1
  241. package/dist/cdn/select/snice-select.min.js +1 -1
  242. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  243. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  244. package/dist/cdn/slider/snice-slider.js +1 -1
  245. package/dist/cdn/slider/snice-slider.min.js +1 -1
  246. package/dist/cdn/sortable/snice-sortable.js +1 -1
  247. package/dist/cdn/sortable/snice-sortable.min.js +1 -1
  248. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  249. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  250. package/dist/cdn/spinner/snice-spinner.js +1 -1
  251. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  252. package/dist/cdn/split-button/snice-split-button.js +1 -1
  253. package/dist/cdn/split-button/snice-split-button.min.js +1 -1
  254. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  255. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  256. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  257. package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
  258. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
  259. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
  260. package/dist/cdn/stat-group/snice-stat-group.js +1 -1
  261. package/dist/cdn/stat-group/snice-stat-group.min.js +1 -1
  262. package/dist/cdn/step-input/snice-step-input.js +1 -1
  263. package/dist/cdn/step-input/snice-step-input.min.js +1 -1
  264. package/dist/cdn/stepper/snice-stepper.js +1 -1
  265. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  266. package/dist/cdn/switch/snice-switch.js +1 -1
  267. package/dist/cdn/switch/snice-switch.min.js +1 -1
  268. package/dist/cdn/table/README.md +1 -1
  269. package/dist/cdn/table/snice-table.js +11 -10
  270. package/dist/cdn/table/snice-table.js.map +1 -1
  271. package/dist/cdn/table/snice-table.min.js +73 -73
  272. package/dist/cdn/table/snice-table.min.js.map +1 -1
  273. package/dist/cdn/tabs/snice-tabs.js +1 -1
  274. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  275. package/dist/cdn/tag/snice-tag.js +1 -1
  276. package/dist/cdn/tag/snice-tag.min.js +1 -1
  277. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  278. package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
  279. package/dist/cdn/terminal/snice-terminal.js +1 -1
  280. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  281. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  282. package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
  283. package/dist/cdn/textarea/snice-textarea.js +1 -1
  284. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  285. package/dist/cdn/time-picker/snice-time-picker.js +1 -1
  286. package/dist/cdn/time-picker/snice-time-picker.min.js +1 -1
  287. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  288. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  289. package/dist/cdn/timeline/snice-timeline.js +1 -1
  290. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  291. package/dist/cdn/timer/snice-timer.js +1 -1
  292. package/dist/cdn/timer/snice-timer.min.js +1 -1
  293. package/dist/cdn/toast/snice-toast.js +1 -1
  294. package/dist/cdn/toast/snice-toast.min.js +1 -1
  295. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  296. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  297. package/dist/cdn/tree/snice-tree.js +1 -1
  298. package/dist/cdn/tree/snice-tree.min.js +1 -1
  299. package/dist/cdn/treemap/snice-treemap.js +1 -1
  300. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  301. package/dist/cdn/user-card/snice-user-card.js +1 -1
  302. package/dist/cdn/user-card/snice-user-card.min.js +1 -1
  303. package/dist/cdn/video-player/snice-video-player.js +1 -1
  304. package/dist/cdn/video-player/snice-video-player.min.js +1 -1
  305. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  306. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  307. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  308. package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
  309. package/dist/cdn/weather/snice-weather.js +1 -1
  310. package/dist/cdn/weather/snice-weather.min.js +1 -1
  311. package/dist/cdn/work-order/snice-work-order.js +1 -1
  312. package/dist/cdn/work-order/snice-work-order.min.js +1 -1
  313. package/dist/components/action-bar/snice-action-bar.d.ts +22 -0
  314. package/dist/components/action-bar/snice-action-bar.js +182 -0
  315. package/dist/components/action-bar/snice-action-bar.js.map +1 -0
  316. package/dist/components/action-bar/snice-action-bar.types.d.ts +17 -0
  317. package/dist/components/badge/snice-badge.js +1 -1
  318. package/dist/components/badge/snice-badge.js.map +1 -1
  319. package/dist/components/binpack/snice-binpack.d.ts +82 -0
  320. package/dist/components/binpack/snice-binpack.js +970 -0
  321. package/dist/components/binpack/snice-binpack.js.map +1 -0
  322. package/dist/components/binpack/snice-binpack.types.d.ts +52 -0
  323. package/dist/components/button/snice-button.d.ts +2 -2
  324. package/dist/components/button/snice-button.js +11 -10
  325. package/dist/components/button/snice-button.js.map +1 -1
  326. package/dist/create-request-handler.d.ts +42 -0
  327. package/dist/index.cjs +149 -58
  328. package/dist/index.cjs.map +1 -1
  329. package/dist/index.d.ts +2 -0
  330. package/dist/index.esm.js +149 -59
  331. package/dist/index.esm.js.map +1 -1
  332. package/dist/index.iife.js +149 -58
  333. package/dist/index.iife.js.map +1 -1
  334. package/dist/parts.d.ts +9 -7
  335. package/dist/react/useRequestHandler.d.ts +56 -0
  336. package/dist/react/useRequestHandler.js +103 -0
  337. package/dist/react/useRequestHandler.js.map +1 -0
  338. package/dist/symbols.cjs +1 -1
  339. package/dist/symbols.esm.js +1 -1
  340. package/dist/transitions.cjs +1 -1
  341. package/dist/transitions.esm.js +1 -1
  342. package/docs/ai/DEVELOPMENT.md +1 -1
  343. package/docs/ai/components/accordion.md +46 -80
  344. package/docs/ai/components/action-bar.md +75 -0
  345. package/docs/ai/components/activity-feed.md +7 -7
  346. package/docs/ai/components/alert.md +26 -44
  347. package/docs/ai/components/app-tiles.md +34 -39
  348. package/docs/ai/components/approval-flow.md +1 -1
  349. package/docs/ai/components/audio-recorder.md +35 -67
  350. package/docs/ai/components/availability.md +13 -34
  351. package/docs/ai/components/avatar-group.md +26 -13
  352. package/docs/ai/components/avatar.md +52 -36
  353. package/docs/ai/components/badge.md +21 -32
  354. package/docs/ai/components/banner.md +21 -43
  355. package/docs/ai/components/binpack.md +89 -0
  356. package/docs/ai/components/book.md +25 -23
  357. package/docs/ai/components/booking.md +31 -36
  358. package/docs/ai/components/breadcrumbs.md +36 -11
  359. package/docs/ai/components/button.md +33 -44
  360. package/docs/ai/components/calendar.md +37 -70
  361. package/docs/ai/components/camera-annotate.md +31 -64
  362. package/docs/ai/components/camera.md +38 -120
  363. package/docs/ai/components/candlestick.md +32 -52
  364. package/docs/ai/components/card.md +20 -30
  365. package/docs/ai/components/carousel.md +32 -32
  366. package/docs/ai/components/cart.md +24 -29
  367. package/docs/ai/components/chart.md +29 -114
  368. package/docs/ai/components/chat.md +38 -75
  369. package/docs/ai/components/checkbox.md +22 -41
  370. package/docs/ai/components/chip.md +18 -54
  371. package/docs/ai/components/code-block.md +57 -178
  372. package/docs/ai/components/color-display.md +12 -32
  373. package/docs/ai/components/color-picker.md +17 -39
  374. package/docs/ai/components/command-palette.md +49 -71
  375. package/docs/ai/components/comments.md +55 -36
  376. package/docs/ai/components/countdown.md +28 -30
  377. package/docs/ai/components/cropper.md +33 -33
  378. package/docs/ai/components/data-card.md +20 -14
  379. package/docs/ai/components/date-picker.md +40 -47
  380. package/docs/ai/components/date-range-picker.md +31 -15
  381. package/docs/ai/components/date-time-picker.md +23 -46
  382. package/docs/ai/components/diff.md +30 -31
  383. package/docs/ai/components/divider.md +17 -47
  384. package/docs/ai/components/doc.md +43 -68
  385. package/docs/ai/components/draw.md +35 -87
  386. package/docs/ai/components/drawer.md +48 -77
  387. package/docs/ai/components/empty-state.md +10 -44
  388. package/docs/ai/components/estimate.md +33 -58
  389. package/docs/ai/components/file-gallery.md +48 -100
  390. package/docs/ai/components/file-upload.md +17 -53
  391. package/docs/ai/components/flip-card.md +31 -23
  392. package/docs/ai/components/flow.md +37 -65
  393. package/docs/ai/components/form-builder.md +35 -75
  394. package/docs/ai/components/form-layout.md +10 -20
  395. package/docs/ai/components/funnel.md +33 -48
  396. package/docs/ai/components/gantt.md +27 -23
  397. package/docs/ai/components/gauge.md +16 -17
  398. package/docs/ai/components/heatmap.md +21 -21
  399. package/docs/ai/components/image.md +7 -13
  400. package/docs/ai/components/input.md +38 -70
  401. package/docs/ai/components/invoice.md +35 -36
  402. package/docs/ai/components/kanban.md +32 -61
  403. package/docs/ai/components/key-value.md +32 -16
  404. package/docs/ai/components/kpi.md +38 -73
  405. package/docs/ai/components/layout.md +29 -23
  406. package/docs/ai/components/leaderboard.md +28 -37
  407. package/docs/ai/components/link-preview.md +12 -18
  408. package/docs/ai/components/link.md +10 -7
  409. package/docs/ai/components/list.md +21 -5
  410. package/docs/ai/components/location.md +21 -25
  411. package/docs/ai/components/login.md +14 -9
  412. package/docs/ai/components/map.md +27 -33
  413. package/docs/ai/components/markdown.md +20 -24
  414. package/docs/ai/components/masonry.md +10 -14
  415. package/docs/ai/components/mentions.md +26 -12
  416. package/docs/ai/components/menu.md +54 -52
  417. package/docs/ai/components/message-strip.md +20 -20
  418. package/docs/ai/components/metric-table.md +14 -21
  419. package/docs/ai/components/modal.md +27 -18
  420. package/docs/ai/components/music-player.md +49 -41
  421. package/docs/ai/components/nav.md +34 -31
  422. package/docs/ai/components/network-graph.md +27 -42
  423. package/docs/ai/components/notification-center.md +31 -33
  424. package/docs/ai/components/order-tracker.md +36 -27
  425. package/docs/ai/components/org-chart.md +36 -31
  426. package/docs/ai/components/pagination.md +34 -26
  427. package/docs/ai/components/paint.md +53 -91
  428. package/docs/ai/components/pdf-viewer.md +35 -36
  429. package/docs/ai/components/permission-matrix.md +26 -31
  430. package/docs/ai/components/podcast-player.md +64 -70
  431. package/docs/ai/components/pricing-table.md +37 -48
  432. package/docs/ai/components/product-card.md +58 -41
  433. package/docs/ai/components/progress-ring.md +20 -24
  434. package/docs/ai/components/progress.md +28 -45
  435. package/docs/ai/components/qr-code.md +25 -27
  436. package/docs/ai/components/qr-reader.md +20 -23
  437. package/docs/ai/components/radio.md +17 -15
  438. package/docs/ai/components/range-slider.md +22 -11
  439. package/docs/ai/components/rating.md +29 -33
  440. package/docs/ai/components/receipt.md +50 -127
  441. package/docs/ai/components/recipe.md +44 -42
  442. package/docs/ai/components/sankey.md +21 -30
  443. package/docs/ai/components/scheduler.md +29 -41
  444. package/docs/ai/components/segmented-control.md +11 -15
  445. package/docs/ai/components/select.md +58 -102
  446. package/docs/ai/components/skeleton.md +16 -30
  447. package/docs/ai/components/slider.md +26 -20
  448. package/docs/ai/components/sortable.md +25 -27
  449. package/docs/ai/components/sparkline.md +21 -17
  450. package/docs/ai/components/spinner.md +9 -5
  451. package/docs/ai/components/split-button.md +10 -13
  452. package/docs/ai/components/split-pane.md +19 -14
  453. package/docs/ai/components/spotlight.md +31 -26
  454. package/docs/ai/components/spreadsheet.md +51 -97
  455. package/docs/ai/components/stat-group.md +9 -19
  456. package/docs/ai/components/step-input.md +17 -15
  457. package/docs/ai/components/stepper.md +14 -15
  458. package/docs/ai/components/switch.md +15 -9
  459. package/docs/ai/components/table.md +24 -84
  460. package/docs/ai/components/tabs.md +18 -10
  461. package/docs/ai/components/tag-input.md +18 -29
  462. package/docs/ai/components/tag.md +10 -22
  463. package/docs/ai/components/terminal.md +9 -9
  464. package/docs/ai/components/testimonial.md +9 -19
  465. package/docs/ai/components/textarea.md +15 -16
  466. package/docs/ai/components/theme.md +3 -3
  467. package/docs/ai/components/time-picker.md +30 -49
  468. package/docs/ai/components/time-range-picker.md +16 -15
  469. package/docs/ai/components/timeline.md +5 -4
  470. package/docs/ai/components/timer.md +8 -8
  471. package/docs/ai/components/toast.md +24 -18
  472. package/docs/ai/components/tooltip.md +11 -22
  473. package/docs/ai/components/tree.md +9 -9
  474. package/docs/ai/components/treemap.md +14 -13
  475. package/docs/ai/components/user-card.md +21 -27
  476. package/docs/ai/components/video-player.md +35 -52
  477. package/docs/ai/components/virtual-scroller.md +1 -1
  478. package/docs/ai/components/waterfall.md +17 -16
  479. package/docs/ai/components/weather.md +19 -34
  480. package/docs/ai/components/work-order.md +58 -134
  481. package/docs/ai/patterns.md +63 -0
  482. package/docs/components/accordion.md +72 -151
  483. package/docs/components/action-bar.md +185 -0
  484. package/docs/components/activity-feed.md +9 -14
  485. package/docs/components/alert.md +17 -109
  486. package/docs/components/app-tiles.md +58 -43
  487. package/docs/components/approval-flow.md +8 -14
  488. package/docs/components/audio-recorder.md +45 -51
  489. package/docs/components/availability.md +30 -45
  490. package/docs/components/avatar-group.md +34 -14
  491. package/docs/components/avatar.md +20 -55
  492. package/docs/components/badge.md +53 -470
  493. package/docs/components/banner.md +44 -30
  494. package/docs/components/binpack.md +208 -0
  495. package/docs/components/book.md +78 -57
  496. package/docs/components/booking.md +35 -87
  497. package/docs/components/breadcrumbs.md +74 -448
  498. package/docs/components/button.md +72 -603
  499. package/docs/components/calendar.md +77 -261
  500. package/docs/components/camera-annotate.md +44 -96
  501. package/docs/components/camera.md +94 -333
  502. package/docs/components/candlestick.md +79 -116
  503. package/docs/components/card.md +51 -689
  504. package/docs/components/carousel.md +29 -76
  505. package/docs/components/cart.md +44 -136
  506. package/docs/components/chart.md +95 -438
  507. package/docs/components/chat.md +175 -439
  508. package/docs/components/checkbox.md +52 -609
  509. package/docs/components/chip.md +45 -574
  510. package/docs/components/code-block.md +157 -421
  511. package/docs/components/color-display.md +45 -54
  512. package/docs/components/color-picker.md +103 -36
  513. package/docs/components/command-palette.md +98 -92
  514. package/docs/components/comments.md +16 -10
  515. package/docs/components/countdown.md +15 -20
  516. package/docs/components/cropper.md +14 -16
  517. package/docs/components/data-card.md +16 -15
  518. package/docs/components/date-picker.md +45 -25
  519. package/docs/components/date-range-picker.md +140 -87
  520. package/docs/components/date-time-picker.md +25 -28
  521. package/docs/components/diff.md +22 -17
  522. package/docs/components/divider.md +18 -20
  523. package/docs/components/doc.md +105 -197
  524. package/docs/components/draw.md +117 -223
  525. package/docs/components/drawer.md +113 -478
  526. package/docs/components/empty-state.md +13 -29
  527. package/docs/components/estimate.md +58 -118
  528. package/docs/components/file-gallery.md +123 -495
  529. package/docs/components/file-upload.md +36 -123
  530. package/docs/components/flip-card.md +30 -34
  531. package/docs/components/flow.md +74 -89
  532. package/docs/components/form-builder.md +59 -86
  533. package/docs/components/form-layout.md +21 -31
  534. package/docs/components/funnel.md +21 -22
  535. package/docs/components/gantt.md +5 -5
  536. package/docs/components/gauge.md +5 -23
  537. package/docs/components/heatmap.md +13 -55
  538. package/docs/components/image.md +28 -32
  539. package/docs/components/input.md +25 -14
  540. package/docs/components/invoice.md +34 -33
  541. package/docs/components/kanban.md +99 -394
  542. package/docs/components/key-value.md +22 -12
  543. package/docs/components/kpi.md +41 -112
  544. package/docs/components/layout.md +7 -13
  545. package/docs/components/leaderboard.md +52 -76
  546. package/docs/components/link-preview.md +20 -16
  547. package/docs/components/link.md +22 -19
  548. package/docs/components/list.md +44 -26
  549. package/docs/components/location.md +9 -13
  550. package/docs/components/login.md +42 -36
  551. package/docs/components/map.md +24 -46
  552. package/docs/components/markdown.md +14 -25
  553. package/docs/components/masonry.md +15 -13
  554. package/docs/components/mentions.md +36 -25
  555. package/docs/components/menu.md +39 -46
  556. package/docs/components/message-strip.md +15 -51
  557. package/docs/components/metric-table.md +50 -72
  558. package/docs/components/modal.md +32 -43
  559. package/docs/components/music-player.md +41 -49
  560. package/docs/components/nav.md +23 -13
  561. package/docs/components/network-graph.md +14 -13
  562. package/docs/components/notification-center.md +68 -172
  563. package/docs/components/order-tracker.md +72 -117
  564. package/docs/components/org-chart.md +58 -207
  565. package/docs/components/pagination.md +67 -89
  566. package/docs/components/paint.md +86 -172
  567. package/docs/components/pdf-viewer.md +46 -151
  568. package/docs/components/permission-matrix.md +61 -112
  569. package/docs/components/podcast-player.md +41 -119
  570. package/docs/components/pricing-table.md +104 -147
  571. package/docs/components/product-card.md +94 -197
  572. package/docs/components/progress-ring.md +29 -32
  573. package/docs/components/progress.md +30 -61
  574. package/docs/components/qr-code.md +53 -61
  575. package/docs/components/qr-reader.md +53 -42
  576. package/docs/components/radio.md +42 -40
  577. package/docs/components/range-slider.md +41 -30
  578. package/docs/components/rating.md +50 -84
  579. package/docs/components/receipt.md +91 -129
  580. package/docs/components/recipe.md +107 -216
  581. package/docs/components/sankey.md +47 -83
  582. package/docs/components/scheduler.md +81 -184
  583. package/docs/components/segmented-control.md +48 -40
  584. package/docs/components/select.md +107 -129
  585. package/docs/components/skeleton.md +33 -47
  586. package/docs/components/slider.md +49 -53
  587. package/docs/components/sortable.md +43 -186
  588. package/docs/components/sparkline.md +26 -25
  589. package/docs/components/spinner.md +32 -37
  590. package/docs/components/split-button.md +43 -23
  591. package/docs/components/split-pane.md +41 -58
  592. package/docs/components/spotlight.md +53 -145
  593. package/docs/components/spreadsheet.md +84 -307
  594. package/docs/components/stat-group.md +27 -61
  595. package/docs/components/step-input.md +44 -41
  596. package/docs/components/stepper.md +55 -89
  597. package/docs/components/switch.md +39 -39
  598. package/docs/components/table.md +27 -32
  599. package/docs/components/tabs.md +36 -27
  600. package/docs/components/tag-input.md +50 -176
  601. package/docs/components/tag.md +12 -50
  602. package/docs/components/terminal.md +32 -37
  603. package/docs/components/testimonial.md +24 -81
  604. package/docs/components/textarea.md +9 -14
  605. package/docs/components/theme.md +10 -23
  606. package/docs/components/time-picker.md +48 -72
  607. package/docs/components/time-range-picker.md +22 -41
  608. package/docs/components/timeline.md +7 -14
  609. package/docs/components/timer.md +16 -32
  610. package/docs/components/toast.md +19 -45
  611. package/docs/components/tooltip.md +13 -115
  612. package/docs/components/tree.md +2 -19
  613. package/docs/components/treemap.md +19 -43
  614. package/docs/components/user-card.md +13 -22
  615. package/docs/components/video-player.md +53 -227
  616. package/docs/components/virtual-scroller.md +11 -44
  617. package/docs/components/waterfall.md +58 -137
  618. package/docs/components/weather.md +94 -153
  619. package/docs/components/work-order.md +56 -143
  620. package/docs/plans/2026-03-09-action-bar-design.md +104 -0
  621. package/docs/plans/2026-03-09-action-bar-plan.md +676 -0
  622. package/docs/plans/2026-03-10-react-integration-design.md +166 -0
  623. package/docs/request-response.md +77 -0
  624. package/package.json +20 -10
@@ -1,55 +1,40 @@
1
1
  # snice-rating
2
2
 
3
- Star rating input with full/half precision, custom icons, and keyboard navigation.
3
+ Interactive star rating input with full/half precision, custom icons, and keyboard navigation.
4
4
 
5
5
  ## Properties
6
6
 
7
- ```ts
8
- value: number // Current rating value (default: 0)
9
- max: number // Maximum stars (default: 5)
10
- icon: string // Star character (default: '\u2605')
11
- size: 'small' | 'medium' | 'large' // Display size (default: 'medium')
12
- readonly: boolean // Disable interaction (default: false)
13
- precision: 'full' | 'half' // Click precision (default: 'full')
7
+ ```typescript
8
+ value: number = 0;
9
+ max: number = 5;
10
+ icon: string = '';
11
+ size: 'small'|'medium'|'large' = 'medium';
12
+ readonly: boolean = false;
13
+ precision: 'full'|'half' = 'full';
14
14
  ```
15
15
 
16
16
  ## Events
17
17
 
18
- - `rating-change` → `{ value: number }` - Rating value changed
19
-
20
- ## Keyboard
21
-
22
- - `ArrowRight` / `ArrowUp` - Increase value
23
- - `ArrowLeft` / `ArrowDown` - Decrease value
24
- - Step size: 1 (full) or 0.5 (half precision)
18
+ - `rating-change` → `{ value: number }`
25
19
 
26
20
  ## CSS Custom Properties
27
21
 
28
- ```css
29
- --rating-color /* Filled star color (default: --snice-color-warning) */
30
- --rating-color-empty /* Empty star color (default: --snice-color-border) */
31
- --rating-size /* Star size: small=1rem, medium=1.5rem, large=2rem */
32
- --snice-font-family
33
- --snice-transition-fast
34
- --snice-focus-ring-width
35
- --snice-focus-ring-color
36
- --snice-focus-ring-offset
37
- ```
22
+ - `--rating-color` - Filled star color (`var(--snice-color-warning)`)
23
+ - `--rating-color-empty` - Empty star color (`var(--snice-color-border)`)
24
+ - `--rating-size` - Star size (auto-set by `size`: small=1rem, medium=1.5rem, large=2rem)
25
+
26
+ ## CSS Parts
38
27
 
39
- **CSS Parts:**
40
28
  - `base` - Outer rating container
41
29
  - `star` - Individual star/icon element
42
30
 
43
- ## Accessibility
44
-
45
- Uses `role="radiogroup"` with individual `role="radio"` stars. Keyboard accessible when not readonly.
46
-
47
- ## Usage
31
+ ## Basic Usage
48
32
 
49
33
  ```html
50
- <snice-rating value="3.5" max="5" precision="half" size="large"></snice-rating>
34
+ <snice-rating value="3.5" precision="half" max="5"></snice-rating>
51
35
  <snice-rating value="4" readonly></snice-rating>
52
- <snice-rating icon="&#x2764;" max="10"></snice-rating>
36
+ <snice-rating icon="" value="3" max="5"></snice-rating>
37
+ <snice-rating value="4" size="large"></snice-rating>
53
38
  ```
54
39
 
55
40
  ```typescript
@@ -57,3 +42,14 @@ rating.addEventListener('rating-change', (e) => {
57
42
  console.log('New rating:', e.detail.value);
58
43
  });
59
44
  ```
45
+
46
+ ## Keyboard Navigation
47
+
48
+ - ArrowRight/Up: increase by step (1 or 0.5)
49
+ - ArrowLeft/Down: decrease by step
50
+
51
+ ## Accessibility
52
+
53
+ - `role="radiogroup"` with `role="radio"` per star
54
+ - Not focusable when readonly
55
+ - Focus ring on keyboard navigation
@@ -5,36 +5,33 @@ Transaction receipt display with items, totals, payment info, and multiple visua
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- receiptNumber: string = '' // attribute: receipt-number
9
- date: string = '' // Transaction date
10
- currency: string = 'USD' // ISO 4217 currency code
11
- locale: string = '' // Intl.NumberFormat locale
12
- merchant: ReceiptMerchant = { name: '' } // Merchant info (JS only)
13
- items: ReceiptItem[] = [] // Line items (JS only)
14
- tax: number = 0 // Single tax amount (absolute)
15
- taxes: ReceiptTaxLine[] = [] // Multiple tax lines (JS only)
16
- subtotal: number = 0 // Auto-computed from items if 0
17
- total: number = 0 // Auto-computed as subtotal + tax - discount + tip if 0
18
- tip: number = 0 // Tip/gratuity amount
19
- discount: number = 0 // Discount amount
20
- discountLabel: string = 'Discount' // attribute: discount-label
21
- paymentMethod: string = '' // attribute: payment-method
22
- paymentDetails: string = '' // attribute: payment-details
23
- variant: ReceiptVariant = 'standard' // 'standard'|'thermal'|'modern'|'minimal'|'detailed'
24
- showQr: boolean = false // attribute: show-qr — show QR slot
25
- qrData: string = '' // attribute: qr-data
26
- qrPosition: QrPosition = 'bottom' // attribute: qr-position — 'top'|'bottom'|'footer'
27
- thankYou: string = 'Thank you...' // attribute: thank-you
28
- cashier: string = '' // Cashier name
29
- terminalId: string = '' // attribute: terminal-id
8
+ receiptNumber: string = ''; // attr: receipt-number
9
+ date: string = '';
10
+ currency: string = 'USD';
11
+ locale: string = ''; // Intl.NumberFormat locale
12
+ merchant: ReceiptMerchant = { name: '' }; // JS only
13
+ items: ReceiptItem[] = []; // JS only
14
+ tax: number = 0;
15
+ taxes: ReceiptTaxLine[] = []; // JS only, overrides tax
16
+ subtotal: number = 0; // auto-computed from items if 0
17
+ total: number = 0; // auto-computed if 0
18
+ tip: number = 0;
19
+ discount: number = 0;
20
+ discountLabel: string = 'Discount'; // attr: discount-label
21
+ paymentMethod: string = ''; // attr: payment-method
22
+ paymentDetails: string = ''; // attr: payment-details
23
+ variant: 'standard'|'thermal'|'modern'|'minimal'|'detailed' = 'standard';
24
+ showQr: boolean = false; // attr: show-qr
25
+ qrData: string = ''; // attr: qr-data
26
+ qrPosition: 'top'|'bottom'|'footer' = 'bottom'; // attr: qr-position
27
+ thankYou: string = 'Thank you for your purchase!'; // attr: thank-you
28
+ cashier: string = '';
29
+ terminalId: string = ''; // attr: terminal-id
30
30
  ```
31
31
 
32
32
  ## Types
33
33
 
34
34
  ```typescript
35
- type ReceiptVariant = 'standard' | 'thermal' | 'modern' | 'minimal' | 'detailed';
36
- type QrPosition = 'top' | 'bottom' | 'footer';
37
-
38
35
  interface ReceiptMerchant {
39
36
  name: string; address?: string; logo?: string;
40
37
  phone?: string; email?: string; website?: string; taxId?: string;
@@ -43,101 +40,31 @@ interface ReceiptItem {
43
40
  name: string; quantity: number; price: number;
44
41
  sku?: string; discount?: number; note?: string;
45
42
  }
46
- interface ReceiptTaxLine {
47
- label: string; rate?: number; amount: number;
48
- }
43
+ interface ReceiptTaxLine { label: string; rate?: number; amount: number; }
49
44
  ```
50
45
 
46
+ ## Methods
47
+
48
+ - `print()` - Opens print dialog
49
+
51
50
  ## Slots
52
51
 
53
52
  - `(default)` - Footer content below thank-you message
54
53
  - `qr` - QR code content (shown when `show-qr` is set)
55
54
  - `barcode` - Barcode content
56
55
 
57
- ## Methods
58
-
59
- - `print()` - Opens print dialog
60
-
61
56
  ## CSS Parts
62
57
 
63
- ```
64
- ::part(base) /* Main container */
65
- ::part(header) /* Merchant section */
66
- ::part(logo) /* Merchant logo */
67
- ::part(merchant-name) /* Merchant name */
68
- ::part(merchant-address) /* Merchant address */
69
- ::part(merchant-contact) /* Phone/email/website line */
70
- ::part(meta) /* Receipt # / date / cashier / terminal */
71
- ::part(receipt-number) /* Receipt number value */
72
- ::part(date) /* Date value */
73
- ::part(items-header) /* Column header row */
74
- ::part(items) /* Items list */
75
- ::part(item) /* Individual item row */
76
- ::part(item-name) /* Item name */
77
- ::part(item-qty) /* Item quantity */
78
- ::part(item-price) /* Item price */
79
- ::part(item-sku) /* Item SKU (detailed variant) */
80
- ::part(totals) /* Totals section */
81
- ::part(subtotal-row) /* Subtotal line */
82
- ::part(tax-row) /* Tax line(s) */
83
- ::part(discount-row) /* Discount line */
84
- ::part(tip-row) /* Tip line */
85
- ::part(total-row) /* Grand total line */
86
- ::part(payment) /* Payment section */
87
- ::part(payment-method) /* Payment method text */
88
- ::part(payment-details) /* Auth code / change etc */
89
- ::part(footer) /* Footer section */
90
- ::part(thank-you) /* Thank-you message */
91
- ::part(qr-container) /* QR code wrapper */
92
- ::part(barcode-area) /* Barcode wrapper */
93
- ::part(divider) /* Section dividers */
94
- ```
58
+ - `base` - Root container
59
+ - `divider` - Section dividers
60
+ - `header`, `logo`, `merchant-name`, `merchant-address`, `merchant-contact` - Merchant section
61
+ - `meta`, `receipt-number`, `date` - Metadata section
62
+ - `items-header`, `items`, `item`, `item-name`, `item-sku`, `item-qty`, `item-price` - Items section
63
+ - `totals`, `subtotal-row`, `discount-row`, `tax-row`, `tip-row`, `total-row` - Totals section
64
+ - `payment`, `payment-method`, `payment-details` - Payment section
65
+ - `qr-container`, `barcode-area`, `footer`, `thank-you` - Footer section
95
66
 
96
- ## CSS Custom Properties
97
-
98
- ```css
99
- --receipt-max-width /* 22rem */
100
- --receipt-padding /* 1.5rem */
101
- --receipt-bg /* background */
102
- --receipt-text /* text color */
103
- --receipt-text-secondary /* secondary text */
104
- --receipt-text-tertiary /* tertiary text */
105
- --receipt-border /* border color */
106
- --receipt-bg-element /* element background */
107
- --receipt-header-bg /* header background */
108
- --receipt-accent /* accent color (modern) */
109
- --receipt-font-family /* font override */
110
- --receipt-merchant-font-size /* 1.25rem */
111
- --receipt-item-font-size /* 0.9375rem */
112
- --receipt-meta-font-size /* 0.8125rem */
113
- --receipt-total-font-size /* 1.125rem */
114
- --receipt-total-font-weight /* 700 */
115
- --receipt-footer-font-size /* 0.8125rem */
116
- --receipt-divider-style /* dashed */
117
- --receipt-divider-color /* border color */
118
- --receipt-divider-width /* 1px */
119
- --receipt-border-radius /* 8px */
120
- --receipt-border-color /* border */
121
- --receipt-shadow /* none */
122
- --receipt-thermal-font /* Courier New, monospace */
123
- --receipt-thermal-width /* 18rem */
124
- --receipt-thermal-bg /* rgb(255 255 248) */
125
- --receipt-modern-radius /* 12px */
126
- --receipt-modern-shadow /* 0 4px 24px ... */
127
- --receipt-modern-section-bg /* element bg */
128
- --receipt-modern-section-radius /* 8px */
129
- --receipt-qr-size /* 6rem */
130
- ```
131
-
132
- ## Variants
133
-
134
- - `standard` — Clean receipt with merchant header, items, totals, dashed dividers
135
- - `thermal` — Monospace, narrow-width, dotted separators, thermal printer aesthetic
136
- - `modern` — Card-based, rounded sections, shadows, accent-colored total
137
- - `minimal` — Stripped to essentials, no logo/address, uppercase merchant, thin dividers
138
- - `detailed` — Wide, grid meta, SKU/notes/per-item discounts, thick borders
139
-
140
- ## Usage
67
+ ## Basic Usage
141
68
 
142
69
  ```html
143
70
  <snice-receipt
@@ -146,14 +73,6 @@ interface ReceiptTaxLine {
146
73
  payment-method="Visa **** 4242"
147
74
  variant="standard">
148
75
  </snice-receipt>
149
-
150
- <!-- Thermal -->
151
- <snice-receipt variant="thermal"></snice-receipt>
152
-
153
- <!-- Modern with QR -->
154
- <snice-receipt variant="modern" show-qr qr-position="bottom">
155
- <snice-qr-code slot="qr" value="https://receipt.example.com/4521"></snice-qr-code>
156
- </snice-receipt>
157
76
  ```
158
77
 
159
78
  ```typescript
@@ -165,21 +84,25 @@ receipt.items = [
165
84
  receipt.tax = 1.15;
166
85
  receipt.tip = 2.00;
167
86
 
168
- // Detailed with tax breakdown
169
- receipt.variant = 'detailed';
87
+ // Multiple taxes
170
88
  receipt.taxes = [
171
89
  { label: 'State Tax', rate: 6, amount: 3.00 },
172
90
  { label: 'City Tax', rate: 2, amount: 1.00 }
173
91
  ];
174
- receipt.items = [{ name: 'Widget', quantity: 1, price: 50, sku: 'WDG-001', note: 'Gift wrapped' }];
175
92
  ```
176
93
 
94
+ ## Variants
95
+
96
+ - `standard` - Clean receipt with dashed dividers
97
+ - `thermal` - Monospace, narrow-width, thermal printer aesthetic
98
+ - `modern` - Card-based, rounded sections, shadows
99
+ - `minimal` - Stripped to essentials
100
+ - `detailed` - Wide, grid meta, SKU/notes/per-item discounts
101
+
177
102
  ## Notes
178
103
 
179
- - Subtotal auto-computed from items (with per-item discount subtracted) if not explicitly set
180
- - Total auto-computed as subtotal + tax - discount + tip if not explicitly set
181
- - `taxes` array takes precedence over single `tax` property
182
- - Quantity badge hidden when quantity is 1
183
- - SKU, notes, per-item discounts only visible in `detailed` variant
184
- - Thermal variant prints narrow; modern removes shadows for print
185
- - `@media print` styles included for all variants
104
+ - Subtotal auto-computed from items if not set
105
+ - Total auto-computed as subtotal + tax - discount + tip if not set
106
+ - `taxes` array overrides single `tax` property
107
+ - SKU, notes, per-item discounts only in `detailed` variant
108
+ - Print styles included for all variants
@@ -4,67 +4,63 @@ Interactive recipe card with ingredient scaling, step-by-step mode, per-step tim
4
4
 
5
5
  ## Properties
6
6
 
7
- ```ts
8
- title: string // Recipe title
9
- description: string // Short description
10
- image: string // Hero image URL
11
- author: string // Author name
12
- prepTime: number // Prep time in minutes (attr: prep-time)
13
- cookTime: number // Cook time in minutes (attr: cook-time)
14
- servings: number // Base serving count (default: 4)
15
- difficulty: 'easy' | 'medium' | 'hard' // Difficulty level (default: 'medium')
16
- cuisine: string // Cuisine type (shown as tag)
17
- variant: 'card' | 'full' // Display variant (default: 'full')
18
- ingredients: RecipeIngredient[] // Ingredient list
19
- steps: RecipeStep[] // Instruction steps
20
- nutrition: RecipeNutrition | null // Nutrition facts per serving
21
- tags: string[] // Recipe tags
7
+ ```typescript
8
+ title: string = '';
9
+ description: string = '';
10
+ image: string = ''; // Hero image URL
11
+ author: string = '';
12
+ prepTime: number = 0; // attr: prep-time, minutes
13
+ cookTime: number = 0; // attr: cook-time, minutes
14
+ servings: number = 4;
15
+ difficulty: 'easy'|'medium'|'hard' = 'medium';
16
+ cuisine: string = ''; // Shown as tag
17
+ variant: 'card'|'full' = 'full';
18
+ ingredients: RecipeIngredient[] = []; // JS only
19
+ steps: RecipeStep[] = []; // JS only
20
+ nutrition: RecipeNutrition | null = null; // JS only
21
+ tags: string[] = []; // JS only
22
22
  ```
23
23
 
24
- ### Types
24
+ ## Types
25
25
 
26
- ```ts
26
+ ```typescript
27
27
  interface RecipeIngredient {
28
- name: string;
29
- amount: number;
30
- unit: string;
31
- group?: string; // Group header for ingredient sections
28
+ name: string; amount: number; unit: string; group?: string;
32
29
  }
33
-
34
30
  interface RecipeStep {
35
- text: string;
36
- image?: string; // Step photo URL
37
- tip?: string; // Pro tip text
38
- time?: number; // Timer duration in minutes
31
+ text: string; image?: string; tip?: string; time?: number; // minutes
39
32
  }
40
-
41
33
  interface RecipeNutrition {
42
- calories: number;
43
- protein: number;
44
- carbs: number;
45
- fat: number;
46
- fiber?: number;
47
- sodium?: number; // in mg
34
+ calories: number; protein: number; carbs: number; fat: number;
35
+ fiber?: number; sodium?: number;
48
36
  }
49
37
  ```
50
38
 
51
39
  ## Methods
52
40
 
53
- - `setServings(count: number)` -- Adjust serving count (scales ingredients)
54
- - `print()` -- Print the recipe
55
- - `reset()` -- Reset checked ingredients, completed steps, timers, and servings
41
+ - `setServings(count)` - Adjust serving count (scales ingredients)
42
+ - `print()` - Print the recipe
43
+ - `reset()` - Reset checked ingredients, completed steps, timers, servings
56
44
 
57
45
  ## Events
58
46
 
59
- - `recipe-serving-change` -> `{ servings: number; previousServings: number }` -- Serving count changed
60
- - `recipe-step-complete` -> `{ stepIndex: number; completed: boolean }` -- Step toggled
61
- - `recipe-ingredient-check` -> `{ ingredientIndex: number; checked: boolean; ingredient: RecipeIngredient }` -- Ingredient checked/unchecked
47
+ - `recipe-serving-change` `{ servings: number, previousServings: number }`
48
+ - `recipe-step-complete` `{ stepIndex: number, completed: boolean }`
49
+ - `recipe-ingredient-check` `{ ingredientIndex: number, checked: boolean, ingredient: RecipeIngredient }`
62
50
 
63
51
  ## CSS Parts
64
52
 
65
- `container`, `hero`, `header`, `meta`, `content`, `ingredients`, `steps`, `nutrition`, `controls`
53
+ - `container` - Outer recipe container
54
+ - `hero` - Hero image area
55
+ - `header` - Title/description/author
56
+ - `meta` - Metadata bar (times, servings, difficulty)
57
+ - `content` - Main content (ingredients + steps)
58
+ - `ingredients` - Ingredients section
59
+ - `steps` - Instructions section
60
+ - `nutrition` - Nutrition facts panel
61
+ - `controls` - Bottom control buttons
66
62
 
67
- ## Usage
63
+ ## Basic Usage
68
64
 
69
65
  ```typescript
70
66
  recipe.title = 'Pasta Carbonara';
@@ -81,9 +77,15 @@ recipe.ingredients = [
81
77
  ];
82
78
  recipe.steps = [
83
79
  { text: 'Boil pasta in salted water.', time: 10 },
84
- { text: 'Fry pancetta until crispy.', tip: 'Use medium heat to render fat slowly.' },
80
+ { text: 'Fry pancetta until crispy.', tip: 'Use medium heat.' },
85
81
  { text: 'Mix eggs and parmesan.' },
86
82
  { text: 'Combine all ingredients off heat.' }
87
83
  ];
88
84
  recipe.nutrition = { calories: 650, protein: 28, carbs: 72, fat: 24 };
89
85
  ```
86
+
87
+ ## Accessibility
88
+
89
+ - Keyboard accessible checkboxes, step toggles, and timer buttons
90
+ - Serving adjuster buttons have aria-labels
91
+ - Print-friendly layout via `print()`
@@ -5,36 +5,39 @@ SVG-based Sankey diagram for flow visualization between categories.
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- data: SankeyData = { nodes: [], links: [] };
9
- nodeWidth: number = 20;
10
- nodePadding: number = 10;
8
+ data: SankeyData = { nodes: [], links: [] }; // JS only
9
+ nodeWidth: number = 20; // attr: node-width
10
+ nodePadding: number = 10; // attr: node-padding
11
11
  alignment: 'left'|'right'|'center'|'justify' = 'justify';
12
- showLabels: boolean = true;
13
- showValues: boolean = true;
12
+ showLabels: boolean = true; // attr: show-labels
13
+ showValues: boolean = true; // attr: show-values
14
14
  animation: boolean = false;
15
15
  ```
16
16
 
17
17
  ## Types
18
18
 
19
19
  ```typescript
20
- interface SankeyData {
21
- nodes: SankeyNode[];
22
- links: SankeyLink[];
23
- }
20
+ interface SankeyData { nodes: SankeyNode[]; links: SankeyLink[]; }
24
21
  interface SankeyNode { id: string; label?: string; color?: string; }
25
22
  interface SankeyLink { source: string; target: string; value: number; color?: string; }
26
23
  ```
27
24
 
28
25
  ## Events
29
26
 
30
- - `sankey-node-click` → `{ node: SankeyNode }` — node clicked
31
- - `sankey-link-click` → `{ link: SankeyLink }` — link clicked
32
- - `sankey-hover` → `{ type: 'node'|'link', item: SankeyNode|SankeyLink } | null` — hover change
27
+ - `sankey-node-click` → `{ node: SankeyNode }`
28
+ - `sankey-link-click` → `{ link: SankeyLink }`
29
+ - `sankey-hover` → `{ type: 'node'|'link', item } | null`
33
30
 
34
- ## Usage
31
+ ## CSS Parts
32
+
33
+ - `base` - Outer container
34
+ - `chart` - SVG chart area
35
+ - `tooltip` - Hover tooltip
36
+
37
+ ## Basic Usage
35
38
 
36
39
  ```html
37
- <snice-sankey show-labels show-values animation></snice-sankey>
40
+ <snice-sankey show-labels show-values animation style="height: 300px;"></snice-sankey>
38
41
  ```
39
42
 
40
43
  ```typescript
@@ -49,20 +52,8 @@ sankey.data = {
49
52
  };
50
53
  ```
51
54
 
52
- **CSS Parts:**
53
- - `base` - The outer Sankey container
54
- - `chart` - The SVG chart area
55
- - `tooltip` - The hover tooltip element
56
-
57
- ## Features
55
+ ## Accessibility
58
56
 
59
- - SVG rendering with curved bezier link paths
60
- - Sankey layout algorithm with iterative node relaxation
61
- - Link width proportional to flow value
62
- - Hover highlighting (dims non-connected nodes/links)
63
- - Tooltips on hover for nodes and links
64
- - Responsive sizing via ResizeObserver
65
- - Animation on initial render
66
- - 4 alignment modes
67
- - Custom node/link colors
68
- - Accessible: role="img" with aria-label
57
+ - SVG `role="img"` with `aria-label`
58
+ - Hover highlighting dims non-connected elements
59
+ - Responsive via ResizeObserver
@@ -5,33 +5,25 @@ Multi-resource week/day/month scheduler with drag-to-create, move, and resize ev
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- resources: SchedulerResource[] = [] // Resource list (JS only)
9
- events: SchedulerEvent[] = [] // Event list (JS only)
10
- view: SchedulerView = 'week' // 'day' | 'week' | 'month'
11
- date: Date | string = new Date() // Current date
12
- granularity: number = 60 // Slot size in minutes (15, 30, 60)
13
- startHour: number = 0 // attribute: start-hour
14
- endHour: number = 24 // attribute: end-hour
8
+ resources: SchedulerResource[] = []; // JS only
9
+ events: SchedulerEvent[] = []; // JS only
10
+ view: 'day'|'week'|'month' = 'week';
11
+ date: Date | string = new Date();
12
+ granularity: number = 60; // Slot size in minutes (15, 30, 60)
13
+ startHour: number = 0; // attr: start-hour
14
+ endHour: number = 24; // attr: end-hour
15
15
  ```
16
16
 
17
17
  ## Types
18
18
 
19
19
  ```typescript
20
20
  interface SchedulerResource {
21
- id: string | number;
22
- name: string;
23
- avatar?: string; // Avatar image URL
24
- color?: string; // Accent color
21
+ id: string | number; name: string; avatar?: string; color?: string;
25
22
  }
26
-
27
23
  interface SchedulerEvent {
28
- id: string | number;
29
- resourceId: string | number;
30
- start: Date | string;
31
- end: Date | string;
32
- title: string;
33
- color?: string;
34
- data?: any;
24
+ id: string | number; resourceId: string | number;
25
+ start: Date | string; end: Date | string;
26
+ title: string; color?: string; data?: any;
35
27
  }
36
28
  ```
37
29
 
@@ -41,23 +33,23 @@ interface SchedulerEvent {
41
33
  - `removeEvent(id: string | number)` - Remove event by ID
42
34
  - `scrollToDate(date: Date | string)` - Navigate to date
43
35
  - `scrollToResource(id: string | number)` - Scroll resource into view
44
- - `navigatePrev()` - Go to previous period
45
- - `navigateNext()` - Go to next period
46
- - `navigateToday()` - Go to today
47
36
 
48
37
  ## Events
49
38
 
50
- - `event-create` → `{ event: SchedulerEvent }` - Drag-created event
51
- - `event-move` → `{ event: SchedulerEvent; oldResourceId: string | number; oldStart: Date | string; oldEnd: Date | string }`
52
- - `event-resize` → `{ event: SchedulerEvent; oldStart: Date | string; oldEnd: Date | string }`
39
+ - `event-create` → `{ event: SchedulerEvent }`
40
+ - `event-move` → `{ event, oldResourceId, oldStart, oldEnd }`
41
+ - `event-resize` → `{ event, oldStart, oldEnd }`
53
42
  - `event-click` → `{ event: SchedulerEvent }`
54
- - `slot-click` → `{ resourceId: string | number; start: Date; end: Date }`
43
+ - `slot-click` → `{ resourceId, start: Date, end: Date }`
55
44
 
56
- ## Slots
45
+ ## CSS Parts
57
46
 
58
- None
47
+ - `base` - Main container
48
+ - `header` - Navigation header with view toggle
49
+ - `resources` - Resource sidebar
50
+ - `grid` - Time grid area
59
51
 
60
- ## Usage
52
+ ## Basic Usage
61
53
 
62
54
  ```html
63
55
  <snice-scheduler start-hour="8" end-hour="18" granularity="30"></snice-scheduler>
@@ -66,23 +58,19 @@ None
66
58
  ```typescript
67
59
  scheduler.resources = [
68
60
  { id: '1', name: 'Dr. Smith', color: '#2196f3' },
69
- { id: '2', name: 'Room A', color: '#ff9800' },
61
+ { id: '2', name: 'Room A', color: '#ff9800' }
70
62
  ];
71
63
  scheduler.events = [
72
- { id: '1', resourceId: '1', start: new Date(2025,5,15,9,0), end: new Date(2025,5,15,10,30), title: 'Consultation' },
64
+ { id: '1', resourceId: '1', start: new Date(2025,5,15,9,0), end: new Date(2025,5,15,10,30), title: 'Consultation' }
73
65
  ];
74
66
 
75
- scheduler.addEventListener('event-click', e => console.log(e.detail.event));
76
- scheduler.addEventListener('slot-click', e => console.log(e.detail.resourceId, e.detail.start));
67
+ scheduler.addEventListener('slot-click', e => {
68
+ scheduler.addEvent({ id: Date.now(), resourceId: e.detail.resourceId, start: e.detail.start, end: e.detail.end, title: 'New' });
69
+ });
77
70
  ```
78
71
 
79
- ## Features
72
+ ## Accessibility
80
73
 
81
- - Day/week/month view toggle
82
- - Resource sidebar with avatars and colors
83
- - Drag to move events between resources
84
- - Resize events via edge handles
85
- - Click empty slots to trigger slot-click
86
- - Drag on grid to create events
74
+ - Keyboard navigation with arrow keys
75
+ - ARIA labels on resources and time slots
87
76
  - Current time indicator
88
- - Today/prev/next navigation