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,13 +1,13 @@
1
1
  # snice-date-time-picker
2
2
 
3
- Combined date and time picker. Calendar for date, scrollable columns for time.
3
+ Combined date and time picker. Calendar for date, scrollable columns for time. Form-associated.
4
4
 
5
5
  ## Properties
6
6
 
7
7
  ```typescript
8
8
  value: string = ''; // ISO datetime (YYYY-MM-DDTHH:MM or YYYY-MM-DDTHH:MM:SS)
9
- dateFormat: DateTimePickerDateFormat = 'yyyy-mm-dd'; // attribute: date-format — 'yyyy-mm-dd'|'mm/dd/yyyy'|'dd/mm/yyyy'|'yyyy/mm/dd'|'dd-mm-yyyy'|'mm-dd-yyyy'|'mmmm dd, yyyy'
10
- timeFormat: '12h'|'24h' = '24h'; // attribute: time-format
9
+ dateFormat: DateTimePickerDateFormat = 'yyyy-mm-dd'; // attribute: date-format
10
+ timeFormat: '12h'|'24h' = '24h'; // attribute: time-format
11
11
  size: 'small'|'medium'|'large' = 'medium';
12
12
  min: string = ''; // Min date (YYYY-MM-DD)
13
13
  max: string = ''; // Max date (YYYY-MM-DD)
@@ -26,6 +26,8 @@ name: string = '';
26
26
  variant: 'dropdown'|'inline' = 'dropdown';
27
27
  ```
28
28
 
29
+ Date formats: `'yyyy-mm-dd'`|`'mm/dd/yyyy'`|`'dd/mm/yyyy'`|`'yyyy/mm/dd'`|`'dd-mm-yyyy'`|`'mm-dd-yyyy'`|`'mmmm dd, yyyy'`
30
+
29
31
  ## Methods
30
32
 
31
33
  - `open()` - Open panel
@@ -37,36 +39,25 @@ variant: 'dropdown'|'inline' = 'dropdown';
37
39
 
38
40
  ## Events
39
41
 
40
- - `datetime-change` -> `{ value, date, dateString, timeString, iso, dateTimePicker }`
41
- - `datetimepicker-focus` -> `{ dateTimePicker }`
42
- - `datetimepicker-blur` -> `{ dateTimePicker }`
43
- - `datetimepicker-open` -> `{ dateTimePicker }`
44
- - `datetimepicker-close` -> `{ dateTimePicker }`
45
- - `datetimepicker-clear` -> `{ dateTimePicker }`
46
-
47
- ## Usage
42
+ - `datetime-change` `{ value, date, dateString, timeString, iso, dateTimePicker }`
43
+ - `datetimepicker-focus` `{ dateTimePicker }`
44
+ - `datetimepicker-blur` `{ dateTimePicker }`
45
+ - `datetimepicker-open` `{ dateTimePicker }`
46
+ - `datetimepicker-close` `{ dateTimePicker }`
47
+ - `datetimepicker-clear` `{ dateTimePicker }`
48
48
 
49
- ```html
50
- <!-- Basic -->
51
- <snice-date-time-picker label="Appointment"></snice-date-time-picker>
49
+ ## CSS Parts
52
50
 
53
- <!-- With value -->
54
- <snice-date-time-picker value="2024-12-25T14:30"></snice-date-time-picker>
51
+ `base`, `label`, `input`, `toggle`, `panel`, `calendar`, `time`, `clear`, `spinner`, `helper-text`, `error-text`
55
52
 
56
- <!-- 12h format -->
57
- <snice-date-time-picker time-format="12h" value="2024-12-25T14:30"></snice-date-time-picker>
53
+ ## Basic Usage
58
54
 
59
- <!-- With seconds -->
55
+ ```html
56
+ <snice-date-time-picker label="Appointment"></snice-date-time-picker>
57
+ <snice-date-time-picker value="2024-12-25T14:30" time-format="12h"></snice-date-time-picker>
60
58
  <snice-date-time-picker show-seconds value="2024-12-25T14:30:45"></snice-date-time-picker>
61
-
62
- <!-- Date constraints -->
63
- <snice-date-time-picker min="2024-01-01" max="2024-12-31"></snice-date-time-picker>
64
-
65
- <!-- Inline (always visible) -->
66
59
  <snice-date-time-picker variant="inline" value="2024-06-15T10:00"></snice-date-time-picker>
