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,63 @@
1
+ # Carousel Component
2
+
3
+ Image/content carousel with autoplay, loop, and navigation controls.
4
+
5
+ ## Basic Usage
6
+
7
+ ```html
8
+ <snice-carousel>
9
+ <div class="slide">Slide 1</div>
10
+ <div class="slide">Slide 2</div>
11
+ <div class="slide">Slide 3</div>
12
+ </snice-carousel>
13
+ ```
14
+
15
+ ## Properties
16
+
17
+ | Property | Type | Default | Description |
18
+ |----------|------|---------|-------------|
19
+ | `activeIndex` | `number` | `0` | Current slide index |
20
+ | `autoplay` | `boolean` | `false` | Enable autoplay |
21
+ | `autoplayInterval` | `number` | `3000` | Autoplay interval (ms) |
22
+ | `autoplayDirection` | `'forward' \| 'backward'` | `'forward'` | Autoplay direction |
23
+ | `loop` | `boolean` | `true` | Loop slides |
24
+ | `showControls` | `boolean` | `true` | Show prev/next buttons |
25
+ | `showIndicators` | `boolean` | `true` | Show slide indicators |
26
+ | `slidesPerView` | `number` | `1` | Number of slides visible |
27
+ | `spaceBetween` | `number` | `0` | Space between slides (px) |
28
+
29
+ ## Methods
30
+
31
+ - `next()` - Go to next slide
32
+ - `prev()` - Go to previous slide
33
+ - `goToSlide(index: number)` - Go to specific slide
34
+ - `play()` - Start autoplay
35
+ - `pause()` - Pause autoplay
36
+
37
+ ## Events
38
+
39
+ - `@snice/carousel-slide-change` - Slide changed (detail: { activeIndex, previousIndex, carousel })
40
+
41
+ ## Examples
42
+
43
+ ```html
44
+ <!-- Autoplay -->
45
+ <snice-carousel autoplay autoplay-interval="2000">
46
+ <div>Slide 1</div>
47
+ <div>Slide 2</div>
48
+ </snice-carousel>
49
+
50
+ <!-- Multiple slides -->
51
+ <snice-carousel slides-per-view="3" space-between="20">
52
+ <div>1</div>
53
+ <div>2</div>
54
+ <div>3</div>
55
+ <div>4</div>
56
+ </snice-carousel>
57
+
58
+ <!-- No loop -->
59
+ <snice-carousel loop="false">
60
+ <div>Slide 1</div>
61
+ <div>Slide 2</div>
62
+ </snice-carousel>
63
+ ```
@@ -0,0 +1,526 @@
1
+ # Chart Component
2
+
3
+ General-purpose charting component supporting multiple chart types with animations and interactivity.
4
+
5
+ ## Basic Usage
6
+
7
+ ```javascript
8
+ const chart = document.querySelector('snice-chart');
9
+
10
+ chart.type = 'line';
11
+ chart.datasets = [
12
+ {
13
+ label: 'Sales',
14
+ data: [12, 19, 15, 25, 22, 30],
15
+ borderColor: '#2196f3'
16
+ }
17
+ ];
18
+ chart.labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'];
19
+ ```
20
+
21
+ ## Properties
22
+
23
+ | Property | Type | Default | Description |
24
+ |----------|------|---------|-------------|
25
+ | `type` | `ChartType` | `'line'` | Chart type |
26
+ | `datasets` | `ChartDataset[]` | `[]` | Chart datasets |
27
+ | `labels` | `string[]` | `[]` | X-axis labels |
28
+ | `options` | `ChartOptions` | `{}` | Chart options |
29
+ | `width` | `number` | `0` | Chart width (0 = auto) |
30
+ | `height` | `number` | `0` | Chart height (0 = auto) |
31
+
32
+ ## Chart Types
33
+
34
+ - `'line'` - Line chart
35
+ - `'bar'` - Vertical bar chart
36
+ - `'horizontal-bar'` - Horizontal bar chart
37
+ - `'area'` - Area chart (filled line)
38
+ - `'pie'` - Pie chart
39
+ - `'donut'` - Donut chart
40
+ - `'scatter'` - Scatter plot
41
+ - `'bubble'` - Bubble chart
42
+ - `'radar'` - Radar/spider chart
43
+ - `'mixed'` - Mixed chart types
44
+
45
+ ## ChartDataset Interface
46
+
47
+ ```typescript
48
+ interface ChartDataset {
49
+ label: string;
50
+ data: (number | ChartDataPoint)[];
51
+ type?: ChartType; // for mixed charts
52
+ backgroundColor?: string | string[];
53
+ borderColor?: string;
54
+ borderWidth?: number;
55
+ fill?: boolean;
56
+ tension?: number; // 0-1 for line smoothing
57
+ pointRadius?: number;
58
+ pointHoverRadius?: number;
59
+ hidden?: boolean;
60
+ }
61
+ ```
62
+
63
+ ## ChartOptions Interface
64
+
65
+ ```typescript
66
+ interface ChartOptions {
67
+ responsive?: boolean;
68
+ maintainAspectRatio?: boolean;
69
+ aspectRatio?: number;
70
+ legend?: ChartLegend;
71
+ tooltip?: ChartTooltip;
72
+ animation?: ChartAnimation;
73
+ xAxis?: ChartAxis;
74
+ yAxis?: ChartAxis;
75
+ }
76
+ ```
77
+
78
+ ## Methods
79
+
80
+ ### `refresh(): void`
81
+ Refresh the chart display.
82
+
83
+ ```javascript
84
+ chart.refresh();
85
+ ```
86
+
87
+ ### `update(datasets: ChartDataset[]): void`
88
+ Update all datasets.
89
+
90
+ ```javascript
91
+ chart.update([
92
+ { label: 'New Data', data: [10, 20, 30] }
93
+ ]);
94
+ ```
95
+
96
+ ### `addDataset(dataset: ChartDataset): void`
97
+ Add a new dataset.
98
+
99
+ ```javascript
100
+ chart.addDataset({
101
+ label: 'Series 3',
102
+ data: [15, 25, 35]
103
+ });
104
+ ```
105
+
106
+ ### `removeDataset(index: number): void`
107
+ Remove dataset by index.
108
+
109
+ ```javascript
110
+ chart.removeDataset(0);
111
+ ```
112
+
113
+ ### `toggleDataset(index: number): void`
114
+ Toggle dataset visibility.
115
+
116
+ ```javascript
117
+ chart.toggleDataset(0);
118
+ ```
119
+
120
+ ### `exportImage(format?: 'png' | 'svg'): string`
121
+ Export chart as image.
122
+
123
+ ```javascript
124
+ const svg = chart.exportImage('svg');
125
+ ```
126
+
127
+ ### `getData(): { datasets, labels }`
128
+ Get current chart data.
129
+
130
+ ```javascript
131
+ const data = chart.getData();
132
+ console.log(data.datasets, data.labels);
133
+ ```
134
+
135
+ ## Examples
136
+
137
+ ### Line Chart
138
+
139
+ ```javascript
140
+ chart.type = 'line';
141
+ chart.datasets = [
142
+ {
143
+ label: 'Temperature',
144
+ data: [20, 22, 19, 25, 27, 24, 23],
145
+ borderColor: '#2196f3',
146
+ tension: 0.4 // Smooth line
147
+ }
148
+ ];
149
+ chart.labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
150
+ ```
151
+
152
+ ### Bar Chart
153
+
154
+ ```javascript
155
+ chart.type = 'bar';
156
+ chart.datasets = [
157
+ {
158
+ label: 'Revenue',
159
+ data: [65, 59, 80, 81, 56, 55, 40],
160
+ backgroundColor: [
161
+ '#ff6384', '#36a2eb', '#ffce56', '#4bc0c0',
162
+ '#9966ff', '#ff9f40', '#ffcd56'
163
+ ]
164
+ }
165
+ ];
166
+ chart.labels = ['Q1', 'Q2', 'Q3', 'Q4', 'Q5', 'Q6', 'Q7'];
167
+ ```
168
+
169
+ ### Area Chart
170
+
171
+ ```javascript
172
+ chart.type = 'area';
173
+ chart.datasets = [
174
+ {
175
+ label: 'Users',
176
+ data: [30, 40, 35, 50, 49, 60, 70],
177
+ borderColor: '#4caf50',
178
+ backgroundColor: '#4caf50',
179
+ fill: true
180
+ }
181
+ ];
182
+ chart.labels = ['Week 1', 'Week 2', 'Week 3', 'Week 4', 'Week 5', 'Week 6', 'Week 7'];
183
+ ```
184
+
185
+ ### Pie Chart
186
+
187
+ ```javascript
188
+ chart.type = 'pie';
189
+ chart.datasets = [
190
+ {
191
+ label: 'Market Share',
192
+ data: [30, 25, 20, 15, 10],
193
+ backgroundColor: [
194
+ '#ff6384', '#36a2eb', '#ffce56', '#4bc0c0', '#9966ff'
195
+ ]
196
+ }
197
+ ];
198
+ chart.labels = ['Product A', 'Product B', 'Product C', 'Product D', 'Product E'];
199
+ ```
200
+
201
+ ### Donut Chart
202
+
203
+ ```javascript
204
+ chart.type = 'donut';
205
+ chart.datasets = [
206
+ {
207
+ label: 'Sales',
208
+ data: [300, 250, 200, 150],
209
+ backgroundColor: ['#2196f3', '#4caf50', '#ff9800', '#f44336']
210
+ }
211
+ ];
212
+ chart.labels = ['North', 'South', 'East', 'West'];
213
+ ```
214
+
215
+ ### Scatter Plot
216
+
217
+ ```javascript
218
+ chart.type = 'scatter';
219
+ chart.datasets = [
220
+ {
221
+ label: 'Dataset 1',
222
+ data: [
223
+ { x: 10, y: 20 },
224
+ { x: 15, y: 25 },
225
+ { x: 20, y: 22 },
226
+ { x: 25, y: 30 }
227
+ ],
228
+ backgroundColor: '#2196f3',
229
+ pointRadius: 5
230
+ }
231
+ ];
232
+ ```
233
+
234
+ ### Bubble Chart
235
+
236
+ ```javascript
237
+ chart.type = 'bubble';
238
+ chart.datasets = [
239
+ {
240
+ label: 'Bubble Data',
241
+ data: [
242
+ { x: 10, y: 20, r: 15 },
243
+ { x: 15, y: 25, r: 25 },
244
+ { x: 20, y: 22, r: 10 }
245
+ ],
246
+ backgroundColor: '#ff9800'
247
+ }
248
+ ];
249
+ ```
250
+
251
+ ### Radar Chart
252
+
253
+ ```javascript
254
+ chart.type = 'radar';
255
+ chart.datasets = [
256
+ {
257
+ label: 'Team A',
258
+ data: [80, 90, 70, 85, 75],
259
+ borderColor: '#2196f3',
260
+ backgroundColor: '#2196f3'
261
+ },
262
+ {
263
+ label: 'Team B',
264
+ data: [70, 85, 80, 75, 85],
265
+ borderColor: '#4caf50',
266
+ backgroundColor: '#4caf50'
267
+ }
268
+ ];
269
+ chart.labels = ['Speed', 'Strength', 'Agility', 'Defense', 'Skill'];
270
+ ```
271
+
272
+ ### Mixed Chart
273
+
274
+ ```javascript
275
+ chart.type = 'mixed';
276
+ chart.datasets = [
277
+ {
278
+ label: 'Bar Data',
279
+ type: 'bar',
280
+ data: [10, 20, 30, 40, 50],
281
+ backgroundColor: '#2196f3'
282
+ },
283
+ {
284
+ label: 'Line Data',
285
+ type: 'line',
286
+ data: [15, 25, 20, 35, 30],
287
+ borderColor: '#4caf50'
288
+ }
289
+ ];
290
+ chart.labels = ['A', 'B', 'C', 'D', 'E'];
291
+ ```
292
+
293
+ ### Multiple Datasets
294
+
295
+ ```javascript
296
+ chart.type = 'line';
297
+ chart.datasets = [
298
+ {
299
+ label: 'Sales 2023',
300
+ data: [12, 19, 15, 25, 22, 30],
301
+ borderColor: '#2196f3'
302
+ },
303
+ {
304
+ label: 'Sales 2024',
305
+ data: [15, 22, 18, 28, 25, 33],
306
+ borderColor: '#4caf50'
307
+ }
308
+ ];
309
+ chart.labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'];
310
+ ```
311
+
312
+ ### Custom Options
313
+
314
+ ```javascript
315
+ chart.type = 'bar';
316
+ chart.datasets = [{ label: 'Data', data: [10, 20, 30] }];
317
+ chart.labels = ['A', 'B', 'C'];
318
+
319
+ chart.options = {
320
+ responsive: true,
321
+ legend: {
322
+ position: 'bottom',
323
+ clickable: true
324
+ },
325
+ tooltip: {
326
+ trigger: 'hover',
327
+ format: (value, datasetIndex, pointIndex) => {
328
+ return `Value: ${value}`;
329
+ }
330
+ },
331
+ animation: {
332
+ enabled: true,
333
+ duration: 1000,
334
+ easing: 'ease-in-out'
335
+ },
336
+ xAxis: {
337
+ title: 'Categories',
338
+ grid: true
339
+ },
340
+ yAxis: {
341
+ title: 'Values',
342
+ min: 0,
343
+ max: 100,
344
+ ticks: 5,
345
+ grid: true
346
+ }
347
+ };
348
+ ```
349
+
350
+ ### Dynamic Updates
351
+
352
+ ```javascript
353
+ // Add data point
354
+ function addData(label, value) {
355
+ chart.labels = [...chart.labels, label];
356
+ chart.datasets = chart.datasets.map(dataset => ({
357
+ ...dataset,
358
+ data: [...dataset.data, value]
359
+ }));
360
+ chart.refresh();
361
+ }
362
+
363
+ // Remove data point
364
+ function removeData() {
365
+ chart.labels = chart.labels.slice(0, -1);
366
+ chart.datasets = chart.datasets.map(dataset => ({
367
+ ...dataset,
368
+ data: dataset.data.slice(0, -1)
369
+ }));
370
+ chart.refresh();
371
+ }
372
+
373
+ // Update data
374
+ function updateData(index, newValue) {
375
+ chart.datasets = chart.datasets.map(dataset => {
376
+ const newData = [...dataset.data];
377
+ newData[index] = newValue;
378
+ return { ...dataset, data: newData };
379
+ });
380
+ chart.refresh();
381
+ }
382
+ ```
383
+
384
+ ### Legend Interaction
385
+
386
+ ```javascript
387
+ chart.options = {
388
+ legend: {
389
+ position: 'top',
390
+ clickable: true // Allow hiding datasets by clicking legend
391
+ }
392
+ };
393
+
394
+ // Programmatically toggle dataset
395
+ chart.toggleDataset(0); // Hide/show first dataset
396
+ ```
397
+
398
+ ### Tooltips
399
+
400
+ ```javascript
401
+ chart.options = {
402
+ tooltip: {
403
+ trigger: 'hover', // or 'click', 'none'
404
+ format: (value, datasetIndex, pointIndex) => {
405
+ const dataset = chart.datasets[datasetIndex];
406
+ const label = chart.labels[pointIndex];
407
+ return `${dataset.label} at ${label}: ${value}`;
408
+ }
409
+ }
410
+ };
411
+ ```
412
+
413
+ ### Export Chart
414
+
415
+ ```javascript
416
+ // Export as SVG
417
+ const svg = chart.exportImage('svg');
418
+ console.log(svg);
419
+
420
+ // Download as SVG
421
+ function downloadChart() {
422
+ const svg = chart.exportImage('svg');
423
+ const blob = new Blob([svg], { type: 'image/svg+xml' });
424
+ const url = URL.createObjectURL(blob);
425
+ const a = document.createElement('a');
426
+ a.href = url;
427
+ a.download = 'chart.svg';
428
+ a.click();
429
+ }
430
+ ```
431
+
432
+ ### Real-time Data
433
+
434
+ ```javascript
435
+ let dataPoints = [10, 20, 30, 40, 50];
436
+
437
+ setInterval(() => {
438
+ // Add new point
439
+ dataPoints.push(Math.random() * 100);
440
+
441
+ // Keep last 20 points
442
+ if (dataPoints.length > 20) {
443
+ dataPoints.shift();
444
+ }
445
+
446
+ chart.datasets = [{
447
+ label: 'Live Data',
448
+ data: dataPoints,
449
+ borderColor: '#2196f3'
450
+ }];
451
+
452
+ chart.labels = dataPoints.map((_, i) => i);
453
+ chart.refresh();
454
+ }, 1000);
455
+ ```
456
+
457
+ ### Responsive Chart
458
+
459
+ ```html
460
+ <snice-chart id="responsive-chart"></snice-chart>
461
+
462
+ <script>
463
+ const chart = document.getElementById('responsive-chart');
464
+
465
+ chart.options = {
466
+ responsive: true,
467
+ maintainAspectRatio: true,
468
+ aspectRatio: 2 // 2:1 ratio
469
+ };
470
+ </script>
471
+ ```
472
+
473
+ ### Financial Chart
474
+
475
+ ```javascript
476
+ // Candlestick-style using bar chart with custom colors
477
+ chart.type = 'bar';
478
+ chart.datasets = [{
479
+ label: 'Stock Price',
480
+ data: [100, 110, 95, 120, 115, 130, 125],
481
+ backgroundColor: [
482
+ '#4caf50', '#4caf50', '#f44336', '#4caf50',
483
+ '#f44336', '#4caf50', '#f44336'
484
+ ]
485
+ }];
486
+ chart.labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
487
+ ```
488
+
489
+ ### Comparison Chart
490
+
491
+ ```javascript
492
+ chart.type = 'bar';
493
+ chart.datasets = [
494
+ {
495
+ label: 'Last Year',
496
+ data: [30, 40, 35, 50, 45],
497
+ backgroundColor: '#e0e0e0'
498
+ },
499
+ {
500
+ label: 'This Year',
501
+ data: [35, 45, 40, 55, 50],
502
+ backgroundColor: '#2196f3'
503
+ }
504
+ ];
505
+ chart.labels = ['Q1', 'Q2', 'Q3', 'Q4', 'Q5'];
506
+ ```
507
+
508
+ ## Accessibility
509
+
510
+ - Keyboard navigation support
511
+ - ARIA labels for chart elements
512
+ - Screen reader friendly data tables
513
+ - High contrast color support
514
+
515
+ ## Browser Support
516
+
517
+ - Modern browsers with Custom Elements v1 support
518
+ - SVG rendering support
519
+ - Responsive and touch-friendly
520
+
521
+ ## Performance Tips
522
+
523
+ - Limit data points for smooth animations (< 100 points recommended)
524
+ - Disable animations for large datasets
525
+ - Use debouncing for real-time updates
526
+ - Consider data aggregation for time-series data