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,12 +1,12 @@
1
1
  # snice-file-upload
2
2
 
3
- File upload with drag-and-drop and preview.
3
+ File upload with drag-and-drop, preview, and form association.
4
4
 
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- variant: 'outlined'|'filled' = 'outlined';
9
8
  size: 'small'|'medium'|'large' = 'medium';
9
+ variant: 'outlined'|'filled' = 'outlined';
10
10
  accept: string = '';
11
11
  multiple: boolean = false;
12
12
  disabled: boolean = false;
@@ -20,13 +20,18 @@ maxFiles: number = -1; // attribute: max-files
20
20
  name: string = '';
21
21
  dragDrop: boolean = true; // attribute: drag-drop
22
22
  showPreview: boolean = true; // attribute: show-preview
23
- files: FileList | null;
23
+ files: FileList | null; // read-only
24
24
  ```
25
25
 
26
26
  ## Methods
27
27
 
28
28
  - `clear()` - Clear all files
29
- - `removeFile(index)` - Remove file by index
29
+ - `removeFile(index: number)` - Remove file by index
30
+
31
+ ## Events
32
+
33
+ - `file-upload-change` → `{ files: File[], fileUpload }`
34
+ - `file-upload-error` → `{ message: string, fileUpload }`
30
35
 
31
36
  ## CSS Parts
32
37
 
@@ -36,66 +41,25 @@ files: FileList | null;
36
41
  - `error-text` - Error text element
37
42
  - `helper-text` - Helper text element
38
43
 
39
- ## Events
40
-
41
- - `file-upload-change` → `{ files, fileUpload }`
42
- - `file-upload-error` → `{ message, fileUpload }`
44
+ ## Basic Usage
43
45
 
44
- ## Usage
46
+ ```typescript
47
+ import 'snice/components/file-upload/snice-file-upload';
48
+ ```
45
49
 
46
50
  ```html
47
- <!-- Basic -->
48
51
  <snice-file-upload label="Upload File"></snice-file-upload>
49
-
50
- <!-- Multiple files -->
51
52
  <snice-file-upload multiple label="Upload Files"></snice-file-upload>
52
-
53
- <!-- File type restrictions -->
54
53
  <snice-file-upload accept="image/*" label="Images only"></snice-file-upload>
55
- <snice-file-upload accept=".pdf,.doc,.docx"></snice-file-upload>
56
-
57
- <!-- Size limit (5MB) -->
58
54
  <snice-file-upload max-size="5242880"></snice-file-upload>
59
-
60
- <!-- File count limit -->
61
55
  <snice-file-upload multiple max-files="5"></snice-file-upload>
62
-
63
- <!-- No drag-drop -->
64
56
  <snice-file-upload drag-drop="false"></snice-file-upload>
65
-
66
- <!-- No preview -->
67
- <snice-file-upload show-preview="false"></snice-file-upload>
68
-
69
- <!-- Variants -->
70
- <snice-file-upload variant="outlined"></snice-file-upload>
71
- <snice-file-upload variant="filled"></snice-file-upload>
72
-
73
- <!-- Sizes -->
74
- <snice-file-upload size="small"></snice-file-upload>
75
- <snice-file-upload size="medium"></snice-file-upload>
76
- <snice-file-upload size="large"></snice-file-upload>
77
-
78
- <!-- Events -->
79
- <snice-file-upload></snice-file-upload>
57
+ <snice-file-upload variant="filled" size="small"></snice-file-upload>
80
58
  ```
81
59
 
82
60
  ```typescript
83
- upload.addEventListener('file-upload-change', (e) => {
84
- console.log('Files:', e.detail.files);
85
- });
86
- upload.addEventListener('file-upload-error', (e) => {
87
- console.error('Error:', e.detail.message);
88
- });
61
+ upload.addEventListener('file-upload-change', e => console.log(e.detail.files));
62
+ upload.addEventListener('file-upload-error', e => console.error(e.detail.message));
89
63
  ```
90
64
 
91
- ## Features
92
-
93
- - Form-associated custom element
94
- - Drag-and-drop support
95
- - Image preview
96
- - File type filtering
97
- - Size validation
98
- - File count limits
99
- - Multiple file selection
100
- - 2 variants, 3 sizes
101
- - Accessible
65
+ Form-associated custom element. Works with native `<form>` and `FormData`.
@@ -1,35 +1,29 @@
1
1
  # snice-flip-card
2
2
 
3
- 3D card flip component with front/back faces, horizontal/vertical flip direction, and click or programmatic control.
3
+ 3D card flip component with front/back faces, horizontal/vertical direction, click or programmatic control.
4
4
 
5
5
  ## Properties
6
6
 
7
- ```ts
8
- flipped: boolean = false // attr: flipped — Whether back face is showing
9
- clickToFlip: boolean = true // attr: click-to-flip — Enable click/keyboard to toggle
10
- direction: FlipDirection = 'horizontal' // attr: direction — 'horizontal' | 'vertical'
11
- duration: number = 600 // attr: duration — Flip animation duration in ms
7
+ ```typescript
8
+ flipped: boolean = false; // Whether back face is showing
9
+ clickToFlip: boolean = true; // attribute: click-to-flip
10
+ direction: 'horizontal'|'vertical' = 'horizontal';
11
+ duration: number = 600; // Flip animation duration in ms
12
12
  ```