67
-
68
- <!-- Event handling -->
69
- <snice-date-time-picker id="dtp"></snice-date-time-picker>
60
+ <snice-date-time-picker min="2024-01-01" max="2024-12-31"></snice-date-time-picker>
70
61
  ```
71
62
 
72
63
  ```typescript
@@ -76,24 +67,10 @@ dtp.addEventListener('datetime-change', (e) => {
76
67
  console.log('Time:', e.detail.timeString);
77
68
  });
78
69
  ```
79
- ```
80
-
81
- ## CSS Parts
82
-
83
- `base`, `label`, `input`, `toggle`, `panel`, `calendar`, `time`, `clear`, `spinner`, `helper-text`, `error-text`
84
70
 
85
- ## Features
71
+ ## Accessibility
86
72
 
87
- - Form-associated custom element
88
- - Calendar with month navigation + time selector columns side-by-side
89
- - Year picker (click year in header → 12-year grid, navigate ranges, click to select)
90
- - Dropdown or inline variant
91
- - 12h/24h time format with AM/PM toggle
92
- - Optional seconds selector
93
- - 3 sizes (small, medium, large)
94
- - Loading state with spinner
95
- - Clearable with clear button
96
- - Min/max date constraints
97
- - Configurable date display format
98
- - Constraint Validation API (checkValidity, reportValidity, setCustomValidity)
99
- - Responsive: stacks vertically on mobile
73
+ - Form-associated with ElementInternals
74
+ - Calendar uses popover="manual"
75
+ - Responsive: stacks vertically on mobile (<480px)
76
+ - Year picker via calendar header year button
@@ -4,23 +4,19 @@ Text diff viewer with unified and split (side-by-side) modes, line numbers, coll
4
4
 
5
5
  ## Properties
6
6
 
7
- ```ts
8
- oldText: string = '' // attr: old-text — Original text
9
- newText: string = '' // attr: new-text — Modified text
10
- language: string = '' // attr: language — Language hint (for future syntax highlighting)
11
- mode: DiffMode = 'unified' // attr: mode — 'unified' | 'split'
12
- lineNumbers: boolean = true // attr: line-numbers — Show line number gutters
13
- contextLines: number = 3 // attr: context-lines — Unchanged lines shown around changes
14
- markers: boolean = true // attr: markers — Show +/- markers column
7
+ ```typescript
8
+ oldText: string = ''; // attr: old-text
9
+ newText: string = ''; // attr: new-text
10
+ language: string = ''; // Language hint (future syntax highlighting)
11
+ mode: 'unified'|'split' = 'unified';
12
+ lineNumbers: boolean = true; // attr: line-numbers
13
+ contextLines: number = 3; // attr: context-lines
14
+ markers: boolean = true; // Show +/- markers column
15
15
  ```
16
16
 
17
- ## Events
18
-
19
- - `diff-computed` -> `{ hunks: DiffHunk[], additions: number, deletions: number }` — Fires after diff is calculated
20
-
21
- ## Types
17
+ ### Types
22
18
 
23
- ```ts
19
+ ```typescript
24
20
  interface DiffLine {
25
21
  type: 'added' | 'removed' | 'unchanged';
26
22
  oldLine: number | null;
@@ -34,28 +30,24 @@ interface DiffHunk {
34
30
  }
35
31
  ```
36
32
 
37
- ## CSS Custom Properties
33
+ ## Events
38
34
 
39
- ```css
40
- --diff-add-bg /* Added line background */
41
- --diff-remove-bg /* Removed line background */
42
- --diff-add-word-bg /* Word-level added highlight */
43
- --diff-remove-word-bg /* Word-level removed highlight */
44
- ```
35
+ - `diff-computed` → `{ hunks: DiffHunk[], additions: number, deletions: number }`
45
36
 
46
- **CSS Parts:**
47
- - `base` - Outer diff container div
48
- - `header` - Header with stats and mode toggle buttons
49
- - `content` - Diff content area containing the diff table(s)
37
+ ## CSS Custom Properties
50
38
 
51
- ## Behavior
39
+ - `--diff-add-bg` - Added line background
40
+ - `--diff-remove-bg` - Removed line background
41
+ - `--diff-add-word-bg` - Word-level added highlight
42
+ - `--diff-remove-word-bg` - Word-level removed highlight
52
43
 
