snice 4.9.0 → 4.11.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 (763) hide show
  1. package/adapters/react/app-tiles.d.ts +28 -0
  2. package/adapters/react/app-tiles.d.ts.map +1 -0
  3. package/adapters/react/app-tiles.js +24 -0
  4. package/adapters/react/app-tiles.js.map +1 -0
  5. package/adapters/react/app-tiles.tsx +36 -0
  6. package/adapters/react/book.d.ts +28 -0
  7. package/adapters/react/book.d.ts.map +1 -0
  8. package/adapters/react/book.js +24 -0
  9. package/adapters/react/book.js.map +1 -0
  10. package/adapters/react/book.tsx +36 -0
  11. package/adapters/react/carousel.d.ts +1 -0
  12. package/adapters/react/carousel.d.ts.map +1 -1
  13. package/adapters/react/carousel.js +1 -1
  14. package/adapters/react/carousel.js.map +1 -1
  15. package/adapters/react/carousel.tsx +2 -1
  16. package/adapters/react/comments.d.ts +29 -0
  17. package/adapters/react/comments.d.ts.map +1 -0
  18. package/adapters/react/comments.js +24 -0
  19. package/adapters/react/comments.js.map +1 -0
  20. package/adapters/react/comments.tsx +37 -0
  21. package/adapters/react/components.d.ts +52 -0
  22. package/adapters/react/components.d.ts.map +1 -1
  23. package/adapters/react/components.js +26 -0
  24. package/adapters/react/components.js.map +1 -1
  25. package/adapters/react/components.ts +52 -0
  26. package/adapters/react/countdown.d.ts +31 -0
  27. package/adapters/react/countdown.d.ts.map +1 -0
  28. package/adapters/react/countdown.js +24 -0
  29. package/adapters/react/countdown.js.map +1 -0
  30. package/adapters/react/countdown.tsx +39 -0
  31. package/adapters/react/cropper.d.ts +29 -0
  32. package/adapters/react/cropper.d.ts.map +1 -0
  33. package/adapters/react/cropper.js +24 -0
  34. package/adapters/react/cropper.js.map +1 -0
  35. package/adapters/react/cropper.tsx +37 -0
  36. package/adapters/react/diff.d.ts +31 -0
  37. package/adapters/react/diff.d.ts.map +1 -0
  38. package/adapters/react/diff.js +24 -0
  39. package/adapters/react/diff.js.map +1 -0
  40. package/adapters/react/diff.tsx +39 -0
  41. package/adapters/react/flip-card.d.ts +28 -0
  42. package/adapters/react/flip-card.d.ts.map +1 -0
  43. package/adapters/react/flip-card.js +24 -0
  44. package/adapters/react/flip-card.js.map +1 -0
  45. package/adapters/react/flip-card.tsx +36 -0
  46. package/adapters/react/flow.d.ts +32 -0
  47. package/adapters/react/flow.d.ts.map +1 -0
  48. package/adapters/react/flow.js +24 -0
  49. package/adapters/react/flow.js.map +1 -0
  50. package/adapters/react/flow.tsx +40 -0
  51. package/adapters/react/gantt.d.ts +27 -0
  52. package/adapters/react/gantt.d.ts.map +1 -0
  53. package/adapters/react/gantt.js +24 -0
  54. package/adapters/react/gantt.js.map +1 -0
  55. package/adapters/react/gantt.tsx +35 -0
  56. package/adapters/react/map.d.ts +30 -0
  57. package/adapters/react/map.d.ts.map +1 -0
  58. package/adapters/react/map.js +24 -0
  59. package/adapters/react/map.js.map +1 -0
  60. package/adapters/react/map.tsx +38 -0
  61. package/adapters/react/markdown.d.ts +26 -0
  62. package/adapters/react/markdown.d.ts.map +1 -0
  63. package/adapters/react/markdown.js +24 -0
  64. package/adapters/react/markdown.js.map +1 -0
  65. package/adapters/react/markdown.tsx +34 -0
  66. package/adapters/react/notification-center.d.ts +26 -0
  67. package/adapters/react/notification-center.d.ts.map +1 -0
  68. package/adapters/react/notification-center.js +24 -0
  69. package/adapters/react/notification-center.js.map +1 -0
  70. package/adapters/react/notification-center.tsx +34 -0
  71. package/adapters/react/org-chart.d.ts +28 -0
  72. package/adapters/react/org-chart.d.ts.map +1 -0
  73. package/adapters/react/org-chart.js +24 -0
  74. package/adapters/react/org-chart.js.map +1 -0
  75. package/adapters/react/org-chart.tsx +36 -0
  76. package/adapters/react/pdf-viewer.d.ts +28 -0
  77. package/adapters/react/pdf-viewer.d.ts.map +1 -0
  78. package/adapters/react/pdf-viewer.js +24 -0
  79. package/adapters/react/pdf-viewer.js.map +1 -0
  80. package/adapters/react/pdf-viewer.tsx +36 -0
  81. package/adapters/react/podcast-player.d.ts +40 -0
  82. package/adapters/react/podcast-player.d.ts.map +1 -0
  83. package/adapters/react/podcast-player.js +24 -0
  84. package/adapters/react/podcast-player.js.map +1 -0
  85. package/adapters/react/podcast-player.tsx +48 -0
  86. package/adapters/react/pricing-table.d.ts +27 -0
  87. package/adapters/react/pricing-table.d.ts.map +1 -0
  88. package/adapters/react/pricing-table.js +24 -0
  89. package/adapters/react/pricing-table.js.map +1 -0
  90. package/adapters/react/pricing-table.tsx +35 -0
  91. package/adapters/react/rating.d.ts +30 -0
  92. package/adapters/react/rating.d.ts.map +1 -0
  93. package/adapters/react/rating.js +24 -0
  94. package/adapters/react/rating.js.map +1 -0
  95. package/adapters/react/rating.tsx +38 -0
  96. package/adapters/react/recipe.d.ts +43 -0
  97. package/adapters/react/recipe.d.ts.map +1 -0
  98. package/adapters/react/recipe.js +24 -0
  99. package/adapters/react/recipe.js.map +1 -0
  100. package/adapters/react/recipe.tsx +51 -0
  101. package/adapters/react/sortable.d.ts +28 -0
  102. package/adapters/react/sortable.d.ts.map +1 -0
  103. package/adapters/react/sortable.js +24 -0
  104. package/adapters/react/sortable.js.map +1 -0
  105. package/adapters/react/sortable.tsx +36 -0
  106. package/adapters/react/spotlight.d.ts +27 -0
  107. package/adapters/react/spotlight.d.ts.map +1 -0
  108. package/adapters/react/spotlight.js +24 -0
  109. package/adapters/react/spotlight.js.map +1 -0
  110. package/adapters/react/spotlight.tsx +35 -0
  111. package/adapters/react/spreadsheet.d.ts +27 -0
  112. package/adapters/react/spreadsheet.d.ts.map +1 -0
  113. package/adapters/react/spreadsheet.js +24 -0
  114. package/adapters/react/spreadsheet.js.map +1 -0
  115. package/adapters/react/spreadsheet.tsx +35 -0
  116. package/adapters/react/tag-input.d.ts +33 -0
  117. package/adapters/react/tag-input.d.ts.map +1 -0
  118. package/adapters/react/tag-input.js +24 -0
  119. package/adapters/react/tag-input.js.map +1 -0
  120. package/adapters/react/tag-input.tsx +41 -0
  121. package/adapters/react/testimonial.d.ts +31 -0
  122. package/adapters/react/testimonial.d.ts.map +1 -0
  123. package/adapters/react/testimonial.js +24 -0
  124. package/adapters/react/testimonial.js.map +1 -0
  125. package/adapters/react/testimonial.tsx +39 -0
  126. package/adapters/react/video-player.d.ts +34 -0
  127. package/adapters/react/video-player.d.ts.map +1 -0
  128. package/adapters/react/video-player.js +24 -0
  129. package/adapters/react/video-player.js.map +1 -0
  130. package/adapters/react/video-player.tsx +42 -0
  131. package/adapters/react/waterfall.d.ts +29 -0
  132. package/adapters/react/waterfall.d.ts.map +1 -0
  133. package/adapters/react/waterfall.js +24 -0
  134. package/adapters/react/waterfall.js.map +1 -0
  135. package/adapters/react/waterfall.tsx +37 -0
  136. package/adapters/react/weather.d.ts +27 -0
  137. package/adapters/react/weather.d.ts.map +1 -0
  138. package/adapters/react/weather.js +24 -0
  139. package/adapters/react/weather.js.map +1 -0
  140. package/adapters/react/weather.tsx +35 -0
  141. package/bin/templates/CLAUDE.md +169 -113
  142. package/bin/templates/pwa/README.md +72 -94
  143. package/bin/templates/pwa/src/components/app-header.ts +218 -0
  144. package/bin/templates/pwa/src/components/notification-badge.ts +68 -0
  145. package/bin/templates/pwa/src/components/search-bar.ts +99 -0
  146. package/bin/templates/pwa/src/controllers/notification-controller.ts +42 -0
  147. package/bin/templates/pwa/src/guards/auth.ts +1 -1
  148. package/bin/templates/pwa/src/main.ts +19 -0
  149. package/bin/templates/pwa/src/pages/dashboard.ts +124 -23
  150. package/bin/templates/pwa/src/pages/data.ts +329 -0
  151. package/bin/templates/pwa/src/pages/notifications.ts +112 -30
  152. package/bin/templates/pwa/src/pages/profile.ts +86 -52
  153. package/bin/templates/pwa/src/pages/settings.ts +291 -0
  154. package/bin/templates/pwa/src/styles/global.css +12 -3
  155. package/dist/cdn/accordion/snice-accordion.js +1 -1
  156. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  157. package/dist/cdn/alert/snice-alert.js +1 -1
  158. package/dist/cdn/alert/snice-alert.min.js +1 -1
  159. package/dist/cdn/app-tiles/README.md +27 -0
  160. package/dist/cdn/app-tiles/snice-app-tiles.js +333 -0
  161. package/dist/cdn/app-tiles/snice-app-tiles.js.map +1 -0
  162. package/dist/cdn/app-tiles/snice-app-tiles.min.js +11 -0
  163. package/dist/cdn/app-tiles/snice-app-tiles.min.js.map +1 -0
  164. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  165. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  166. package/dist/cdn/avatar/snice-avatar.js +1 -1
  167. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  168. package/dist/cdn/badge/snice-badge.js +1 -1
  169. package/dist/cdn/badge/snice-badge.min.js +1 -1
  170. package/dist/cdn/banner/snice-banner.js +1 -1
  171. package/dist/cdn/banner/snice-banner.min.js +1 -1
  172. package/dist/cdn/book/README.md +27 -0
  173. package/dist/cdn/book/snice-book.js +353 -0
  174. package/dist/cdn/book/snice-book.js.map +1 -0
  175. package/dist/cdn/book/snice-book.min.js +13 -0
  176. package/dist/cdn/book/snice-book.min.js.map +1 -0
  177. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  178. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  179. package/dist/cdn/button/snice-button.js +1 -1
  180. package/dist/cdn/button/snice-button.min.js +1 -1
  181. package/dist/cdn/calendar/snice-calendar.js +1 -1
  182. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  183. package/dist/cdn/camera/README.md +1 -1
  184. package/dist/cdn/camera/snice-camera.js +1 -1
  185. package/dist/cdn/camera/snice-camera.min.js +1 -1
  186. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  187. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  188. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  189. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  190. package/dist/cdn/card/snice-card.js +1 -1
  191. package/dist/cdn/card/snice-card.min.js +1 -1
  192. package/dist/cdn/carousel/README.md +2 -2
  193. package/dist/cdn/carousel/snice-carousel.js +9 -3
  194. package/dist/cdn/carousel/snice-carousel.js.map +1 -1
  195. package/dist/cdn/carousel/snice-carousel.min.js +3 -3
  196. package/dist/cdn/carousel/snice-carousel.min.js.map +1 -1
  197. package/dist/cdn/chart/snice-chart.js +1 -1
  198. package/dist/cdn/chart/snice-chart.min.js +1 -1
  199. package/dist/cdn/chat/snice-chat.js +1 -1
  200. package/dist/cdn/chat/snice-chat.min.js +1 -1
  201. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  202. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  203. package/dist/cdn/chip/snice-chip.js +1 -1
  204. package/dist/cdn/chip/snice-chip.min.js +1 -1
  205. package/dist/cdn/code-block/snice-code-block.js +1 -1
  206. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  207. package/dist/cdn/color-display/snice-color-display.js +1 -1
  208. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  209. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  210. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  211. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  212. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  213. package/dist/cdn/comments/README.md +27 -0
  214. package/dist/cdn/comments/snice-comments.js +544 -0
  215. package/dist/cdn/comments/snice-comments.js.map +1 -0
  216. package/dist/cdn/comments/snice-comments.min.js +100 -0
  217. package/dist/cdn/comments/snice-comments.min.js.map +1 -0
  218. package/dist/cdn/countdown/README.md +27 -0
  219. package/dist/cdn/countdown/snice-countdown.js +235 -0
  220. package/dist/cdn/countdown/snice-countdown.js.map +1 -0
  221. package/dist/cdn/countdown/snice-countdown.min.js +14 -0
  222. package/dist/cdn/countdown/snice-countdown.min.js.map +1 -0
  223. package/dist/cdn/cropper/README.md +27 -0
  224. package/dist/cdn/cropper/snice-cropper.js +352 -0
  225. package/dist/cdn/cropper/snice-cropper.js.map +1 -0
  226. package/dist/cdn/cropper/snice-cropper.min.js +25 -0
  227. package/dist/cdn/cropper/snice-cropper.min.js.map +1 -0
  228. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  229. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  230. package/dist/cdn/diff/README.md +27 -0
  231. package/dist/cdn/diff/snice-diff.js +441 -0
  232. package/dist/cdn/diff/snice-diff.js.map +1 -0
  233. package/dist/cdn/diff/snice-diff.min.js +54 -0
  234. package/dist/cdn/diff/snice-diff.min.js.map +1 -0
  235. package/dist/cdn/divider/snice-divider.js +1 -1
  236. package/dist/cdn/divider/snice-divider.min.js +1 -1
  237. package/dist/cdn/doc/snice-doc.js +1 -1
  238. package/dist/cdn/doc/snice-doc.min.js +1 -1
  239. package/dist/cdn/draw/snice-draw.js +1 -1
  240. package/dist/cdn/draw/snice-draw.min.js +1 -1
  241. package/dist/cdn/drawer/snice-drawer.js +1 -1
  242. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  243. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  244. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  245. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  246. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  247. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  248. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  249. package/dist/cdn/flip-card/README.md +27 -0
  250. package/dist/cdn/flip-card/snice-flip-card.js +183 -0
  251. package/dist/cdn/flip-card/snice-flip-card.js.map +1 -0
  252. package/dist/cdn/flip-card/snice-flip-card.min.js +22 -0
  253. package/dist/cdn/flip-card/snice-flip-card.min.js.map +1 -0
  254. package/dist/cdn/flow/README.md +27 -0
  255. package/dist/cdn/flow/snice-flow.js +822 -0
  256. package/dist/cdn/flow/snice-flow.js.map +1 -0
  257. package/dist/cdn/flow/snice-flow.min.js +17 -0
  258. package/dist/cdn/flow/snice-flow.min.js.map +1 -0
  259. package/dist/cdn/funnel/snice-funnel.js +1 -1
  260. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  261. package/dist/cdn/gantt/README.md +27 -0
  262. package/dist/cdn/gantt/snice-gantt.js +436 -0
  263. package/dist/cdn/gantt/snice-gantt.js.map +1 -0
  264. package/dist/cdn/gantt/snice-gantt.min.js +60 -0
  265. package/dist/cdn/gantt/snice-gantt.min.js.map +1 -0
  266. package/dist/cdn/gauge/snice-gauge.js +1 -1
  267. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  268. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  269. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  270. package/dist/cdn/image/snice-image.js +1 -1
  271. package/dist/cdn/image/snice-image.min.js +1 -1
  272. package/dist/cdn/input/snice-input.js +1 -1
  273. package/dist/cdn/input/snice-input.min.js +1 -1
  274. package/dist/cdn/kanban/snice-kanban.js +1 -1
  275. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  276. package/dist/cdn/kpi/snice-kpi.js +1 -1
  277. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  278. package/dist/cdn/layout/snice-layout.js +1 -1
  279. package/dist/cdn/layout/snice-layout.min.js +1 -1
  280. package/dist/cdn/link/snice-link.js +1 -1
  281. package/dist/cdn/link/snice-link.min.js +1 -1
  282. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  283. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  284. package/dist/cdn/list/snice-list.js +1 -1
  285. package/dist/cdn/list/snice-list.min.js +1 -1
  286. package/dist/cdn/location/snice-location.js +1 -1
  287. package/dist/cdn/location/snice-location.min.js +1 -1
  288. package/dist/cdn/login/snice-login.js +1 -1
  289. package/dist/cdn/login/snice-login.min.js +1 -1
  290. package/dist/cdn/map/README.md +27 -0
  291. package/dist/cdn/map/snice-map.js +415 -0
  292. package/dist/cdn/map/snice-map.js.map +1 -0
  293. package/dist/cdn/map/snice-map.min.js +52 -0
  294. package/dist/cdn/map/snice-map.min.js.map +1 -0
  295. package/dist/cdn/markdown/README.md +27 -0
  296. package/dist/cdn/markdown/snice-markdown.js +317 -0
  297. package/dist/cdn/markdown/snice-markdown.js.map +1 -0
  298. package/dist/cdn/markdown/snice-markdown.min.js +11 -0
  299. package/dist/cdn/markdown/snice-markdown.min.js.map +1 -0
  300. package/dist/cdn/masonry/snice-masonry.js +1 -1
  301. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  302. package/dist/cdn/menu/snice-menu.js +1 -1
  303. package/dist/cdn/menu/snice-menu.min.js +1 -1
  304. package/dist/cdn/modal/snice-modal.js +1 -1
  305. package/dist/cdn/modal/snice-modal.min.js +1 -1
  306. package/dist/cdn/music-player/snice-music-player.js +1 -1
  307. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  308. package/dist/cdn/nav/snice-nav.js +1 -1
  309. package/dist/cdn/nav/snice-nav.min.js +1 -1
  310. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  311. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  312. package/dist/cdn/notification-center/README.md +27 -0
  313. package/dist/cdn/notification-center/snice-notification-center.js +204 -0
  314. package/dist/cdn/notification-center/snice-notification-center.js.map +1 -0
  315. package/dist/cdn/notification-center/snice-notification-center.min.js +33 -0
  316. package/dist/cdn/notification-center/snice-notification-center.min.js.map +1 -0
  317. package/dist/cdn/org-chart/README.md +27 -0
  318. package/dist/cdn/org-chart/snice-org-chart.js +294 -0
  319. package/dist/cdn/org-chart/snice-org-chart.js.map +1 -0
  320. package/dist/cdn/org-chart/snice-org-chart.min.js +32 -0
  321. package/dist/cdn/org-chart/snice-org-chart.min.js.map +1 -0
  322. package/dist/cdn/pagination/snice-pagination.js +1 -1
  323. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  324. package/dist/cdn/paint/snice-paint.js +1 -1
  325. package/dist/cdn/paint/snice-paint.min.js +1 -1
  326. package/dist/cdn/pdf-viewer/README.md +27 -0
  327. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +588 -0
  328. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js.map +1 -0
  329. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +88 -0
  330. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js.map +1 -0
  331. package/dist/cdn/podcast-player/README.md +27 -0
  332. package/dist/cdn/podcast-player/snice-podcast-player.js +835 -0
  333. package/dist/cdn/podcast-player/snice-podcast-player.js.map +1 -0
  334. package/dist/cdn/podcast-player/snice-podcast-player.min.js +209 -0
  335. package/dist/cdn/podcast-player/snice-podcast-player.min.js.map +1 -0
  336. package/dist/cdn/pricing-table/README.md +27 -0
  337. package/dist/cdn/pricing-table/snice-pricing-table.js +491 -0
  338. package/dist/cdn/pricing-table/snice-pricing-table.js.map +1 -0
  339. package/dist/cdn/pricing-table/snice-pricing-table.min.js +141 -0
  340. package/dist/cdn/pricing-table/snice-pricing-table.min.js.map +1 -0
  341. package/dist/cdn/progress/snice-progress.js +1 -1
  342. package/dist/cdn/progress/snice-progress.min.js +1 -1
  343. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  344. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  345. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  346. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  347. package/dist/cdn/radio/snice-radio.js +1 -1
  348. package/dist/cdn/radio/snice-radio.min.js +1 -1
  349. package/dist/cdn/rating/README.md +27 -0
  350. package/dist/cdn/rating/snice-rating.js +210 -0
  351. package/dist/cdn/rating/snice-rating.js.map +1 -0
  352. package/dist/cdn/rating/snice-rating.min.js +25 -0
  353. package/dist/cdn/rating/snice-rating.min.js.map +1 -0
  354. package/dist/cdn/recipe/README.md +27 -0
  355. package/dist/cdn/recipe/snice-recipe.js +619 -0
  356. package/dist/cdn/recipe/snice-recipe.js.map +1 -0
  357. package/dist/cdn/recipe/snice-recipe.min.js +185 -0
  358. package/dist/cdn/recipe/snice-recipe.min.js.map +1 -0
  359. package/dist/cdn/runtime/README.md +1 -1
  360. package/dist/cdn/runtime/snice-runtime.esm.js +10 -3
  361. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  362. package/dist/cdn/runtime/snice-runtime.esm.min.js +4 -4
  363. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  364. package/dist/cdn/runtime/snice-runtime.js +10 -3
  365. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  366. package/dist/cdn/runtime/snice-runtime.min.js +4 -4
  367. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  368. package/dist/cdn/sankey/snice-sankey.js +1 -1
  369. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  370. package/dist/cdn/select/snice-select.js +1 -1
  371. package/dist/cdn/select/snice-select.min.js +1 -1
  372. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  373. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  374. package/dist/cdn/slider/snice-slider.js +1 -1
  375. package/dist/cdn/slider/snice-slider.min.js +1 -1
  376. package/dist/cdn/sortable/README.md +27 -0
  377. package/dist/cdn/sortable/snice-sortable.js +254 -0
  378. package/dist/cdn/sortable/snice-sortable.js.map +1 -0
  379. package/dist/cdn/sortable/snice-sortable.min.js +12 -0
  380. package/dist/cdn/sortable/snice-sortable.min.js.map +1 -0
  381. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  382. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  383. package/dist/cdn/spinner/snice-spinner.js +1 -1
  384. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  385. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  386. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  387. package/dist/cdn/spotlight/README.md +27 -0
  388. package/dist/cdn/spotlight/snice-spotlight.js +397 -0
  389. package/dist/cdn/spotlight/snice-spotlight.js.map +1 -0
  390. package/dist/cdn/spotlight/snice-spotlight.min.js +8 -0
  391. package/dist/cdn/spotlight/snice-spotlight.min.js.map +1 -0
  392. package/dist/cdn/spreadsheet/README.md +27 -0
  393. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1171 -0
  394. package/dist/cdn/spreadsheet/snice-spreadsheet.js.map +1 -0
  395. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +30 -0
  396. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js.map +1 -0
  397. package/dist/cdn/stepper/snice-stepper.js +1 -1
  398. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  399. package/dist/cdn/switch/snice-switch.js +1 -1
  400. package/dist/cdn/switch/snice-switch.min.js +1 -1
  401. package/dist/cdn/table/snice-table.js +1 -1
  402. package/dist/cdn/table/snice-table.min.js +1 -1
  403. package/dist/cdn/tabs/snice-tabs.js +1 -1
  404. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  405. package/dist/cdn/tag-input/README.md +27 -0
  406. package/dist/cdn/tag-input/snice-tag-input.js +387 -0
  407. package/dist/cdn/tag-input/snice-tag-input.js.map +1 -0
  408. package/dist/cdn/tag-input/snice-tag-input.min.js +65 -0
  409. package/dist/cdn/tag-input/snice-tag-input.min.js.map +1 -0
  410. package/dist/cdn/terminal/snice-terminal.js +1 -1
  411. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  412. package/dist/cdn/testimonial/README.md +27 -0
  413. package/dist/cdn/testimonial/snice-testimonial.js +187 -0
  414. package/dist/cdn/testimonial/snice-testimonial.js.map +1 -0
  415. package/dist/cdn/testimonial/snice-testimonial.min.js +21 -0
  416. package/dist/cdn/testimonial/snice-testimonial.min.js.map +1 -0
  417. package/dist/cdn/textarea/snice-textarea.js +1 -1
  418. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  419. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  420. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  421. package/dist/cdn/timeline/snice-timeline.js +1 -1
  422. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  423. package/dist/cdn/timer/snice-timer.js +1 -1
  424. package/dist/cdn/timer/snice-timer.min.js +1 -1
  425. package/dist/cdn/toast/snice-toast.js +1 -1
  426. package/dist/cdn/toast/snice-toast.min.js +1 -1
  427. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  428. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  429. package/dist/cdn/tree/snice-tree.js +1 -1
  430. package/dist/cdn/tree/snice-tree.min.js +1 -1
  431. package/dist/cdn/treemap/snice-treemap.js +1 -1
  432. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  433. package/dist/cdn/video-player/README.md +27 -0
  434. package/dist/cdn/video-player/snice-video-player.js +721 -0
  435. package/dist/cdn/video-player/snice-video-player.js.map +1 -0
  436. package/dist/cdn/video-player/snice-video-player.min.js +153 -0
  437. package/dist/cdn/video-player/snice-video-player.min.js.map +1 -0
  438. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  439. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  440. package/dist/cdn/waterfall/README.md +27 -0
  441. package/dist/cdn/waterfall/snice-waterfall.js +292 -0
  442. package/dist/cdn/waterfall/snice-waterfall.js.map +1 -0
  443. package/dist/cdn/waterfall/snice-waterfall.min.js +12 -0
  444. package/dist/cdn/waterfall/snice-waterfall.min.js.map +1 -0
  445. package/dist/cdn/weather/README.md +27 -0
  446. package/dist/cdn/weather/snice-weather.js +194 -0
  447. package/dist/cdn/weather/snice-weather.js.map +1 -0
  448. package/dist/cdn/weather/snice-weather.min.js +42 -0
  449. package/dist/cdn/weather/snice-weather.min.js.map +1 -0
  450. package/dist/components/app-tiles/snice-app-tiles.d.ts +36 -0
  451. package/dist/components/app-tiles/snice-app-tiles.js +265 -0
  452. package/dist/components/app-tiles/snice-app-tiles.js.map +1 -0
  453. package/dist/components/app-tiles/snice-app-tiles.types.d.ts +22 -0
  454. package/dist/components/book/snice-book.d.ts +46 -0
  455. package/dist/components/book/snice-book.js +285 -0
  456. package/dist/components/book/snice-book.js.map +1 -0
  457. package/dist/components/book/snice-book.types.d.ts +21 -0
  458. package/dist/components/carousel/snice-carousel.js +8 -2
  459. package/dist/components/carousel/snice-carousel.js.map +1 -1
  460. package/dist/components/comments/snice-comments.d.ts +62 -0
  461. package/dist/components/comments/snice-comments.js +476 -0
  462. package/dist/components/comments/snice-comments.js.map +1 -0
  463. package/dist/components/comments/snice-comments.types.d.ts +64 -0
  464. package/dist/components/countdown/snice-countdown.d.ts +21 -0
  465. package/dist/components/countdown/snice-countdown.js +168 -0
  466. package/dist/components/countdown/snice-countdown.js.map +1 -0
  467. package/dist/components/countdown/snice-countdown.types.d.ts +18 -0
  468. package/dist/components/cropper/snice-cropper.d.ts +32 -0
  469. package/dist/components/cropper/snice-cropper.js +285 -0
  470. package/dist/components/cropper/snice-cropper.js.map +1 -0
  471. package/dist/components/cropper/snice-cropper.types.d.ts +26 -0
  472. package/dist/components/diff/snice-diff.d.ts +32 -0
  473. package/dist/components/diff/snice-diff.js +374 -0
  474. package/dist/components/diff/snice-diff.js.map +1 -0
  475. package/dist/components/diff/snice-diff.types.d.ts +26 -0
  476. package/dist/components/flip-card/snice-flip-card.d.ts +15 -0
  477. package/dist/components/flip-card/snice-flip-card.js +116 -0
  478. package/dist/components/flip-card/snice-flip-card.js.map +1 -0
  479. package/dist/components/flip-card/snice-flip-card.types.d.ts +16 -0
  480. package/dist/components/flow/snice-flow.d.ts +91 -0
  481. package/dist/components/flow/snice-flow.js +755 -0
  482. package/dist/components/flow/snice-flow.js.map +1 -0
  483. package/dist/components/flow/snice-flow.types.d.ts +64 -0
  484. package/dist/components/gantt/snice-gantt.d.ts +34 -0
  485. package/dist/components/gantt/snice-gantt.js +369 -0
  486. package/dist/components/gantt/snice-gantt.js.map +1 -0
  487. package/dist/components/gantt/snice-gantt.types.d.ts +37 -0
  488. package/dist/components/map/snice-map.d.ts +44 -0
  489. package/dist/components/map/snice-map.js +348 -0
  490. package/dist/components/map/snice-map.js.map +1 -0
  491. package/dist/components/map/snice-map.types.d.ts +41 -0
  492. package/dist/components/markdown/snice-markdown.d.ts +24 -0
  493. package/dist/components/markdown/snice-markdown.js +250 -0
  494. package/dist/components/markdown/snice-markdown.js.map +1 -0
  495. package/dist/components/markdown/snice-markdown.types.d.ts +16 -0
  496. package/dist/components/notification-center/snice-notification-center.d.ts +18 -0
  497. package/dist/components/notification-center/snice-notification-center.js +137 -0
  498. package/dist/components/notification-center/snice-notification-center.js.map +1 -0
  499. package/dist/components/notification-center/snice-notification-center.types.d.ts +24 -0
  500. package/dist/components/org-chart/snice-org-chart.d.ts +28 -0
  501. package/dist/components/org-chart/snice-org-chart.js +227 -0
  502. package/dist/components/org-chart/snice-org-chart.js.map +1 -0
  503. package/dist/components/org-chart/snice-org-chart.types.d.ts +28 -0
  504. package/dist/components/pdf-viewer/pdf.min.mjs +21 -0
  505. package/dist/components/pdf-viewer/pdf.worker.min.mjs +21 -0
  506. package/dist/components/pdf-viewer/snice-pdf-viewer.d.ts +60 -0
  507. package/dist/components/pdf-viewer/snice-pdf-viewer.js +521 -0
  508. package/dist/components/pdf-viewer/snice-pdf-viewer.js.map +1 -0
  509. package/dist/components/pdf-viewer/snice-pdf-viewer.types.d.ts +25 -0
  510. package/dist/components/podcast-player/snice-podcast-player.d.ts +72 -0
  511. package/dist/components/podcast-player/snice-podcast-player.js +768 -0
  512. package/dist/components/podcast-player/snice-podcast-player.js.map +1 -0
  513. package/dist/components/podcast-player/snice-podcast-player.types.d.ts +79 -0
  514. package/dist/components/pricing-table/snice-pricing-table.d.ts +51 -0
  515. package/dist/components/pricing-table/snice-pricing-table.js +422 -0
  516. package/dist/components/pricing-table/snice-pricing-table.js.map +1 -0
  517. package/dist/components/pricing-table/snice-pricing-table.types.d.ts +49 -0
  518. package/dist/components/rating/snice-rating.d.ts +15 -0
  519. package/dist/components/rating/snice-rating.js +143 -0
  520. package/dist/components/rating/snice-rating.js.map +1 -0
  521. package/dist/components/rating/snice-rating.types.d.ts +15 -0
  522. package/dist/components/recipe/snice-recipe.d.ts +53 -0
  523. package/dist/components/recipe/snice-recipe.js +552 -0
  524. package/dist/components/recipe/snice-recipe.js.map +1 -0
  525. package/dist/components/recipe/snice-recipe.types.d.ts +56 -0
  526. package/dist/components/sortable/snice-sortable.d.ts +24 -0
  527. package/dist/components/sortable/snice-sortable.js +187 -0
  528. package/dist/components/sortable/snice-sortable.js.map +1 -0
  529. package/dist/components/sortable/snice-sortable.types.d.ts +20 -0
  530. package/dist/components/spotlight/snice-spotlight.d.ts +42 -0
  531. package/dist/components/spotlight/snice-spotlight.js +330 -0
  532. package/dist/components/spotlight/snice-spotlight.js.map +1 -0
  533. package/dist/components/spotlight/snice-spotlight.types.d.ts +26 -0
  534. package/dist/components/spreadsheet/snice-spreadsheet.d.ts +102 -0
  535. package/dist/components/spreadsheet/snice-spreadsheet.js +1104 -0
  536. package/dist/components/spreadsheet/snice-spreadsheet.js.map +1 -0
  537. package/dist/components/spreadsheet/snice-spreadsheet.types.d.ts +54 -0
  538. package/dist/components/tag-input/snice-tag-input.d.ts +40 -0
  539. package/dist/components/tag-input/snice-tag-input.js +320 -0
  540. package/dist/components/tag-input/snice-tag-input.js.map +1 -0
  541. package/dist/components/tag-input/snice-tag-input.types.d.ts +29 -0
  542. package/dist/components/testimonial/snice-testimonial.d.ts +15 -0
  543. package/dist/components/testimonial/snice-testimonial.js +120 -0
  544. package/dist/components/testimonial/snice-testimonial.js.map +1 -0
  545. package/dist/components/testimonial/snice-testimonial.types.d.ts +10 -0
  546. package/dist/components/video-player/snice-video-player.d.ts +78 -0
  547. package/dist/components/video-player/snice-video-player.js +654 -0
  548. package/dist/components/video-player/snice-video-player.js.map +1 -0
  549. package/dist/components/video-player/snice-video-player.types.d.ts +47 -0
  550. package/dist/components/waterfall/snice-waterfall.d.ts +30 -0
  551. package/dist/components/waterfall/snice-waterfall.js +225 -0
  552. package/dist/components/waterfall/snice-waterfall.js.map +1 -0
  553. package/dist/components/waterfall/snice-waterfall.types.d.ts +23 -0
  554. package/dist/components/weather/snice-weather.d.ts +10 -0
  555. package/dist/components/weather/snice-weather.js +127 -0
  556. package/dist/components/weather/snice-weather.js.map +1 -0
  557. package/dist/components/weather/snice-weather.types.d.ts +22 -0
  558. package/dist/index.cjs +8 -1
  559. package/dist/index.cjs.map +1 -1
  560. package/dist/index.esm.js +8 -1
  561. package/dist/index.esm.js.map +1 -1
  562. package/dist/index.iife.js +8 -1
  563. package/dist/index.iife.js.map +1 -1
  564. package/dist/symbols.cjs +1 -1
  565. package/dist/symbols.esm.js +1 -1
  566. package/dist/transitions.cjs +1 -1
  567. package/dist/transitions.esm.js +1 -1
  568. package/docs/ai/DEVELOPMENT.md +1 -1
  569. package/docs/ai/api.md +6 -3
  570. package/docs/ai/components/accordion.md +0 -34
  571. package/docs/ai/components/app-tiles.md +77 -0
  572. package/docs/ai/components/audio-recorder.md +2 -0
  573. package/docs/ai/components/badge.md +7 -0
  574. package/docs/ai/components/book.md +78 -0
  575. package/docs/ai/components/button.md +5 -0
  576. package/docs/ai/components/chart.md +0 -24
  577. package/docs/ai/components/chat.md +7 -95
  578. package/docs/ai/components/code-block.md +3 -82
  579. package/docs/ai/components/color-display.md +3 -3
  580. package/docs/ai/components/color-picker.md +4 -4
  581. package/docs/ai/components/comments.md +75 -0
  582. package/docs/ai/components/countdown.md +54 -0
  583. package/docs/ai/components/cropper.md +57 -0
  584. package/docs/ai/components/date-picker.md +15 -9
  585. package/docs/ai/components/diff.md +66 -0
  586. package/docs/ai/components/divider.md +1 -1
  587. package/docs/ai/components/draw.md +5 -5
  588. package/docs/ai/components/drawer.md +5 -5
  589. package/docs/ai/components/empty-state.md +2 -2
  590. package/docs/ai/components/file-gallery.md +16 -87
  591. package/docs/ai/components/file-upload.md +6 -6
  592. package/docs/ai/components/flip-card.md +52 -0
  593. package/docs/ai/components/flow.md +104 -0
  594. package/docs/ai/components/funnel.md +3 -3
  595. package/docs/ai/components/gantt.md +63 -0
  596. package/docs/ai/components/gauge.md +1 -1
  597. package/docs/ai/components/heatmap.md +5 -5
  598. package/docs/ai/components/input.md +20 -18
  599. package/docs/ai/components/kanban.md +2 -2
  600. package/docs/ai/components/kpi.md +4 -53
  601. package/docs/ai/components/layout.md +10 -235
  602. package/docs/ai/components/link-preview.md +20 -29
  603. package/docs/ai/components/link.md +27 -47
  604. package/docs/ai/components/list.md +51 -31
  605. package/docs/ai/components/location.md +15 -27
  606. package/docs/ai/components/login.md +43 -94
  607. package/docs/ai/components/map.md +72 -0
  608. package/docs/ai/components/markdown.md +63 -0
  609. package/docs/ai/components/masonry.md +10 -6
  610. package/docs/ai/components/menu.md +40 -72
  611. package/docs/ai/components/modal.md +25 -42
  612. package/docs/ai/components/music-player.md +37 -89
  613. package/docs/ai/components/nav.md +25 -39
  614. package/docs/ai/components/network-graph.md +39 -43
  615. package/docs/ai/components/notification-center.md +79 -0
  616. package/docs/ai/components/org-chart.md +62 -0
  617. package/docs/ai/components/pagination.md +16 -18
  618. package/docs/ai/components/pdf-viewer.md +57 -0
  619. package/docs/ai/components/podcast-player.md +94 -0
  620. package/docs/ai/components/pricing-table.md +87 -0
  621. package/docs/ai/components/progress.md +23 -39
  622. package/docs/ai/components/qr-code.md +37 -84
  623. package/docs/ai/components/qr-reader.md +51 -61
  624. package/docs/ai/components/radio.md +27 -39
  625. package/docs/ai/components/rating.md +56 -0
  626. package/docs/ai/components/recipe.md +90 -0
  627. package/docs/ai/components/skeleton.md +0 -8
  628. package/docs/ai/components/slider.md +10 -50
  629. package/docs/ai/components/sortable.md +57 -0
  630. package/docs/ai/components/sparkline.md +26 -152
  631. package/docs/ai/components/spinner.md +0 -21
  632. package/docs/ai/components/split-pane.md +16 -38
  633. package/docs/ai/components/spotlight.md +61 -0
  634. package/docs/ai/components/spreadsheet.md +138 -0
  635. package/docs/ai/components/stepper.md +37 -183
  636. package/docs/ai/components/switch.md +28 -35
  637. package/docs/ai/components/table.md +43 -172
  638. package/docs/ai/components/tabs.md +31 -52
  639. package/docs/ai/components/tag-input.md +70 -0
  640. package/docs/ai/components/terminal.md +34 -116
  641. package/docs/ai/components/testimonial.md +56 -0
  642. package/docs/ai/components/textarea.md +11 -43
  643. package/docs/ai/components/theme.md +120 -0
  644. package/docs/ai/components/time-range-picker.md +17 -49
  645. package/docs/ai/components/timeline.md +7 -46
  646. package/docs/ai/components/timer.md +41 -37
  647. package/docs/ai/components/toast.md +19 -90
  648. package/docs/ai/components/tooltip.md +17 -104
  649. package/docs/ai/components/tree.md +38 -162
  650. package/docs/ai/components/treemap.md +23 -44
  651. package/docs/ai/components/video-player.md +91 -0
  652. package/docs/ai/components/virtual-scroller.md +23 -46
  653. package/docs/ai/components/waterfall.md +56 -0
  654. package/docs/ai/components/weather.md +78 -0
  655. package/docs/ai/decorators.md +25 -3
  656. package/docs/ai/patterns.md +18 -2
  657. package/docs/components/accordion.md +8 -6
  658. package/docs/components/alert.md +2 -0
  659. package/docs/components/app-tiles.md +162 -0
  660. package/docs/components/audio-recorder.md +6 -0
  661. package/docs/components/avatar.md +225 -0
  662. package/docs/components/badge.md +2 -0
  663. package/docs/components/banner.md +2 -0
  664. package/docs/components/book.md +184 -0
  665. package/docs/components/breadcrumbs.md +2 -0
  666. package/docs/components/button.md +15 -0
  667. package/docs/components/calendar.md +2 -0
  668. package/docs/components/camera-annotate.md +2 -0
  669. package/docs/components/camera.md +2 -0
  670. package/docs/components/candlestick.md +2 -0
  671. package/docs/components/card.md +2 -0
  672. package/docs/components/carousel.md +205 -36
  673. package/docs/components/chart.md +2 -0
  674. package/docs/components/chat.md +2 -0
  675. package/docs/components/checkbox.md +2 -0
  676. package/docs/components/chip.md +2 -0
  677. package/docs/components/code-block.md +2 -0
  678. package/docs/components/color-display.md +2 -0
  679. package/docs/components/color-picker.md +6 -4
  680. package/docs/components/command-palette.md +2 -0
  681. package/docs/components/comments.md +235 -0
  682. package/docs/components/countdown.md +121 -0
  683. package/docs/components/cropper.md +152 -0
  684. package/docs/components/date-picker.md +201 -0
  685. package/docs/components/diff.md +177 -0
  686. package/docs/components/divider.md +132 -0
  687. package/docs/components/doc.md +2 -0
  688. package/docs/components/draw.md +2 -0
  689. package/docs/components/drawer.md +2 -0
  690. package/docs/components/empty-state.md +2 -0
  691. package/docs/components/file-gallery.md +2 -0
  692. package/docs/components/file-upload.md +2 -0
  693. package/docs/components/flip-card.md +169 -0
  694. package/docs/components/flow.md +208 -0
  695. package/docs/components/funnel.md +2 -0
  696. package/docs/components/gantt.md +187 -0
  697. package/docs/components/gauge.md +2 -0
  698. package/docs/components/heatmap.md +2 -0
  699. package/docs/components/image.md +2 -0
  700. package/docs/components/input.md +242 -0
  701. package/docs/components/kanban.md +2 -0
  702. package/docs/components/kpi.md +2 -0
  703. package/docs/components/layout.md +84 -0
  704. package/docs/components/link-preview.md +66 -92
  705. package/docs/components/link.md +73 -157
  706. package/docs/components/list.md +140 -44
  707. package/docs/components/location.md +96 -283
  708. package/docs/components/login.md +131 -498
  709. package/docs/components/map.md +203 -0
  710. package/docs/components/markdown.md +220 -0
  711. package/docs/components/masonry.md +57 -102
  712. package/docs/components/menu.md +87 -494
  713. package/docs/components/modal.md +83 -436
  714. package/docs/components/music-player.md +116 -221
  715. package/docs/components/nav.md +107 -170
  716. package/docs/components/network-graph.md +83 -111
  717. package/docs/components/notification-center.md +256 -0
  718. package/docs/components/org-chart.md +275 -0
  719. package/docs/components/pagination.md +75 -218
  720. package/docs/components/paint.md +108 -73
  721. package/docs/components/pdf-viewer.md +204 -0
  722. package/docs/components/podcast-player.md +277 -0
  723. package/docs/components/pricing-table.md +249 -0
  724. package/docs/components/progress.md +169 -0
  725. package/docs/components/qr-code.md +95 -378
  726. package/docs/components/qr-reader.md +83 -258
  727. package/docs/components/radio.md +151 -0
  728. package/docs/components/rating.md +154 -0
  729. package/docs/components/recipe.md +323 -0
  730. package/docs/components/sankey.md +84 -107
  731. package/docs/components/select.md +114 -485
  732. package/docs/components/skeleton.md +96 -0
  733. package/docs/components/slider.md +92 -235
  734. package/docs/components/sortable.md +267 -0
  735. package/docs/components/sparkline.md +76 -222
  736. package/docs/components/spinner.md +37 -18
  737. package/docs/components/split-pane.md +62 -226
  738. package/docs/components/spotlight.md +240 -0
  739. package/docs/components/spreadsheet.md +405 -0
  740. package/docs/components/stepper.md +72 -306
  741. package/docs/components/switch.md +69 -293
  742. package/docs/components/table.md +250 -0
  743. package/docs/components/tabs.md +92 -471
  744. package/docs/components/tag-input.md +257 -0
  745. package/docs/components/terminal.md +87 -391
  746. package/docs/components/testimonial.md +185 -0
  747. package/docs/components/textarea.md +96 -181
  748. package/docs/components/theme.md +216 -0
  749. package/docs/components/time-range-picker.md +99 -151
  750. package/docs/components/timeline.md +67 -115
  751. package/docs/components/timer.md +44 -86
  752. package/docs/components/toast.md +93 -432
  753. package/docs/components/tooltip.md +75 -419
  754. package/docs/components/tree.md +110 -436
  755. package/docs/components/treemap.md +86 -129
  756. package/docs/components/video-player.md +336 -0
  757. package/docs/components/virtual-scroller.md +86 -226
  758. package/docs/components/waterfall.md +217 -0
  759. package/docs/components/weather.md +239 -0
  760. package/docs/routing.md +2 -2
  761. package/package.json +1 -1
  762. package/docs/ai/components/popover.md +0 -70
  763. package/docs/components/popover.md +0 -333