13
13
 
14
- ## Slots
14
+ ## Methods
15
15
 
16
- - `front` Content for the front face
17
- - `back` Content for the back face
16
+ - `flip()` - Toggle between front and back
17
+ - `flipTo(side: 'front'|'back')` - Flip to a specific side
18
18
 
19
19
  ## Events
20
20
 
21
- - `flip-change` -> `{ flipped: boolean, side: 'front' | 'back' }` — Fires on flip state change
22
-
23
- ## Methods
24
-
25
- - `flip(): void` — Toggle between front and back
26
- - `flipTo(side: 'front' | 'back'): void` — Flip to a specific side
21
+ - `flip-change` `{ flipped: boolean, side: 'front'|'back' }`
27
22
 
28
- ## CSS Custom Properties
23
+ ## Slots
29
24
 
30
- ```css
31
- --flip-duration /* Animation duration, set automatically from duration property */
32
- ```
25
+ - `front` - Content for the front face
26
+ - `back` - Content for the back face
33
27
 
34
28
  ## CSS Parts
35
29
 
@@ -37,12 +31,15 @@ duration: number = 600 // attr: duration — Flip animation du
37
31
  - `front` - The front face container
38
32
  - `back` - The back face container
39
33
 
40
- ## Keyboard
34
+ ## CSS Custom Properties
41
35
 
42
- When `click-to-flip` is enabled:
43
- - Enter / Space — Toggle flip
36
+ - `--flip-duration` - Animation duration (set automatically from `duration` property)
44
37
 
45
- ## Usage
38
+ ## Basic Usage
39
+
40
+ ```typescript
41
+ import 'snice/components/flip-card/snice-flip-card';
42
+ ```
46
43
 
47
44
  ```html
48
45
  <snice-flip-card direction="horizontal" style="width: 300px; height: 200px;">
@@ -55,3 +52,14 @@ When `click-to-flip` is enabled:
55
52
  card.flipTo('back');
56
53
  card.addEventListener('flip-change', e => console.log(e.detail.side));
57
54
  ```
55
+
56
+ ## Keyboard Navigation
57
+
58
+ When `click-to-flip` is enabled:
59
+ - Enter / Space - Toggle flip
60
+
61
+ ## Accessibility
62
+
63
+ - `role="button"` with `aria-label` on the card
64
+ - `tabindex="0"` when click-to-flip is enabled
65
+ - Enter/Space keyboard activation
@@ -7,67 +7,58 @@ Node-based flow/diagram editor with draggable nodes, input/output ports, bezier
7
7
  ```typescript
8
8
  nodes: FlowNode[] = []; // attribute: false (set via JS)
9
9
  edges: FlowEdge[] = []; // attribute: false (set via JS)
10
- snapToGrid: boolean = true; // attr: snap-to-grid
11
- gridSize: number = 20; // attr: grid-size
12
- zoomEnabled: boolean = true; // attr: zoom-enabled
13
- panEnabled: boolean = true; // attr: pan-enabled
10
+ snapToGrid: boolean = true; // attribute: snap-to-grid
11
+ gridSize: number = 20; // attribute: grid-size
12
+ zoomEnabled: boolean = true; // attribute: zoom-enabled
13
+ panEnabled: boolean = true; // attribute: pan-enabled
14
14
  minimap: boolean = true;
15
15
  editable: boolean = true;
16
16
  ```
17
17
 