53
- - LCS-based diff algorithm computes on `oldText`/`newText`/`contextLines` change
54
- - Unchanged sections beyond context are collapsed; click to expand
55
- - Header shows +N/-N stats and unified/split toggle buttons
56
- - Dark mode support via `[data-theme="dark"]` or `prefers-color-scheme: dark`
44
+ ## CSS Parts
45
+
46
+ - `base` - Outer diff container
47
+ - `header` - Header with stats and mode toggle buttons
48
+ - `content` - Diff content area with diff table(s)
57
49
 
58
- ## Usage
50
+ ## Basic Usage
59
51
 
60
52
  ```html
61
53
  <snice-diff old-text="hello world" new-text="hello there" mode="unified" context-lines="3"></snice-diff>
@@ -68,3 +60,10 @@ diff.addEventListener('diff-computed', e => {
68
60
  console.log(`+${e.detail.additions} -${e.detail.deletions}`);
69
61
  });
70
62
  ```
63
+
64
+ ## Accessibility
65
+
66
+ - LCS-based diff computed on oldText/newText/contextLines change
67
+ - Unchanged sections beyond context are collapsed; click to expand
68
+ - Header shows +N/-N stats and unified/split toggle
69
+ - Dark mode via `[data-theme="dark"]` or `prefers-color-scheme: dark`
@@ -1,6 +1,6 @@
1
1
  # snice-divider
2
2
 
3
- Separator line with optional text.
3
+ Separator line with optional text label.
4
4
 
5
5
  ## Properties
6
6
 
@@ -15,57 +15,27 @@ color: string = '';
15
15
  capped: boolean = false;
16
16
  ```
17
17
 
18
- ## Usage
18
+ ## CSS Custom Properties
19
19
 
20
- ```html
21
- <!-- Basic -->
22
- <snice-divider></snice-divider>
23
-
24
- <!-- With text -->
25
- <snice-divider text="OR"></snice-divider>
26
-
27
- <!-- Text alignment -->
28
- <snice-divider text="Start" align="start"></snice-divider>
29
- <snice-divider text="Center" align="center"></snice-divider>
30
- <snice-divider text="End" align="end"></snice-divider>
31
-
32
- <!-- Variants -->
33
- <snice-divider variant="solid"></snice-divider>
34
- <snice-divider variant="dashed"></snice-divider>
35
- <snice-divider variant="dotted"></snice-divider>
36
-
37
- <!-- Spacing -->
38
- <snice-divider spacing="none"></snice-divider>
39
- <snice-divider spacing="small"></snice-divider>
40
- <snice-divider spacing="medium"></snice-divider>
41
- <snice-divider spacing="large"></snice-divider>
42
-
43
- <!-- Vertical -->
44
- <div style="display: flex; height: 50px;">
45
- <span>Left</span>
46
- <snice-divider orientation="vertical"></snice-divider>
47
- <span>Right</span>
48
- </div>
20
+ - `--divider-color` - Line color (default: `var(--snice-color-border)`)
21
+ - `--divider-thickness` - Line thickness (default: `1px`)
22
+ - `--divider-text-bg` - Text label background
23
+ - `--divider-text-padding` - Text label padding (default: `0 1rem`)
24
+ - `--divider-text-gap` - Gap around text label (default: `1rem`)
49
25
 
