snice 2.5.4 → 3.2.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 (411) hide show
  1. package/README.md +537 -869
  2. package/bin/templates/base/src/components/counter-button.ts +13 -26
  3. package/bin/templates/base/src/controllers/counter-controller.ts +3 -3
  4. package/dist/components/accordion/snice-accordion-item.d.ts +4 -5
  5. package/dist/components/accordion/snice-accordion-item.js +37 -39
  6. package/dist/components/accordion/snice-accordion-item.js.map +1 -1
  7. package/dist/components/accordion/snice-accordion.d.ts +5 -11
  8. package/dist/components/accordion/snice-accordion.js +51 -52
  9. package/dist/components/accordion/snice-accordion.js.map +1 -1
  10. package/dist/components/alert/snice-alert.d.ts +2 -6
  11. package/dist/components/alert/snice-alert.js +41 -56
  12. package/dist/components/alert/snice-alert.js.map +1 -1
  13. package/dist/components/avatar/snice-avatar.d.ts +2 -6
  14. package/dist/components/avatar/snice-avatar.js +64 -71
  15. package/dist/components/avatar/snice-avatar.js.map +1 -1
  16. package/dist/components/badge/snice-badge.d.ts +2 -3
  17. package/dist/components/badge/snice-badge.js +22 -23
  18. package/dist/components/badge/snice-badge.js.map +1 -1
  19. package/dist/components/banner/snice-banner.d.ts +22 -0
  20. package/dist/components/banner/snice-banner.js +180 -0
  21. package/dist/components/banner/snice-banner.js.map +1 -0
  22. package/dist/components/banner/snice-banner.types.d.ts +14 -0
  23. package/dist/components/breadcrumbs/snice-breadcrumbs.d.ts +5 -12
  24. package/dist/components/breadcrumbs/snice-breadcrumbs.js +88 -89
  25. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  26. package/dist/components/button/snice-button.d.ts +3 -7
  27. package/dist/components/button/snice-button.js +37 -58
  28. package/dist/components/button/snice-button.js.map +1 -1
  29. package/dist/components/card/snice-card.d.ts +5 -8
  30. package/dist/components/card/snice-card.js +71 -56
  31. package/dist/components/card/snice-card.js.map +1 -1
  32. package/dist/components/checkbox/snice-checkbox.d.ts +4 -13
  33. package/dist/components/checkbox/snice-checkbox.js +66 -137
  34. package/dist/components/checkbox/snice-checkbox.js.map +1 -1
  35. package/dist/components/chip/snice-chip.d.ts +5 -11
  36. package/dist/components/chip/snice-chip.js +44 -47
  37. package/dist/components/chip/snice-chip.js.map +1 -1
  38. package/dist/components/color-display/snice-color-display.d.ts +14 -0
  39. package/dist/components/color-display/snice-color-display.js +151 -0
  40. package/dist/components/color-display/snice-color-display.js.map +1 -0
  41. package/dist/components/color-display/snice-color-display.types.d.ts +10 -0
  42. package/dist/components/color-picker/snice-color-picker.d.ts +50 -0
  43. package/dist/components/color-picker/snice-color-picker.js +489 -0
  44. package/dist/components/color-picker/snice-color-picker.js.map +1 -0
  45. package/dist/components/color-picker/snice-color-picker.types.d.ts +19 -0
  46. package/dist/components/date-picker/snice-date-picker.d.ts +11 -11
  47. package/dist/components/date-picker/snice-date-picker.js +134 -133
  48. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  49. package/dist/components/divider/snice-divider.d.ts +2 -4
  50. package/dist/components/divider/snice-divider.js +14 -22
  51. package/dist/components/divider/snice-divider.js.map +1 -1
  52. package/dist/components/drawer/snice-drawer.d.ts +4 -4
  53. package/dist/components/drawer/snice-drawer.js +25 -19
  54. package/dist/components/drawer/snice-drawer.js.map +1 -1
  55. package/dist/components/empty-state/snice-empty-state.d.ts +13 -0
  56. package/dist/components/empty-state/snice-empty-state.js +121 -0
  57. package/dist/components/empty-state/snice-empty-state.js.map +1 -0
  58. package/dist/components/empty-state/snice-empty-state.types.d.ts +9 -0
  59. package/dist/components/file-upload/snice-file-upload.d.ts +45 -0
  60. package/dist/components/file-upload/snice-file-upload.js +394 -0
  61. package/dist/components/file-upload/snice-file-upload.js.map +1 -0
  62. package/dist/components/file-upload/snice-file-upload.types.d.ts +22 -0
  63. package/dist/components/image/snice-image.d.ts +22 -0
  64. package/dist/components/image/snice-image.js +201 -0
  65. package/dist/components/image/snice-image.js.map +1 -0
  66. package/dist/components/image/snice-image.types.d.ts +17 -0
  67. package/dist/components/input/snice-input.d.ts +8 -6
  68. package/dist/components/input/snice-input.js +122 -105
  69. package/dist/components/input/snice-input.js.map +1 -1
  70. package/dist/components/kpi/snice-kpi.d.ts +16 -0
  71. package/dist/components/kpi/snice-kpi.js +162 -0
  72. package/dist/components/kpi/snice-kpi.js.map +1 -0
  73. package/dist/components/kpi/snice-kpi.types.d.ts +12 -0
  74. package/dist/components/layout/snice-layout-blog.d.ts +4 -4
  75. package/dist/components/layout/snice-layout-blog.js +21 -19
  76. package/dist/components/layout/snice-layout-blog.js.map +1 -1
  77. package/dist/components/layout/snice-layout-card.d.ts +2 -2
  78. package/dist/components/layout/snice-layout-card.js +16 -9
  79. package/dist/components/layout/snice-layout-card.js.map +1 -1
  80. package/dist/components/layout/snice-layout-centered.d.ts +2 -2
  81. package/dist/components/layout/snice-layout-centered.js +14 -7
  82. package/dist/components/layout/snice-layout-centered.js.map +1 -1
  83. package/dist/components/layout/snice-layout-dashboard.d.ts +5 -5
  84. package/dist/components/layout/snice-layout-dashboard.js +38 -30
  85. package/dist/components/layout/snice-layout-dashboard.js.map +1 -1
  86. package/dist/components/layout/snice-layout-fullscreen.d.ts +2 -2
  87. package/dist/components/layout/snice-layout-fullscreen.js +17 -10
  88. package/dist/components/layout/snice-layout-fullscreen.js.map +1 -1
  89. package/dist/components/layout/snice-layout-landing.d.ts +4 -4
  90. package/dist/components/layout/snice-layout-landing.js +21 -19
  91. package/dist/components/layout/snice-layout-landing.js.map +1 -1
  92. package/dist/components/layout/snice-layout-minimal.d.ts +2 -2
  93. package/dist/components/layout/snice-layout-minimal.js +17 -6
  94. package/dist/components/layout/snice-layout-minimal.js.map +1 -1
  95. package/dist/components/layout/snice-layout-sidebar.d.ts +5 -4
  96. package/dist/components/layout/snice-layout-sidebar.js +42 -20
  97. package/dist/components/layout/snice-layout-sidebar.js.map +1 -1
  98. package/dist/components/layout/snice-layout-split.d.ts +2 -2
  99. package/dist/components/layout/snice-layout-split.js +14 -7
  100. package/dist/components/layout/snice-layout-split.js.map +1 -1
  101. package/dist/components/layout/snice-layout.d.ts +4 -4
  102. package/dist/components/layout/snice-layout.js +16 -10
  103. package/dist/components/layout/snice-layout.js.map +1 -1
  104. package/dist/components/link/snice-link.d.ts +13 -0
  105. package/dist/components/link/snice-link.js +137 -0
  106. package/dist/components/link/snice-link.js.map +1 -0
  107. package/dist/components/link/snice-link.types.d.ts +11 -0
  108. package/dist/components/login/snice-login.d.ts +6 -11
  109. package/dist/components/login/snice-login.js +97 -71
  110. package/dist/components/login/snice-login.js.map +1 -1
  111. package/dist/components/modal/snice-modal.d.ts +5 -9
  112. package/dist/components/modal/snice-modal.js +47 -78
  113. package/dist/components/modal/snice-modal.js.map +1 -1
  114. package/dist/components/nav/snice-nav.d.ts +13 -7
  115. package/dist/components/nav/snice-nav.js +191 -100
  116. package/dist/components/nav/snice-nav.js.map +1 -1
  117. package/dist/components/nav/snice-nav.types.d.ts +3 -3
  118. package/dist/components/pagination/snice-pagination.d.ts +6 -7
  119. package/dist/components/pagination/snice-pagination.js +94 -81
  120. package/dist/components/pagination/snice-pagination.js.map +1 -1
  121. package/dist/components/progress/snice-progress.d.ts +2 -7
  122. package/dist/components/progress/snice-progress.js +41 -98
  123. package/dist/components/progress/snice-progress.js.map +1 -1
  124. package/dist/components/radio/snice-radio.d.ts +4 -4
  125. package/dist/components/radio/snice-radio.js +52 -44
  126. package/dist/components/radio/snice-radio.js.map +1 -1
  127. package/dist/components/select/snice-option.d.ts +2 -1
  128. package/dist/components/select/snice-option.js +12 -5
  129. package/dist/components/select/snice-option.js.map +1 -1
  130. package/dist/components/select/snice-select.d.ts +9 -21
  131. package/dist/components/select/snice-select.js +98 -170
  132. package/dist/components/select/snice-select.js.map +1 -1
  133. package/dist/components/skeleton/snice-skeleton.d.ts +2 -6
  134. package/dist/components/skeleton/snice-skeleton.js +18 -49
  135. package/dist/components/skeleton/snice-skeleton.js.map +1 -1
  136. package/dist/components/slider/snice-slider.d.ts +53 -0
  137. package/dist/components/slider/snice-slider.js +479 -0
  138. package/dist/components/slider/snice-slider.js.map +1 -0
  139. package/dist/components/slider/snice-slider.types.d.ts +26 -0
  140. package/dist/components/snice-cell-C0slgOpe.js +4 -0
  141. package/dist/components/snice-cell-C0slgOpe.js.map +1 -0
  142. package/dist/components/sparkline/snice-sparkline.d.ts +21 -0
  143. package/dist/components/sparkline/snice-sparkline.js +228 -0
  144. package/dist/components/sparkline/snice-sparkline.js.map +1 -0
  145. package/dist/components/sparkline/snice-sparkline.types.d.ts +16 -0
  146. package/dist/components/spinner/snice-spinner.d.ts +10 -0
  147. package/dist/components/spinner/snice-spinner.js +109 -0
  148. package/dist/components/spinner/snice-spinner.js.map +1 -0
  149. package/dist/components/spinner/snice-spinner.types.d.ts +8 -0
  150. package/dist/components/stepper/snice-stepper-panel.d.ts +8 -0
  151. package/dist/components/stepper/snice-stepper-panel.js +70 -0
  152. package/dist/components/stepper/snice-stepper-panel.js.map +1 -0
  153. package/dist/components/stepper/snice-stepper-panel.types.d.ts +4 -0
  154. package/dist/components/stepper/snice-stepper.d.ts +15 -0
  155. package/dist/components/stepper/snice-stepper.js +163 -0
  156. package/dist/components/stepper/snice-stepper.js.map +1 -0
  157. package/dist/components/stepper/snice-stepper.types.d.ts +13 -0
  158. package/dist/components/switch/snice-switch.d.ts +2 -2
  159. package/dist/components/switch/snice-switch.js +38 -26
  160. package/dist/components/switch/snice-switch.js.map +1 -1
  161. package/dist/components/table/snice-cell-actions.d.ts +24 -0
  162. package/dist/components/table/snice-cell-actions.js +149 -0
  163. package/dist/components/table/snice-cell-actions.js.map +1 -0
  164. package/dist/components/table/snice-cell-boolean.d.ts +2 -2
  165. package/dist/components/table/snice-cell-boolean.js +13 -7
  166. package/dist/components/table/snice-cell-boolean.js.map +1 -1
  167. package/dist/components/table/snice-cell-color.d.ts +18 -0
  168. package/dist/components/table/snice-cell-color.js +149 -0
  169. package/dist/components/table/snice-cell-color.js.map +1 -0
  170. package/dist/components/table/snice-cell-currency.d.ts +24 -0
  171. package/dist/components/table/snice-cell-currency.js +235 -0
  172. package/dist/components/table/snice-cell-currency.js.map +1 -0
  173. package/dist/components/table/snice-cell-date.d.ts +2 -2
  174. package/dist/components/table/snice-cell-date.js +14 -8
  175. package/dist/components/table/snice-cell-date.js.map +1 -1
  176. package/dist/components/table/snice-cell-duration.d.ts +2 -2
  177. package/dist/components/table/snice-cell-duration.js +12 -6
  178. package/dist/components/table/snice-cell-duration.js.map +1 -1
  179. package/dist/components/table/snice-cell-email.d.ts +15 -0
  180. package/dist/components/table/snice-cell-email.js +125 -0
  181. package/dist/components/table/snice-cell-email.js.map +1 -0
  182. package/dist/components/table/snice-cell-filesize.d.ts +2 -2
  183. package/dist/components/table/snice-cell-filesize.js +12 -6
  184. package/dist/components/table/snice-cell-filesize.js.map +1 -1
  185. package/dist/components/table/snice-cell-image.d.ts +20 -0
  186. package/dist/components/table/snice-cell-image.js +162 -0
  187. package/dist/components/table/snice-cell-image.js.map +1 -0
  188. package/dist/components/table/snice-cell-json.d.ts +20 -0
  189. package/dist/components/table/snice-cell-json.js +186 -0
  190. package/dist/components/table/snice-cell-json.js.map +1 -0
  191. package/dist/components/table/snice-cell-link.d.ts +17 -0
  192. package/dist/components/table/snice-cell-link.js +142 -0
  193. package/dist/components/table/snice-cell-link.js.map +1 -0
  194. package/dist/components/table/snice-cell-location.d.ts +19 -0
  195. package/dist/components/table/snice-cell-location.js +185 -0
  196. package/dist/components/table/snice-cell-location.js.map +1 -0
  197. package/dist/components/table/snice-cell-number.d.ts +2 -2
  198. package/dist/components/table/snice-cell-number.js +12 -6
  199. package/dist/components/table/snice-cell-number.js.map +1 -1
  200. package/dist/components/table/snice-cell-percentage.d.ts +22 -0
  201. package/dist/components/table/snice-cell-percentage.js +208 -0
  202. package/dist/components/table/snice-cell-percentage.js.map +1 -0
  203. package/dist/components/table/snice-cell-phone.d.ts +18 -0
  204. package/dist/components/table/snice-cell-phone.js +153 -0
  205. package/dist/components/table/snice-cell-phone.js.map +1 -0
  206. package/dist/components/table/snice-cell-progress.d.ts +2 -2
  207. package/dist/components/table/snice-cell-progress.js +12 -6
  208. package/dist/components/table/snice-cell-progress.js.map +1 -1
  209. package/dist/components/table/snice-cell-rating.d.ts +2 -2
  210. package/dist/components/table/snice-cell-rating.js +12 -6
  211. package/dist/components/table/snice-cell-rating.js.map +1 -1
  212. package/dist/components/table/snice-cell-sparkline.d.ts +2 -2
  213. package/dist/components/table/snice-cell-sparkline.js +13 -7
  214. package/dist/components/table/snice-cell-sparkline.js.map +1 -1
  215. package/dist/components/table/snice-cell-status.d.ts +17 -0
  216. package/dist/components/table/snice-cell-status.js +144 -0
  217. package/dist/components/table/snice-cell-status.js.map +1 -0
  218. package/dist/components/table/snice-cell-tag.d.ts +16 -0
  219. package/dist/components/table/snice-cell-tag.js +131 -0
  220. package/dist/components/table/snice-cell-tag.js.map +1 -0
  221. package/dist/components/table/snice-cell-text.d.ts +2 -2
  222. package/dist/components/table/snice-cell-text.js +14 -8
  223. package/dist/components/table/snice-cell-text.js.map +1 -1
  224. package/dist/components/table/snice-cell.d.ts +2 -2
  225. package/dist/components/table/snice-cell.js +12 -6
  226. package/dist/components/table/snice-cell.js.map +1 -1
  227. package/dist/components/table/snice-column.d.ts +1 -1
  228. package/dist/components/table/snice-column.js +6 -3
  229. package/dist/components/table/snice-column.js.map +1 -1
  230. package/dist/components/table/snice-header.d.ts +5 -5
  231. package/dist/components/table/snice-header.js +60 -50
  232. package/dist/components/table/snice-header.js.map +1 -1
  233. package/dist/components/table/snice-progress.d.ts +2 -2
  234. package/dist/components/table/snice-progress.js +18 -11
  235. package/dist/components/table/snice-progress.js.map +1 -1
  236. package/dist/components/table/snice-rating.d.ts +2 -2
  237. package/dist/components/table/snice-rating.js +15 -8
  238. package/dist/components/table/snice-rating.js.map +1 -1
  239. package/dist/components/table/snice-row.d.ts +17 -6
  240. package/dist/components/table/snice-row.js +95 -44
  241. package/dist/components/table/snice-row.js.map +1 -1
  242. package/dist/components/table/snice-table.d.ts +18 -10
  243. package/dist/components/table/snice-table.js +355 -173
  244. package/dist/components/table/snice-table.js.map +1 -1
  245. package/dist/components/table/snice-table.types.d.ts +101 -2
  246. package/dist/components/tabs/snice-tab-panel.d.ts +2 -2
  247. package/dist/components/tabs/snice-tab-panel.js +12 -6
  248. package/dist/components/tabs/snice-tab-panel.js.map +1 -1
  249. package/dist/components/tabs/snice-tab.d.ts +6 -5
  250. package/dist/components/tabs/snice-tab.js +36 -19
  251. package/dist/components/tabs/snice-tab.js.map +1 -1
  252. package/dist/components/tabs/snice-tabs.d.ts +5 -5
  253. package/dist/components/tabs/snice-tabs.js +38 -28
  254. package/dist/components/tabs/snice-tabs.js.map +1 -1
  255. package/dist/components/textarea/snice-textarea.d.ts +52 -0
  256. package/dist/components/textarea/snice-textarea.js +407 -0
  257. package/dist/components/textarea/snice-textarea.js.map +1 -0
  258. package/dist/components/textarea/snice-textarea.types.d.ts +30 -0
  259. package/dist/components/timeline/snice-timeline.d.ts +11 -0
  260. package/dist/components/timeline/snice-timeline.js +112 -0
  261. package/dist/components/timeline/snice-timeline.js.map +1 -0
  262. package/dist/components/timeline/snice-timeline.types.d.ts +16 -0
  263. package/dist/components/toast/snice-toast-container.d.ts +7 -7
  264. package/dist/components/toast/snice-toast-container.js +19 -12
  265. package/dist/components/toast/snice-toast-container.js.map +1 -1
  266. package/dist/components/toast/snice-toast.d.ts +3 -15
  267. package/dist/components/toast/snice-toast.js +49 -108
  268. package/dist/components/toast/snice-toast.js.map +1 -1
  269. package/dist/components/tooltip/snice-tooltip.d.ts +2 -2
  270. package/dist/components/tooltip/snice-tooltip.js +15 -8
  271. package/dist/components/tooltip/snice-tooltip.js.map +1 -1
  272. package/dist/context.d.ts +44 -0
  273. package/dist/element-ready.d.ts +40 -0
  274. package/dist/{types/element.d.ts → element.d.ts} +2 -8
  275. package/dist/{types/events.d.ts → events.d.ts} +0 -4
  276. package/dist/index.cjs +2556 -605
  277. package/dist/index.cjs.map +1 -1
  278. package/dist/index.d.ts +21 -0
  279. package/dist/index.esm.js +2535 -604
  280. package/dist/index.esm.js.map +1 -1
  281. package/dist/index.iife.js +2556 -605
  282. package/dist/index.iife.js.map +1 -1
  283. package/dist/method-decorators.d.ts +121 -0
  284. package/dist/on.d.ts +59 -0
  285. package/dist/parts.d.ts +156 -0
  286. package/dist/render-debug.d.ts +27 -0
  287. package/dist/render-tracker.d.ts +14 -0
  288. package/dist/render.d.ts +96 -0
  289. package/dist/symbols.cjs +163 -0
  290. package/dist/symbols.cjs.map +1 -1
  291. package/dist/{types/symbols.d.ts → symbols.d.ts} +22 -0
  292. package/dist/symbols.esm.js +27 -3
  293. package/dist/symbols.esm.js.map +1 -1
  294. package/dist/template.d.ts +99 -0
  295. package/dist/transitions.cjs +219 -0
  296. package/dist/transitions.esm.js +2 -2
  297. package/dist/types/context.d.ts +48 -0
  298. package/dist/types/element-options.d.ts +26 -0
  299. package/dist/types/index.d.ts +25 -9
  300. package/dist/types/nav-context.d.ts +19 -0
  301. package/dist/types/{types/on-options.d.ts → on-options.d.ts} +2 -0
  302. package/dist/types/{types/placard.d.ts → placard.d.ts} +0 -1
  303. package/docs/ai/README.md +26 -0
  304. package/docs/ai/api.md +175 -0
  305. package/docs/ai/architecture.md +160 -0
  306. package/docs/ai/components/accordion.md +174 -0
  307. package/docs/ai/components/alert.md +77 -0
  308. package/docs/ai/components/avatar.md +61 -0
  309. package/docs/ai/components/badge.md +69 -0
  310. package/docs/ai/components/banner.md +84 -0
  311. package/docs/ai/components/breadcrumbs.md +74 -0
  312. package/docs/ai/components/button.md +75 -0
  313. package/docs/ai/components/card.md +61 -0
  314. package/docs/ai/components/checkbox.md +74 -0
  315. package/docs/ai/components/chip.md +73 -0
  316. package/docs/ai/components/color-display.md +48 -0
  317. package/docs/ai/components/color-picker.md +75 -0
  318. package/docs/ai/components/date-picker.md +75 -0
  319. package/docs/ai/components/divider.md +66 -0
  320. package/docs/ai/components/drawer.md +80 -0
  321. package/docs/ai/components/empty-state.md +72 -0
  322. package/docs/ai/components/file-upload.md +93 -0
  323. package/docs/ai/components/image.md +60 -0
  324. package/docs/ai/components/input.md +111 -0
  325. package/docs/ai/components/kpi.md +158 -0
  326. package/docs/ai/components/link.md +77 -0
  327. package/docs/ai/components/login.md +109 -0
  328. package/docs/ai/components/modal.md +67 -0
  329. package/docs/ai/components/nav.md +76 -0
  330. package/docs/ai/components/pagination.md +55 -0
  331. package/docs/ai/components/progress.md +72 -0
  332. package/docs/ai/components/radio.md +79 -0
  333. package/docs/ai/components/select.md +92 -0
  334. package/docs/ai/components/skeleton.md +57 -0
  335. package/docs/ai/components/slider.md +87 -0
  336. package/docs/ai/components/sparkline.md +168 -0
  337. package/docs/ai/components/spinner.md +47 -0
  338. package/docs/ai/components/stepper.md +216 -0
  339. package/docs/ai/components/switch.md +53 -0
  340. package/docs/ai/components/table.md +227 -0
  341. package/docs/ai/components/tabs.md +83 -0
  342. package/docs/ai/components/textarea.md +87 -0
  343. package/docs/ai/components/timeline.md +77 -0
  344. package/docs/ai/components/toast.md +140 -0
  345. package/docs/ai/components/tooltip.md +146 -0
  346. package/docs/ai/patterns.md +244 -0
  347. package/docs/components/accordion.md +558 -0
  348. package/docs/components/banner.md +106 -0
  349. package/docs/components/color-display.md +96 -0
  350. package/docs/components/color-picker.md +81 -0
  351. package/docs/components/drawer.md +602 -0
  352. package/docs/components/empty-state.md +79 -0
  353. package/docs/components/file-upload.md +263 -0
  354. package/docs/components/image.md +110 -0
  355. package/docs/components/kpi.md +251 -0
  356. package/docs/components/link.md +229 -0
  357. package/docs/components/modal.md +558 -0
  358. package/docs/components/nav.md +239 -0
  359. package/docs/components/pagination.md +289 -0
  360. package/docs/components/select.md +599 -0
  361. package/docs/components/slider.md +297 -0
  362. package/docs/components/sparkline.md +293 -0
  363. package/docs/components/spinner.md +63 -0
  364. package/docs/components/stepper.md +410 -0
  365. package/docs/components/switch.md +354 -0
  366. package/docs/components/tabs.md +546 -0
  367. package/docs/components/textarea.md +235 -0
  368. package/docs/components/timeline.md +192 -0
  369. package/docs/components/toast.md +506 -0
  370. package/docs/components/tooltip.md +523 -0
  371. package/docs/controllers.md +744 -0
  372. package/docs/elements.md +855 -0
  373. package/docs/events.md +807 -0
  374. package/docs/migration-v2-to-v3.md +569 -0
  375. package/docs/observe.md +588 -0
  376. package/docs/placards.md +401 -0
  377. package/docs/request-response.md +852 -0
  378. package/docs/routing.md +1186 -0
  379. package/package.json +11 -11
  380. package/dist/components/snice-cell-C9N6yGxQ.js +0 -4
  381. package/dist/components/snice-cell-C9N6yGxQ.js.map +0 -1
  382. package/dist/types/types/index.d.ts +0 -23
  383. /package/dist/{types/controller.d.ts → controller.d.ts} +0 -0
  384. /package/dist/{types/global.d.ts → global.d.ts} +0 -0
  385. /package/dist/{types/observe.d.ts → observe.d.ts} +0 -0
  386. /package/dist/{types/request-response.d.ts → request-response.d.ts} +0 -0
  387. /package/dist/{types/router.d.ts → router.d.ts} +0 -0
  388. /package/dist/{types/testing.d.ts → testing.d.ts} +0 -0
  389. /package/dist/{types/transitions.d.ts → transitions.d.ts} +0 -0
  390. /package/dist/types/{types/adopted-options.d.ts → adopted-options.d.ts} +0 -0
  391. /package/dist/types/{types/app-context.d.ts → app-context.d.ts} +0 -0
  392. /package/dist/types/{types/dispatch-options.d.ts → dispatch-options.d.ts} +0 -0
  393. /package/dist/types/{types/guard.d.ts → guard.d.ts} +0 -0
  394. /package/dist/types/{types/i-controller.d.ts → i-controller.d.ts} +0 -0
  395. /package/dist/types/{types/moved-options.d.ts → moved-options.d.ts} +0 -0
  396. /package/dist/types/{types/observe-options.d.ts → observe-options.d.ts} +0 -0
  397. /package/dist/types/{types/page-options.d.ts → page-options.d.ts} +0 -0
  398. /package/dist/types/{types/part-options.d.ts → part-options.d.ts} +0 -0
  399. /package/dist/types/{types/property-converter.d.ts → property-converter.d.ts} +0 -0
  400. /package/dist/types/{types/property-options.d.ts → property-options.d.ts} +0 -0
  401. /package/dist/types/{types/query-options.d.ts → query-options.d.ts} +0 -0
  402. /package/dist/types/{types/request-options.d.ts → request-options.d.ts} +0 -0
  403. /package/dist/types/{types/respond-options.d.ts → respond-options.d.ts} +0 -0
  404. /package/dist/types/{types/route-params.d.ts → route-params.d.ts} +0 -0
  405. /package/dist/types/{types/router-instance.d.ts → router-instance.d.ts} +0 -0
  406. /package/dist/types/{types/router-options.d.ts → router-options.d.ts} +0 -0
  407. /package/dist/types/{types/simple-array.d.ts → simple-array.d.ts} +0 -0
  408. /package/dist/types/{types/snice-element.d.ts → snice-element.d.ts} +0 -0
  409. /package/dist/types/{types/snice-global.d.ts → snice-global.d.ts} +0 -0
  410. /package/dist/types/{types/transition.d.ts → transition.d.ts} +0 -0
  411. /package/dist/{types/utils.d.ts → utils.d.ts} +0 -0