18
- ## Types
19
-
20
18
  ```typescript
21
19
  interface FlowNode {
22
- id: string;
23
- x: number;
24
- y: number;
25
- type?: string;
26
- data?: Record<string, unknown>;
27
- label?: string;
28
- width?: number; // default: 160
29
- height?: number; // default: 80
30
- inputs?: FlowPort[];
31
- outputs?: FlowPort[];
32
- color?: string; // header background color
33
- selected?: boolean;
34
- }
35
-
36
- interface FlowPort {
37
- id: string;
38
- label?: string;
39
- type?: string;
20
+ id: string; x: number; y: number;
21
+ type?: string; data?: Record<string, unknown>; label?: string;
22
+ width?: number; height?: number; // defaults: 160, 80
23
+ inputs?: FlowPort[]; outputs?: FlowPort[];
24
+ color?: string; selected?: boolean;
40
25
  }
41
-
26
+ interface FlowPort { id: string; label?: string; type?: string; }
42
27
  interface FlowEdge {
43
- id: string;
44
- source: string; // node id
45
- target: string; // node id
46
- sourcePort?: string; // port id
47
- targetPort?: string; // port id
48
- label?: string;
49
- color?: string;
50
- animated?: boolean; // dashed animated stroke
28
+ id: string; source: string; target: string;
29
+ sourcePort?: string; targetPort?: string;
30
+ label?: string; color?: string; animated?: boolean;
51
31
  }
52
32
  ```
53
33
 
54
34
  ## Methods
55
35
 
56
- - `addNode(node: FlowNode): void`
57
- - `removeNode(id: string): void` - also removes connected edges
58
- - `addEdge(edge: FlowEdge): void`
59
- - `removeEdge(id: string): void`
60
- - `fitView(): void` - auto-zoom to fit all nodes
36
+ - `addNode(node: FlowNode)` - Add a node
37
+ - `removeNode(id: string)` - Remove node and connected edges
38
+ - `addEdge(edge: FlowEdge)` - Add an edge
39
+ - `removeEdge(id: string)` - Remove an edge
40
+ - `fitView()` - Auto-zoom to fit all nodes
61
41
 
62
42
  ## Events
63
43
 
64
- - `node-drag` -> `{ node: FlowNode, x: number, y: number }`
65
- - `node-select` -> `{ node: FlowNode | null }`
66
- - `edge-connect` -> `{ edge: FlowEdge }`
67
- - `edge-disconnect` -> `{ edge: FlowEdge }`
68
- - `canvas-click` -> `{ x: number, y: number }`
44
+ - `node-drag` `{ node: FlowNode, x: number, y: number }`
45
+ - `node-select` `{ node: FlowNode | null }`
46
+ - `edge-connect` `{ edge: FlowEdge }`
47
+ - `edge-disconnect` `{ edge: FlowEdge }`
48
+ - `canvas-click` `{ x: number, y: number }`
49
+
50
+ ## CSS Parts
51
+
52
+ - `base` - Outer flow container
53
+ - `canvas` - SVG edge/connection layer
54
+ - `nodes` - Node elements container
55
+ - `minimap` - Minimap overview panel
56
+
57
+ ## Basic Usage
69
58
 
70
- ## Usage
59
+ ```typescript
60
+ import 'snice/components/flow/snice-flow';
61
+ ```
71
62
 
72
63
  ```html
73
64
  <snice-flow id="flow" snap-to-grid minimap style="height:450px"></snice-flow>
@@ -85,25 +76,6 @@ flow.edges = [
85
76
  { id: 'e1', source: 'a', target: 'b',
86
77
  sourcePort: 'out', targetPort: 'in' },
87
78
  ];
79
+ flow.addNode({ id: 'c', x: 500, y: 50, label: 'End', inputs: [{ id: 'in' }] });
80
+ flow.fitView();
88
81
  ```
89
-
90
- **CSS Parts:**
91
- - `base` - Outer flow container div
92
- - `canvas` - SVG edge/connection layer
93
- - `nodes` - Node elements container
94
- - `minimap` - Minimap overview panel
95
-
96
- ## Features
97
-
98
- - Draggable nodes with snap-to-grid
99
- - Input/output ports on nodes
100
- - Bezier curve edges with arrow markers
101
- - Draw edges by dragging from port to port
102
- - Zoom (mouse wheel) and pan (drag background)
103
- - Node selection with visual highlight
104
- - Edge selection
105
- - Minimap showing viewport indicator
106
- - Dot grid background
107
- - Animated edge support (dashed flowing)
108
- - Custom node header colors
109
- - Responsive via ResizeObserver
@@ -5,63 +5,58 @@ Drag-and-drop form designer that outputs JSON schema.
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- schema: FormSchema = { fields: [] };
9
- mode: 'edit' | 'preview' = 'edit';
10
- fieldTypes: FormFieldType[] = ['text','number','email','phone','select','date','checkbox','radio','file','signature','section','paragraph']; // attribute: field-types
8
+ schema: FormSchema = { fields: [] }; // attribute: false (set via JS)
9
+ mode: 'edit'|'preview' = 'edit';
10
+ fieldTypes: FormFieldType[] = [...all]; // attribute: false (set via JS)
11
11
  ```
12
12
 
13
- ## Interfaces
14
-
15
13
  ```typescript
