snice 3.1.0 → 3.3.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 (464) hide show
  1. package/README.md +90 -41
  2. package/dist/components/accordion/snice-accordion-item.d.ts +2 -2
  3. package/dist/components/accordion/snice-accordion-item.js +9 -9
  4. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  5. package/dist/components/accordion/snice-accordion.d.ts +2 -2
  6. package/dist/components/accordion/snice-accordion.js +9 -9
  7. package/dist/components/accordion/snice-accordion.js.map +1 -1
  8. package/dist/components/actions/snice-actions.d.ts +28 -0
  9. package/dist/components/actions/snice-actions.js +220 -0
  10. package/dist/components/actions/snice-actions.js.map +1 -0
  11. package/dist/components/actions/snice-actions.types.d.ts +27 -0
  12. package/dist/components/alert/snice-alert.d.ts +2 -2
  13. package/dist/components/alert/snice-alert.js +9 -9
  14. package/dist/components/alert/snice-alert.js.map +1 -1
  15. package/dist/components/audio-recorder/snice-audio-recorder.d.ts +58 -0
  16. package/dist/components/audio-recorder/snice-audio-recorder.js +413 -0
  17. package/dist/components/audio-recorder/snice-audio-recorder.js.map +1 -0
  18. package/dist/components/audio-recorder/snice-audio-recorder.types.d.ts +28 -0
  19. package/dist/components/avatar/snice-avatar.d.ts +2 -2
  20. package/dist/components/avatar/snice-avatar.js +9 -9
  21. package/dist/components/avatar/snice-avatar.js.map +1 -1
  22. package/dist/components/badge/snice-badge.d.ts +2 -2
  23. package/dist/components/badge/snice-badge.js +10 -10
  24. package/dist/components/badge/snice-badge.js.map +1 -1
  25. package/dist/components/banner/snice-banner.d.ts +22 -0
  26. package/dist/components/banner/snice-banner.js +180 -0
  27. package/dist/components/banner/snice-banner.js.map +1 -0
  28. package/dist/components/banner/snice-banner.types.d.ts +14 -0
  29. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +2 -2
  30. package/dist/components/breadcrumbs/snice-breadcrumbs.js +9 -9
  31. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  32. package/dist/components/button/snice-button.d.ts +2 -2
  33. package/dist/components/button/snice-button.js +9 -9
  34. package/dist/components/button/snice-button.js.map +1 -1
  35. package/dist/components/calendar/snice-calendar.d.ts +46 -0
  36. package/dist/components/calendar/snice-calendar.js +294 -0
  37. package/dist/components/calendar/snice-calendar.js.map +1 -0
  38. package/dist/components/calendar/snice-calendar.types.d.ts +34 -0
  39. package/dist/components/camera/snice-camera.d.ts +39 -0
  40. package/dist/components/camera/snice-camera.js +286 -0
  41. package/dist/components/camera/snice-camera.js.map +1 -0
  42. package/dist/components/camera/snice-camera.types.d.ts +28 -0
  43. package/dist/components/card/snice-card.d.ts +2 -2
  44. package/dist/components/card/snice-card.js +9 -9
  45. package/dist/components/card/snice-card.js.map +1 -1
  46. package/dist/components/carousel/snice-carousel.d.ts +32 -0
  47. package/dist/components/carousel/snice-carousel.js +279 -0
  48. package/dist/components/carousel/snice-carousel.js.map +1 -0
  49. package/dist/components/carousel/snice-carousel.types.d.ts +22 -0
  50. package/dist/components/chart/snice-chart.d.ts +73 -0
  51. package/dist/components/chart/snice-chart.js +940 -0
  52. package/dist/components/chart/snice-chart.js.map +1 -0
  53. package/dist/components/chart/snice-chart.types.d.ts +71 -0
  54. package/dist/components/chat/snice-chat.d.ts +98 -0
  55. package/dist/components/chat/snice-chat.js +589 -0
  56. package/dist/components/chat/snice-chat.js.map +1 -0
  57. package/dist/components/chat/snice-chat.types.d.ts +141 -0
  58. package/dist/components/checkbox/snice-checkbox.d.ts +2 -2
  59. package/dist/components/checkbox/snice-checkbox.js +9 -9
  60. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  61. package/dist/components/chip/snice-chip.d.ts +2 -2
  62. package/dist/components/chip/snice-chip.js +9 -9
  63. package/dist/components/chip/snice-chip.js.map +1 -1
  64. package/dist/components/code-block/snice-code-block.d.ts +15 -0
  65. package/dist/components/code-block/snice-code-block.js +141 -0
  66. package/dist/components/code-block/snice-code-block.js.map +1 -0
  67. package/dist/components/code-block/snice-code-block.types.d.ts +15 -0
  68. package/dist/components/color-display/snice-color-display.d.ts +14 -0
  69. package/dist/components/color-display/snice-color-display.js +151 -0
  70. package/dist/components/color-display/snice-color-display.js.map +1 -0
  71. package/dist/components/color-display/snice-color-display.types.d.ts +10 -0
  72. package/dist/components/color-picker/snice-color-picker.d.ts +50 -0
  73. package/dist/components/color-picker/snice-color-picker.js +489 -0
  74. package/dist/components/color-picker/snice-color-picker.js.map +1 -0
  75. package/dist/components/color-picker/snice-color-picker.types.d.ts +19 -0
  76. package/dist/components/command-palette/snice-command-palette.d.ts +47 -0
  77. package/dist/components/command-palette/snice-command-palette.js +428 -0
  78. package/dist/components/command-palette/snice-command-palette.js.map +1 -0
  79. package/dist/components/command-palette/snice-command-palette.types.d.ts +49 -0
  80. package/dist/components/date-picker/snice-date-picker.d.ts +2 -2
  81. package/dist/components/date-picker/snice-date-picker.js +10 -10
  82. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  83. package/dist/components/divider/snice-divider.d.ts +2 -2
  84. package/dist/components/divider/snice-divider.js +9 -9
  85. package/dist/components/divider/snice-divider.js.map +1 -1
  86. package/dist/components/doc/snice-doc.d.ts +93 -0
  87. package/dist/components/doc/snice-doc.js +626 -0
  88. package/dist/components/doc/snice-doc.js.map +1 -0
  89. package/dist/components/doc/snice-doc.types.d.ts +118 -0
  90. package/dist/components/draw/snice-draw.d.ts +71 -0
  91. package/dist/components/draw/snice-draw.js +709 -0
  92. package/dist/components/draw/snice-draw.js.map +1 -0
  93. package/dist/components/draw/snice-draw.types.d.ts +41 -0
  94. package/dist/components/drawer/snice-drawer.d.ts +2 -2
  95. package/dist/components/drawer/snice-drawer.js +9 -9
  96. package/dist/components/drawer/snice-drawer.js.map +1 -1
  97. package/dist/components/empty-state/snice-empty-state.d.ts +13 -0
  98. package/dist/components/empty-state/snice-empty-state.js +121 -0
  99. package/dist/components/empty-state/snice-empty-state.js.map +1 -0
  100. package/dist/components/empty-state/snice-empty-state.types.d.ts +9 -0
  101. package/dist/components/file-upload/snice-file-upload.d.ts +44 -0
  102. package/dist/components/file-upload/snice-file-upload.js +387 -0
  103. package/dist/components/file-upload/snice-file-upload.js.map +1 -0
  104. package/dist/components/file-upload/snice-file-upload.types.d.ts +22 -0
  105. package/dist/components/gantt/snice-gantt.d.ts +29 -0
  106. package/dist/components/gantt/snice-gantt.js +268 -0
  107. package/dist/components/gantt/snice-gantt.js.map +1 -0
  108. package/dist/components/gantt/snice-gantt.types.d.ts +23 -0
  109. package/dist/components/image/snice-image.d.ts +22 -0
  110. package/dist/components/image/snice-image.js +201 -0
  111. package/dist/components/image/snice-image.js.map +1 -0
  112. package/dist/components/image/snice-image.types.d.ts +17 -0
  113. package/dist/components/input/snice-input.d.ts +2 -2
  114. package/dist/components/input/snice-input.js +9 -9
  115. package/dist/components/input/snice-input.js.map +1 -1
  116. package/dist/components/kanban/snice-kanban.d.ts +31 -0
  117. package/dist/components/kanban/snice-kanban.js +243 -0
  118. package/dist/components/kanban/snice-kanban.js.map +1 -0
  119. package/dist/components/kanban/snice-kanban.types.d.ts +29 -0
  120. package/dist/components/kpi/snice-kpi.d.ts +16 -0
  121. package/dist/components/kpi/snice-kpi.js +162 -0
  122. package/dist/components/kpi/snice-kpi.js.map +1 -0
  123. package/dist/components/kpi/snice-kpi.types.d.ts +12 -0
  124. package/dist/components/layout/snice-layout-blog.d.ts +2 -2
  125. package/dist/components/layout/snice-layout-blog.js +9 -9
  126. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  127. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  128. package/dist/components/layout/snice-layout-card.js +9 -9
  129. package/dist/components/layout/snice-layout-card.js.map +1 -1
  130. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  131. package/dist/components/layout/snice-layout-centered.js +9 -9
  132. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  133. package/dist/components/layout/snice-layout-dashboard.d.ts +2 -2
  134. package/dist/components/layout/snice-layout-dashboard.js +9 -9
  135. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  136. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  137. package/dist/components/layout/snice-layout-fullscreen.js +9 -9
  138. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  139. package/dist/components/layout/snice-layout-landing.d.ts +2 -2
  140. package/dist/components/layout/snice-layout-landing.js +9 -9
  141. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  142. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  143. package/dist/components/layout/snice-layout-minimal.js +9 -9
  144. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  145. package/dist/components/layout/snice-layout-sidebar.d.ts +2 -2
  146. package/dist/components/layout/snice-layout-sidebar.js +9 -9
  147. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  148. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  149. package/dist/components/layout/snice-layout-split.js +9 -9
  150. package/dist/components/layout/snice-layout-split.js.map +1 -1
  151. package/dist/components/layout/snice-layout.d.ts +2 -2
  152. package/dist/components/layout/snice-layout.js +9 -9
  153. package/dist/components/layout/snice-layout.js.map +1 -1
  154. package/dist/components/link/snice-link.d.ts +13 -0
  155. package/dist/components/link/snice-link.js +137 -0
  156. package/dist/components/link/snice-link.js.map +1 -0
  157. package/dist/components/link/snice-link.types.d.ts +11 -0
  158. package/dist/components/list/snice-list-item.d.ts +6 -0
  159. package/dist/components/list/snice-list-item.js +68 -0
  160. package/dist/components/list/snice-list-item.js.map +1 -0
  161. package/dist/components/list/snice-list.d.ts +23 -0
  162. package/dist/components/list/snice-list.js +270 -0
  163. package/dist/components/list/snice-list.js.map +1 -0
  164. package/dist/components/list/snice-list.types.d.ts +28 -0
  165. package/dist/components/location/snice-location.d.ts +35 -0
  166. package/dist/components/location/snice-location.js +238 -0
  167. package/dist/components/location/snice-location.js.map +1 -0
  168. package/dist/components/location/snice-location.types.d.ts +35 -0
  169. package/dist/components/login/snice-login.d.ts +2 -2
  170. package/dist/components/login/snice-login.js +9 -9
  171. package/dist/components/login/snice-login.js.map +1 -1
  172. package/dist/components/menu/snice-menu-divider.d.ts +4 -0
  173. package/dist/components/menu/snice-menu-divider.js +53 -0
  174. package/dist/components/menu/snice-menu-divider.js.map +1 -0
  175. package/dist/components/menu/snice-menu-item.d.ts +10 -0
  176. package/dist/components/menu/snice-menu-item.js +99 -0
  177. package/dist/components/menu/snice-menu-item.js.map +1 -0
  178. package/dist/components/menu/snice-menu-item.types.d.ts +9 -0
  179. package/dist/components/menu/snice-menu.d.ts +27 -0
  180. package/dist/components/menu/snice-menu.js +199 -0
  181. package/dist/components/menu/snice-menu.js.map +1 -0
  182. package/dist/components/menu/snice-menu.types.d.ts +18 -0
  183. package/dist/components/modal/snice-modal.d.ts +2 -2
  184. package/dist/components/modal/snice-modal.js +9 -9
  185. package/dist/components/modal/snice-modal.js.map +1 -1
  186. package/dist/components/nav/snice-nav.js +1 -1
  187. package/dist/components/nav/snice-nav.js.map +1 -1
  188. package/dist/components/pagination/snice-pagination.d.ts +2 -2
  189. package/dist/components/pagination/snice-pagination.js +8 -8
  190. package/dist/components/pagination/snice-pagination.js.map +1 -1
  191. package/dist/components/progress/snice-progress.d.ts +2 -2
  192. package/dist/components/progress/snice-progress.js +9 -9
  193. package/dist/components/progress/snice-progress.js.map +1 -1
  194. package/dist/components/qr-code/qrcode.d.ts +28 -0
  195. package/dist/components/qr-code/qrcode.js +906 -0
  196. package/dist/components/qr-code/qrcode.js.map +1 -0
  197. package/dist/components/qr-code/snice-qr-code.d.ts +35 -0
  198. package/dist/components/qr-code/snice-qr-code.js +256 -0
  199. package/dist/components/qr-code/snice-qr-code.js.map +1 -0
  200. package/dist/components/qr-code/snice-qr-code.types.d.ts +33 -0
  201. package/dist/components/radio/snice-radio.d.ts +2 -2
  202. package/dist/components/radio/snice-radio.js +9 -9
  203. package/dist/components/radio/snice-radio.js.map +1 -1
  204. package/dist/components/select/snice-option.d.ts +2 -2
  205. package/dist/components/select/snice-option.js +8 -8
  206. package/dist/components/select/snice-option.js.map +1 -1
  207. package/dist/components/select/snice-select.d.ts +2 -2
  208. package/dist/components/select/snice-select.js +9 -9
  209. package/dist/components/select/snice-select.js.map +1 -1
  210. package/dist/components/skeleton/snice-skeleton.d.ts +2 -2
  211. package/dist/components/skeleton/snice-skeleton.js +9 -9
  212. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  213. package/dist/components/slider/snice-slider.d.ts +53 -0
  214. package/dist/components/slider/snice-slider.js +479 -0
  215. package/dist/components/slider/snice-slider.js.map +1 -0
  216. package/dist/components/slider/snice-slider.types.d.ts +26 -0
  217. package/dist/components/snice-cell-C0slgOpe.js +4 -0
  218. package/dist/components/snice-cell-C0slgOpe.js.map +1 -0
  219. package/dist/components/sparkline/snice-sparkline.d.ts +21 -0
  220. package/dist/components/sparkline/snice-sparkline.js +228 -0
  221. package/dist/components/sparkline/snice-sparkline.js.map +1 -0
  222. package/dist/components/sparkline/snice-sparkline.types.d.ts +16 -0
  223. package/dist/components/spinner/snice-spinner.d.ts +10 -0
  224. package/dist/components/spinner/snice-spinner.js +109 -0
  225. package/dist/components/spinner/snice-spinner.js.map +1 -0
  226. package/dist/components/spinner/snice-spinner.types.d.ts +8 -0
  227. package/dist/components/split-pane/snice-split-pane.d.ts +32 -0
  228. package/dist/components/split-pane/snice-split-pane.js +191 -0
  229. package/dist/components/split-pane/snice-split-pane.js.map +1 -0
  230. package/dist/components/split-pane/snice-split-pane.types.d.ts +19 -0
  231. package/dist/components/stat/snice-stat.d.ts +14 -0
  232. package/dist/components/stat/snice-stat.js +140 -0
  233. package/dist/components/stat/snice-stat.js.map +1 -0
  234. package/dist/components/stat/snice-stat.types.d.ts +12 -0
  235. package/dist/components/stepper/snice-stepper-panel.d.ts +8 -0
  236. package/dist/components/stepper/snice-stepper-panel.js +70 -0
  237. package/dist/components/stepper/snice-stepper-panel.js.map +1 -0
  238. package/dist/components/stepper/snice-stepper-panel.types.d.ts +4 -0
  239. package/dist/components/stepper/snice-stepper.d.ts +15 -0
  240. package/dist/components/stepper/snice-stepper.js +163 -0
  241. package/dist/components/stepper/snice-stepper.js.map +1 -0
  242. package/dist/components/stepper/snice-stepper.types.d.ts +13 -0
  243. package/dist/components/switch/snice-switch.d.ts +2 -2
  244. package/dist/components/switch/snice-switch.js +9 -9
  245. package/dist/components/switch/snice-switch.js.map +1 -1
  246. package/dist/components/table/snice-cell-actions.d.ts +2 -2
  247. package/dist/components/table/snice-cell-actions.js +9 -9
  248. package/dist/components/table/snice-cell-actions.js.map +1 -1
  249. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  250. package/dist/components/table/snice-cell-boolean.js +9 -9
  251. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  252. package/dist/components/table/snice-cell-color.d.ts +2 -2
  253. package/dist/components/table/snice-cell-color.js +9 -9
  254. package/dist/components/table/snice-cell-color.js.map +1 -1
  255. package/dist/components/table/snice-cell-currency.d.ts +2 -2
  256. package/dist/components/table/snice-cell-currency.js +9 -9
  257. package/dist/components/table/snice-cell-currency.js.map +1 -1
  258. package/dist/components/table/snice-cell-date.d.ts +2 -2
  259. package/dist/components/table/snice-cell-date.js +9 -9
  260. package/dist/components/table/snice-cell-date.js.map +1 -1
  261. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  262. package/dist/components/table/snice-cell-duration.js +9 -9
  263. package/dist/components/table/snice-cell-duration.js.map +1 -1
  264. package/dist/components/table/snice-cell-email.d.ts +2 -2
  265. package/dist/components/table/snice-cell-email.js +9 -9
  266. package/dist/components/table/snice-cell-email.js.map +1 -1
  267. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  268. package/dist/components/table/snice-cell-filesize.js +9 -9
  269. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  270. package/dist/components/table/snice-cell-image.d.ts +2 -2
  271. package/dist/components/table/snice-cell-image.js +9 -9
  272. package/dist/components/table/snice-cell-image.js.map +1 -1
  273. package/dist/components/table/snice-cell-json.d.ts +2 -2
  274. package/dist/components/table/snice-cell-json.js +9 -9
  275. package/dist/components/table/snice-cell-json.js.map +1 -1
  276. package/dist/components/table/snice-cell-link.d.ts +2 -2
  277. package/dist/components/table/snice-cell-link.js +9 -9
  278. package/dist/components/table/snice-cell-link.js.map +1 -1
  279. package/dist/components/table/snice-cell-location.d.ts +2 -2
  280. package/dist/components/table/snice-cell-location.js +9 -9
  281. package/dist/components/table/snice-cell-location.js.map +1 -1
  282. package/dist/components/table/snice-cell-number.d.ts +2 -2
  283. package/dist/components/table/snice-cell-number.js +9 -9
  284. package/dist/components/table/snice-cell-number.js.map +1 -1
  285. package/dist/components/table/snice-cell-percentage.d.ts +2 -2
  286. package/dist/components/table/snice-cell-percentage.js +9 -9
  287. package/dist/components/table/snice-cell-percentage.js.map +1 -1
  288. package/dist/components/table/snice-cell-phone.d.ts +2 -2
  289. package/dist/components/table/snice-cell-phone.js +9 -9
  290. package/dist/components/table/snice-cell-phone.js.map +1 -1
  291. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  292. package/dist/components/table/snice-cell-progress.js +9 -9
  293. package/dist/components/table/snice-cell-progress.js.map +1 -1
  294. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  295. package/dist/components/table/snice-cell-rating.js +9 -9
  296. package/dist/components/table/snice-cell-rating.js.map +1 -1
  297. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  298. package/dist/components/table/snice-cell-sparkline.js +9 -9
  299. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  300. package/dist/components/table/snice-cell-status.d.ts +2 -2
  301. package/dist/components/table/snice-cell-status.js +9 -9
  302. package/dist/components/table/snice-cell-status.js.map +1 -1
  303. package/dist/components/table/snice-cell-tag.d.ts +2 -2
  304. package/dist/components/table/snice-cell-tag.js +9 -9
  305. package/dist/components/table/snice-cell-tag.js.map +1 -1
  306. package/dist/components/table/snice-cell-text.d.ts +2 -2
  307. package/dist/components/table/snice-cell-text.js +9 -9
  308. package/dist/components/table/snice-cell-text.js.map +1 -1
  309. package/dist/components/table/snice-cell.d.ts +2 -2
  310. package/dist/components/table/snice-cell.js +9 -9
  311. package/dist/components/table/snice-cell.js.map +1 -1
  312. package/dist/components/table/snice-column.d.ts +1 -1
  313. package/dist/components/table/snice-column.js +4 -4
  314. package/dist/components/table/snice-column.js.map +1 -1
  315. package/dist/components/table/snice-header.d.ts +2 -2
  316. package/dist/components/table/snice-header.js +9 -9
  317. package/dist/components/table/snice-header.js.map +1 -1
  318. package/dist/components/table/snice-progress.d.ts +2 -2
  319. package/dist/components/table/snice-progress.js +8 -8
  320. package/dist/components/table/snice-progress.js.map +1 -1
  321. package/dist/components/table/snice-rating.d.ts +2 -2
  322. package/dist/components/table/snice-rating.js +8 -8
  323. package/dist/components/table/snice-rating.js.map +1 -1
  324. package/dist/components/table/snice-row.d.ts +2 -2
  325. package/dist/components/table/snice-row.js +10 -10
  326. package/dist/components/table/snice-row.js.map +1 -1
  327. package/dist/components/table/snice-table.d.ts +2 -3
  328. package/dist/components/table/snice-table.js +9 -14
  329. package/dist/components/table/snice-table.js.map +1 -1
  330. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  331. package/dist/components/tabs/snice-tab-panel.js +9 -9
  332. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  333. package/dist/components/tabs/snice-tab.d.ts +2 -2
  334. package/dist/components/tabs/snice-tab.js +9 -9
  335. package/dist/components/tabs/snice-tab.js.map +1 -1
  336. package/dist/components/tabs/snice-tabs.d.ts +2 -2
  337. package/dist/components/tabs/snice-tabs.js +9 -9
  338. package/dist/components/tabs/snice-tabs.js.map +1 -1
  339. package/dist/components/terminal/snice-terminal.types.d.ts +133 -0
  340. package/dist/components/textarea/snice-textarea.d.ts +52 -0
  341. package/dist/components/textarea/snice-textarea.js +407 -0
  342. package/dist/components/textarea/snice-textarea.js.map +1 -0
  343. package/dist/components/textarea/snice-textarea.types.d.ts +30 -0
  344. package/dist/components/timeline/snice-timeline.d.ts +11 -0
  345. package/dist/components/timeline/snice-timeline.js +112 -0
  346. package/dist/components/timeline/snice-timeline.js.map +1 -0
  347. package/dist/components/timeline/snice-timeline.types.d.ts +16 -0
  348. package/dist/components/toast/snice-toast-container.d.ts +2 -2
  349. package/dist/components/toast/snice-toast-container.js +8 -8
  350. package/dist/components/toast/snice-toast-container.js.map +1 -1
  351. package/dist/components/toast/snice-toast.d.ts +2 -2
  352. package/dist/components/toast/snice-toast.js +8 -8
  353. package/dist/components/toast/snice-toast.js.map +1 -1
  354. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  355. package/dist/components/tooltip/snice-tooltip.js +10 -10
  356. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  357. package/dist/components/tree/snice-tree-item.d.ts +35 -0
  358. package/dist/components/tree/snice-tree-item.js +301 -0
  359. package/dist/components/tree/snice-tree-item.js.map +1 -0
  360. package/dist/components/tree/snice-tree-item.types.d.ts +30 -0
  361. package/dist/components/tree/snice-tree.d.ts +45 -0
  362. package/dist/components/tree/snice-tree.js +390 -0
  363. package/dist/components/tree/snice-tree.js.map +1 -0
  364. package/dist/components/tree/snice-tree.types.d.ts +65 -0
  365. package/dist/components/virtual-scroller/snice-virtual-scroller.d.ts +31 -0
  366. package/dist/components/virtual-scroller/snice-virtual-scroller.js +160 -0
  367. package/dist/components/virtual-scroller/snice-virtual-scroller.js.map +1 -0
  368. package/dist/components/virtual-scroller/snice-virtual-scroller.types.d.ts +19 -0
  369. package/dist/index.cjs +125 -158
  370. package/dist/index.cjs.map +1 -1
  371. package/dist/index.esm.js +125 -158
  372. package/dist/index.esm.js.map +1 -1
  373. package/dist/index.iife.js +125 -158
  374. package/dist/index.iife.js.map +1 -1
  375. package/dist/parts.d.ts +13 -16
  376. package/dist/symbols.cjs +1 -1
  377. package/dist/symbols.esm.js +1 -1
  378. package/dist/template.d.ts +0 -1
  379. package/dist/transitions.cjs +1 -1
  380. package/dist/transitions.esm.js +1 -1
  381. package/docs/ai/README.md +10 -1
  382. package/docs/ai/components/actions.md +81 -0
  383. package/docs/ai/components/audio-recorder.md +97 -0
  384. package/docs/ai/components/banner.md +84 -0
  385. package/docs/ai/components/calendar.md +95 -0
  386. package/docs/ai/components/camera.md +130 -0
  387. package/docs/ai/components/carousel.md +49 -0
  388. package/docs/ai/components/chart.md +160 -0
  389. package/docs/ai/components/chat.md +189 -0
  390. package/docs/ai/components/code-block.md +32 -0
  391. package/docs/ai/components/color-display.md +48 -0
  392. package/docs/ai/components/color-picker.md +75 -0
  393. package/docs/ai/components/command-palette.md +117 -0
  394. package/docs/ai/components/doc.md +154 -0
  395. package/docs/ai/components/draw.md +140 -0
  396. package/docs/ai/components/empty-state.md +72 -0
  397. package/docs/ai/components/file-upload.md +93 -0
  398. package/docs/ai/components/gantt.md +95 -0
  399. package/docs/ai/components/image.md +60 -0
  400. package/docs/ai/components/kanban.md +102 -0
  401. package/docs/ai/components/kpi.md +158 -0
  402. package/docs/ai/components/layout.md +261 -0
  403. package/docs/ai/components/link.md +77 -0
  404. package/docs/ai/components/list.md +50 -0
  405. package/docs/ai/components/location.md +75 -0
  406. package/docs/ai/components/menu.md +114 -0
  407. package/docs/ai/components/popover.md +70 -0
  408. package/docs/ai/components/qr-code.md +106 -0
  409. package/docs/ai/components/slider.md +87 -0
  410. package/docs/ai/components/sparkline.md +168 -0
  411. package/docs/ai/components/spinner.md +47 -0
  412. package/docs/ai/components/split-pane.md +71 -0
  413. package/docs/ai/components/stat.md +29 -0
  414. package/docs/ai/components/stepper.md +216 -0
  415. package/docs/ai/components/textarea.md +87 -0
  416. package/docs/ai/components/timeline.md +77 -0
  417. package/docs/ai/components/tree.md +191 -0
  418. package/docs/ai/components/virtual-scroller.md +71 -0
  419. package/docs/components/actions.md +317 -0
  420. package/docs/components/alert.md +540 -0
  421. package/docs/components/audio-recorder.md +152 -0
  422. package/docs/components/badge.md +593 -0
  423. package/docs/components/banner.md +106 -0
  424. package/docs/components/breadcrumbs.md +568 -0
  425. package/docs/components/button.md +648 -0
  426. package/docs/components/calendar.md +397 -0
  427. package/docs/components/camera.md +383 -0
  428. package/docs/components/card.md +778 -0
  429. package/docs/components/carousel.md +63 -0
  430. package/docs/components/chart.md +526 -0
  431. package/docs/components/chat.md +482 -0
  432. package/docs/components/checkbox.md +714 -0
  433. package/docs/components/chip.md +670 -0
  434. package/docs/components/code-block.md +49 -0
  435. package/docs/components/color-display.md +96 -0
  436. package/docs/components/color-picker.md +81 -0
  437. package/docs/components/command-palette.md +159 -0
  438. package/docs/components/doc.md +357 -0
  439. package/docs/components/draw.md +307 -0
  440. package/docs/components/empty-state.md +79 -0
  441. package/docs/components/file-upload.md +263 -0
  442. package/docs/components/gantt.md +347 -0
  443. package/docs/components/image.md +110 -0
  444. package/docs/components/kanban.md +410 -0
  445. package/docs/components/kpi.md +251 -0
  446. package/docs/components/link.md +229 -0
  447. package/docs/components/list.md +65 -0
  448. package/docs/components/location.md +369 -0
  449. package/docs/components/menu.md +633 -0
  450. package/docs/components/popover.md +333 -0
  451. package/docs/components/qr-code.md +464 -0
  452. package/docs/components/slider.md +297 -0
  453. package/docs/components/sparkline.md +293 -0
  454. package/docs/components/spinner.md +63 -0
  455. package/docs/components/split-pane.md +315 -0
  456. package/docs/components/stat.md +45 -0
  457. package/docs/components/stepper.md +410 -0
  458. package/docs/components/textarea.md +235 -0
  459. package/docs/components/timeline.md +192 -0
  460. package/docs/components/tree.md +536 -0
  461. package/docs/components/virtual-scroller.md +298 -0
  462. package/package.json +2 -1
  463. package/dist/components/snice-cell-BLFVdxPp.js +0 -4
  464. package/dist/components/snice-cell-BLFVdxPp.js.map +0 -1
