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,30 +1,73 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/form-builder.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/form-builder.md -->
2
2
 
3
3
  # Form Builder
4
- `<snice-form-builder>`
5
4
 
6
5
  Drag-and-drop form designer that outputs a JSON schema describing the form structure.
7
6
 
8
- ## Importing
7
+ ## Table of Contents
8
+ - [Properties](#properties)
9
+ - [Methods](#methods)
10
+ - [Events](#events)
11
+ - [CSS Parts](#css-parts)
12
+ - [Basic Usage](#basic-usage)
13
+ - [Examples](#examples)
14
+
15
+ ## Properties
16
+
17
+ | Property | Type | Default | Description |
18
+ |----------|------|---------|-------------|
19
+ | `schema` | `FormSchema` | `{ fields: [] }` | JSON schema (input/output, set via JS) |
20
+ | `mode` | `'edit' \| 'preview'` | `'edit'` | Current mode |
21
+ | `fieldTypes` | `FormFieldType[]` | all types | Available field types in the palette (set via JS) |
22
+
23
+ ### FormSchema Interface
9
24
 
10
- **ESM (bundler)**
11
25
  ```typescript
12
- import 'snice/components/form-builder/snice-form-builder';
26
+ interface FormSchema {
27
+ title?: string;
28
+ description?: string;
29
+ fields: FormField[];
30
+ }
13
31
  ```
14
32
 
15
- **CDN**
16
- ```html
17
- <script src="snice-runtime.min.js"></script>
18
- <script src="snice-form-builder.min.js"></script>
33
+ ### FormField Interface
34
+
35
+ ```typescript
36
+ interface FormField {
37
+ id: string;
38
+ type: FormFieldType;
39
+ label: string;
40
+ placeholder?: string;
41
+ required?: boolean;
42
+ options?: FormFieldOption[];
43
+ defaultValue?: string;
44
+ helpText?: string;
45
+ min?: number;
46
+ max?: number;
47
+ pattern?: string;
48
+ accept?: string;
49
+ content?: string; // For paragraph fields
50
+ width?: 'full' | 'half';
51
+ }
19
52
  ```
20
53
 
21
- ## Properties
54
+ ### FormFieldType
55
+
56
+ ```typescript
57
+ type FormFieldType =
58
+ | 'text' | 'number' | 'email' | 'phone'
59
+ | 'select' | 'date' | 'checkbox' | 'radio'
60
+ | 'file' | 'signature' | 'section' | 'paragraph';
61
+ ```
62
+
63
+ ### FormFieldOption Interface
22
64
 
23
- | Property | Attribute | Type | Default | Description |
24
- |----------|-----------|------|---------|-------------|
25
- | `schema` | `schema` | `FormSchema` | `{ fields: [] }` | JSON schema (input/output) |
26
- | `mode` | `mode` | `'edit' \| 'preview'` | `'edit'` | Current mode |
27
- | `fieldTypes` | `field-types` | `FormFieldType[]` | all types | Available field types in the palette |
65
+ ```typescript
66
+ interface FormFieldOption {
67
+ label: string;
68
+ value: string;
69
+ }
70
+ ```
28
71
 
29
72
  ## Methods
30
73
 
@@ -91,8 +134,6 @@ fb.setSchema({
91
134
 
92
135
  ### Adding Fields Programmatically
93
136
 
94
- Use `addField()` to append a new field to the form.
95
-
96
137
  ```javascript
97
138
  fb.addField('text');
98
139
  fb.addField('email');
@@ -101,8 +142,6 @@ fb.addField('select');
101
142
 
102
143
  ### Preview Mode
103
144
 
104
- Set the `mode` attribute to `"preview"` or call `preview()` to test the form.
105
-
106
145
  ```html
107
146
  <snice-form-builder mode="preview"></snice-form-builder>
108
147
  ```
@@ -114,7 +153,7 @@ fb.mode = 'edit'; // Switch back to edit mode
114
153
 
115
154
  ### Custom Field Types
116
155
 
117
- Use the `field-types` property to limit available field types.
156
+ Use the `fieldTypes` property to limit available field types.
118
157
 
119
158
  ```javascript
120
159
  fb.fieldTypes = ['text', 'email', 'select', 'checkbox'];
@@ -122,12 +161,9 @@ fb.fieldTypes = ['text', 'email', 'select', 'checkbox'];
122
161
 
123
162
  ### Listening to Changes
124
163
 
125
- React to schema changes as the user designs the form.
126
-
127
164
  ```javascript
128
165
  fb.addEventListener('schema-change', (e) => {
129
166
  const schema = e.detail.schema;
130
- // Save to backend or localStorage
131
167
  localStorage.setItem('form-draft', JSON.stringify(schema));
132
168
  });
133
169
 
@@ -167,76 +203,13 @@ fb.setSchema({
167
203
 
168
204
  ### Getting the Schema
169
205
 
170
- Retrieve the current schema as a plain object.
171
-
172
206
  ```javascript
173
207
  const schema = fb.getSchema();
174
208
  console.log(JSON.stringify(schema, null, 2));
175
209
 
176
- // Send to backend
177
210
  fetch('/api/forms', {
178
211
  method: 'POST',
179
212
  headers: { 'Content-Type': 'application/json' },
180
213
  body: JSON.stringify(schema)
181
214
  });
182
215
  ```
183
-
184
- ## FormSchema Interface
185
-
186
- ```typescript
187
- interface FormSchema {
188
- title?: string;
189
- description?: string;
190
- fields: FormField[];
191
- }
192
- ```
193
-
194
- ## FormField Interface
195
-
196
- ```typescript
197
- interface FormField {
198
- id: string;
199
- type: FormFieldType;
200
- label: string;
201
- placeholder?: string;
202
- required?: boolean;
203
- options?: FormFieldOption[];
204
- defaultValue?: string;
205
- helpText?: string;
206
- min?: number;
207
- max?: number;
208
- pattern?: string;
209
- accept?: string;
210
- content?: string; // For paragraph fields
211
- width?: 'full' | 'half';
212
- }
213
- ```
214
-
215
- ## FormFieldType
216
-
217
- ```typescript
218
- type FormFieldType =
219
- | 'text' | 'number' | 'email' | 'phone'
220
- | 'select' | 'date' | 'checkbox' | 'radio'
221
- | 'file' | 'signature' | 'section' | 'paragraph';
222
- ```
223
-
224
- ## FormFieldOption Interface
225
-
226
- ```typescript
227
- interface FormFieldOption {
228
- label: string;
229
- value: string;
230
- }
231
- ```
232
-
233
- ## Features
234
-
235
- - Drag fields from the palette into the canvas to add them
236
- - Click fields to select and edit properties in the side panel
237
- - Drag to reorder fields within the canvas
238
- - Duplicate or delete fields with action buttons
239
- - Toggle between edit and preview modes
240
- - Section headers and paragraphs for form organization
241
- - Customizable available field types
242
- - JSON schema output for form persistence and rendering
@@ -1,32 +1,26 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/form-layout.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/form-layout.md -->
2
2
 
3
3
  # Form Layout
4
- `<snice-form-layout>`
5
4
 
6
5
  Structured grid layout for forms with label/field alignment and responsive columns.
7
6
 
8
- ## Importing
9
-
10
- **ESM (bundler)**
11
- ```typescript
12
- import 'snice/components/form-layout/snice-form-layout';
13
- ```
14
-
15
- **CDN**
16
- ```html
17
- <script src="snice-runtime.min.js"></script>
18
- <script src="snice-form-layout.min.js"></script>
19
- ```
7
+ ## Table of Contents
8
+ - [Properties](#properties)
9
+ - [Slots](#slots)
10
+ - [CSS Parts](#css-parts)
11
+ - [CSS Custom Properties](#css-custom-properties)
12
+ - [Basic Usage](#basic-usage)
13
+ - [Examples](#examples)
20
14
 
21
15
  ## Properties
22
16
 
23
- | Property | Attribute | Type | Default | Description |
24
- |----------|-----------|------|---------|-------------|
25
- | `columns` | `columns` | `number` | `1` | Number of grid columns |
26
- | `labelPosition` | `label-position` | `'top' \| 'left' \| 'right'` | `'top'` | Label placement relative to fields |
27
- | `labelWidth` | `label-width` | `string` | `'8rem'` | Label width when position is left/right |
28
- | `gap` | `gap` | `'small' \| 'medium' \| 'large'` | `'medium'` | Spacing between fields |
29
- | `variant` | `variant` | `'default' \| 'compact' \| 'inline'` | `'default'` | Layout variant |
17
+ | Property | Type | Default | Description |
18
+ |----------|------|---------|-------------|
19
+ | `columns` | `number` | `1` | Number of grid columns |
20
+ | `labelPosition` (attr: `label-position`) | `'top' \| 'left' \| 'right'` | `'top'` | Label placement relative to fields |
21
+ | `labelWidth` (attr: `label-width`) | `string` | `'8rem'` | Label width when position is left/right |
22
+ | `gap` | `'small' \| 'medium' \| 'large'` | `'medium'` | Spacing between fields |
23
+ | `variant` | `'default' \| 'compact' \| 'inline'` | `'default'` | Layout variant |
30
24
 
31
25
  ## Slots
32
26
 
@@ -34,6 +28,12 @@ import 'snice/components/form-layout/snice-form-layout';
34
28
  |------|-------------|
35
29
  | (default) | Form fields (inputs, selects, textareas, etc.) |
36
30
 
31
+ ## CSS Parts
32
+
33
+ | Part | Description |
34
+ |------|-------------|
35
+ | `base` | The form layout grid container |
36
+
37
37
  ## CSS Custom Properties
38
38
 
39
39
  | Property | Description | Default |
@@ -41,12 +41,6 @@ import 'snice/components/form-layout/snice-form-layout';
41
41
  | `--form-columns` | Number of grid columns (set via `columns` prop) | `1` |
42
42
  | `--form-label-width` | Width of labels in left/right mode (set via `label-width` prop) | `8rem` |
43
43
 
44
- ## CSS Parts
45
-
46
- | Part | Description |
47
- |------|-------------|
48
- | `base` | The form layout grid container |
49
-
50
44
  ## Basic Usage
51
45
 
52
46
  ```typescript
@@ -146,7 +140,3 @@ Use CSS `grid-column` on slotted children to span multiple columns.
146
140
  <snice-textarea label="Bio" style="grid-column: 1 / -1;"></snice-textarea>
147
141
  </snice-form-layout>
148
142
  ```
149
-
150
- ## Responsive Behavior
151
-
152
- The form layout automatically collapses to a single column on screens smaller than 640px. When `label-position` is set to `left` or `right`, labels will switch to `top` position on mobile for better readability.
@@ -1,6 +1,6 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/funnel.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/funnel.md -->
2
2
 
3
- # Funnel Component
3
+ # Funnel
4
4
 
5
5
  The funnel component renders an SVG-based funnel/conversion chart, ideal for visualizing pipeline stages, conversion funnels, and drop-off analysis. Each stage is rendered as a trapezoid shape that narrows proportionally to its value.
6
6
 
@@ -11,19 +11,19 @@ The funnel component renders an SVG-based funnel/conversion chart, ideal for vis
11
11
  - [CSS Parts](#css-parts)
12
12
  - [Basic Usage](#basic-usage)
13
13
  - [Examples](#examples)
14
+ - [Keyboard Navigation](#keyboard-navigation)
14
15
  - [Accessibility](#accessibility)
15
- - [Browser Support](#browser-support)
16
16
 
17
17
  ## Properties
18
18
 
19
19
  | Property | Type | Default | Description |
20
20
  |----------|------|---------|-------------|
21
- | `data` | `FunnelStage[]` | `[]` | Array of stage objects with label, value, and optional color |
21
+ | `data` | `FunnelStage[]` | `[]` | Array of stage objects with label, value, and optional color (set via JS) |
22
22
  | `variant` | `'default' \| 'gradient'` | `'default'` | Color variant - default uses distinct colors, gradient uses opacity fade |
23
23
  | `orientation` | `'vertical' \| 'horizontal'` | `'vertical'` | Funnel layout direction |
24
- | `show-labels` | `boolean` | `true` | Whether to display stage labels |
25
- | `show-values` | `boolean` | `true` | Whether to display stage values |
26
- | `show-percentages` | `boolean` | `true` | Whether to display conversion percentages |
24
+ | `showLabels` (attr: `show-labels`) | `boolean` | `true` | Whether to display stage labels |
25
+ | `showValues` (attr: `show-values`) | `boolean` | `true` | Whether to display stage values |
26
+ | `showPercentages` (attr: `show-percentages`) | `boolean` | `true` | Whether to display conversion percentages |
27
27
  | `animation` | `boolean` | `false` | Whether to animate stages on initial render |
28
28
 
29
29
  ### FunnelStage Interface
@@ -71,13 +71,11 @@ funnel.addEventListener('funnel-click', (e) => {
71
71
 
72
72
  ## CSS Parts
73
73
 
74
- Style internal elements from outside the shadow DOM using `::part()`.
75
-
76
- | Part | Element | Description |
77
- |------|---------|-------------|
78
- | `base` | `<div>` | Outer funnel container |
79
- | `chart` | `<div>` | SVG chart rendering area |
80
- | `tooltip` | `<div>` | Hover tooltip element |
74
+ | Part | Description |
75
+ |------|-------------|
76
+ | `base` | Outer funnel container |
77
+ | `chart` | SVG chart rendering area |
78
+ | `tooltip` | Hover tooltip element |
81
79
 
82
80
  ```css
83
81
  snice-funnel::part(base) {
@@ -91,12 +89,14 @@ snice-funnel::part(tooltip) {
91
89
 
92
90
  ## Basic Usage
93
91
 
92
+ ```typescript
93
+ import 'snice/components/funnel/snice-funnel';
94
+ ```
95
+
94
96
  ```html
95
97
  <snice-funnel id="my-funnel"></snice-funnel>
96
98
 
97
99
  <script type="module">
98
- import 'snice/components/funnel/snice-funnel';
99
-
100
100
  const funnel = document.getElementById('my-funnel');
101
101
  funnel.data = [
102
102
  { label: 'Visitors', value: 10000 },
@@ -186,6 +186,11 @@ The gradient variant uses decreasing opacity of the primary color for a smoother
186
186
  </script>
187
187
  ```
188
188
 
189
+ ## Keyboard Navigation
190
+
191
+ - **Enter** / **Space** -- Activate a focused stage (fires `funnel-click`)
192
+ - **Tab** -- Navigate between stages
193
+
189
194
  ## Accessibility
190
195
 
191
196
  - **ARIA role**: The SVG has `role="img"` with `aria-label="Funnel chart"`
@@ -193,9 +198,3 @@ The gradient variant uses decreasing opacity of the primary color for a smoother
193
198
  - **ARIA labels**: Each stage has a descriptive `aria-label` including the label, value, and percentage
194
199
  - **Keyboard support**: Stages can be activated with Enter or Space keys
195
200
  - **Focus styles**: Visible focus ring on keyboard navigation
196
- - **Color contrast**: Default colors meet WCAG AA standards
197
-
198
- ## Browser Support
199
-
200
- - Modern browsers (Chrome, Firefox, Safari, Edge)
201
- - Requires Custom Elements v1 and Shadow DOM support
@@ -1,4 +1,4 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/gantt.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/gantt.md -->
2
2
 
3
3
  # Gantt Component
4
4
 
@@ -77,14 +77,14 @@ snice-gantt::part(task-list) {
77
77
 
78
78
  ## Basic Usage
79
79
 
80
- ```html
81
- <snice-gantt></snice-gantt>
82
- ```
83
-
84
80
  ```typescript
85
81
  import 'snice/components/gantt/snice-gantt';
86
82
  ```
87
83
 
84
+ ```html
85
+ <snice-gantt></snice-gantt>
86
+ ```
87
+
88
88
  ## Examples
89
89
 
90
90
  ### Basic Project Timeline
@@ -1,4 +1,4 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/gauge.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/gauge.md -->
2
2
 
3
3
  # Gauge Component
4
4
 
@@ -10,8 +10,6 @@ The gauge component renders an SVG-based semicircle gauge/meter chart, ideal for
10
10
  - [Basic Usage](#basic-usage)
11
11
  - [Examples](#examples)
12
12
  - [Accessibility](#accessibility)
13
- - [Browser Support](#browser-support)
14
- - [Variant Colors](#variant-colors)
15
13
 
16
14
  ## Properties
17
15
 
@@ -50,6 +48,10 @@ snice-gauge::part(label) {
50
48
 
51
49
  ## Basic Usage
52
50
 
51
+ ```typescript
52
+ import 'snice/components/gauge/snice-gauge';
53
+ ```
54
+
53
55
  ```html
54
56
  <!-- Simple gauge -->
55
57
  <snice-gauge value="75"></snice-gauge>
@@ -58,10 +60,6 @@ snice-gauge::part(label) {
58
60
  <snice-gauge value="42" label="CPU Usage"></snice-gauge>
59
61
  ```
60
62
 
61
- ```typescript
62
- import 'snice/components/gauge/snice-gauge';
63
- ```
64
-
65
63
  ## Examples
66
64
 
67
65
  ### Basic Gauge
@@ -172,19 +170,3 @@ import 'snice/components/gauge/snice-gauge';
172
170
  - **ARIA label**: Uses the `label` property for `aria-label`, falls back to "Gauge: {value}"
173
171
  - **Color contrast**: All variant colors meet WCAG AA standards against their backgrounds
174
172
  - **No motion sensitivity**: Arc animation uses CSS transitions which respect `prefers-reduced-motion`
175
-
176
- ## Browser Support
177
-
178
- - Modern browsers (Chrome, Firefox, Safari, Edge)
179
- - Requires Custom Elements v1 and Shadow DOM support
180
-
181
- ## Variant Colors
182
-
183
- | Variant | Color Scheme | Use Case |
184
- |---------|-------------|----------|
185
- | `default` | Gray | Neutral metrics |
186
- | `primary` | Blue | Primary metrics, general data |
187
- | `success` | Green | Positive values, health checks |
188
- | `warning` | Orange | Attention needed, thresholds |
189
- | `error` | Red | Critical values, alerts |
190
- | `info` | Light blue | Informational data |
@@ -1,4 +1,4 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/heatmap.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/heatmap.md -->
2
2
 
3
3
  # Heatmap Component
4
4
 
@@ -10,21 +10,18 @@ The heatmap component displays a GitHub-style contribution calendar heatmap. It
10
10
  - [CSS Parts](#css-parts)
11
11
  - [Basic Usage](#basic-usage)
12
12
  - [Examples](#examples)
13
- - [Intensity Levels](#intensity-levels)
14
- - [Color Schemes](#color-schemes)
15
13
  - [Accessibility](#accessibility)
16
- - [Browser Support](#browser-support)
17
14
 
18
15
  ## Properties
19
16
 
20
17
  | Property | Type | Default | Description |
21
18
  |----------|------|---------|-------------|
22
19
  | `data` | `HeatmapDataPoint[]` | `[]` | Array of data points with date and value |
23
- | `color-scheme` | `'green' \| 'blue' \| 'purple' \| 'orange' \| 'red'` | `'green'` | Color scheme for intensity levels |
24
- | `show-labels` | `boolean` | `true` | Show day and month labels |
25
- | `cell-size` | `number` | `12` | Cell size in pixels |
26
- | `cell-gap` | `number` | `3` | Gap between cells in pixels |
27
- | `show-tooltip` | `boolean` | `true` | Show tooltip on cell hover |
20
+ | `colorScheme` (attr: `color-scheme`) | `'green' \| 'blue' \| 'purple' \| 'orange' \| 'red'` | `'green'` | Color scheme for intensity levels |
21
+ | `showLabels` (attr: `show-labels`) | `boolean` | `true` | Show day and month labels |
22
+ | `cellSize` (attr: `cell-size`) | `number` | `12` | Cell size in pixels |
23
+ | `cellGap` (attr: `cell-gap`) | `number` | `3` | Gap between cells in pixels |
24
+ | `showTooltip` (attr: `show-tooltip`) | `boolean` | `true` | Show tooltip on cell hover |
28
25
  | `weeks` | `number` | `52` | Number of weeks to display |
29
26
 
30
27
  ### HeatmapDataPoint
@@ -38,21 +35,9 @@ interface HeatmapDataPoint {
38
35
 
39
36
  ## Events
40
37
 
41
- ### `cell-click`
42
-
43
- Fired when a cell is clicked.
44
-
45
- ```typescript
46
- heatmap.addEventListener('cell-click', (e: CustomEvent) => {
47
- console.log(e.detail.date); // '2026-01-15'
48
- console.log(e.detail.value); // 5
49
- });
50
- ```
51
-
52
- | Detail Property | Type | Description |
53
- |-----------------|------|-------------|
54
- | `date` | `string` | ISO date of the clicked cell |
55
- | `value` | `number` | Value of the clicked cell |
38
+ | Event | Detail | Description |
39
+ |-------|--------|-------------|
40
+ | `cell-click` | `{ date: string, value: number }` | Fired when a cell is clicked |
56
41
 
57
42
  ## CSS Parts
58
43
 
@@ -77,6 +62,10 @@ snice-heatmap::part(tooltip) {
77
62
 
78
63
  ## Basic Usage
79
64
 
65
+ ```typescript
66
+ import 'snice/components/heatmap/snice-heatmap';
67
+ ```
68
+
80
69
  ```html
81
70
  <snice-heatmap id="my-heatmap"></snice-heatmap>
82
71
 
@@ -90,10 +79,6 @@ snice-heatmap::part(tooltip) {
90
79
  </script>
91
80
  ```
92
81
 
93
- ```typescript
94
- import 'snice/components/heatmap/snice-heatmap';
95
- ```
96
-
97
82
  ## Examples
98
83
 
99
84
  ### Default Green Heatmap
@@ -167,36 +152,9 @@ import 'snice/components/heatmap/snice-heatmap';
167
152
  </script>
168
153
  ```
169
154
 
170
- ## Intensity Levels
171
-
172
- Cell colors are calculated based on quartiles of the maximum value in the dataset:
173
-
174
- | Level | Range | Description |
175
- |-------|-------|-------------|
176
- | 0 | No data | Empty (gray) |
177
- | 1 | 1-25% of max | Low activity |
178
- | 2 | 26-50% of max | Medium activity |
179
- | 3 | 51-75% of max | High activity |
180
- | 4 | 76-100% of max | Very high activity |
181
-
182
- ## Color Schemes
183
-
184
- | Scheme | Level 1 | Level 2 | Level 3 | Level 4 |
185
- |--------|---------|---------|---------|---------|
186
- | `green` | #9be9a8 | #40c463 | #30a14e | #216e39 |
187
- | `blue` | #9ecae1 | #4292c6 | #2171b5 | #084594 |
188
- | `purple` | #c9b1e0 | #9b72cf | #7b4fbf | #5a2d91 |
189
- | `orange` | #fdcc8a | #fc8d59 | #e34a33 | #b30000 |
190
- | `red` | #fcae91 | #fb6a4a | #de2d26 | #a50f15 |
191
-
192
155
  ## Accessibility
193
156
 
194
157
  - **ARIA labels**: Each cell has an `aria-label` describing the date and contribution count
195
158
  - **Keyboard navigation**: Cells are focusable buttons
196
159
  - **Tooltips**: Visual hover feedback with date and value details
197
160
  - **Color contrast**: Intensity levels are distinguishable at all levels
198
-
199
- ## Browser Support
200
-
201
- - Modern browsers (Chrome, Firefox, Safari, Edge)
202
- - Requires Custom Elements v1 and Shadow DOM support
@@ -1,4 +1,4 @@
1
- <!-- AI: For a low-token version of this doc, use docs/ai/components/image.md instead -->
1
+ <!-- AI: For the AI-optimized version of this doc, see docs/ai/components/image.md -->
2
2
 
3
3
  # Image Component
4
4
 
@@ -6,9 +6,9 @@ The `<snice-image>` component provides a flexible image display with variants, s
6
6
 
7
7
  ## Table of Contents
8
8
  - [Properties](#properties)
9
+ - [CSS Parts](#css-parts)
9
10
  - [Basic Usage](#basic-usage)
10
11
  - [Examples](#examples)
11
- - [CSS Parts](#css-parts)
12
12
 
13
13
  ## Properties
14
14
 
@@ -27,8 +27,34 @@ The `<snice-image>` component provides a flexible image display with variants, s
27
27
  | `width` | `string` | `''` | Custom width (CSS value) |
28
28
  | `height` | `string` | `''` | Custom height (CSS value) |
29
29
 
30
+ ## CSS Parts
31
+
32
+ | Part | Description |
33
+ |------|-------------|
34
+ | `container` | Image container div |
35
+ | `image` | The img element |
36
+ | `placeholder` | Placeholder element (shown when loading or no src) |
37
+
38
+ ```css
39
+ snice-image::part(container) {
40
+ /* Image container */
41
+ }
42
+
43
+ snice-image::part(image) {
44
+ /* The img element */
45
+ }
46
+
47
+ snice-image::part(placeholder) {
48
+ /* Placeholder element */
49
+ }
50
+ ```
51
+
30
52
  ## Basic Usage
31
53
 
54
+ ```typescript
55
+ import 'snice/components/image/snice-image';
56
+ ```
57
+
32
58
  ```html
33
59
  <snice-image
34
60
  src="https://example.com/image.jpg"
@@ -95,33 +121,3 @@ The `<snice-image>` component provides a flexible image display with variants, s
95
121
  <!-- Shows placeholder when no src -->
96
122
  <snice-image variant="circle" size="medium"></snice-image>
97
123
  ```
98
-
99
- ## CSS Parts
100
-
101
- | Part | Description |
102
- |------|-------------|
103
- | `container` | Image container div |
104
- | `image` | The img element |
105
- | `placeholder` | Placeholder element (shown when loading or no src) |
106
-
107
- ```css
108
- snice-image::part(container) {
109
- /* Image container */
110
- }
111
-
112
- snice-image::part(image) {
113
- /* The img element */
114
- }
115
-
116
- snice-image::part(placeholder) {
117
- /* Placeholder element */
118
- }
119
- ```
120
-
121
- ## Notes
122
-
123
- - Images are lazy-loaded by default for better performance
124
- - Placeholder is shown when `src` is empty
125
- - Fallback image is used when main image fails to load
126
- - Size presets provide consistent image dimensions
127
- - Custom width/height override size presets