16
14
  type FormFieldType = 'text'|'number'|'email'|'phone'|'select'|'date'|'checkbox'|'radio'|'file'|'signature'|'section'|'paragraph';
17
-
18
15
  interface FormFieldOption { label: string; value: string; }
19
-
20
16
  interface FormField {
21
- id: string;
22
- type: FormFieldType;
23
- label: string;
24
- placeholder?: string;
25
- required?: boolean;
26
- options?: FormFieldOption[];
27
- defaultValue?: string;
28
- helpText?: string;
29
- min?: number;
30
- max?: number;
31
- pattern?: string;
32
- accept?: string;
33
- content?: string; // paragraph
34
- width?: 'full' | 'half';
35
- }
36
-
37
- interface FormSchema {
38
- title?: string;
39
- description?: string;
40
- fields: FormField[];
17
+ id: string; type: FormFieldType; label: string;
18
+ placeholder?: string; required?: boolean; options?: FormFieldOption[];
19
+ defaultValue?: string; helpText?: string; min?: number; max?: number;
20
+ pattern?: string; accept?: string; content?: string; width?: 'full'|'half';
41
21
  }
22
+ interface FormSchema { title?: string; description?: string; fields: FormField[]; }
42
23
  ```
43
24
 
44
25
  ## Methods
45
26
 
46
- ```typescript
47
- getSchema(): FormSchema // deep copy
48
- setSchema(schema: FormSchema): void
49
- addField(type: FormFieldType): void
50
- removeField(id: string): void
51
- preview(): void // switch to preview mode
52
- ```
27
+ - `getSchema(): FormSchema` - Deep copy of current schema
28
+ - `setSchema(schema: FormSchema)` - Set the form schema
29
+ - `addField(type: FormFieldType)` - Add a new field
30
+ - `removeField(id: string)` - Remove a field
31
+ - `preview()` - Switch to preview mode
53
32
 
54
33
  ## Events
55
34
 
56
- - `schema-change` -> `{ schema: FormSchema }`
57
- - `field-add` -> `{ field: FormField }`
58
- - `field-remove` -> `{ field: FormField }`
59
- - `field-reorder` -> `{ oldIndex: number, newIndex: number, field: FormField }`
35
+ - `schema-change` `{ schema: FormSchema }`
36
+ - `field-add` `{ field: FormField }`
37
+ - `field-remove` `{ field: FormField }`
38
+ - `field-reorder` `{ oldIndex: number, newIndex: number, field: FormField }`
39
+
40
+ ## CSS Parts
60
41
 
61
- ## Usage
42
+ - `base` - Outer form builder container (edit mode)
43
+ - `mode-toggle` - Edit/preview toggle bar
44
+ - `toolbar` - Field type palette sidebar
45
+ - `canvas` - Main field list area
46
+ - `properties` - Field properties panel
47
+ - `preview` - Preview mode container
48
+
49
+ ## Basic Usage
50
+
51
+ ```typescript
52
+ import 'snice/components/form-builder/snice-form-builder';
53
+ ```
54
+
55
+ ```html
56
+ <snice-form-builder></snice-form-builder>
57
+ ```
62
58
 
63
59
  ```typescript
64
- // Set schema
65
60
  fb.setSchema({
66
61
  title: 'Contact Form',
67
62
  fields: [
@@ -73,45 +68,10 @@ fb.setSchema({
73
68
  ]}
74
69
  ]
75
70
  });
76
-
77
- // Add/remove
78
71
  fb.addField('text');
79
72
  fb.removeField('name');
80
-
81
- // Get schema
82
73
  const schema = fb.getSchema();
83
-
84
- // Preview
85
74
  fb.preview();
86
-
87
- // Events
88
75
  fb.addEventListener('schema-change', e => console.log(e.detail.schema));