50
- <!-- Custom color -->
51
- <snice-divider color="#3b82f6"></snice-divider>
52
-
53
- <!-- Capped (rounded ends) -->
54
- <snice-divider capped></snice-divider>
55
- ```
26
+ ## CSS Parts
56
27
 
57
- **CSS Parts:**
58
28
  - `base` - Outer divider container
59
29
  - `line` - The divider line(s)
60
30
  - `text` - Optional text label
61
31
 
62
- ## Features
32
+ ## Basic Usage
63
33
 
64
- - Horizontal or vertical
65
- - 3 line styles (solid/dashed/dotted)
66
- - Optional text label
67
- - Text alignment (start/center/end)
68
- - 4 spacing options
69
- - Custom color
70
- - Capped ends
71
- - Custom text background
34
+ ```html
35
+ <snice-divider></snice-divider>
36
+ <snice-divider text="OR"></snice-divider>
37
+ <snice-divider text="Start" align="start"></snice-divider>
38
+ <snice-divider variant="dashed" capped></snice-divider>
39
+ <snice-divider orientation="vertical"></snice-divider>
40
+ <snice-divider color="#3b82f6"></snice-divider>
41
+ ```
@@ -1,53 +1,23 @@
1
1
  # snice-doc
2
2
 
3
- Simple WYSIWYG document editor with toolbar and sidebar.
4
-
5
- ## Usage
6
-
7
- ```html
8
- <snice-doc></snice-doc>
9
- <snice-doc icons="material"></snice-doc>
10
- <snice-doc icons="fontawesome"></snice-doc>
11
- ```
3
+ Simple WYSIWYG document editor with formatting toolbar and content insertion.
12
4
 
13
5
  ## Properties
14
6
 
15
- - `placeholder: string` - Placeholder text (default: `"Start typing..."`)
16
- - `readonly: boolean` - Readonly mode (default: `false`)
17
- - `icons: 'default' | 'material' | 'fontawesome'` - Toolbar icon set (default: `"default"`)
7
+ ```typescript
8
+ placeholder: string = 'Start typing...';
9
+ readonly: boolean = false;
10
+ icons: 'default'|'material'|'fontawesome' = 'default';
11
+ ```
18
12
 
19
13
  ## Methods
20
14
 
21
- - `getHTML(): string` - Get HTML content
22
- - `setHTML(html: string): void` - Set HTML content
23
- - `getText(): string` - Get plain text content
24
- - `getMarkdown(): string` - Get content as markdown
25
- - `downloadAs(format: 'html' | 'markdown' | 'text', filename?: string): void` - Download document
26
- - `clear(): void` - Clear all content
27
-
28
- ## Toolbar
29
-
30
- - **B, I, U, S** - Bold, italic, underline, strikethrough
31
- - **H1, H2, H3, P** - Heading formats and paragraph
32
- - **•, 1.** - Bulleted and numbered lists
33
- - **🔗** - Insert link
34
- - **🖼** - Insert image
35
- - **📊** - Insert table
36
- - **―** - Insert divider
37
- - **⬇** - Download (HTML, Markdown, or Plain Text)
38
-
39
- ## Icon Sets
40
-
41
- - `default` - Text labels and emoji icons
42
- - `material` - Material Symbols Outlined (user must load the font in the document)
43
- - `fontawesome` - Font Awesome 6 solid icons (user must load the font in the document)
44
- - Fonts cascade from light DOM into shadow DOM — no auto-loading
45
-
46
- ## Keyboard Shortcuts
47
-
48
- - **Ctrl/Cmd+B** - Bold
49
- - **Ctrl/Cmd+I** - Italic
50
- - **Ctrl/Cmd+U** - Underline
15
+ - `getHTML()` → `string` - Get HTML content
16
+ - `setHTML(html)` - Set HTML content
17
+ - `getText()` → `string` - Get plain text content
18
+ - `getMarkdown()` → `string` - Get content as Markdown
19
+ - `downloadAs(format, filename?)` - Download as `'html'`|`'markdown'`|`'text'`
20
+ - `clear()` - Clear all content
51
21
 
52
22
  ## CSS Custom Properties
53
23
 
@@ -67,40 +37,45 @@ Simple WYSIWYG document editor with toolbar and sidebar.
67
37
  --snice-doc-sidebar-background
68
38
  ```
69
39
 
70
- ## Example
40
+ ## CSS Parts
71
41
 
72
- ```typescript
73
- doc.setHTML(`
74
- <h1>Title</h1>
75
- <p>Content with <b>bold</b> and <i>italic</i>.</p>
76
- `);
42
+ - `base` - Outer document wrapper
43
+ - `editor` - Editable content area
44
+ - `toolbar` - Formatting toolbar
45
+ - `icon` - Toolbar icon element
46
+
47
+ ## Basic Usage
48
+
49
+ ```html
50
+ <snice-doc></snice-doc>
51
+ <snice-doc icons="material"></snice-doc>
52
+ <snice-doc icons="fontawesome"></snice-doc>
53
+ <snice-doc readonly></snice-doc>
54
+ ```
77
55
 
78
- // Export formats
56
+ ```typescript
57
+ doc.setHTML('<h1>Title</h1><p>Content with <b>bold</b>.</p>');
79
58
  const html = doc.getHTML();
80
59
  const markdown = doc.getMarkdown();
81
- const text = doc.getText();
82
-
83
- // Download
84
60
  doc.downloadAs('markdown', 'my-doc.md');