@@ -1,239 +1,176 @@
1
- # Navigation Component
1
+ [//]: # (AI: For a low-token version of this doc, use docs/ai/components/nav.md instead)
2
2
 
3
- The `<snice-nav>` component renders navigation menus from placard configurations. It integrates with Snice's routing system and supports multiple display variants.
3
+ # Nav
4
+ `<snice-nav>`
5
+
6
+ A navigation menu that renders from placard configurations and integrates with Snice's routing system.
4
7
 
5
8
  ## Basic Usage
6
9
 
10
+ ```typescript
11
+ import 'snice/components/nav/snice-nav';
12
+ ```
13
+
7
14
  ```html
8
- <snice-nav id="mainNav" variant="flat" orientation="horizontal"></snice-nav>
15
+ <snice-nav id="nav" variant="flat" orientation="horizontal"></snice-nav>
9
16
 
10
17
  <script type="module">
11
- import 'snice/components/nav/snice-nav';
12
-
13
- const nav = document.querySelector('#mainNav');
14
-
15
- const placards = [
18
+ const nav = document.getElementById('nav');
19
+ nav.update([
16
20
  { name: 'home', title: 'Home', icon: '🏠', order: 0 },
17
21
  { name: 'products', title: 'Products', icon: '📦', order: 1 },
18
- { name: 'about', title: 'About', icon: 'ℹ️', order: 2 },
19
- ];
20
-
21
- nav.update(placards, undefined, 'home');
22
+ { name: 'about', title: 'About', order: 2 },
23
+ ], undefined, 'home');
22
24
  </script>
23
25
  ```
24
26
 
25
- ## Properties
26
-
27
- | Property | Type | Default | Description |
28
- |----------|------|---------|-------------|
29
- | `variant` | `'flat' \| 'hierarchical' \| 'grouped'` | `'flat'` | Display style for navigation |
30
- | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Layout direction |
31
- | `isTopLevel` | `boolean` | `false` | Whether to receive context updates |
32
-
33
- ## Methods
34
-
35
- ### `update(placards, appContext?, currentRoute?, routeParams?): void`
36
- Update the navigation with new placard data and routing information.
27
+ ## Importing
37
28
 
29
+ **ESM (bundler)**
38
30
  ```typescript
39
- nav.update(
40
- placards, // Array of placard objects
41
- appContext, // Optional app context
42
- 'products', // Current route
43
- { id: '123' } // Route parameters
44
- );
31
+ import 'snice/components/nav/snice-nav';
45
32
  ```
46
33
 
47
- ## Placard Structure
48
-
49
- ```typescript
50
- interface Placard {
51
- name: string; // Unique identifier and route
52
- title: string; // Display text
53
- icon?: string; // Icon character/emoji
54
- order?: number; // Sort order
55
- parent?: string; // Parent placard name (for hierarchical)
56
- group?: string; // Group name (for grouped variant)
57
- show?: boolean; // Whether to show the item
58
- description?: string; // Accessible label and tooltip
59
- tooltip?: string; // Hover tooltip
60
- hotkeys?: string[]; // Keyboard shortcuts
61
- helpUrl?: string; // Help documentation URL
62
- searchTerms?: string[]; // Search keywords
63
- attributes?: Record<string, any>; // Custom data attributes
64
- visibleOn?: Function | Function[]; // Visibility guards
65
- }
66
- ```
67
-
68
- ## Variants
69
-
70
- ### Flat (Default)
71
- Simple horizontal or vertical list of navigation items.
72
-
73
- ```html
74
- <snice-nav variant="flat"></snice-nav>
75
- ```
76
-
77
- ### Hierarchical
78
- Nested navigation with parent-child relationships.
79
-
80
- ```html
81
- <snice-nav variant="hierarchical"></snice-nav>
82
- ```
83
-
84
- ```javascript
85
- const placards = [
86
- { name: 'products', title: 'Products', order: 0 },
87
- { name: 'electronics', title: 'Electronics', parent: 'products', order: 0 },
88
- { name: 'clothing', title: 'Clothing', parent: 'products', order: 1 },
89
- ];
90
- ```
91
-
92
- ### Grouped
93
- Navigation items organized into labeled groups.
94
-
34
+ **CDN**
95
35
  ```html
96
- <snice-nav variant="grouped"></snice-nav>
97
- ```
98
-
99
- ```javascript
100
- const placards = [
101
- { name: 'home', title: 'Home', group: 'Main', order: 0 },
102
- { name: 'about', title: 'About', group: 'Main', order: 1 },
103
- { name: 'settings', title: 'Settings', group: 'Account', order: 2 },
104
- ];
36
+ <script src="snice-runtime.min.js"></script>
37
+ <script src="snice-nav.min.js"></script>
105
38
  ```
106
39
 
107
40
  ## Examples
108
41
 
109
- ### Basic Navigation
42
+ ### Flat Navigation
43
+
44
+ The default variant renders a simple list of navigation items.
110
45
 
111
46
  ```html
112
- <snice-nav id="nav"></snice-nav>
47
+ <snice-nav id="flatNav" variant="flat"></snice-nav>
113
48
 
114
49
  <script type="module">
115
- import 'snice/components/nav/snice-nav';
116
-
117
- const nav = document.querySelector('#nav');
118
-
119
- const placards = [
50
+ document.getElementById('flatNav').update([
120
51
  { name: 'home', title: 'Home', order: 0 },
121
52
  { name: 'products', title: 'Products', order: 1 },
122
53
  { name: 'services', title: 'Services', order: 2 },
123
54
  { name: 'contact', title: 'Contact', order: 3 },
124
- ];
125
-
126
- nav.update(placards, undefined, 'home');
55
+ ]);
127
56
  </script>
128
57
  ```
129
58
 
130
- ### With Icons
131
-
132
- ```javascript
133
- const placards = [
134
- { name: 'dashboard', title: 'Dashboard', icon: '📊', order: 0 },
135
- { name: 'analytics', title: 'Analytics', icon: '📈', order: 1 },
136
- { name: 'reports', title: 'Reports', icon: '📋', order: 2 },
137
- { name: 'settings', title: 'Settings', icon: '⚙️', order: 3 },
138
- ];
139
-
140
- nav.update(placards);
141
- ```
59
+ ### Hierarchical Navigation
142
60
 
143
- ### Hierarchical Menu
61
+ Use the `parent` property on placards to create nested navigation.
144
62
 
145
- ```javascript
146
- const placards = [
147
- { name: 'products', title: 'Products', order: 0 },
148
- { name: 'electronics', title: 'Electronics', parent: 'products', order: 0 },
149
- { name: 'computers', title: 'Computers', parent: 'electronics', order: 0 },
150
- { name: 'phones', title: 'Phones', parent: 'electronics', order: 1 },
151
- { name: 'clothing', title: 'Clothing', parent: 'products', order: 1 },
152
- ];
63
+ ```html
64
+ <snice-nav id="hierNav" variant="hierarchical"></snice-nav>
153
65
 
154
- const nav = document.querySelector('snice-nav');
155
- nav.variant = 'hierarchical';
156
- nav.update(placards);
66
+ <script type="module">
67
+ document.getElementById('hierNav').update([
68
+ { name: 'products', title: 'Products', order: 0 },
69
+ { name: 'electronics', title: 'Electronics', parent: 'products', order: 0 },
70
+ { name: 'clothing', title: 'Clothing', parent: 'products', order: 1 },
71
+ ]);
72
+ </script>
157
73
  ```
158
74
 
159
75
  ### Grouped Navigation
160
76
 
161
- ```javascript
162
- const placards = [
163
- { name: 'home', title: 'Home', group: 'Main', order: 0 },
164
- { name: 'dashboard', title: 'Dashboard', group: 'Main', order: 1 },
165
- { name: 'profile', title: 'Profile', group: 'Account', order: 0 },
166
- { name: 'settings', title: 'Settings', group: 'Account', order: 1 },
167
- { name: 'help', title: 'Help', group: 'Support', order: 0 },
168
- ];
169
-
170
- const nav = document.querySelector('snice-nav');
171
- nav.variant = 'grouped';
172
- nav.update(placards);
77
+ Use the `group` property on placards to organize items into labeled groups.
78
+
79
+ ```html
80
+ <snice-nav id="groupNav" variant="grouped"></snice-nav>
81
+
82
+ <script type="module">
83
+ document.getElementById('groupNav').update([
84
+ { name: 'home', title: 'Home', group: 'Main', order: 0 },
85
+ { name: 'dashboard', title: 'Dashboard', group: 'Main', order: 1 },
86
+ { name: 'profile', title: 'Profile', group: 'Account', order: 0 },
87
+ { name: 'settings', title: 'Settings', group: 'Account', order: 1 },
88
+ ]);
89
+ </script>
173
90
  ```
174
91
 
175
- ### With Keyboard Shortcuts
92
+ ### Vertical Orientation
93
+
94
+ Use `orientation="vertical"` for sidebar-style navigation.
176
95
 
177
- ```javascript
178
- const placards = [
179
- { name: 'home', title: 'Home', hotkeys: ['h', 'Ctrl+H'], order: 0 },
180
- { name: 'search', title: 'Search', hotkeys: ['/', 'Ctrl+K'], order: 1 },
181
- ];
96
+ ```html
97
+ <snice-nav variant="flat" orientation="vertical"></snice-nav>
98
+ ```
182
99
 
183
- nav.update(placards);
100
+ ### With Icons
184
101
 
185
- // Access hotkeys via data attribute
186
- const links = nav.shadowRoot.querySelectorAll('[data-hotkeys]');
102
+ ```typescript
103
+ nav.update([
104
+ { name: 'dashboard', title: 'Dashboard', icon: '📊', order: 0 },
105
+ { name: 'analytics', title: 'Analytics', icon: '📈', order: 1 },
106
+ { name: 'settings', title: 'Settings', icon: '⚙️', order: 2 },
107
+ ]);
187
108
  ```
188
109
 
189
110
  ### Conditional Visibility
190
111
 
191
- ```javascript
192
- const placards = [
112
+ Use `visibleOn` guards to conditionally show navigation items.
113
+
114
+ ```typescript
115
+ nav.update([
193
116
  { name: 'home', title: 'Home', order: 0 },
194
117
  {
195
118
  name: 'admin',
196
119
  title: 'Admin',
197
120
  order: 1,
198
- visibleOn: (appContext) => appContext.user?.isAdmin
121
+ visibleOn: (ctx) => ctx.user?.isAdmin
199
122
  },
200
- ];
201
-
202
- nav.update(placards, { user: { isAdmin: true } });
123
+ ], { user: { isAdmin: true } });
203
124
  ```
204
125
 
205
126
  ### Active Route Tracking
206
127
 
207
- ```javascript
208
- // Update current route
209
- nav.update(placards, undefined, 'products');
128
+ Pass the current route to highlight the active item.
210
129
 
211
- // The corresponding nav item will have 'nav__link--active' class
212
- // and aria-current="page" attribute
130
+ ```typescript
131
+ nav.update(placards, undefined, 'products');
132
+ // The active item receives 'nav__link--active' class and aria-current="page"
213
133
  ```
214
134
 
215
- ## Accessibility
135
+ ### Context Integration
216
136
 
217
- - `role="navigation"` on nav container
218
- - `aria-current="page"` on active links
219
- - `aria-label` from placard descriptions
220
- - Keyboard navigation support
221
- - Screen reader friendly
222
-
223
- ## Integration with Snice Context
224
-
225
- When `isTopLevel` is true, the nav component automatically receives updates from the Snice context system:
137
+ Set `is-top-level` to automatically receive placards and routes from the Snice context system.
226
138
 
227
139
  ```html
228
140
  <snice-nav is-top-level></snice-nav>
229
141
  ```
230
142
 
231
- The context provides:
232
- - Placards from routing configuration
233
- - Current route and parameters
234
- - Application context for visibility guards
143
+ ## Placard Structure
144
+
145
+ ```typescript
146
+ interface Placard {
147
+ name: string; // Route identifier
148
+ title: string; // Display text
149
+ icon?: string; // Icon character/emoji
150
+ order?: number; // Sort order
151
+ parent?: string; // Parent name (hierarchical)
152
+ group?: string; // Group name (grouped)
153
+ show?: boolean; // Visibility flag
154
+ description?: string; // Accessible label and tooltip
155
+ tooltip?: string; // Hover tooltip
156
+ hotkeys?: string[]; // Keyboard shortcuts
157
+ helpUrl?: string; // Help documentation URL
158
+ searchTerms?: string[]; // Search keywords
159
+ attributes?: Record<string, any>; // Custom data attributes
160
+ visibleOn?: Function | Function[]; // Visibility guard functions
161
+ }
162
+ ```
163
+
164
+ ## Properties
165
+
166
+ | Property | Type | Default | Description |
167
+ |----------|------|---------|-------------|
168
+ | `variant` | `'flat' \| 'hierarchical' \| 'grouped'` | `'flat'` | Navigation display style |
169
+ | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Layout direction |
170
+ | `isTopLevel` (attr: `is-top-level`) | `boolean` | `false` | Receive context updates automatically |
235
171
 
236
- ## Browser Support
172
+ ## Methods
237
173
 
238
- - Modern browsers (Chrome, Firefox, Safari, Edge)
239
- - Requires Custom Elements v1 and Shadow DOM support
174
+ | Method | Arguments | Description |
175
+ |--------|-----------|-------------|
176
+ | `update()` | `placards, appContext?, currentRoute?, routeParams?` | Update navigation with placard data |
@@ -1,108 +1,64 @@
1
- # Network Graph Component
1
+ [//]: # (AI: For a low-token version of this doc, use docs/ai/components/network-graph.md instead)
2
2
 
3
- The network graph component renders an SVG-based force-directed graph visualization for displaying relationships between nodes. It supports multiple layout algorithms, interactive zoom/pan, draggable nodes, and hover highlighting.
3
+ # Network Graph
4
+ `<snice-network-graph>`
4
5
 
5
- ## Table of Contents
6
- - [Basic Usage](#basic-usage)
7
- - [Properties](#properties)
8
- - [Data Format](#data-format)
9
- - [Events](#events)
10
- - [Examples](#examples)
11
- - [Accessibility](#accessibility)
12
- - [Best Practices](#best-practices)
6
+ An SVG-based force-directed graph visualization for displaying relationships between nodes.
13
7
 
14
8
  ## Basic Usage
15
9
 
10
+ ```typescript
11
+ import 'snice/components/network-graph/snice-network-graph';
12
+ ```
13
+
16
14
  ```html
17
- <snice-network-graph id="graph"></snice-network-graph>
15
+ <snice-network-graph id="graph" style="height: 400px;"></snice-network-graph>
18
16
 
19
17
  <script type="module">
20
- import 'snice/components/network-graph/snice-network-graph';
21
-
22
- const graph = document.getElementById('graph');
23
- graph.data = {
18
+ document.getElementById('graph').data = {
24
19
  nodes: [
25
20
  { id: 'alice', label: 'Alice', group: 'team-a' },
26
21
  { id: 'bob', label: 'Bob', group: 'team-b' },
27
- { id: 'carol', label: 'Carol', group: 'team-a' },
28
22
  ],
29
23
  edges: [
30
24
  { source: 'alice', target: 'bob', label: 'collaborates' },
31
- { source: 'bob', target: 'carol' },
32
- { source: 'alice', target: 'carol' },
33
25
  ],
34
26
  };
35
27
  </script>
36
28
  ```
37
29
 
38
- ## Properties
39
-
40
- | Property | Type | Default | Attribute | Description |
41
- |----------|------|---------|-----------|-------------|
42
- | `data` | `NetworkGraphData` | `{ nodes: [], edges: [] }` | — | Graph data (set via JS property) |
43
- | `layout` | `'force' \| 'circular' \| 'grid'` | `'force'` | `layout` | Layout algorithm |
44
- | `chargeStrength` | `number` | `-300` | `charge-strength` | Repulsion force between nodes (negative = repel) |
45
- | `linkDistance` | `number` | `80` | `link-distance` | Target distance between connected nodes |
46
- | `zoomEnabled` | `boolean` | `true` | `zoom-enabled` | Enable mouse wheel zoom and background pan |
47
- | `dragEnabled` | `boolean` | `true` | `drag-enabled` | Enable dragging nodes |
48
- | `showLabels` | `boolean` | `true` | `show-labels` | Show text labels on nodes and edges |
49
- | `animation` | `boolean` | `true` | `animation` | Animate force simulation |
50
-
51
- ## Data Format
52
-
53
- ### NetworkNode
54
-
55
- | Field | Type | Required | Description |
56
- |-------|------|----------|-------------|
57
- | `id` | `string` | Yes | Unique identifier |
58
- | `label` | `string` | No | Display label (falls back to `id`) |
59
- | `group` | `string` | No | Group for automatic color coding |
60
- | `size` | `number` | No | Custom circle radius (overrides degree-based sizing) |
61
- | `color` | `string` | No | Custom fill color (overrides group color) |
62
- | `x` | `number` | No | Fixed X position (pins node) |
63
- | `y` | `number` | No | Fixed Y position (pins node) |
64
-
65
- ### NetworkEdge
66
-
67
- | Field | Type | Required | Description |
68
- |-------|------|----------|-------------|
69
- | `source` | `string` | Yes | Source node `id` |
70
- | `target` | `string` | Yes | Target node `id` |
71
- | `label` | `string` | No | Label displayed at edge midpoint |
72
- | `weight` | `number` | No | Stroke width (default 1) |
73
- | `color` | `string` | No | Custom stroke color |
30
+ ## Importing
74
31
 
75
- ## Events
32
+ **ESM (bundler)**
33
+ ```typescript
34
+ import 'snice/components/network-graph/snice-network-graph';
35
+ ```
76
36
 
77
- | Event | Detail | Description |
78
- |-------|--------|-------------|
79
- | `@snice/node-click` | `{ node: NetworkNode }` | Node clicked |
80
- | `@snice/edge-click` | `{ edge: NetworkEdge }` | Edge clicked |
81
- | `@snice/node-drag` | `{ node: NetworkNode, x: number, y: number }` | Node dragged to new position |
82
- | `@snice/graph-zoom` | `{ scale: number, x: number, y: number }` | Zoom level changed |
37
+ **CDN**
38
+ ```html
39
+ <script src="snice-runtime.min.js"></script>
40
+ <script src="snice-network-graph.min.js"></script>
41
+ ```
83
42
 
84
43
  ## Examples
85
44
 
86
45
  ### Layout Types
87
46
 
88
- ```html
89
- <!-- Force-directed (default) -->
90
- <snice-network-graph id="force" layout="force"></snice-network-graph>
91
-
92
- <!-- Circular arrangement -->
93
- <snice-network-graph id="circular" layout="circular"></snice-network-graph>
47
+ Use the `layout` attribute to switch between layout algorithms.
94
48
 
95
- <!-- Grid arrangement -->
96
- <snice-network-graph id="grid" layout="grid"></snice-network-graph>
49
+ ```html
50
+ <snice-network-graph layout="force" style="height: 400px;"></snice-network-graph>
51
+ <snice-network-graph layout="circular" style="height: 400px;"></snice-network-graph>
52
+ <snice-network-graph layout="grid" style="height: 400px;"></snice-network-graph>
97
53
  ```
98
54
 
99
55
  ### Custom Node Sizes and Colors
100
56
 
101
57
  ```html
102
- <snice-network-graph id="custom-graph"></snice-network-graph>
58
+ <snice-network-graph id="custom" style="height: 400px;"></snice-network-graph>
103
59
 
104
60
  <script type="module">
105
- document.getElementById('custom-graph').data = {
61
+ document.getElementById('custom').data = {
106
62
  nodes: [
107
63
  { id: 'server', label: 'Server', size: 20, color: 'rgb(220 38 38)' },
108
64
  { id: 'db', label: 'Database', size: 16, color: 'rgb(37 99 235)' },
@@ -110,7 +66,7 @@ The network graph component renders an SVG-based force-directed graph visualizat
110
66
  ],
111
67
  edges: [
112
68
  { source: 'client', target: 'server', weight: 2 },
113
- { source: 'server', target: 'db', label: 'queries', weight: 4, color: 'rgb(37 99 235)' },
69
+ { source: 'server', target: 'db', label: 'queries', weight: 4 },
114
70
  ],
115
71
  };
116
72
  </script>
@@ -118,9 +74,9 @@ The network graph component renders an SVG-based force-directed graph visualizat
118
74
 
119
75
  ### Group-Based Coloring
120
76
 
121
- Nodes with the same `group` value are automatically assigned the same color from a 10-color palette.
77
+ Nodes with the same `group` value are automatically assigned the same color.
122
78
 
123
- ```javascript
79
+ ```typescript
124
80
  graph.data = {
125
81
  nodes: [
126
82
  { id: 'a', group: 'frontend' },
@@ -136,19 +92,18 @@ graph.data = {
136
92
 
137
93
  ### Tuning the Force Simulation
138
94
 
95
+ Use `charge-strength` and `link-distance` to adjust node spacing.
96
+
139
97
  ```html
140
- <!-- Stronger repulsion, longer links -->
141
98
  <snice-network-graph charge-strength="-500" link-distance="120"></snice-network-graph>
142
-
143
- <!-- Weaker repulsion, tighter clustering -->
144
99
  <snice-network-graph charge-strength="-100" link-distance="50"></snice-network-graph>
145
100
  ```
146
101
 
147
102
  ### Pinned Nodes
148
103
 
149
- Provide `x` and `y` on nodes to pin them at fixed positions. Double-click a dragged node to unpin it.
104
+ Provide `x` and `y` on nodes to pin them at fixed positions.
150
105
 
151
- ```javascript
106
+ ```typescript
152
107
  graph.data = {
153
108
  nodes: [
154
109
  { id: 'fixed', label: 'Pinned', x: 300, y: 200 },
@@ -158,9 +113,9 @@ graph.data = {
158
113
  };
159
114
  ```
160
115
 
161
- ### Listening to Events
116
+ ### Event Handling
162
117
 
163
- ```javascript
118
+ ```typescript
164
119
  graph.addEventListener('@snice/node-click', (e) => {
165
120
  console.log('Clicked:', e.detail.node.label);
166
121
  });
@@ -174,42 +129,59 @@ graph.addEventListener('@snice/graph-zoom', (e) => {
174
129
  });
175
130
  ```
176
131
 
177
- ### Disabling Interaction
132
+ ### Static Display
133
+
134
+ Disable drag and zoom for a non-interactive view.
178
135
 
179
136
  ```html
180
- <!-- Static display, no drag or zoom -->
181
137
  <snice-network-graph zoom-enabled="false" drag-enabled="false"></snice-network-graph>
182
138
  ```
183
139
 
184
- ## Interaction
185
-
186
- - **Drag nodes**: Click and drag any node to reposition it. The node becomes pinned.
187
- - **Unpin nodes**: Double-click a pinned node to release it back to the simulation.
188
- - **Pan**: Click and drag on the background to pan the view.
189
- - **Zoom**: Use the mouse wheel to zoom in/out, centered on the cursor.
190
- - **Hover**: Hovering a node highlights its connected subgraph and dims unconnected nodes.
191
- - **Tooltips**: Hovering shows a tooltip with the node label and connection count.
192
-
193
- ## Accessibility
194
-
195
- - Container has `role="img"` with `aria-label="Network graph visualization"`
196
- - Keyboard navigation is not currently supported (future enhancement)
197
- - Color is not the sole indicator of grouping when labels are shown
140
+ ## Data Types
141
+
142
+ ```typescript
143
+ interface NetworkGraphData {
144
+ nodes: NetworkNode[];
145
+ edges: NetworkEdge[];
146
+ }
147
+
148
+ interface NetworkNode {
149
+ id: string;
150
+ label?: string;
151
+ group?: string; // Auto color-coded
152
+ size?: number; // Custom radius
153
+ color?: string; // Custom fill color
154
+ x?: number; // Fixed X position
155
+ y?: number; // Fixed Y position
156
+ }
157
+
158
+ interface NetworkEdge {
159
+ source: string;
160
+ target: string;
161
+ label?: string;
162
+ weight?: number; // Stroke width
163
+ color?: string;
164
+ }
165
+ ```
198
166
 
199
- ## Browser Support
167
+ ## Properties
200
168
 
201
- - Modern browsers (Chrome, Firefox, Safari, Edge)
202
- - Requires Custom Elements v1 and Shadow DOM support
169
+ | Property | Type | Default | Description |
170
+ |----------|------|---------|-------------|
171
+ | `data` | `NetworkGraphData` | `{ nodes: [], edges: [] }` | Graph data (set via JS) |
172
+ | `layout` | `'force' \| 'circular' \| 'grid'` | `'force'` | Layout algorithm |
173
+ | `chargeStrength` (attr: `charge-strength`) | `number` | `-300` | Node repulsion force |
174
+ | `linkDistance` (attr: `link-distance`) | `number` | `80` | Target distance between connected nodes |
175
+ | `zoomEnabled` (attr: `zoom-enabled`) | `boolean` | `true` | Enable zoom and pan |
176
+ | `dragEnabled` (attr: `drag-enabled`) | `boolean` | `true` | Enable dragging nodes |
177
+ | `showLabels` (attr: `show-labels`) | `boolean` | `true` | Show node and edge labels |
178
+ | `animation` | `boolean` | `true` | Animate force simulation |
203
179
 
204
- ## Best Practices
180
+ ## Events
205
181
 
206
- 1. **Set a height**: The component needs a height set via CSS (e.g., `height: 500px`) since it uses `contain: layout style paint`
207
- 2. **Use groups for automatic coloring**: The 10-color palette handles most use cases
208
- 3. **Label important nodes**: Labels provide context beyond color
209
- 4. **Tune simulation parameters**: Adjust `charge-strength` and `link-distance` for your data density
210
- 5. **Use weight for edge importance**: Heavier edges appear thicker
211
- 6. **Pin key nodes**: Use `x`/`y` to anchor important nodes
212
- 7. **Disable animation for static layouts**: Set `animation="false"` for circular/grid layouts
213
- 8. **Keep graph sizes reasonable**: Performance is best with under 200 nodes
214
- 9. **Listen to events**: Use node-click and edge-click for interactive dashboards
215
- 10. **Test in both themes**: Colors and borders adapt to light/dark mode
182
+ | Event | Detail | Description |
183
+ |-------|--------|-------------|
184
+ | `@snice/node-click` | `{ node: NetworkNode }` | Node clicked |
185
+ | `@snice/edge-click` | `{ edge: NetworkEdge }` | Edge clicked |
186
+ | `@snice/node-drag` | `{ node: NetworkNode, x: number, y: number }` | Node dragged |
187
+ | `@snice/graph-zoom` | `{ scale: number, x: number, y: number }` | Zoom changed |