89
- ```
90
-
91
- ```html
92
- <!-- Limit field types -->
93
- <snice-form-builder></snice-form-builder>
94
- ```
95
-
96
- ```typescript
97
76
  fb.fieldTypes = ['text', 'email', 'select', 'checkbox'];
98
77
  ```
99
-
100
- **CSS Parts:**
101
- - `base` - Outer form builder container (edit mode)
102
- - `mode-toggle` - Edit/preview toggle bar
103
- - `toolbar` - Field type palette sidebar
104
- - `canvas` - Main field list area
105
- - `properties` - Field properties panel
106
- - `preview` - Preview mode container
107
-
108
- ## Features
109
-
110
- - Drag from palette to add fields
111
- - Click to edit field properties
112
- - Drag to reorder fields
113
- - Duplicate/delete fields
114
- - Edit/preview mode toggle
115
- - Section headers and paragraphs
116
- - Customizable field types
117
- - JSON schema output
@@ -5,9 +5,9 @@ Structured grid layout for forms with label/field alignment and responsive colum
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- columns: number = 1; // Number of columns
9
- labelPosition: 'top'|'left'|'right' = 'top'; // attribute: label-position
10
- labelWidth: string = '8rem'; // attribute: label-width, width when labels left/right
8
+ columns: number = 1;
9
+ labelPosition: 'top'|'left'|'right' = 'top'; // attribute: label-position
10
+ labelWidth: string = '8rem'; // attribute: label-width
11
11
  gap: 'small'|'medium'|'large' = 'medium';
12
12
  variant: 'default'|'compact'|'inline' = 'default';
13
13
  ```
@@ -16,57 +16,47 @@ variant: 'default'|'compact'|'inline' = 'default';
16
16
 
17
17
  - `(default)` - Form fields (inputs, selects, textareas, etc.)
18
18
 
19
- ## Events
20
-
21
- None — this is a layout-only component.
22
-
23
19
  ## CSS Parts
24
20
 
25
21
  - `base` - Root layout container
26
22
 
27
23
  ## CSS Custom Properties
28
24
 
29
- - `--form-columns` - Number of grid columns (set automatically from `columns` prop)
25
+ - `--form-columns` - Number of grid columns (set from `columns` prop)
30
26
  - `--form-label-width` - Label width for left/right positions (set from `label-width` prop)
31
27
 
32
- ## Usage
28
+ ## Basic Usage
29
+
30
+ ```typescript
31
+ import 'snice/components/form-layout/snice-form-layout';
32
+ ```
33
33
 
34
34
  ```html
35
- <!-- Single column -->
36
35
  <snice-form-layout>
37
36
  <snice-input label="Name"></snice-input>
38
37
  <snice-input label="Email"></snice-input>
39
38
  </snice-form-layout>
40
39
 
41
- <!-- Two columns -->
42
40
  <snice-form-layout columns="2">
43
41
  <snice-input label="First Name"></snice-input>
44
42
  <snice-input label="Last Name"></snice-input>
45
43
  </snice-form-layout>
46
44
 
47
- <!-- Labels on left -->
48
45
  <snice-form-layout label-position="left" label-width="10rem">
49
46
  <snice-input label="Username"></snice-input>
50
47
  <snice-input label="Password" type="password"></snice-input>
51
48
  </snice-form-layout>
52
49
 
53
- <!-- Compact with small gap -->
54
50
  <snice-form-layout variant="compact" gap="small" columns="3">
55
51
  <snice-input label="City"></snice-input>
56
52
  <snice-input label="State"></snice-input>
57
53
  <snice-input label="Zip"></snice-input>
58
54
  </snice-form-layout>
59
55
 
60
- <!-- Inline variant (flex row) -->
61
56
  <snice-form-layout variant="inline">
62
57
  <snice-input label="Search"></snice-input>
63
58
  <snice-select label="Category"></snice-select>
64
59
  </snice-form-layout>
65
60
  ```
66
61
 
67
- ## Features
68
-
69
- - Responsive: collapses to single column on mobile (<640px)
70
- - Labels go top on mobile regardless of `label-position`
71
- - Three gap sizes, three layout variants
72
- - CSS custom properties exposed for slotted children label positioning
62
+ No events -- layout-only component. Responsive: collapses to single column on mobile (<640px).
@@ -5,39 +5,42 @@ SVG-based funnel chart for conversion tracking and pipeline visualization.
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
- data: FunnelStage[] = []; // Array of { label, value, color? }
8
+ data: FunnelStage[] = []; // attribute: false (set via JS)
9
9
  variant: 'default'|'gradient' = 'default';