85
- doc.downloadAs('html');
86
- doc.downloadAs('text');
87
61
  ```
88
62
 
89
- ## CSS Parts
63
+ ## Icon Sets
90
64
 
91
- - `base` - Outer document wrapper
92
- - `editor` - Editable content area
93
- - `toolbar` - Formatting toolbar
94
- - `icon` - Toolbar icon element
65
+ - `default` - Text labels and emoji
66
+ - `material` - Material Symbols Outlined (load font in document)
67
+ - `fontawesome` - Font Awesome 6 solid (load font in document)
68
+ - Fonts cascade from light DOM into shadow DOM
69
+
70
+ ## Keyboard Navigation
71
+
72
+ - Ctrl/Cmd+B - Bold
73
+ - Ctrl/Cmd+I - Italic
74
+ - Ctrl/Cmd+U - Underline
95
75
 
96
- ## Features
76
+ ## Accessibility
97
77
 
98
- - WYSIWYG contentEditable editing
99
- - Formatting toolbar with configurable icon sets
100
- - Insert images, tables, dividers, links
101
- - Download as HTML, Markdown, or Plain Text
78
+ - contentEditable for native text editing
79
+ - Semantic HTML output
80
+ - Dark mode via prefers-color-scheme
102
81
  - Paste images from clipboard
103
- - Keyboard shortcuts
104
- - Readonly mode
105
- - Dark mode (prefers-color-scheme)
106
- - Material Icons and Font Awesome support
@@ -1,6 +1,6 @@
1
1
  # snice-draw
2
2
 
3
- Canvas drawing with lazy-brush smoothing.
3
+ Canvas drawing with lazy-brush smoothing, auto-polygon, and auto-circle.
4
4
 
5
5
  ## Properties
6
6
 
@@ -9,30 +9,29 @@ width: number = 800;
9
9
  height: number = 600;
10
10
  tool: 'pen'|'eraser'|'line'|'rectangle'|'circle'|'text' = 'pen';
11
11
  color: string = '#000000';
12
- strokeWidth: number = 2; // attribute: stroke-width
12
+ strokeWidth: number = 2; // attribute: stroke-width
13
13
  backgroundColor: string = '#ffffff'; // attribute: background-color
14
14
  lazy: boolean = false;
15
- lazyRadius: number = 60; // attribute: lazy-radius
15
+ lazyRadius: number = 60; // attribute: lazy-radius
16
16
  friction: number = 0.1;
17
17
  smoothing: number = 0.5;
18
- autoPolygon: boolean = false; // attribute: auto-polygon
19
- polygonCurvePoints: number = 10; // attribute: polygon-curve-points
18
+ autoPolygon: boolean = false; // attribute: auto-polygon
19
+ polygonCurvePoints: number = 10; // attribute: polygon-curve-points (2-30)
20
+ autoCircle: boolean = false; // attribute: auto-circle
21
+ circlePoints: number = 50; // attribute: circle-points
20
22
  disabled: boolean = false;
21
23
  ```
22
24
 
23
25
  ## Methods
24
26
 
25
- ```typescript
26
- clear(): void
27
- undo(): void
28
- redo(): void
29
- toDataURL(type?: 'image/png'|'image/jpeg'|'image/webp', quality?: number): string
30
- toBlob(type?: 'image/png'|'image/jpeg'|'image/webp', quality?: number): Promise<Blob>
31
- download(filename?: string): void
32
- loadImage(url: string): Promise<void>
33
- getStrokes(): DrawStroke[]
34
- setStrokes(strokes: DrawStroke[]): void
35
- ```
27
+ - `clear()` - Clear canvas
28
+ - `undo()` / `redo()` - Undo/redo strokes
29
+ - `toDataURL(type?, quality?)` → `string` - Export as data URL
30
+ - `toBlob(type?, quality?)` → `Promise<Blob>` - Export as Blob
31
+ - `download(filename?)` - Download drawing
32
+ - `loadImage(url)` `Promise<void>` - Load background image
33
+ - `getStrokes()` → `DrawStroke[]` - Get all strokes
34
+ - `setStrokes(strokes)` - Set strokes (load saved drawings)
36
35
 
37
36
  ## DrawStroke
38
37
 
@@ -42,7 +41,7 @@ interface DrawStroke {
42
41
  tool: DrawTool;
43
42
  color: string;
44
43
  width: number;
45
- points: Point[];
44
+ points: Point[]; // {x, y, pressure?}
46
45
  timestamp: number;
47
46
  }