@@ -0,0 +1,154 @@
1
+ # snice-doc
2
+
3
+ Notion-like document editor with block-based editing.
4
+
5
+ ## Usage
6
+
7
+ ```html
8
+ <snice-doc></snice-doc>
9
+ ```
10
+
11
+ ## Properties
12
+
13
+ - `blocks: DocBlock[]` - Document blocks (property only)
14
+ - `placeholder: string` - Placeholder text (default: `"Type '/' for commands..."`)
15
+ - `readonly: boolean` - Readonly mode (default: `false`)
16
+
17
+ ## Methods
18
+
19
+ - `getBlocks(): DocBlock[]` - Get blocks copy
20
+ - `setBlocks(blocks: DocBlock[]): void` - Set blocks
21
+ - `toJSON(): string` - Export as JSON
22
+ - `fromJSON(json: string): void` - Import from JSON
23
+ - `toMarkdown(): string` - Export as Markdown
24
+ - `toHTML(): string` - Export as HTML
25
+ - `focus(): void` - Focus editor
26
+ - `clear(): void` - Clear all content
27
+
28
+ ## Events
29
+
30
+ - `doc-change: CustomEvent<{ blocks: DocBlock[] }>` - Content changed
31
+ - `doc-focus: CustomEvent<{ blockId: string }>` - Block focused
32
+ - `doc-blur: CustomEvent<{ blockId: string }>` - Block blurred
33
+
34
+ ## Block Types
35
+
36
+ - `paragraph` - Text paragraph
37
+ - `heading-1` - H1 heading
38
+ - `heading-2` - H2 heading
39
+ - `heading-3` - H3 heading
40
+ - `bulleted-list` - Bulleted list item
41
+ - `numbered-list` - Numbered list item
42
+ - `todo` - To-do with checkbox
43
+ - `code` - Code block
44
+ - `quote` - Blockquote
45
+ - `divider` - Horizontal rule
46
+
47
+ ## Keyboard Shortcuts
48
+
49
+ - **/** - Open block menu
50
+ - **Enter** - New block
51
+ - **Backspace** (empty) - Delete block
52
+ - **Ctrl/Cmd+B** - Bold (planned)
53
+ - **Ctrl/Cmd+I** - Italic (planned)
54
+ - **Ctrl/Cmd+U** - Underline (planned)
55
+
56
+ ## Block Menu
57
+
58
+ - **ArrowDown/Up** - Navigate
59
+ - **Enter** - Select
60
+ - **Escape** - Close
61
+
62
+ ## CSS Variables
63
+
64
+ ```css
65
+ --snice-doc-text-color
66
+ --snice-doc-background
67
+ --snice-doc-muted-color
68
+ --snice-doc-placeholder-color
69
+ --snice-doc-primary-color
70
+ --snice-doc-link-color
71
+ --snice-doc-code-background
72
+ --snice-doc-code-border
73
+ --snice-doc-inline-code-background
74
+ --snice-doc-quote-border
75
+ --snice-doc-divider-color
76
+ --snice-doc-menu-background
77
+ --snice-doc-menu-border
78
+ --snice-doc-menu-hover
79
+ --snice-doc-toolbar-background
80
+ --snice-doc-toolbar-text
81
+ --snice-doc-toolbar-hover
82
+ --snice-doc-toolbar-active
83
+ --snice-doc-padding
84
+ --snice-doc-min-height
85
+ --snice-doc-max-width
86
+ ```
87
+
88
+ ## Types
89
+
90
+ ```typescript
91
+ type BlockType =
92
+ | 'paragraph'
93
+ | 'heading-1'
94
+ | 'heading-2'
95
+ | 'heading-3'
96
+ | 'bulleted-list'
97
+ | 'numbered-list'
98
+ | 'todo'
99
+ | 'code'
100
+ | 'quote'
101
+ | 'divider';
102
+
103
+ interface DocBlock {
104
+ id: string;
105
+ type: BlockType;
106
+ content: string;
107
+ formats: TextRange[];
108
+ checked?: boolean;
109
+ indent?: number;
110
+ }
111
+
112
+ interface TextRange {
113
+ start: number;
114
+ end: number;
115
+ format: InlineFormat;
116
+ value?: string;
117
+ }
118
+
119
+ type InlineFormat = 'bold' | 'italic' | 'underline' | 'strikethrough' | 'code' | 'link';
120
+ ```
121
+
122
+ ## Example
123
+
124
+ ```javascript
125
+ const doc = document.querySelector('snice-doc');
126
+
127
+ doc.setBlocks([
128
+ { id: '1', type: 'heading-1', content: 'Title', formats: [] },
129
+ { id: '2', type: 'paragraph', content: 'Content', formats: [] },
130
+ { id: '3', type: 'todo', content: 'Task', formats: [], checked: false },
131
+ ]);
132
+
133
+ doc.addEventListener('doc-change', (e) => {
134
+ console.log(e.detail.blocks);
135
+ });
136
+
137
+ // Export
138
+ const json = doc.toJSON();
139
+ const markdown = doc.toMarkdown();
140
+ const html = doc.toHTML();
141
+ ```
142
+
143
+ ## Features
144
+
145
+ - Block-based editing
146
+ - Type `/` for block menu
147
+ - Drag to reorder
148
+ - Export JSON/Markdown/HTML
149
+ - Readonly mode
150
+ - Keyboard shortcuts
151
+ - To-do lists with checkboxes
152
+ - Code blocks
153
+ - Quotes
154
+ - Dividers
@@ -0,0 +1,140 @@
1
+ # snice-draw
2
+
3
+ Canvas drawing with lazy-brush smoothing.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ width: number = 800;
9
+ height: number = 600;
10
+ tool: 'pen'|'eraser'|'line'|'rectangle'|'circle'|'text' = 'pen';
11
+ color: string = '#000000';
12
+ strokeWidth: number = 2;
13
+ backgroundColor: string = '#ffffff';
14
+ lazy: boolean = false;
15
+ lazyRadius: number = 60;
16
+ friction: number = 0.1;
17
+ smoothing: number = 0.5;
18
+ autoPolygon: boolean = false;
19
+ polygonCurvePoints: number = 10;
20
+ disabled: boolean = false;
21
+ ```
22
+
23
+ ## Methods
24
+
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
+ ```
36
+
37
+ ## DrawStroke
38
+
39
+ ```typescript
40
+ interface DrawStroke {
41
+ id: string;
42
+ tool: DrawTool;
43
+ color: string;
44
+ width: number;
45
+ points: Point[];
46
+ timestamp: number;
47
+ }
48
+ ```
49
+
50
+ ## Events
51
+
52
+ - `@snice/draw-start` - Drawing started
53
+ - `@snice/draw-end` - Stroke completed (detail: { stroke })
54
+ - `@snice/draw-clear` - Canvas cleared
55
+ - `@snice/draw-undo` - Undo performed
56
+ - `@snice/draw-redo` - Redo performed
57
+
58
+ ## Usage
59
+
60
+ ```javascript
61
+ // Change tool
62
+ draw.tool = 'pen';
63
+ draw.color = '#ff0000';
64
+ draw.strokeWidth = 5;
65
+
66
+ // Lazy brush
67
+ draw.lazy = true;
68
+ draw.lazyRadius = 60;
69
+ draw.friction = 0.1;
70
+ draw.smoothing = 0.5;
71
+
72
+ // Auto-polygon
73
+ draw.autoPolygon = true;
74
+ draw.polygonCurvePoints = 15; // Smoother curves
75
+
76
+ // Actions
77
+ draw.clear();
78
+ draw.undo();
79
+ draw.redo();
80
+
81
+ // Export
82
+ const dataURL = draw.toDataURL('image/png');
83
+ const blob = await draw.toBlob('image/png');
84
+ draw.download('drawing.png');
85
+
86
+ // Save/load
87
+ const strokes = draw.getStrokes();
88
+ draw.setStrokes(strokes);
89
+
90
+ // Load image
91
+ await draw.loadImage('bg.jpg');
92
+ ```
93
+
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
+ ## Lazy Brush
110
+
111
+ Smooth drawing with cursor lag-following:
112
+ - Brush follows cursor within radius
113
+ - Creates organic, smooth lines
114
+ - Reduces jitter and tremor
115
+ - Configurable radius and smoothing
116
+
117
+ ## Auto-Polygon
118
+
119
+ Automatically processes completed strokes into closed shapes:
120
+ - Detects self-intersections and trims excess
121
+ - Auto-closes open shapes with smooth curves
122
+ - `autoPolygon: boolean` - Enable feature (default: false)
123
+ - `polygonCurvePoints: number` - Curve smoothness 2-30 (default: 10)
124
+
125
+ Processing happens on stroke completion (pointerup):
126
+ 1. If stroke crosses itself, trim at first intersection
127
+ 2. If start/end points >20px apart, connect with quadratic curve
128
+ 3. Higher curve points = smoother closing arc
129
+
130
+ ## Features
131
+
132
+ - Canvas drawing
133
+ - Lazy brush smoothing
134
+ - Auto-polygon processing
135
+ - Pen/eraser tools
136
+ - Undo/redo
137
+ - Export (PNG/JPEG/WebP)
138
+ - Save/load strokes
139
+ - Touch/stylus support
140
+ - Keyboard shortcuts
@@ -0,0 +1,72 @@
1
+ # snice-empty-state
2
+
3
+ Empty state placeholder for no data scenarios.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ size: 'small'|'medium'|'large' = 'medium';
9
+ icon: string = '📭';
10
+ title: string = 'No data';
11
+ description: string = '';
12
+ actionText: string = '';
13
+ actionHref: string = '';
14
+ ```
15
+
16
+ ## Events
17
+
18
+ - `action` - {emptyState}
19
+
20
+ ## Usage
21
+
22
+ ```html
23
+ <!-- Basic -->
24
+ <snice-empty-state></snice-empty-state>
25
+
26
+ <!-- Custom -->
27
+ <snice-empty-state
28
+ icon="🔍"
29
+ title="No results found"
30
+ description="Try adjusting your search"
31
+ ></snice-empty-state>
32
+
33
+ <!-- With action -->
34
+ <snice-empty-state
35
+ title="No items yet"
36
+ description="Get started by creating your first item"
37
+ action-text="Create Item"
38
+ ></snice-empty-state>
39
+
40
+ <!-- With link -->
41
+ <snice-empty-state
42
+ title="Page not found"
43
+ action-text="Go Home"
44
+ action-href="/"
45
+ ></snice-empty-state>
46
+
47
+ <!-- Sizes -->
48
+ <snice-empty-state size="small"></snice-empty-state>
49
+ <snice-empty-state size="medium"></snice-empty-state>
50
+ <snice-empty-state size="large"></snice-empty-state>
51
+
52
+ <!-- Events -->
53
+ <snice-empty-state id="empty" action-text="Click"></snice-empty-state>
54
+ <script>
55
+ document.querySelector('#empty').addEventListener('@snice/empty-state-action', () => {
56
+ console.log('Action clicked');
57
+ });
58
+ </script>
59
+
60
+ <!-- Custom content -->
61
+ <snice-empty-state title="No data">
62
+ <div>Custom HTML content here</div>
63
+ </snice-empty-state>
64
+ ```
65
+
66
+ ## Features
67
+
68
+ - Customizable icon, title, description
69
+ - Optional action button or link
70
+ - 3 sizes
71
+ - Slot for custom content
72
+ - Accessible
@@ -0,0 +1,93 @@
1
+ # snice-file-upload
2
+
3
+ File upload with drag-and-drop and preview.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ variant: 'outlined'|'filled' = 'outlined';
9
+ size: 'small'|'medium'|'large' = 'medium';
10
+ accept: string = '';
11
+ multiple: boolean = false;
12
+ disabled: boolean = false;
13
+ required: boolean = false;
14
+ invalid: boolean = false;
15
+ label: string = '';
16
+ helperText: string = '';
17
+ errorText: string = '';
18
+ maxSize: number = -1; // bytes
19
+ maxFiles: number = -1;
20
+ name: string = '';
21
+ dragDrop: boolean = true;
22
+ showPreview: boolean = true;
23
+ files: FileList | null;
24
+ ```
25
+
26
+ ## Methods
27
+
28
+ - `clear()` - Clear all files
29
+ - `removeFile(index)` - Remove file by index
30
+
31
+ ## Events
32
+
33
+ - `change` - {files, fileUpload}
34
+ - `error` - {message, fileUpload}
35
+
36
+ ## Usage
37
+
38
+ ```html
39
+ <!-- Basic -->
40
+ <snice-file-upload label="Upload File"></snice-file-upload>
41
+
42
+ <!-- Multiple files -->
43
+ <snice-file-upload multiple label="Upload Files"></snice-file-upload>
44
+
45
+ <!-- File type restrictions -->
46
+ <snice-file-upload accept="image/*" label="Images only"></snice-file-upload>
47
+ <snice-file-upload accept=".pdf,.doc,.docx"></snice-file-upload>
48
+
49
+ <!-- Size limit (5MB) -->
50
+ <snice-file-upload max-size="5242880"></snice-file-upload>
51
+
52
+ <!-- File count limit -->
53
+ <snice-file-upload multiple max-files="5"></snice-file-upload>
54
+
55
+ <!-- No drag-drop -->
56
+ <snice-file-upload drag-drop="false"></snice-file-upload>
57
+
58
+ <!-- No preview -->
59
+ <snice-file-upload show-preview="false"></snice-file-upload>
60
+
61
+ <!-- Variants -->
62
+ <snice-file-upload variant="outlined"></snice-file-upload>
63
+ <snice-file-upload variant="filled"></snice-file-upload>
64
+
65
+ <!-- Sizes -->
66
+ <snice-file-upload size="small"></snice-file-upload>
67
+ <snice-file-upload size="medium"></snice-file-upload>
68
+ <snice-file-upload size="large"></snice-file-upload>
69
+
70
+ <!-- Events -->
71
+ <snice-file-upload id="upload"></snice-file-upload>
72
+ <script>
73
+ const upload = document.querySelector('#upload');
74
+ upload.addEventListener('@snice/file-upload-change', (e) => {
75
+ console.log('Files:', e.detail.files);
76
+ });
77
+ upload.addEventListener('@snice/file-upload-error', (e) => {
78
+ console.error('Error:', e.detail.message);
79
+ });
80
+ </script>
81
+ ```
82
+
83
+ ## Features
84
+
85
+ - Form-associated custom element
86
+ - Drag-and-drop support
87
+ - Image preview
88
+ - File type filtering
89
+ - Size validation
90
+ - File count limits
91
+ - Multiple file selection
92
+ - 2 variants, 3 sizes
93
+ - Accessible
@@ -0,0 +1,95 @@
1
+ # snice-gantt
2
+
3
+ Project timeline visualization.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ tasks: GanttTask[] = [];
9
+ viewMode: 'day'|'week'|'month'|'year' = 'day';
10
+ showToday: boolean = true;
11
+ showProgress: boolean = true;
12
+ showDependencies: boolean = false;
13
+ minDate: Date | string = '';
14
+ maxDate: Date | string = '';
15
+ ```
16
+
17
+ ## GanttTask
18
+
19
+ ```typescript
20
+ interface GanttTask {
21
+ id: string | number;
22
+ name: string;
23
+ start: Date | string;
24
+ end: Date | string;
25
+ progress?: number; // 0-100
26
+ dependencies?: (string | number)[];
27
+ color?: string;
28
+ data?: any;
29
+ }
30
+ ```
31
+
32
+ ## Methods
33
+
34
+ ```typescript
35
+ getTask(id: string | number): GanttTask | undefined
36
+ scrollToToday(): void
37
+ scrollToTask(id: string | number): void
38
+ ```
39
+
40
+ ## Events
41
+
42
+ - `@snice/gantt-task-click` - Task clicked (detail: { task, gantt })
43
+
44
+ ## Usage
45
+
46
+ ```javascript
47
+ gantt.tasks = [
48
+ {
49
+ id: 1,
50
+ name: 'Planning',
51
+ start: new Date(2024, 0, 1),
52
+ end: new Date(2024, 0, 7),
53
+ progress: 100,
54
+ color: '#4caf50'
55
+ },
56
+ {
57
+ id: 2,
58
+ name: 'Development',
59
+ start: new Date(2024, 0, 8),
60
+ end: new Date(2024, 0, 31),
61
+ progress: 45,
62
+ color: '#ff9800',
63
+ dependencies: [1]
64
+ }
65
+ ];
66
+
67
+ // View modes
68
+ gantt.viewMode = 'week'; // day|week|month|year
69
+
70
+ // Events
71
+ gantt.addEventListener('@snice/gantt-task-click', (e) => {
72
+ console.log(e.detail.task);
73
+ });
74
+ ```
75
+
76
+ ```html
77
+ <snice-gantt
78
+ view-mode="month"
79
+ show-dependencies
80
+ min-date="2024-01-01"
81
+ max-date="2024-12-31">
82
+ </snice-gantt>
83
+ ```
84
+
85
+ ## Features
86
+
87
+ - Timeline visualization
88
+ - Task bars with progress
89
+ - Multiple view modes
90
+ - Color-coded tasks
91
+ - Task dependencies
92
+ - Date range control
93
+ - Today indicator
94
+ - Click handling
95
+ - Programmatic navigation
@@ -0,0 +1,60 @@
1
+ # snice-image
2
+
3
+ Flexible image component with variants and lazy loading.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ src: string = '';
9
+ alt: string = '';
10
+ fallback: string = '';
11
+ variant: 'rounded'|'square'|'circle' = 'rounded';
12
+ size: 'small'|'medium'|'large' = 'medium';
13
+ lazy: boolean = true;
14
+ fit: 'cover'|'contain'|'fill'|'none'|'scale-down' = 'cover';
15
+ width: string = '';
16
+ height: string = '';
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```html
22
+ <!-- Basic -->
23
+ <snice-image src="image.jpg" alt="Description"></snice-image>
24
+
25
+ <!-- Sizes -->
26
+ <snice-image src="image.jpg" size="small"></snice-image>
27
+ <snice-image src="image.jpg" size="medium"></snice-image>
28
+ <snice-image src="image.jpg" size="large"></snice-image>
29
+
30
+ <!-- Variants -->
31
+ <snice-image src="image.jpg" variant="rounded"></snice-image>
32
+ <snice-image src="image.jpg" variant="square"></snice-image>
33
+ <snice-image src="image.jpg" variant="circle"></snice-image>
34
+
35
+ <!-- Fit -->
36
+ <snice-image src="image.jpg" fit="cover" width="200px" height="200px"></snice-image>
37
+ <snice-image src="image.jpg" fit="contain" width="200px" height="200px"></snice-image>
38
+
39
+ <!-- Fallback -->
40
+ <snice-image src="image.jpg" fallback="placeholder.jpg"></snice-image>
41
+
42
+ <!-- Custom dimensions -->
43
+ <snice-image src="image.jpg" width="300px" height="200px"></snice-image>
44
+
45
+ <!-- Lazy loading -->
46
+ <snice-image src="image.jpg" lazy="false"></snice-image>
47
+
48
+ <!-- Placeholder -->
49
+ <snice-image size="medium" variant="circle"></snice-image>
50
+ ```
51
+
52
+ ## Features
53
+
54
+ - 3 size presets (small: 48px, medium: 96px, large: 192px)
55
+ - 3 shape variants (rounded, square, circle)
56
+ - 5 object-fit options
57
+ - Lazy loading (default on)
58
+ - Fallback image support
59
+ - Placeholder for missing images
60
+ - Custom width/height
@@ -0,0 +1,102 @@
1
+ # snice-kanban
2
+
3
+ Drag-and-drop kanban board.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ columns: KanbanColumn[] = [];
9
+ allowDragDrop: boolean = true;
10
+ showCardCount: boolean = true;
11
+ ```
12
+
13
+ ## Interfaces
14
+
15
+ ```typescript
16
+ interface KanbanColumn {
17
+ id: string | number;
18
+ title: string;
19
+ cards: KanbanCard[];
20
+ color?: string;
21
+ limit?: number;
22
+ collapsed?: boolean;
23
+ }
24
+
25
+ interface KanbanCard {
26
+ id: string | number;
27
+ title: string;
28
+ description?: string;
29
+ assignee?: string;
30
+ labels?: string[];
31
+ color?: string;
32
+ data?: any;
33
+ }
34
+ ```
35
+
36
+ ## Methods
37
+
38
+ ```typescript
39
+ addColumn(column: KanbanColumn): void
40
+ removeColumn(id: string | number): void
41
+ addCard(columnId: string | number, card: KanbanCard): void
42
+ removeCard(cardId: string | number): void
43
+ moveCard(cardId: string | number, targetColumnId: string | number): void
44
+ getColumn(id: string | number): KanbanColumn | undefined
45
+ getCard(id: string | number): KanbanCard | undefined
46
+ ```
47
+
48
+ ## Events
49
+
50
+ - `@snice/kanban-card-move` - Card moved (detail: { card, fromColumn, toColumn, kanban })
51
+ - `@snice/kanban-card-click` - Card clicked (detail: { card, kanban })
52
+
53
+ ## Usage
54
+
55
+ ```javascript
56
+ kanban.columns = [
57
+ {
58
+ id: 'todo',
59
+ title: 'To Do',
60
+ color: '#f44336',
61
+ limit: 5,
62
+ cards: [
63
+ {
64
+ id: 1,
65
+ title: 'Task',
66
+ description: 'Details',
67
+ assignee: 'Alice',
68
+ labels: ['bug', 'high-priority'],
69
+ color: '#f44336'
70
+ }
71
+ ]
72
+ },
73
+ { id: 'done', title: 'Done', cards: [] }
74
+ ];
75
+
76
+ // Add/remove
77
+ kanban.addCard('todo', { id: 2, title: 'New Task' });
78
+ kanban.moveCard(1, 'done');
79
+ kanban.removeCard(2);
80
+
81
+ // Events
82
+ kanban.addEventListener('@snice/kanban-card-move', (e) => {
83
+ console.log(`Moved ${e.detail.card.title}`);
84
+ });
85
+ ```
86
+
87
+ ```html
88
+ <!-- Disable drag/drop -->
89
+ <snice-kanban allow-drag-drop="false"></snice-kanban>
90
+ ```
91
+
92
+ ## Features
93
+
94
+ - Drag and drop cards between columns
95
+ - WIP limits per column
96
+ - Card labels and assignees
97
+ - Color-coded cards and columns
98
+ - Card counts
99
+ - Click handling
100
+ - Programmatic card movement
101
+ - Column management
102
+ - Event dispatching