@@ -0,0 +1,297 @@
1
+ # Slider Component
2
+
3
+ The `<snice-slider>` component provides an interactive range slider for selecting numeric values with mouse, touch, and keyboard support.
4
+
5
+ ## Table of Contents
6
+ - [Basic Usage](#basic-usage)
7
+ - [Properties](#properties)
8
+ - [Methods](#methods)
9
+ - [Events](#events)
10
+ - [Keyboard Navigation](#keyboard-navigation)
11
+ - [Features](#features)
12
+ - [Examples](#examples)
13
+
14
+ ## Basic Usage
15
+
16
+ ```html
17
+ <snice-slider
18
+ label="Volume"
19
+ min="0"
20
+ max="100"
21
+ value="50"
22
+ show-value
23
+ ></snice-slider>
24
+ ```
25
+
26
+ ```typescript
27
+ import 'snice/components/slider/snice-slider';
28
+
29
+ const slider = document.querySelector('snice-slider');
30
+ slider.addEventListener('@snice/slider-change', (e) => {
31
+ console.log('Value:', e.detail.value);
32
+ });
33
+ ```
34
+
35
+ ## Properties
36
+
37
+ | Property | Type | Default | Description |
38
+ |----------|------|---------|-------------|
39
+ | `value` | `number` | `0` | Current slider value |
40
+ | `min` | `number` | `0` | Minimum value |
41
+ | `max` | `number` | `100` | Maximum value |
42
+ | `step` | `number` | `1` | Step increment |
43
+ | `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | Size variant |
44
+ | `variant` | `'default' \| 'primary' \| 'success' \| 'warning' \| 'danger'` | `'default'` | Color variant |
45
+ | `label` | `string` | `''` | Label text |
46
+ | `helperText` | `string` | `''` | Helper text below slider |
47
+ | `errorText` | `string` | `''` | Error message (shown when invalid) |
48
+ | `disabled` | `boolean` | `false` | Whether slider is disabled |
49
+ | `readonly` | `boolean` | `false` | Whether slider is readonly |
50
+ | `required` | `boolean` | `false` | Whether slider is required |
51
+ | `invalid` | `boolean` | `false` | Whether to show invalid state |
52
+ | `name` | `string` | `''` | Form field name |
53
+ | `showValue` | `boolean` | `false` | Display current value |
54
+ | `showTicks` | `boolean` | `false` | Show tick marks |
55
+ | `vertical` | `boolean` | `false` | Vertical orientation |
56
+
57
+ ## Methods
58
+
59
+ ### `focus(): void`
60
+ Give focus to the slider thumb.
61
+
62
+ ```typescript
63
+ slider.focus();
64
+ ```
65
+
66
+ ### `blur(): void`
67
+ Remove focus from the slider thumb.
68
+
69
+ ```typescript
70
+ slider.blur();
71
+ ```
72
+
73
+ ### `checkValidity(): boolean`
74
+ Check if the slider passes validation.
75
+
76
+ ```typescript
77
+ const isValid = slider.checkValidity();
78
+ ```
79
+
80
+ ### `reportValidity(): boolean`
81
+ Report validation status to the user.
82
+
83
+ ```typescript
84
+ slider.reportValidity();
85
+ ```
86
+
87
+ ### `setCustomValidity(message: string): void`
88
+ Set a custom validation message.
89
+
90
+ ```typescript
91
+ slider.setCustomValidity('Value must be between 10 and 90');
92
+ ```
93
+
94
+ ## Events
95
+
96
+ ### `@snice/slider-input`
97
+ Fired continuously while dragging the slider.
98
+
99
+ **Detail**: `{ value: number, slider: SniceSliderElement }`
100
+
101
+ ```typescript
102
+ slider.addEventListener('@snice/slider-input', (e) => {
103
+ console.log('Current value:', e.detail.value);
104
+ });
105
+ ```
106
+
107
+ ### `@snice/slider-change`
108
+ Fired when the slider value is committed (after drag ends or keyboard input).
109
+
110
+ **Detail**: `{ value: number, slider: SniceSliderElement }`
111
+
112
+ ```typescript
113
+ slider.addEventListener('@snice/slider-change', (e) => {
114
+ console.log('Final value:', e.detail.value);
115
+ });
116
+ ```
117
+
118
+ ## Keyboard Navigation
119
+
120
+ The slider supports full keyboard navigation:
121
+
122
+ | Key | Action |
123
+ |-----|--------|
124
+ | `←` / `↓` | Decrease by step |
125
+ | `→` / `↑` | Increase by step |
126
+ | `Home` | Jump to minimum |
127
+ | `End` | Jump to maximum |
128
+ | `Page Down` | Decrease by 10× step |
129
+ | `Page Up` | Increase by 10× step |
130
+
131
+ ## Features
132
+
133
+ - **Input Devices**: Full mouse, touch, and keyboard support
134
+ - **Form Integration**: Form-associated custom element with validation
135
+ - **Visual Variants**: Five color options (default, primary, success, warning, danger)
136
+ - **Orientations**: Horizontal (default) or vertical layout
137
+ - **Value Display**: Optional current value indicator
138
+ - **Tick Marks**: Optional visual step indicators
139
+ - **Step Control**: Configure increment size
140
+ - **Accessibility**: Full ARIA support with keyboard navigation
141
+
142
+ ## Examples
143
+
144
+ ### Basic Slider
145
+
146
+ ```html
147
+ <snice-slider
148
+ label="Volume"
149
+ min="0"
150
+ max="100"
151
+ value="50"
152
+ ></snice-slider>
153
+ ```
154
+
155
+ ### With Value Display
156
+
157
+ ```html
158
+ <snice-slider
159
+ label="Brightness"
160
+ min="0"
161
+ max="100"
162
+ value="75"
163
+ show-value
164
+ ></snice-slider>
165
+ ```
166
+
167
+ ### With Tick Marks
168
+
169
+ ```html
170
+ <snice-slider
171
+ label="Rating"
172
+ min="0"
173
+ max="10"
174
+ step="1"
175
+ show-ticks
176
+ show-value
177
+ ></snice-slider>
178
+ ```
179
+
180
+ ### Different Variants
181
+
182
+ ```html
183
+ <snice-slider variant="default" label="Default"></snice-slider>
184
+ <snice-slider variant="primary" label="Primary"></snice-slider>
185
+ <snice-slider variant="success" label="Success"></snice-slider>
186
+ <snice-slider variant="warning" label="Warning"></snice-slider>
187
+ <snice-slider variant="danger" label="Danger"></snice-slider>
188
+ ```
189
+
190
+ ### Different Sizes
191
+
192
+ ```html
193
+ <snice-slider size="small" label="Small"></snice-slider>
194
+ <snice-slider size="medium" label="Medium"></snice-slider>
195
+ <snice-slider size="large" label="Large"></snice-slider>
196
+ ```
197
+
198
+ ### Custom Range and Step
199
+
200
+ ```html
201
+ <!-- Temperature: 60-80°F in 0.5° increments -->
202
+ <snice-slider
203
+ label="Temperature"
204
+ min="60"
205
+ max="80"
206
+ step="0.5"
207
+ value="72"
208
+ show-value
209
+ ></snice-slider>
210
+
211
+ <!-- Percentage: 0-100 in 5% increments -->
212
+ <snice-slider
213
+ label="Discount"
214
+ min="0"
215
+ max="100"
216
+ step="5"
217
+ value="20"
218
+ show-value
219
+ show-ticks
220
+ ></snice-slider>
221
+ ```
222
+
223
+ ### Vertical Slider
224
+
225
+ ```html
226
+ <snice-slider
227
+ label="Volume"
228
+ min="0"
229
+ max="100"
230
+ value="60"
231
+ vertical
232
+ show-value
233
+ ></snice-slider>
234
+ ```
235
+
236
+ ### Error State
237
+
238
+ ```html
239
+ <snice-slider
240
+ label="Age"
241
+ min="0"
242
+ max="120"
243
+ value="150"
244
+ invalid
245
+ error-text="Value must be between 0 and 120"
246
+ ></snice-slider>
247
+ ```
248
+
249
+ ### In a Form
250
+
251
+ ```html
252
+ <form id="settings-form">
253
+ <snice-slider
254
+ name="volume"
255
+ label="Volume"
256
+ min="0"
257
+ max="100"
258
+ value="50"
259
+ required
260
+ ></snice-slider>
261
+
262
+ <snice-slider
263
+ name="brightness"
264
+ label="Brightness"
265
+ min="0"
266
+ max="100"
267
+ value="75"
268
+ ></snice-slider>
269
+
270
+ <button type="submit">Save Settings</button>
271
+ </form>
272
+
273
+ <script>
274
+ document.getElementById('settings-form').addEventListener('submit', (e) => {
275
+ e.preventDefault();
276
+ const formData = new FormData(e.target);
277
+ console.log('Volume:', formData.get('volume'));
278
+ console.log('Brightness:', formData.get('brightness'));
279
+ });
280
+ </script>
281
+ ```
282
+
283
+ ### Real-time Value Display
284
+
285
+ ```html
286
+ <snice-slider id="volume-slider" min="0" max="100" value="50"></snice-slider>
287
+ <div id="volume-display">Volume: 50</div>
288
+
289
+ <script>
290
+ const slider = document.getElementById('volume-slider');
291
+ const display = document.getElementById('volume-display');
292
+
293
+ slider.addEventListener('@snice/slider-input', (e) => {
294
+ display.textContent = `Volume: ${e.detail.value}`;
295
+ });
296
+ </script>
297
+ ```
@@ -0,0 +1,293 @@
1
+ # Sparkline Component
2
+
3
+ A lightweight inline chart component for visualizing trends and patterns in compact spaces. Perfect for dashboards, tables, and data-dense interfaces.
4
+
5
+ ## Features
6
+
7
+ - **Multiple Chart Types**: line, bar, area
8
+ - **Semantic Colors**: primary, success, warning, danger, muted
9
+ - **Custom Colors**: Use any color with the `custom-color` attribute
10
+ - **Smooth Curves**: Optional smooth bezier curve interpolation
11
+ - **Customizable Size**: Configurable width and height
12
+ - **Optional Enhancements**: Dots, area fill, custom stroke width
13
+ - **Flexible Data Range**: Optional min/max values for scaling
14
+
15
+ ## Basic Usage
16
+
17
+ ```html
18
+ <snice-sparkline id="chart"></snice-sparkline>
19
+
20
+ <script>
21
+ document.getElementById('chart').data = [10, 20, 15, 25, 30];
22
+ </script>
23
+ ```
24
+
25
+ ## Properties
26
+
27
+ | Property | Type | Default | Description |
28
+ |----------|------|---------|-------------|
29
+ | `data` | `number[]` | `[]` | Array of numeric values to visualize |
30
+ | `type` | `SparklineType` | `'line'` | Chart type ('line', 'bar', 'area') |
31
+ | `color` | `SparklineColor` | `'primary'` | Color variant ('primary', 'success', 'warning', 'danger', 'muted') |
32
+ | `custom-color` | `string` | `undefined` | Custom color (overrides `color`) - any valid CSS color |
33
+ | `width` | `number` | `100` | Chart width in pixels |
34
+ | `height` | `number` | `30` | Chart height in pixels |
35
+ | `strokeWidth` | `number` | `2` | Line/dot stroke width |
36
+ | `showDots` | `boolean` | `false` | Show dots on data points (line charts) |
37
+ | `showArea` | `boolean` | `false` | Show area fill (line charts) |
38
+ | `smooth` | `boolean` | `false` | Use smooth bezier curves instead of sharp lines |
39
+ | `min` | `number` | `undefined` | Minimum value for scaling (auto if not set) |
40
+ | `max` | `number` | `undefined` | Maximum value for scaling (auto if not set) |
41
+
42
+ ## Chart Types
43
+
44
+ ### Line Chart
45
+ ```html
46
+ <snice-sparkline type="line"></snice-sparkline>
47
+ ```
48
+
49
+ ### Bar Chart
50
+ ```html
51
+ <snice-sparkline type="bar"></snice-sparkline>
52
+ ```
53
+
54
+ ### Area Chart
55
+ ```html
56
+ <snice-sparkline type="area"></snice-sparkline>
57
+ ```
58
+
59
+ ## Colors
60
+
61
+ ### Primary
62
+ ```html
63
+ <snice-sparkline color="primary"></snice-sparkline>
64
+ ```
65
+
66
+ ### Success
67
+ ```html
68
+ <snice-sparkline color="success"></snice-sparkline>
69
+ ```
70
+
71
+ ### Warning
72
+ ```html
73
+ <snice-sparkline color="warning"></snice-sparkline>
74
+ ```
75
+
76
+ ### Danger
77
+ ```html
78
+ <snice-sparkline color="danger"></snice-sparkline>
79
+ ```
80
+
81
+ ### Muted
82
+ ```html
83
+ <snice-sparkline color="muted"></snice-sparkline>
84
+ ```
85
+
86
+ ## Customization
87
+
88
+ ### With Dots
89
+ ```html
90
+ <snice-sparkline show-dots></snice-sparkline>
91
+ ```
92
+
93
+ ### With Area Fill
94
+ ```html
95
+ <snice-sparkline show-area></snice-sparkline>
96
+ ```
97
+
98
+ ### Custom Size
99
+ ```html
100
+ <snice-sparkline width="200" height="50"></snice-sparkline>
101
+ ```
102
+
103
+ ### Thick Stroke
104
+ ```html
105
+ <snice-sparkline stroke-width="3"></snice-sparkline>
106
+ ```
107
+
108
+ ### Custom Scale
109
+ ```html
110
+ <snice-sparkline min="0" max="100"></snice-sparkline>
111
+ ```
112
+
113
+ ### Smooth Curves
114
+ ```html
115
+ <snice-sparkline smooth></snice-sparkline>
116
+ ```
117
+
118
+ ### Custom Colors
119
+ ```html
120
+ <!-- Hex color -->
121
+ <snice-sparkline custom-color="#9333ea"></snice-sparkline>
122
+
123
+ <!-- RGB color -->
124
+ <snice-sparkline custom-color="rgb(147, 51, 234)"></snice-sparkline>
125
+
126
+ <!-- Any valid CSS color -->
127
+ <snice-sparkline custom-color="hsl(270, 80%, 60%)"></snice-sparkline>
128
+ ```
129
+
130
+ ## CSS Parts
131
+
132
+ Use `::part()` to style internal elements:
133
+
134
+ ```css
135
+ snice-sparkline::part(container) {
136
+ padding: 4px;
137
+ }
138
+
139
+ snice-sparkline::part(svg) {
140
+ filter: drop-shadow(0 2px 4px rgba(0,0,0,0.1));
141
+ }
142
+
143
+ snice-sparkline::part(line) {
144
+ stroke-dasharray: 4;
145
+ }
146
+
147
+ snice-sparkline::part(bar) {
148
+ rx: 2;
149
+ }
150
+
151
+ snice-sparkline::part(area) {
152
+ opacity: 0.3;
153
+ }
154
+
155
+ snice-sparkline::part(dot) {
156
+ fill: white;
157
+ }
158
+ ```
159
+
160
+ ## Theming
161
+
162
+ The component uses these CSS custom properties:
163
+
164
+ ```css
165
+ --snice-color-primary
166
+ --snice-color-success
167
+ --snice-color-warning
168
+ --snice-color-danger
169
+ --snice-color-text-secondary
170
+ ```
171
+
172
+ ## Examples
173
+
174
+ ### Website Traffic Trend
175
+ ```html
176
+ <div>
177
+ <label>Daily Visitors</label>
178
+ <snice-sparkline
179
+ id="traffic"
180
+ color="primary"
181
+ width="150"
182
+ height="40"
183
+ show-area>
184
+ </snice-sparkline>
185
+ </div>
186
+
187
+ <script>
188
+ document.getElementById('traffic').data = [
189
+ 1200, 1350, 1100, 1450, 1600, 1550, 1700,
190
+ 1800, 1650, 1900, 2100, 2000, 2200, 2400
191
+ ];
192
+ </script>
193
+ ```
194
+
195
+ ### Sales Performance
196
+ ```html
197
+ <div>
198
+ <label>Weekly Sales</label>
199
+ <snice-sparkline
200
+ id="sales"
201
+ type="bar"
202
+ color="success"
203
+ width="150"
204
+ height="40">
205
+ </snice-sparkline>
206
+ </div>
207
+
208
+ <script>
209
+ document.getElementById('sales').data = [45, 52, 48, 61, 55, 70, 68];
210
+ </script>
211
+ ```
212
+
213
+ ### Server Response Time
214
+ ```html
215
+ <div>
216
+ <label>Response Time (ms)</label>
217
+ <snice-sparkline
218
+ id="response"
219
+ color="warning"
220
+ width="150"
221
+ height="40"
222
+ show-dots>
223
+ </snice-sparkline>
224
+ </div>
225
+
226
+ <script>
227
+ document.getElementById('response').data = [
228
+ 120, 135, 115, 145, 160, 155, 140, 130, 125, 120
229
+ ];
230
+ </script>
231
+ ```
232
+
233
+ ### Error Rate
234
+ ```html
235
+ <div>
236
+ <label>Error Rate</label>
237
+ <snice-sparkline
238
+ id="errors"
239
+ type="area"
240
+ color="danger"
241
+ width="150"
242
+ height="40"
243
+ min="0">
244
+ </snice-sparkline>
245
+ </div>
246
+
247
+ <script>
248
+ document.getElementById('errors').data = [
249
+ 5, 3, 7, 12, 8, 15, 25, 20, 18, 22, 15, 10, 5, 3, 1, 0
250
+ ];
251
+ </script>
252
+ ```
253
+
254
+ ### In Table Cells
255
+ ```html
256
+ <table>
257
+ <tr>
258
+ <td>Product A</td>
259
+ <td><snice-sparkline id="product-a" width="80" height="25"></snice-sparkline></td>
260
+ </tr>
261
+ <tr>
262
+ <td>Product B</td>
263
+ <td><snice-sparkline id="product-b" width="80" height="25"></snice-sparkline></td>
264
+ </tr>
265
+ </table>
266
+
267
+ <script>
268
+ document.getElementById('product-a').data = [10, 12, 15, 14, 18, 22, 25];
269
+ document.getElementById('product-b').data = [30, 28, 25, 27, 24, 22, 20];
270
+ </script>
271
+ ```
272
+
273
+ ## Best Practices
274
+
275
+ 1. **Keep it Simple**: Sparklines are meant to show trends, not detailed analysis
276
+ 2. **Consistent Sizing**: Use the same dimensions for sparklines in a group
277
+ 3. **Appropriate Scale**: Set `min`/`max` when comparing multiple charts
278
+ 4. **Semantic Colors**: Use colors that match the data meaning (success=good, danger=bad)
279
+ 5. **Add Context**: Always label sparklines so users understand what they represent
280
+
281
+ ## Accessibility
282
+
283
+ - Sparklines are decorative visualizations
284
+ - Always provide text labels or tooltips for the data
285
+ - Consider adding `aria-label` to describe the trend
286
+ - Ensure sufficient color contrast for visibility
287
+
288
+ ## Performance
289
+
290
+ - Lightweight SVG rendering
291
+ - No external dependencies
292
+ - Efficiently handles data updates
293
+ - Suitable for rendering many sparklines simultaneously
@@ -0,0 +1,63 @@
1
+ # Spinner Component
2
+
3
+ The `<snice-spinner>` component provides an animated loading indicator.
4
+
5
+ ## Basic Usage
6
+
7
+ ```html
8
+ <snice-spinner></snice-spinner>
9
+ ```
10
+
11
+ ## Properties
12
+
13
+ | Property | Type | Default | Description |
14
+ |----------|------|---------|-------------|
15
+ | `size` | `'small' \| 'medium' \| 'large' \| 'xl'` | `'medium'` | Spinner size |
16
+ | `color` | `'primary' \| 'success' \| 'warning' \| 'error' \| 'info'` | `'primary'` | Color variant |
17
+ | `label` | `string` | `''` | Accessible label |
18
+ | `thickness` | `number` | `4` | Stroke thickness |
19
+
20
+ ## Examples
21
+
22
+ ### Sizes
23
+
24
+ ```html
25
+ <snice-spinner size="small"></snice-spinner>
26
+ <snice-spinner size="medium"></snice-spinner>
27
+ <snice-spinner size="large"></snice-spinner>
28
+ <snice-spinner size="xl"></snice-spinner>
29
+ ```
30
+
31
+ ### Colors
32
+
33
+ ```html
34
+ <snice-spinner color="primary"></snice-spinner>
35
+ <snice-spinner color="success"></snice-spinner>
36
+ <snice-spinner color="warning"></snice-spinner>
37
+ <snice-spinner color="error"></snice-spinner>
38
+ <snice-spinner color="info"></snice-spinner>
39
+ ```
40
+
41
+ ### With Label
42
+
43
+ ```html
44
+ <snice-spinner label="Loading data..."></snice-spinner>
45
+ ```
46
+
47
+ ### Loading State
48
+
49
+ ```html
50
+ <div style="text-align: center; padding: 2rem;">
51
+ <snice-spinner size="large" color="primary"></snice-spinner>
52
+ <p>Loading content...</p>
53
+ </div>
54
+ ```
55
+
56
+ ### Inline Spinner
57
+
58
+ ```html
59
+ <button disabled>
60
+ <snice-spinner size="small"></snice-spinner>
61
+ Processing...
62
+ </button>
63
+ ```