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,160 @@
1
+ # snice-chart
2
+
3
+ General-purpose chart component with multiple types and animations.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ type: 'line'|'bar'|'horizontal-bar'|'area'|'pie'|'donut'|'scatter'|'bubble'|'radar'|'mixed' = 'line';
9
+ datasets: ChartDataset[] = [];
10
+ labels: string[] = [];
11
+ options: ChartOptions = {};
12
+ width: number = 0;
13
+ height: number = 0;
14
+ ```
15
+
16
+ ## ChartDataset
17
+
18
+ ```typescript
19
+ interface ChartDataset {
20
+ label: string;
21
+ data: (number | ChartDataPoint)[];
22
+ type?: ChartType; // for mixed charts
23
+ backgroundColor?: string | string[];
24
+ borderColor?: string;
25
+ borderWidth?: number;
26
+ fill?: boolean;
27
+ tension?: number; // 0-1
28
+ pointRadius?: number;
29
+ pointHoverRadius?: number;
30
+ hidden?: boolean;
31
+ }
32
+ ```
33
+
34
+ ## ChartDataPoint
35
+
36
+ ```typescript
37
+ interface ChartDataPoint {
38
+ x?: number | string | Date;
39
+ y?: number;
40
+ r?: number; // bubble radius
41
+ label?: string;
42
+ }
43
+ ```
44
+
45
+ ## ChartOptions
46
+
47
+ ```typescript
48
+ interface ChartOptions {
49
+ responsive?: boolean;
50
+ maintainAspectRatio?: boolean;
51
+ aspectRatio?: number;
52
+ legend?: { position?: 'top'|'bottom'|'left'|'right'|'none'; clickable?: boolean };
53
+ tooltip?: { trigger?: 'hover'|'click'|'none'; format?: (value, datasetIndex, pointIndex) => string };
54
+ animation?: { enabled?: boolean; duration?: number; easing?: 'linear'|'ease-in'|'ease-out'|'ease-in-out' };
55
+ xAxis?: { title?: string; min?: number; max?: number; ticks?: number; grid?: boolean; labels?: string[] };
56
+ yAxis?: { title?: string; min?: number; max?: number; ticks?: number; grid?: boolean; labels?: string[] };
57
+ }
58
+ ```
59
+
60
+ ## Methods
61
+
62
+ ```typescript
63
+ refresh(): void
64
+ update(datasets: ChartDataset[]): void
65
+ addDataset(dataset: ChartDataset): void
66
+ removeDataset(index: number): void
67
+ toggleDataset(index: number): void
68
+ exportImage(format?: 'png'|'svg'): string
69
+ getData(): { datasets: ChartDataset[]; labels: string[] }
70
+ ```
71
+
72
+ ## Usage
73
+
74
+ ```javascript
75
+ // Line chart
76
+ chart.type = 'line';
77
+ chart.datasets = [{
78
+ label: 'Sales',
79
+ data: [12, 19, 15, 25, 22, 30],
80
+ borderColor: '#2196f3',
81
+ tension: 0.4
82
+ }];
83
+ chart.labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'];
84
+
85
+ // Bar chart
86
+ chart.type = 'bar';
87
+ chart.datasets = [{
88
+ label: 'Revenue',
89
+ data: [65, 59, 80, 81, 56],
90
+ backgroundColor: ['#ff6384', '#36a2eb', '#ffce56', '#4bc0c0', '#9966ff']
91
+ }];
92
+
93
+ // Pie chart
94
+ chart.type = 'pie';
95
+ chart.datasets = [{
96
+ label: 'Market Share',
97
+ data: [30, 25, 20, 15, 10],
98
+ backgroundColor: ['#ff6384', '#36a2eb', '#ffce56', '#4bc0c0', '#9966ff']
99
+ }];
100
+ chart.labels = ['A', 'B', 'C', 'D', 'E'];
101
+
102
+ // Scatter plot
103
+ chart.type = 'scatter';
104
+ chart.datasets = [{
105
+ label: 'Dataset 1',
106
+ data: [
107
+ { x: 10, y: 20 },
108
+ { x: 15, y: 25 },
109
+ { x: 20, y: 22 }
110
+ ],
111
+ backgroundColor: '#2196f3'
112
+ }];
113
+
114
+ // Radar chart
115
+ chart.type = 'radar';
116
+ chart.datasets = [
117
+ { label: 'Team A', data: [80, 90, 70, 85, 75], borderColor: '#2196f3' },
118
+ { label: 'Team B', data: [70, 85, 80, 75, 85], borderColor: '#4caf50' }
119
+ ];
120
+ chart.labels = ['Speed', 'Strength', 'Agility', 'Defense', 'Skill'];
121
+
122
+ // Mixed chart
123
+ chart.type = 'mixed';
124
+ chart.datasets = [
125
+ { label: 'Bar', type: 'bar', data: [10, 20, 30], backgroundColor: '#2196f3' },
126
+ { label: 'Line', type: 'line', data: [15, 25, 20], borderColor: '#4caf50' }
127
+ ];
128
+
129
+ // Options
130
+ chart.options = {
131
+ legend: { position: 'bottom', clickable: true },
132
+ tooltip: {
133
+ trigger: 'hover',
134
+ format: (value, datasetIndex, pointIndex) => `Value: ${value}`
135
+ },
136
+ animation: { enabled: true, duration: 1000 },
137
+ yAxis: { min: 0, max: 100, ticks: 5, grid: true }
138
+ };
139
+
140
+ // Methods
141
+ chart.addDataset({ label: 'New', data: [1, 2, 3] });
142
+ chart.toggleDataset(0);
143
+ const svg = chart.exportImage('svg');
144
+ ```
145
+
146
+ ```html
147
+ <snice-chart type="line" height="400"></snice-chart>
148
+ ```
149
+
150
+ ## Features
151
+
152
+ - 10 chart types (line, bar, area, pie, donut, scatter, bubble, radar, horizontal-bar, mixed)
153
+ - Multiple datasets
154
+ - Interactive legend
155
+ - Hover tooltips
156
+ - Animations
157
+ - SVG rendering
158
+ - Custom colors
159
+ - Grid/axes
160
+ - Export capability
@@ -0,0 +1,189 @@
1
+ # snice-chat
2
+
3
+ Slack-style chat interface with messages, typing indicators, reactions, and file attachments.
4
+
5
+ ## Usage
6
+
7
+ ```html
8
+ <snice-chat current-user="You"></snice-chat>
9
+ ```
10
+
11
+ ## Properties
12
+
13
+ - `messages: ChatMessage[]` - Messages array (property only)
14
+ - `currentUser: string` - Current user name (default: `"You"`)
15
+ - `currentAvatar: string` - Current user avatar URL (default: `""`)
16
+ - `placeholder: string` - Input placeholder (default: `"Type a message..."`)
17
+ - `allowFiles: boolean` - Enable file uploads (default: `true`)
18
+ - `showTyping: boolean` - Show typing indicators (default: `true`)
19
+ - `showAvatars: boolean` - Show user avatars (default: `true`)
20
+ - `showTimestamps: boolean` - Show timestamps (default: `true`)
21
+
22
+ ## Methods
23
+
24
+ - `addMessage(message: Omit<ChatMessage, 'id'>): void` - Add message
25
+ - `updateMessage(messageId: string, updates: Partial<ChatMessage>): void` - Update message
26
+ - `deleteMessage(messageId: string): void` - Delete message
27
+ - `addTypingIndicator(user: string): void` - Add typing indicator
28
+ - `removeTypingIndicator(user: string): void` - Remove typing indicator
29
+ - `clear(): void` - Clear messages
30
+ - `scrollToBottom(): void` - Scroll to bottom
31
+ - `scrollToMessage(messageId: string): void` - Scroll to message
32
+
33
+ ## Events
34
+
35
+ - `message-send: CustomEvent<{ message: string; attachments?: File[] }>` - Message sent
36
+ - `message-edit: CustomEvent<{ messageId: string; newContent: string }>` - Message edited
37
+ - `message-delete: CustomEvent<{ messageId: string }>` - Message deleted
38
+ - `message-react: CustomEvent<{ messageId: string; emoji: string }>` - Reaction added
39
+ - `message-thread: CustomEvent<{ messageId: string }>` - Thread started
40
+ - `typing-start: CustomEvent<{}>` - User started typing
41
+ - `typing-stop: CustomEvent<{}>` - User stopped typing
42
+
43
+ ## Message Types
44
+
45
+ - `text` - Text message
46
+ - `image` - Image attachment
47
+ - `file` - File attachment
48
+ - `system` - System notification
49
+
50
+ ## CSS Variables
51
+
52
+ ```css
53
+ --snice-chat-height
54
+ --snice-chat-border-radius
55
+ --snice-chat-text-color
56
+ --snice-chat-background
57
+ --snice-chat-border-color
58
+ --snice-chat-author-color
59
+ --snice-chat-timestamp-color
60
+ --snice-chat-system-color
61
+ --snice-chat-placeholder-color
62
+ --snice-chat-scrollbar-color
63
+ --snice-chat-scrollbar-hover-color
64
+ --snice-chat-avatar-background
65
+ --snice-chat-avatar-text-color
66
+ --snice-chat-attachment-border
67
+ --snice-chat-attachment-background
68
+ --snice-chat-attachment-icon-background
69
+ --snice-chat-attachment-icon-color
70
+ --snice-chat-reaction-background
71
+ --snice-chat-reaction-border
72
+ --snice-chat-reaction-hover-background
73
+ --snice-chat-reaction-active-background
74
+ --snice-chat-reaction-active-color
75
+ --snice-chat-reaction-active-border
76
+ --snice-chat-actions-background
77
+ --snice-chat-action-color
78
+ --snice-chat-action-hover-background
79
+ --snice-chat-typing-color
80
+ --snice-chat-typing-dot-color
81
+ --snice-chat-input-background
82
+ --snice-chat-input-container-background
83
+ --snice-chat-input-border
84
+ --snice-chat-input-focus-border
85
+ --snice-chat-button-color
86
+ --snice-chat-button-hover-background
87
+ --snice-chat-send-color
88
+ --snice-chat-send-background
89
+ --snice-chat-send-hover-background
90
+ --snice-chat-empty-color
91
+ ```
92
+
93
+ ## Types
94
+
95
+ ```typescript
96
+ type MessageType = 'text' | 'file' | 'image' | 'system';
97
+
98
+ interface ChatMessage {
99
+ id: string;
100
+ type: MessageType;
101
+ content: string;
102
+ author: string;
103
+ avatar?: string;
104
+ timestamp: Date;
105
+ edited?: boolean;
106
+ reactions?: MessageReaction[];
107
+ thread?: ChatMessage[];
108
+ attachment?: MessageAttachment;
109
+ }
110
+
111
+ interface MessageAttachment {
112
+ type: 'image' | 'file';
113
+ url: string;
114
+ name: string;
115
+ size?: number;
116
+ thumbnailUrl?: string;
117
+ }
118
+
119
+ interface MessageReaction {
120
+ emoji: string;
121
+ count: number;
122
+ users: string[];
123
+ }
124
+ ```
125
+
126
+ ## Example
127
+
128
+ ```javascript
129
+ const chat = document.querySelector('snice-chat');
130
+
131
+ // Add message
132
+ chat.addMessage({
133
+ type: 'text',
134
+ content: 'Hello!',
135
+ author: 'Alice',
136
+ avatar: 'https://example.com/alice.jpg',
137
+ timestamp: new Date(),
138
+ formats: [],
139
+ });
140
+
141
+ // Add image
142
+ chat.addMessage({
143
+ type: 'image',
144
+ content: '',
145
+ author: 'Bob',
146
+ timestamp: new Date(),
147
+ formats: [],
148
+ attachment: {
149
+ type: 'image',
150
+ url: 'https://example.com/image.jpg',
151
+ name: 'photo.jpg',
152
+ },
153
+ });
154
+
155
+ // Add reaction
156
+ chat.addEventListener('message-react', (e) => {
157
+ const message = chat.messages.find((m) => m.id === e.detail.messageId);
158
+ const reactions = message.reactions || [];
159
+ reactions.push({ emoji: e.detail.emoji, count: 1, users: [chat.currentUser] });
160
+ chat.updateMessage(e.detail.messageId, { reactions });
161
+ });
162
+
163
+ // Typing indicator
164
+ chat.addTypingIndicator('Alice');
165
+ setTimeout(() => chat.removeTypingIndicator('Alice'), 2000);
166
+
167
+ // Send message
168
+ chat.addEventListener('message-send', (e) => {
169
+ chat.addMessage({
170
+ type: 'text',
171
+ content: e.detail.message,
172
+ author: 'You',
173
+ timestamp: new Date(),
174
+ formats: [],
175
+ });
176
+ });
177
+ ```
178
+
179
+ ## Features
180
+
181
+ - Text, image, file, system messages
182
+ - Edit, delete, react to messages
183
+ - Typing indicators
184
+ - User avatars with initials fallback
185
+ - Timestamps
186
+ - Auto-scroll to new messages
187
+ - File upload support
188
+ - Emoji reactions with counts
189
+ - Message actions (edit, delete)
@@ -0,0 +1,32 @@
1
+ # snice-code-block
2
+
3
+ Code display with syntax highlighting, line numbers, copy.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ code: string = '';
9
+ language: 'javascript'|'typescript'|'html'|'css'|'json'|'python'|'bash'|'plaintext' = 'plaintext';
10
+ showLineNumbers: boolean = false;
11
+ startLine: number = 1;
12
+ highlightLines: number[] = [];
13
+ copyable: boolean = true;
14
+ filename: string = '';
15
+ ```
16
+
17
+ ## Methods
18
+
19
+ - `copy()` - Copy code to clipboard
20
+
21
+ ## Events
22
+
23
+ - `@snice/code-copy` (detail: { code, codeBlock })
24
+
25
+ ## Usage
26
+
27
+ ```html
28
+ <snice-code-block id="code" language="javascript" show-line-numbers filename="app.js"></snice-code-block>
29
+ <script>
30
+ document.getElementById('code').code = `console.log('hello');`;
31
+ </script>
32
+ ```
@@ -0,0 +1,48 @@
1
+ # snice-color-display
2
+
3
+ Displays colors with swatch and label.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ value: string = '';
9
+ format: 'hex'|'rgb'|'hsl' = 'hex';
10
+ showSwatch: boolean = true;
11
+ showLabel: boolean = true;
12
+ swatchSize: 'small'|'medium'|'large' = 'medium';
13
+ label: string = '';
14
+ ```
15
+
16
+ ## Usage
17
+
18
+ ```html
19
+ <!-- Basic -->
20
+ <snice-color-display value="#3b82f6"></snice-color-display>
21
+
22
+ <!-- Formats -->
23
+ <snice-color-display value="#ff0000" format="hex"></snice-color-display>
24
+ <snice-color-display value="#ff0000" format="rgb"></snice-color-display>
25
+ <snice-color-display value="#ff0000" format="hsl"></snice-color-display>
26
+
27
+ <!-- Sizes -->
28
+ <snice-color-display value="#10b981" swatch-size="small"></snice-color-display>
29
+ <snice-color-display value="#10b981" swatch-size="medium"></snice-color-display>
30
+ <snice-color-display value="#10b981" swatch-size="large"></snice-color-display>
31
+
32
+ <!-- Custom label -->
33
+ <snice-color-display value="#ef4444" label="Error Red"></snice-color-display>
34
+
35
+ <!-- Swatch only -->
36
+ <snice-color-display value="#3b82f6" show-label="false"></snice-color-display>
37
+
38
+ <!-- Label only -->
39
+ <snice-color-display value="#3b82f6" show-swatch="false"></snice-color-display>
40
+ ```
41
+
42
+ ## Features
43
+
44
+ - Auto-converts hex to RGB/HSL
45
+ - 3 swatch sizes (16px, 24px, 32px)
46
+ - Custom labels supported
47
+ - Swatch and label toggle
48
+ - Monospace font for color values
@@ -0,0 +1,75 @@
1
+ # snice-color-picker
2
+
3
+ Color picker with format conversion and presets.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ value: string = '#000000';
9
+ format: 'hex'|'rgb'|'hsl' = 'hex';
10
+ size: 'small'|'medium'|'large' = 'medium';
11
+ label: string = '';
12
+ helperText: string = '';
13
+ errorText: string = '';
14
+ disabled: boolean = false;
15
+ required: boolean = false;
16
+ invalid: boolean = false;
17
+ name: string = '';
18
+ showInput: boolean = true;
19
+ showPresets: boolean = false;
20
+ presets: string[] = [...];
21
+ ```
22
+
23
+ ## Methods
24
+
25
+ - `focus()` - Focus picker
26
+ - `blur()` - Blur picker
27
+
28
+ ## Events
29
+
30
+ - `input` - {value, colorPicker}
31
+ - `change` - {value, colorPicker}
32
+ - `focus` - {colorPicker}
33
+ - `blur` - {colorPicker}
34
+
35
+ ## Usage
36
+
37
+ ```html
38
+ <!-- Basic -->
39
+ <snice-color-picker label="Color" value="#ff0000"></snice-color-picker>
40
+
41
+ <!-- Formats -->
42
+ <snice-color-picker format="hex"></snice-color-picker>
43
+ <snice-color-picker format="rgb"></snice-color-picker>
44
+ <snice-color-picker format="hsl"></snice-color-picker>
45
+
46
+ <!-- With presets -->
47
+ <snice-color-picker show-presets></snice-color-picker>
48
+
49
+ <!-- No input -->
50
+ <snice-color-picker show-input="false"></snice-color-picker>
51
+
52
+ <!-- Sizes -->
53
+ <snice-color-picker size="small"></snice-color-picker>
54
+ <snice-color-picker size="medium"></snice-color-picker>
55
+ <snice-color-picker size="large"></snice-color-picker>
56
+
57
+ <!-- Events -->
58
+ <snice-color-picker id="picker"></snice-color-picker>
59
+ <script>
60
+ const picker = document.querySelector('#picker');
61
+ picker.addEventListener('@snice/color-picker-change', (e) => {
62
+ console.log('Color:', e.detail.value);
63
+ });
64
+ </script>
65
+ ```
66
+
67
+ ## Features
68
+
69
+ - Form-associated custom element
70
+ - Native color picker integration
71
+ - 3 color formats (hex, rgb, hsl)
72
+ - Format conversion
73
+ - Color presets
74
+ - 3 sizes
75
+ - Accessible
@@ -0,0 +1,117 @@
1
+ # snice-command-palette
2
+
3
+ Searchable command palette overlay (⌘K) for quick command access.
4
+
5
+ ## Properties
6
+
7
+ ```typescript
8
+ open: boolean = false;
9
+ commands: CommandItem[] = [];
10
+ placeholder: string = 'Type a command or search...';
11
+ noResultsText: string = 'No results found';
12
+ maxResults: number = 50;
13
+ showRecentCommands: boolean = true;
14
+ recentCommandsLimit: number = 5;
15
+ caseSensitive: boolean = false;
16
+ ```
17
+
18
+ ## CommandItem Interface
19
+
20
+ ```typescript
21
+ interface CommandItem {
22
+ id: string;
23
+ label: string;
24
+ description?: string;
25
+ icon?: string;
26
+ iconImage?: string;
27
+ shortcut?: string;
28
+ category?: string;
29
+ disabled?: boolean;
30
+ action?: () => void | Promise<void>;
31
+ data?: any;
32
+ }
33
+ ```
34
+
35
+ ## Methods
36
+
37
+ - `show()` - Open palette
38
+ - `close()` - Close palette
39
+ - `toggle()` - Toggle visibility
40
+ - `addCommand(command: CommandItem)` - Add command
41
+ - `removeCommand(id: string)` - Remove command
42
+ - `executeCommand(id: string)` - Execute by ID
43
+ - `clearSearch()` - Clear search
44
+ - `focus()` - Focus input
45
+
46
+ ## Events
47
+
48
+ - `@snice/command-palette-open` - Opened (detail: { palette })
49
+ - `@snice/command-palette-close` - Closed (detail: { palette })
50
+ - `@snice/command-select` - Command selected (detail: { command, palette })
51
+ - `@snice/command-execute` - Command executed (detail: { command, palette })
52
+ - `@snice/command-search` - Search changed (detail: { query, results, palette })
53
+
54
+ ## Usage
55
+
56
+ ```html
57
+ <!-- Basic -->
58
+ <snice-command-palette id="pal"></snice-command-palette>
59
+ <script>
60
+ document.getElementById('pal').commands = [
61
+ {
62
+ id: 'new',
63
+ label: 'New File',
64
+ description: 'Create a new file',
65
+ icon: '📄',
66
+ shortcut: '⌘N',
67
+ category: 'File',
68
+ action: () => console.log('New file')
69
+ },
70
+ {
71
+ id: 'save',
72
+ label: 'Save',
73
+ icon: '💾',
74
+ shortcut: '⌘S',
75
+ category: 'File',
76
+ action: () => console.log('Saved')
77
+ }
78
+ ];
79
+ </script>
80
+
81
+ <!-- Opens with ⌘K or Ctrl+K -->
82
+
83
+ <!-- Manual trigger -->
84
+ <button onclick="palette.show()">Open</button>
85
+
86
+ <!-- With async actions -->
87
+ <script>
88
+ palette.commands = [{
89
+ id: 'logout',
90
+ label: 'Logout',
91
+ action: async () => {
92
+ await fetch('/api/logout', { method: 'POST' });
93
+ location.href = '/login';
94
+ }
95
+ }];
96
+ </script>
97
+
98
+ <!-- Events -->
99
+ <script>
100
+ palette.addEventListener('@snice/command-execute', (e) => {
101
+ console.log('Executed:', e.detail.command.label);
102
+ });
103
+ </script>
104
+ ```
105
+
106
+ ## Features
107
+
108
+ - ⌘K/Ctrl+K keyboard shortcut
109
+ - Arrow key navigation
110
+ - Fuzzy search filtering
111
+ - Command categories/grouping
112
+ - Recent commands tracking
113
+ - Icons and keyboard shortcuts display
114
+ - Async action support
115
+ - Focus trap when open
116
+ - Backdrop click to close
117
+ - Escape to close