48
47
  ```
@@ -50,95 +49,44 @@ interface DrawStroke {
50
49
  ## Events
51
50
 
52
51
  - `draw-start` - Drawing started
53
- - `draw-end` - Stroke completed (detail: { stroke })
52
+ - `draw-end` `{ stroke }` - Stroke completed
54
53
  - `draw-clear` - Canvas cleared
55
54
  - `draw-undo` - Undo performed
56
55
  - `draw-redo` - Redo performed
57
56
 
58
- ## Usage
57
+ ## CSS Parts
59
58
 
60
- ```javascript
61
- // Change tool
62
- draw.tool = 'pen';
63
- draw.color = '#ff0000';
64
- draw.strokeWidth = 5;
59
+ - `base` - Outer draw container
60
+ - `canvas` - Drawing canvas element
65
61
 
66
- // Lazy brush
67
- draw.lazy = true;
68
- draw.lazyRadius = 60;
69
- draw.friction = 0.1;
70
- draw.smoothing = 0.5;
62
+ ## Basic Usage
71
63
 
72
- // Auto-polygon
73
- draw.autoPolygon = true;
74
- draw.polygonCurvePoints = 15; // Smoother curves
64
+ ```html
65
+ <snice-draw width="800" height="600" tool="pen" color="#000000" stroke-width="2"></snice-draw>
66
+ <snice-draw lazy lazy-radius="60" auto-polygon polygon-curve-points="15"></snice-draw>
67
+ <snice-draw auto-circle circle-points="50"></snice-draw>
68
+ ```
75
69
 
76
- // Actions
70
+ ```typescript
71
+ draw.tool = 'pen';
72
+ draw.color = '#ff0000';
77
73
  draw.clear();
78
74
  draw.undo();
79
- draw.redo();
80
-
81
- // Export
82
- const dataURL = draw.toDataURL('image/png');
83
- const blob = await draw.toBlob('image/png');
84
75
  draw.download('drawing.png');
85
76
 
86
- // Save/load
87
77
  const strokes = draw.getStrokes();
88
78
  draw.setStrokes(strokes);
89
-
90
- // Load image
91
79
  await draw.loadImage('bg.jpg');
92
80
  ```
93
81
 
94
- ```html
95
- <snice-draw
96
- width="800"
97
- height="600"
98
- tool="pen"
99
- color="#000000"
100
- stroke-width="2"
101
- lazy
102
- lazy-radius="60"
103
- friction="0.1"
104
- auto-polygon
105
- polygon-curve-points="10">
106
- </snice-draw>
107
- ```
108
-
109
- **CSS Parts:**
110
- - `base` - Outer draw container div
111
- - `canvas` - Drawing canvas element
112
-
113
82
  ## Lazy Brush
114
83
 
115
- Smooth drawing with cursor lag-following:
116
- - Brush follows cursor within radius
117
- - Creates organic, smooth lines
118
- - Reduces jitter and tremor
119
- - Configurable radius and smoothing
84
+ Brush follows cursor within radius for smooth lines. Larger radius = smoother. Reduces jitter/tremor.
120
85
 
121
86
  ## Auto-Polygon
122
87
 
123
- Automatically processes completed strokes into closed shapes:
124
- - Detects self-intersections and trims excess
125
- - Auto-closes open shapes with smooth curves
126
- - `autoPolygon: boolean` - Enable feature (default: false)
127
- - `polygonCurvePoints: number` - Curve smoothness 2-30 (default: 10)
128
-
129
- Processing happens on stroke completion (pointerup):
130
- 1. If stroke crosses itself, trim at first intersection
131
- 2. If start/end points >20px apart, connect with quadratic curve
132
- 3. Higher curve points = smoother closing arc
133
-
134
- ## Features
135
-
136
- - Canvas drawing
137
- - Lazy brush smoothing
138
- - Auto-polygon processing
139
- - Pen/eraser tools
140
- - Undo/redo
141
- - Export (PNG/JPEG/WebP)
142
- - Save/load strokes
143
- - Touch/stylus support
144
- - Keyboard shortcuts
88
+ Processes completed strokes into closed shapes. Detects self-intersections and trims. Auto-closes open shapes with smooth curves. `polygonCurvePoints` 2-30 controls curve smoothness.
89
+
90
+ ## Auto-Circle
91
+
92
+ Detects circular strokes and smooths them. `circlePoints` controls closing curve smoothness.