10
10
  orientation: 'vertical'|'horizontal' = 'vertical';
11
- showLabels: boolean = true; // attribute: show-labels
12
- showValues: boolean = true; // attribute: show-values
13
- showPercentages: boolean = true; // attribute: show-percentages
11
+ showLabels: boolean = true; // attribute: show-labels
12
+ showValues: boolean = true; // attribute: show-values
13
+ showPercentages: boolean = true; // attribute: show-percentages
14
14
  animation: boolean = false;
15
15
  ```
16
16
 
17
- ## Types
18
-
19
17
  ```typescript
20
- interface FunnelStage {
21
- label: string;
22
- value: number;
23
- color?: string;
24
- }
18
+ interface FunnelStage { label: string; value: number; color?: string; }
25
19
  ```
26
20
 
27
21
  ## Methods
28
22
 
29
- - `setStages(stages: FunnelStage[])` replace all stages
30
- - `exportImage(format?: 'png'|'svg')` returns data URL string
23
+ - `setStages(stages: FunnelStage[])` - Replace all stages
24
+ - `exportImage(format?: 'png'|'svg'): string` - Returns data URL
31
25
 
32
26
  ## Events
33
27
 
34
- - `funnel-click` → `{ stage: FunnelStage; index: number }` — stage clicked
35
- - `funnel-hover` → `{ stage: FunnelStage; index: number }` — stage hovered
28
+ - `funnel-click` → `{ stage: FunnelStage, index: number }`
29
+ - `funnel-hover` → `{ stage: FunnelStage, index: number }`
30
+
31
+ ## CSS Parts
32
+
33
+ - `base` - Outer funnel container
34
+ - `chart` - SVG chart rendering area
35
+ - `tooltip` - Hover tooltip element
36
+
37
+ ## Basic Usage
36
38
 
37
- ## Usage
39
+ ```typescript
40
+ import 'snice/components/funnel/snice-funnel';
41
+ ```
38
42
 
39
43
  ```html
40
- <!-- Basic -->
41
44
  <snice-funnel></snice-funnel>
42
45
  ```
43
46
 
@@ -50,41 +53,23 @@ funnel.data = [
50
53
  ```
51
54
 
52
55
  ```html
53
- <!-- Gradient variant -->
54
56
  <snice-funnel variant="gradient"></snice-funnel>
55
-
56
- <!-- Horizontal -->
57
57
  <snice-funnel orientation="horizontal"></snice-funnel>
58
-
59
- <!-- Custom colors -->
60
- data = [
61
- { label: 'A', value: 100, color: 'rgb(37 99 235)' },
62
- { label: 'B', value: 50, color: 'rgb(22 163 74)' },
63
- ]
64
-
65
- <!-- Hide elements -->
66
58
  <snice-funnel show-labels="false" show-values="false"></snice-funnel>
67
-
68
- <!-- With animation -->
69
59
  <snice-funnel animation></snice-funnel>
70
60
  ```
71
61
 
72
- **CSS Parts:**
73
- - `base` - Outer funnel container div
74
- - `chart` - SVG chart rendering area
75
- - `tooltip` - Hover tooltip element
62
+ ```typescript
63
+ funnel.addEventListener('funnel-click', e => console.log(e.detail.stage));
64
+ const svgUrl = funnel.exportImage('svg');
65
+ ```
66
+
67
+ ## Keyboard Navigation
68
+
69
+ - Enter/Space - Activate focused stage
70
+ - Tab - Navigate between stages
71
+
72
+ ## Accessibility
76
73
 
77
- ## Features
78
-
79
- - SVG trapezoid shapes per stage
80
- - Vertical (default) and horizontal orientation
81
- - 2 variants: default (distinct colors), gradient (opacity fade)
82
- - Custom color per stage, falls back to theme palette
83
- - Labels, values (auto-formatted K/M), percentages
84
- - Tooltip on hover
85
- - Click + hover events
86
- - Keyboard accessible (Enter/Space)
87
- - ARIA: role="img" on SVG, role="button" + aria-label on stages
88
- - CSS animation on initial render
89
- - Responsive via SVG viewBox
90
- - Works without theme (CSS fallbacks)
74
+ - SVG: `role="img"` with `aria-label="Funnel chart"`
75
+ - Stages: `role="button"`, `tabindex="0"`, descriptive `aria-label`