snice 4.8.0 → 4.10.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 (864) 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/camera-annotate.d.ts +27 -0
  12. package/adapters/react/camera-annotate.d.ts.map +1 -0
  13. package/adapters/react/camera-annotate.js +24 -0
  14. package/adapters/react/camera-annotate.js.map +1 -0
  15. package/adapters/react/camera-annotate.tsx +35 -0
  16. package/adapters/react/candlestick.d.ts +34 -0
  17. package/adapters/react/candlestick.d.ts.map +1 -0
  18. package/adapters/react/candlestick.js +24 -0
  19. package/adapters/react/candlestick.js.map +1 -0
  20. package/adapters/react/candlestick.tsx +42 -0
  21. package/adapters/react/comments.d.ts +29 -0
  22. package/adapters/react/comments.d.ts.map +1 -0
  23. package/adapters/react/comments.js +24 -0
  24. package/adapters/react/comments.js.map +1 -0
  25. package/adapters/react/comments.tsx +37 -0
  26. package/adapters/react/components.d.ts +66 -0
  27. package/adapters/react/components.d.ts.map +1 -1
  28. package/adapters/react/components.js +33 -0
  29. package/adapters/react/components.js.map +1 -1
  30. package/adapters/react/components.ts +66 -0
  31. package/adapters/react/countdown.d.ts +31 -0
  32. package/adapters/react/countdown.d.ts.map +1 -0
  33. package/adapters/react/countdown.js +24 -0
  34. package/adapters/react/countdown.js.map +1 -0
  35. package/adapters/react/countdown.tsx +39 -0
  36. package/adapters/react/cropper.d.ts +29 -0
  37. package/adapters/react/cropper.d.ts.map +1 -0
  38. package/adapters/react/cropper.js +24 -0
  39. package/adapters/react/cropper.js.map +1 -0
  40. package/adapters/react/cropper.tsx +37 -0
  41. package/adapters/react/diff.d.ts +31 -0
  42. package/adapters/react/diff.d.ts.map +1 -0
  43. package/adapters/react/diff.js +24 -0
  44. package/adapters/react/diff.js.map +1 -0
  45. package/adapters/react/diff.tsx +39 -0
  46. package/adapters/react/flip-card.d.ts +28 -0
  47. package/adapters/react/flip-card.d.ts.map +1 -0
  48. package/adapters/react/flip-card.js +24 -0
  49. package/adapters/react/flip-card.js.map +1 -0
  50. package/adapters/react/flip-card.tsx +36 -0
  51. package/adapters/react/flow.d.ts +32 -0
  52. package/adapters/react/flow.d.ts.map +1 -0
  53. package/adapters/react/flow.js +24 -0
  54. package/adapters/react/flow.js.map +1 -0
  55. package/adapters/react/flow.tsx +40 -0
  56. package/adapters/react/funnel.d.ts +31 -0
  57. package/adapters/react/funnel.d.ts.map +1 -0
  58. package/adapters/react/funnel.js +24 -0
  59. package/adapters/react/funnel.js.map +1 -0
  60. package/adapters/react/funnel.tsx +39 -0
  61. package/adapters/react/gantt.d.ts +27 -0
  62. package/adapters/react/gantt.d.ts.map +1 -0
  63. package/adapters/react/gantt.js +24 -0
  64. package/adapters/react/gantt.js.map +1 -0
  65. package/adapters/react/gantt.tsx +35 -0
  66. package/adapters/react/map.d.ts +30 -0
  67. package/adapters/react/map.d.ts.map +1 -0
  68. package/adapters/react/map.js +24 -0
  69. package/adapters/react/map.js.map +1 -0
  70. package/adapters/react/map.tsx +38 -0
  71. package/adapters/react/markdown.d.ts +26 -0
  72. package/adapters/react/markdown.d.ts.map +1 -0
  73. package/adapters/react/markdown.js +24 -0
  74. package/adapters/react/markdown.js.map +1 -0
  75. package/adapters/react/markdown.tsx +34 -0
  76. package/adapters/react/network-graph.d.ts +32 -0
  77. package/adapters/react/network-graph.d.ts.map +1 -0
  78. package/adapters/react/network-graph.js +24 -0
  79. package/adapters/react/network-graph.js.map +1 -0
  80. package/adapters/react/network-graph.tsx +40 -0
  81. package/adapters/react/notification-center.d.ts +26 -0
  82. package/adapters/react/notification-center.d.ts.map +1 -0
  83. package/adapters/react/notification-center.js +24 -0
  84. package/adapters/react/notification-center.js.map +1 -0
  85. package/adapters/react/notification-center.tsx +34 -0
  86. package/adapters/react/org-chart.d.ts +28 -0
  87. package/adapters/react/org-chart.d.ts.map +1 -0
  88. package/adapters/react/org-chart.js +24 -0
  89. package/adapters/react/org-chart.js.map +1 -0
  90. package/adapters/react/org-chart.tsx +36 -0
  91. package/adapters/react/pdf-viewer.d.ts +28 -0
  92. package/adapters/react/pdf-viewer.d.ts.map +1 -0
  93. package/adapters/react/pdf-viewer.js +24 -0
  94. package/adapters/react/pdf-viewer.js.map +1 -0
  95. package/adapters/react/pdf-viewer.tsx +36 -0
  96. package/adapters/react/podcast-player.d.ts +40 -0
  97. package/adapters/react/podcast-player.d.ts.map +1 -0
  98. package/adapters/react/podcast-player.js +24 -0
  99. package/adapters/react/podcast-player.js.map +1 -0
  100. package/adapters/react/podcast-player.tsx +48 -0
  101. package/adapters/react/pricing-table.d.ts +27 -0
  102. package/adapters/react/pricing-table.d.ts.map +1 -0
  103. package/adapters/react/pricing-table.js +24 -0
  104. package/adapters/react/pricing-table.js.map +1 -0
  105. package/adapters/react/pricing-table.tsx +35 -0
  106. package/adapters/react/rating.d.ts +30 -0
  107. package/adapters/react/rating.d.ts.map +1 -0
  108. package/adapters/react/rating.js +24 -0
  109. package/adapters/react/rating.js.map +1 -0
  110. package/adapters/react/rating.tsx +38 -0
  111. package/adapters/react/recipe.d.ts +43 -0
  112. package/adapters/react/recipe.d.ts.map +1 -0
  113. package/adapters/react/recipe.js +24 -0
  114. package/adapters/react/recipe.js.map +1 -0
  115. package/adapters/react/recipe.tsx +51 -0
  116. package/adapters/react/sankey.d.ts +31 -0
  117. package/adapters/react/sankey.d.ts.map +1 -0
  118. package/adapters/react/sankey.js +24 -0
  119. package/adapters/react/sankey.js.map +1 -0
  120. package/adapters/react/sankey.tsx +39 -0
  121. package/adapters/react/sortable.d.ts +28 -0
  122. package/adapters/react/sortable.d.ts.map +1 -0
  123. package/adapters/react/sortable.js +24 -0
  124. package/adapters/react/sortable.js.map +1 -0
  125. package/adapters/react/sortable.tsx +36 -0
  126. package/adapters/react/spotlight.d.ts +27 -0
  127. package/adapters/react/spotlight.d.ts.map +1 -0
  128. package/adapters/react/spotlight.js +24 -0
  129. package/adapters/react/spotlight.js.map +1 -0
  130. package/adapters/react/spotlight.tsx +35 -0
  131. package/adapters/react/spreadsheet.d.ts +27 -0
  132. package/adapters/react/spreadsheet.d.ts.map +1 -0
  133. package/adapters/react/spreadsheet.js +24 -0
  134. package/adapters/react/spreadsheet.js.map +1 -0
  135. package/adapters/react/spreadsheet.tsx +35 -0
  136. package/adapters/react/tag-input.d.ts +33 -0
  137. package/adapters/react/tag-input.d.ts.map +1 -0
  138. package/adapters/react/tag-input.js +24 -0
  139. package/adapters/react/tag-input.js.map +1 -0
  140. package/adapters/react/tag-input.tsx +41 -0
  141. package/adapters/react/testimonial.d.ts +31 -0
  142. package/adapters/react/testimonial.d.ts.map +1 -0
  143. package/adapters/react/testimonial.js +24 -0
  144. package/adapters/react/testimonial.js.map +1 -0
  145. package/adapters/react/testimonial.tsx +39 -0
  146. package/adapters/react/time-range-picker.d.ts +33 -0
  147. package/adapters/react/time-range-picker.d.ts.map +1 -0
  148. package/adapters/react/time-range-picker.js +24 -0
  149. package/adapters/react/time-range-picker.js.map +1 -0
  150. package/adapters/react/time-range-picker.tsx +41 -0
  151. package/adapters/react/treemap.d.ts +30 -0
  152. package/adapters/react/treemap.d.ts.map +1 -0
  153. package/adapters/react/treemap.js +24 -0
  154. package/adapters/react/treemap.js.map +1 -0
  155. package/adapters/react/treemap.tsx +38 -0
  156. package/adapters/react/video-player.d.ts +34 -0
  157. package/adapters/react/video-player.d.ts.map +1 -0
  158. package/adapters/react/video-player.js +24 -0
  159. package/adapters/react/video-player.js.map +1 -0
  160. package/adapters/react/video-player.tsx +42 -0
  161. package/adapters/react/virtual-scroller.d.ts +1 -0
  162. package/adapters/react/virtual-scroller.d.ts.map +1 -1
  163. package/adapters/react/virtual-scroller.js +1 -1
  164. package/adapters/react/virtual-scroller.js.map +1 -1
  165. package/adapters/react/virtual-scroller.tsx +2 -1
  166. package/adapters/react/waterfall.d.ts +29 -0
  167. package/adapters/react/waterfall.d.ts.map +1 -0
  168. package/adapters/react/waterfall.js +24 -0
  169. package/adapters/react/waterfall.js.map +1 -0
  170. package/adapters/react/waterfall.tsx +37 -0
  171. package/adapters/react/weather.d.ts +27 -0
  172. package/adapters/react/weather.d.ts.map +1 -0
  173. package/adapters/react/weather.js +24 -0
  174. package/adapters/react/weather.js.map +1 -0
  175. package/adapters/react/weather.tsx +35 -0
  176. package/dist/cdn/accordion/snice-accordion.js +1 -1
  177. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  178. package/dist/cdn/alert/snice-alert.js +1 -1
  179. package/dist/cdn/alert/snice-alert.min.js +1 -1
  180. package/dist/cdn/app-tiles/README.md +27 -0
  181. package/dist/cdn/app-tiles/snice-app-tiles.js +333 -0
  182. package/dist/cdn/app-tiles/snice-app-tiles.js.map +1 -0
  183. package/dist/cdn/app-tiles/snice-app-tiles.min.js +11 -0
  184. package/dist/cdn/app-tiles/snice-app-tiles.min.js.map +1 -0
  185. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  186. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  187. package/dist/cdn/avatar/snice-avatar.js +1 -1
  188. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  189. package/dist/cdn/badge/snice-badge.js +1 -1
  190. package/dist/cdn/badge/snice-badge.min.js +1 -1
  191. package/dist/cdn/banner/snice-banner.js +1 -1
  192. package/dist/cdn/banner/snice-banner.min.js +1 -1
  193. package/dist/cdn/book/README.md +27 -0
  194. package/dist/cdn/book/snice-book.js +353 -0
  195. package/dist/cdn/book/snice-book.js.map +1 -0
  196. package/dist/cdn/book/snice-book.min.js +13 -0
  197. package/dist/cdn/book/snice-book.min.js.map +1 -0
  198. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +2 -2
  199. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  200. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +13 -13
  201. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js.map +1 -1
  202. package/dist/cdn/button/snice-button.js +1 -1
  203. package/dist/cdn/button/snice-button.min.js +1 -1
  204. package/dist/cdn/calendar/snice-calendar.js +1 -1
  205. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  206. package/dist/cdn/camera/snice-camera.js +1 -1
  207. package/dist/cdn/camera/snice-camera.min.js +1 -1
  208. package/dist/cdn/camera-annotate/README.md +27 -0
  209. package/dist/cdn/camera-annotate/snice-camera-annotate.js +730 -0
  210. package/dist/cdn/camera-annotate/snice-camera-annotate.js.map +1 -0
  211. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +144 -0
  212. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js.map +1 -0
  213. package/dist/cdn/candlestick/README.md +27 -0
  214. package/dist/cdn/candlestick/snice-candlestick.js +717 -0
  215. package/dist/cdn/candlestick/snice-candlestick.js.map +1 -0
  216. package/dist/cdn/candlestick/snice-candlestick.min.js +22 -0
  217. package/dist/cdn/candlestick/snice-candlestick.min.js.map +1 -0
  218. package/dist/cdn/card/snice-card.js +1 -1
  219. package/dist/cdn/card/snice-card.min.js +1 -1
  220. package/dist/cdn/carousel/snice-carousel.js +1 -1
  221. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  222. package/dist/cdn/chart/snice-chart.js +1 -1
  223. package/dist/cdn/chart/snice-chart.min.js +1 -1
  224. package/dist/cdn/chat/snice-chat.js +1 -1
  225. package/dist/cdn/chat/snice-chat.min.js +1 -1
  226. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  227. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  228. package/dist/cdn/chip/snice-chip.js +1 -1
  229. package/dist/cdn/chip/snice-chip.min.js +1 -1
  230. package/dist/cdn/code-block/snice-code-block.js +1 -1
  231. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  232. package/dist/cdn/color-display/snice-color-display.js +1 -1
  233. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  234. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  235. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  236. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  237. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  238. package/dist/cdn/comments/README.md +27 -0
  239. package/dist/cdn/comments/snice-comments.js +544 -0
  240. package/dist/cdn/comments/snice-comments.js.map +1 -0
  241. package/dist/cdn/comments/snice-comments.min.js +100 -0
  242. package/dist/cdn/comments/snice-comments.min.js.map +1 -0
  243. package/dist/cdn/countdown/README.md +27 -0
  244. package/dist/cdn/countdown/snice-countdown.js +235 -0
  245. package/dist/cdn/countdown/snice-countdown.js.map +1 -0
  246. package/dist/cdn/countdown/snice-countdown.min.js +14 -0
  247. package/dist/cdn/countdown/snice-countdown.min.js.map +1 -0
  248. package/dist/cdn/cropper/README.md +27 -0
  249. package/dist/cdn/cropper/snice-cropper.js +352 -0
  250. package/dist/cdn/cropper/snice-cropper.js.map +1 -0
  251. package/dist/cdn/cropper/snice-cropper.min.js +25 -0
  252. package/dist/cdn/cropper/snice-cropper.min.js.map +1 -0
  253. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  254. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  255. package/dist/cdn/diff/README.md +27 -0
  256. package/dist/cdn/diff/snice-diff.js +441 -0
  257. package/dist/cdn/diff/snice-diff.js.map +1 -0
  258. package/dist/cdn/diff/snice-diff.min.js +54 -0
  259. package/dist/cdn/diff/snice-diff.min.js.map +1 -0
  260. package/dist/cdn/divider/snice-divider.js +1 -1
  261. package/dist/cdn/divider/snice-divider.min.js +1 -1
  262. package/dist/cdn/doc/snice-doc.js +1 -1
  263. package/dist/cdn/doc/snice-doc.min.js +1 -1
  264. package/dist/cdn/draw/snice-draw.js +1 -1
  265. package/dist/cdn/draw/snice-draw.min.js +1 -1
  266. package/dist/cdn/drawer/snice-drawer.js +1 -1
  267. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  268. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  269. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  270. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  271. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  272. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  273. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  274. package/dist/cdn/flip-card/README.md +27 -0
  275. package/dist/cdn/flip-card/snice-flip-card.js +183 -0
  276. package/dist/cdn/flip-card/snice-flip-card.js.map +1 -0
  277. package/dist/cdn/flip-card/snice-flip-card.min.js +22 -0
  278. package/dist/cdn/flip-card/snice-flip-card.min.js.map +1 -0
  279. package/dist/cdn/flow/README.md +27 -0
  280. package/dist/cdn/flow/snice-flow.js +822 -0
  281. package/dist/cdn/flow/snice-flow.js.map +1 -0
  282. package/dist/cdn/flow/snice-flow.min.js +17 -0
  283. package/dist/cdn/flow/snice-flow.min.js.map +1 -0
  284. package/dist/cdn/funnel/README.md +27 -0
  285. package/dist/cdn/funnel/snice-funnel.js +424 -0
  286. package/dist/cdn/funnel/snice-funnel.js.map +1 -0
  287. package/dist/cdn/funnel/snice-funnel.min.js +20 -0
  288. package/dist/cdn/funnel/snice-funnel.min.js.map +1 -0
  289. package/dist/cdn/gantt/README.md +27 -0
  290. package/dist/cdn/gantt/snice-gantt.js +436 -0
  291. package/dist/cdn/gantt/snice-gantt.js.map +1 -0
  292. package/dist/cdn/gantt/snice-gantt.min.js +60 -0
  293. package/dist/cdn/gantt/snice-gantt.min.js.map +1 -0
  294. package/dist/cdn/gauge/snice-gauge.js +1 -1
  295. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  296. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  297. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  298. package/dist/cdn/image/snice-image.js +1 -1
  299. package/dist/cdn/image/snice-image.min.js +1 -1
  300. package/dist/cdn/input/snice-input.js +1 -1
  301. package/dist/cdn/input/snice-input.min.js +1 -1
  302. package/dist/cdn/kanban/snice-kanban.js +1 -1
  303. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  304. package/dist/cdn/kpi/snice-kpi.js +1 -1
  305. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  306. package/dist/cdn/layout/README.md +2 -2
  307. package/dist/cdn/layout/snice-layout.js +23 -6
  308. package/dist/cdn/layout/snice-layout.js.map +1 -1
  309. package/dist/cdn/layout/snice-layout.min.js +2 -2
  310. package/dist/cdn/layout/snice-layout.min.js.map +1 -1
  311. package/dist/cdn/link/snice-link.js +1 -1
  312. package/dist/cdn/link/snice-link.min.js +1 -1
  313. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  314. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  315. package/dist/cdn/list/README.md +6 -2
  316. package/dist/cdn/list/snice-list.js +87 -10
  317. package/dist/cdn/list/snice-list.js.map +1 -1
  318. package/dist/cdn/list/snice-list.min.js +20 -6
  319. package/dist/cdn/list/snice-list.min.js.map +1 -1
  320. package/dist/cdn/location/snice-location.js +1 -1
  321. package/dist/cdn/location/snice-location.min.js +1 -1
  322. package/dist/cdn/login/snice-login.js +1 -1
  323. package/dist/cdn/login/snice-login.min.js +1 -1
  324. package/dist/cdn/map/README.md +27 -0
  325. package/dist/cdn/map/snice-map.js +415 -0
  326. package/dist/cdn/map/snice-map.js.map +1 -0
  327. package/dist/cdn/map/snice-map.min.js +52 -0
  328. package/dist/cdn/map/snice-map.min.js.map +1 -0
  329. package/dist/cdn/markdown/README.md +27 -0
  330. package/dist/cdn/markdown/snice-markdown.js +317 -0
  331. package/dist/cdn/markdown/snice-markdown.js.map +1 -0
  332. package/dist/cdn/markdown/snice-markdown.min.js +11 -0
  333. package/dist/cdn/markdown/snice-markdown.min.js.map +1 -0
  334. package/dist/cdn/masonry/snice-masonry.js +1 -1
  335. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  336. package/dist/cdn/menu/snice-menu.js +1 -1
  337. package/dist/cdn/menu/snice-menu.min.js +1 -1
  338. package/dist/cdn/modal/snice-modal.js +1 -1
  339. package/dist/cdn/modal/snice-modal.min.js +1 -1
  340. package/dist/cdn/music-player/snice-music-player.js +1 -1
  341. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  342. package/dist/cdn/nav/README.md +2 -2
  343. package/dist/cdn/nav/snice-nav.js +23 -6
  344. package/dist/cdn/nav/snice-nav.js.map +1 -1
  345. package/dist/cdn/nav/snice-nav.min.js +2 -2
  346. package/dist/cdn/nav/snice-nav.min.js.map +1 -1
  347. package/dist/cdn/network-graph/README.md +27 -0
  348. package/dist/cdn/network-graph/snice-network-graph.js +788 -0
  349. package/dist/cdn/network-graph/snice-network-graph.js.map +1 -0
  350. package/dist/cdn/network-graph/snice-network-graph.min.js +13 -0
  351. package/dist/cdn/network-graph/snice-network-graph.min.js.map +1 -0
  352. package/dist/cdn/notification-center/README.md +27 -0
  353. package/dist/cdn/notification-center/snice-notification-center.js +204 -0
  354. package/dist/cdn/notification-center/snice-notification-center.js.map +1 -0
  355. package/dist/cdn/notification-center/snice-notification-center.min.js +33 -0
  356. package/dist/cdn/notification-center/snice-notification-center.min.js.map +1 -0
  357. package/dist/cdn/org-chart/README.md +27 -0
  358. package/dist/cdn/org-chart/snice-org-chart.js +294 -0
  359. package/dist/cdn/org-chart/snice-org-chart.js.map +1 -0
  360. package/dist/cdn/org-chart/snice-org-chart.min.js +32 -0
  361. package/dist/cdn/org-chart/snice-org-chart.min.js.map +1 -0
  362. package/dist/cdn/pagination/README.md +2 -2
  363. package/dist/cdn/pagination/snice-pagination.js +13 -13
  364. package/dist/cdn/pagination/snice-pagination.js.map +1 -1
  365. package/dist/cdn/pagination/snice-pagination.min.js +14 -14
  366. package/dist/cdn/pagination/snice-pagination.min.js.map +1 -1
  367. package/dist/cdn/paint/snice-paint.js +1 -1
  368. package/dist/cdn/paint/snice-paint.min.js +1 -1
  369. package/dist/cdn/pdf-viewer/README.md +27 -0
  370. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +594 -0
  371. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js.map +1 -0
  372. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +88 -0
  373. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js.map +1 -0
  374. package/dist/cdn/podcast-player/README.md +27 -0
  375. package/dist/cdn/podcast-player/snice-podcast-player.js +835 -0
  376. package/dist/cdn/podcast-player/snice-podcast-player.js.map +1 -0
  377. package/dist/cdn/podcast-player/snice-podcast-player.min.js +209 -0
  378. package/dist/cdn/podcast-player/snice-podcast-player.min.js.map +1 -0
  379. package/dist/cdn/pricing-table/README.md +27 -0
  380. package/dist/cdn/pricing-table/snice-pricing-table.js +491 -0
  381. package/dist/cdn/pricing-table/snice-pricing-table.js.map +1 -0
  382. package/dist/cdn/pricing-table/snice-pricing-table.min.js +141 -0
  383. package/dist/cdn/pricing-table/snice-pricing-table.min.js.map +1 -0
  384. package/dist/cdn/progress/snice-progress.js +1 -1
  385. package/dist/cdn/progress/snice-progress.min.js +1 -1
  386. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  387. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  388. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  389. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  390. package/dist/cdn/radio/snice-radio.js +1 -1
  391. package/dist/cdn/radio/snice-radio.min.js +1 -1
  392. package/dist/cdn/rating/README.md +27 -0
  393. package/dist/cdn/rating/snice-rating.js +210 -0
  394. package/dist/cdn/rating/snice-rating.js.map +1 -0
  395. package/dist/cdn/rating/snice-rating.min.js +25 -0
  396. package/dist/cdn/rating/snice-rating.min.js.map +1 -0
  397. package/dist/cdn/recipe/README.md +27 -0
  398. package/dist/cdn/recipe/snice-recipe.js +619 -0
  399. package/dist/cdn/recipe/snice-recipe.js.map +1 -0
  400. package/dist/cdn/recipe/snice-recipe.min.js +185 -0
  401. package/dist/cdn/recipe/snice-recipe.min.js.map +1 -0
  402. package/dist/cdn/runtime/snice-runtime.esm.js +3 -3
  403. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  404. package/dist/cdn/runtime/snice-runtime.esm.min.js +3 -3
  405. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  406. package/dist/cdn/runtime/snice-runtime.js +3 -3
  407. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  408. package/dist/cdn/runtime/snice-runtime.min.js +3 -3
  409. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  410. package/dist/cdn/sankey/README.md +27 -0
  411. package/dist/cdn/sankey/snice-sankey.js +679 -0
  412. package/dist/cdn/sankey/snice-sankey.js.map +1 -0
  413. package/dist/cdn/sankey/snice-sankey.min.js +21 -0
  414. package/dist/cdn/sankey/snice-sankey.min.js.map +1 -0
  415. package/dist/cdn/select/snice-select.js +1 -1
  416. package/dist/cdn/select/snice-select.min.js +1 -1
  417. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  418. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  419. package/dist/cdn/slider/snice-slider.js +1 -1
  420. package/dist/cdn/slider/snice-slider.min.js +1 -1
  421. package/dist/cdn/sortable/README.md +27 -0
  422. package/dist/cdn/sortable/snice-sortable.js +254 -0
  423. package/dist/cdn/sortable/snice-sortable.js.map +1 -0
  424. package/dist/cdn/sortable/snice-sortable.min.js +12 -0
  425. package/dist/cdn/sortable/snice-sortable.min.js.map +1 -0
  426. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  427. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  428. package/dist/cdn/spinner/snice-spinner.js +1 -1
  429. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  430. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  431. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  432. package/dist/cdn/spotlight/README.md +27 -0
  433. package/dist/cdn/spotlight/snice-spotlight.js +397 -0
  434. package/dist/cdn/spotlight/snice-spotlight.js.map +1 -0
  435. package/dist/cdn/spotlight/snice-spotlight.min.js +8 -0
  436. package/dist/cdn/spotlight/snice-spotlight.min.js.map +1 -0
  437. package/dist/cdn/spreadsheet/README.md +27 -0
  438. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1171 -0
  439. package/dist/cdn/spreadsheet/snice-spreadsheet.js.map +1 -0
  440. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +30 -0
  441. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js.map +1 -0
  442. package/dist/cdn/stepper/README.md +6 -2
  443. package/dist/cdn/stepper/snice-stepper.js +77 -10
  444. package/dist/cdn/stepper/snice-stepper.js.map +1 -1
  445. package/dist/cdn/stepper/snice-stepper.min.js +13 -9
  446. package/dist/cdn/stepper/snice-stepper.min.js.map +1 -1
  447. package/dist/cdn/switch/snice-switch.js +1 -1
  448. package/dist/cdn/switch/snice-switch.min.js +1 -1
  449. package/dist/cdn/table/snice-table.js +1 -1
  450. package/dist/cdn/table/snice-table.min.js +1 -1
  451. package/dist/cdn/tabs/snice-tabs.js +1 -1
  452. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  453. package/dist/cdn/tag-input/README.md +27 -0
  454. package/dist/cdn/tag-input/snice-tag-input.js +387 -0
  455. package/dist/cdn/tag-input/snice-tag-input.js.map +1 -0
  456. package/dist/cdn/tag-input/snice-tag-input.min.js +65 -0
  457. package/dist/cdn/tag-input/snice-tag-input.min.js.map +1 -0
  458. package/dist/cdn/terminal/snice-terminal.js +1 -1
  459. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  460. package/dist/cdn/testimonial/README.md +27 -0
  461. package/dist/cdn/testimonial/snice-testimonial.js +187 -0
  462. package/dist/cdn/testimonial/snice-testimonial.js.map +1 -0
  463. package/dist/cdn/testimonial/snice-testimonial.min.js +21 -0
  464. package/dist/cdn/testimonial/snice-testimonial.min.js.map +1 -0
  465. package/dist/cdn/textarea/snice-textarea.js +1 -1
  466. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  467. package/dist/cdn/time-range-picker/README.md +27 -0
  468. package/dist/cdn/time-range-picker/snice-time-range-picker.js +635 -0
  469. package/dist/cdn/time-range-picker/snice-time-range-picker.js.map +1 -0
  470. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +34 -0
  471. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js.map +1 -0
  472. package/dist/cdn/timeline/snice-timeline.js +1 -1
  473. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  474. package/dist/cdn/timer/snice-timer.js +1 -1
  475. package/dist/cdn/timer/snice-timer.min.js +1 -1
  476. package/dist/cdn/toast/snice-toast.js +1 -1
  477. package/dist/cdn/toast/snice-toast.min.js +1 -1
  478. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  479. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  480. package/dist/cdn/tree/README.md +5 -1
  481. package/dist/cdn/tree/snice-tree.js +4 -8
  482. package/dist/cdn/tree/snice-tree.js.map +1 -1
  483. package/dist/cdn/tree/snice-tree.min.js +5 -5
  484. package/dist/cdn/tree/snice-tree.min.js.map +1 -1
  485. package/dist/cdn/treemap/README.md +27 -0
  486. package/dist/cdn/treemap/snice-treemap.js +522 -0
  487. package/dist/cdn/treemap/snice-treemap.js.map +1 -0
  488. package/dist/cdn/treemap/snice-treemap.min.js +14 -0
  489. package/dist/cdn/treemap/snice-treemap.min.js.map +1 -0
  490. package/dist/cdn/video-player/README.md +27 -0
  491. package/dist/cdn/video-player/snice-video-player.js +721 -0
  492. package/dist/cdn/video-player/snice-video-player.js.map +1 -0
  493. package/dist/cdn/video-player/snice-video-player.min.js +153 -0
  494. package/dist/cdn/video-player/snice-video-player.min.js.map +1 -0
  495. package/dist/cdn/virtual-scroller/README.md +2 -2
  496. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +47 -16
  497. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js.map +1 -1
  498. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +9 -9
  499. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js.map +1 -1
  500. package/dist/cdn/waterfall/README.md +27 -0
  501. package/dist/cdn/waterfall/snice-waterfall.js +292 -0
  502. package/dist/cdn/waterfall/snice-waterfall.js.map +1 -0
  503. package/dist/cdn/waterfall/snice-waterfall.min.js +12 -0
  504. package/dist/cdn/waterfall/snice-waterfall.min.js.map +1 -0
  505. package/dist/cdn/weather/README.md +27 -0
  506. package/dist/cdn/weather/snice-weather.js +194 -0
  507. package/dist/cdn/weather/snice-weather.js.map +1 -0
  508. package/dist/cdn/weather/snice-weather.min.js +42 -0
  509. package/dist/cdn/weather/snice-weather.min.js.map +1 -0
  510. package/dist/components/app-tiles/snice-app-tiles.d.ts +36 -0
  511. package/dist/components/app-tiles/snice-app-tiles.js +265 -0
  512. package/dist/components/app-tiles/snice-app-tiles.js.map +1 -0
  513. package/dist/components/app-tiles/snice-app-tiles.types.d.ts +22 -0
  514. package/dist/components/book/snice-book.d.ts +46 -0
  515. package/dist/components/book/snice-book.js +285 -0
  516. package/dist/components/book/snice-book.js.map +1 -0
  517. package/dist/components/book/snice-book.types.d.ts +21 -0
  518. package/dist/components/breadcrumbs/snice-breadcrumbs.js +1 -1
  519. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  520. package/dist/components/camera-annotate/snice-camera-annotate.d.ts +68 -0
  521. package/dist/components/camera-annotate/snice-camera-annotate.js +663 -0
  522. package/dist/components/camera-annotate/snice-camera-annotate.js.map +1 -0
  523. package/dist/components/camera-annotate/snice-camera-annotate.types.d.ts +50 -0
  524. package/dist/components/candlestick/snice-candlestick.d.ts +78 -0
  525. package/dist/components/candlestick/snice-candlestick.js +650 -0
  526. package/dist/components/candlestick/snice-candlestick.js.map +1 -0
  527. package/dist/components/candlestick/snice-candlestick.types.d.ts +40 -0
  528. package/dist/components/comments/snice-comments.d.ts +62 -0
  529. package/dist/components/comments/snice-comments.js +476 -0
  530. package/dist/components/comments/snice-comments.js.map +1 -0
  531. package/dist/components/comments/snice-comments.types.d.ts +64 -0
  532. package/dist/components/countdown/snice-countdown.d.ts +21 -0
  533. package/dist/components/countdown/snice-countdown.js +168 -0
  534. package/dist/components/countdown/snice-countdown.js.map +1 -0
  535. package/dist/components/countdown/snice-countdown.types.d.ts +18 -0
  536. package/dist/components/cropper/snice-cropper.d.ts +32 -0
  537. package/dist/components/cropper/snice-cropper.js +285 -0
  538. package/dist/components/cropper/snice-cropper.js.map +1 -0
  539. package/dist/components/cropper/snice-cropper.types.d.ts +26 -0
  540. package/dist/components/diff/snice-diff.d.ts +32 -0
  541. package/dist/components/diff/snice-diff.js +374 -0
  542. package/dist/components/diff/snice-diff.js.map +1 -0
  543. package/dist/components/diff/snice-diff.types.d.ts +26 -0
  544. package/dist/components/flip-card/snice-flip-card.d.ts +15 -0
  545. package/dist/components/flip-card/snice-flip-card.js +116 -0
  546. package/dist/components/flip-card/snice-flip-card.js.map +1 -0
  547. package/dist/components/flip-card/snice-flip-card.types.d.ts +16 -0
  548. package/dist/components/flow/snice-flow.d.ts +91 -0
  549. package/dist/components/flow/snice-flow.js +755 -0
  550. package/dist/components/flow/snice-flow.js.map +1 -0
  551. package/dist/components/flow/snice-flow.types.d.ts +64 -0
  552. package/dist/components/funnel/snice-funnel.d.ts +37 -0
  553. package/dist/components/funnel/snice-funnel.js +357 -0
  554. package/dist/components/funnel/snice-funnel.js.map +1 -0
  555. package/dist/components/funnel/snice-funnel.types.d.ts +28 -0
  556. package/dist/components/gantt/snice-gantt.d.ts +34 -0
  557. package/dist/components/gantt/snice-gantt.js +369 -0
  558. package/dist/components/gantt/snice-gantt.js.map +1 -0
  559. package/dist/components/gantt/snice-gantt.types.d.ts +37 -0
  560. package/dist/components/list/snice-list-item.d.ts +2 -0
  561. package/dist/components/list/snice-list-item.js +20 -2
  562. package/dist/components/list/snice-list-item.js.map +1 -1
  563. package/dist/components/map/snice-map.d.ts +44 -0
  564. package/dist/components/map/snice-map.js +348 -0
  565. package/dist/components/map/snice-map.js.map +1 -0
  566. package/dist/components/map/snice-map.types.d.ts +41 -0
  567. package/dist/components/markdown/snice-markdown.d.ts +24 -0
  568. package/dist/components/markdown/snice-markdown.js +250 -0
  569. package/dist/components/markdown/snice-markdown.js.map +1 -0
  570. package/dist/components/markdown/snice-markdown.types.d.ts +16 -0
  571. package/dist/components/nav/snice-nav.js +22 -5
  572. package/dist/components/nav/snice-nav.js.map +1 -1
  573. package/dist/components/network-graph/snice-network-graph.d.ts +80 -0
  574. package/dist/components/network-graph/snice-network-graph.js +721 -0
  575. package/dist/components/network-graph/snice-network-graph.js.map +1 -0
  576. package/dist/components/network-graph/snice-network-graph.types.d.ts +49 -0
  577. package/dist/components/notification-center/snice-notification-center.d.ts +18 -0
  578. package/dist/components/notification-center/snice-notification-center.js +137 -0
  579. package/dist/components/notification-center/snice-notification-center.js.map +1 -0
  580. package/dist/components/notification-center/snice-notification-center.types.d.ts +24 -0
  581. package/dist/components/org-chart/snice-org-chart.d.ts +28 -0
  582. package/dist/components/org-chart/snice-org-chart.js +227 -0
  583. package/dist/components/org-chart/snice-org-chart.js.map +1 -0
  584. package/dist/components/org-chart/snice-org-chart.types.d.ts +28 -0
  585. package/dist/components/pagination/snice-pagination.js +12 -12
  586. package/dist/components/pdf-viewer/pdf.min.mjs +21 -0
  587. package/dist/components/pdf-viewer/pdf.worker.min.mjs +21 -0
  588. package/dist/components/pdf-viewer/snice-pdf-viewer.d.ts +59 -0
  589. package/dist/components/pdf-viewer/snice-pdf-viewer.js +527 -0
  590. package/dist/components/pdf-viewer/snice-pdf-viewer.js.map +1 -0
  591. package/dist/components/pdf-viewer/snice-pdf-viewer.types.d.ts +25 -0
  592. package/dist/components/podcast-player/snice-podcast-player.d.ts +72 -0
  593. package/dist/components/podcast-player/snice-podcast-player.js +768 -0
  594. package/dist/components/podcast-player/snice-podcast-player.js.map +1 -0
  595. package/dist/components/podcast-player/snice-podcast-player.types.d.ts +79 -0
  596. package/dist/components/pricing-table/snice-pricing-table.d.ts +51 -0
  597. package/dist/components/pricing-table/snice-pricing-table.js +422 -0
  598. package/dist/components/pricing-table/snice-pricing-table.js.map +1 -0
  599. package/dist/components/pricing-table/snice-pricing-table.types.d.ts +49 -0
  600. package/dist/components/rating/snice-rating.d.ts +15 -0
  601. package/dist/components/rating/snice-rating.js +143 -0
  602. package/dist/components/rating/snice-rating.js.map +1 -0
  603. package/dist/components/rating/snice-rating.types.d.ts +15 -0
  604. package/dist/components/recipe/snice-recipe.d.ts +53 -0
  605. package/dist/components/recipe/snice-recipe.js +552 -0
  606. package/dist/components/recipe/snice-recipe.js.map +1 -0
  607. package/dist/components/recipe/snice-recipe.types.d.ts +56 -0
  608. package/dist/components/sankey/snice-sankey.d.ts +46 -0
  609. package/dist/components/sankey/snice-sankey.js +612 -0
  610. package/dist/components/sankey/snice-sankey.js.map +1 -0
  611. package/dist/components/sankey/snice-sankey.types.d.ts +59 -0
  612. package/dist/components/sortable/snice-sortable.d.ts +24 -0
  613. package/dist/components/sortable/snice-sortable.js +187 -0
  614. package/dist/components/sortable/snice-sortable.js.map +1 -0
  615. package/dist/components/sortable/snice-sortable.types.d.ts +20 -0
  616. package/dist/components/spotlight/snice-spotlight.d.ts +42 -0
  617. package/dist/components/spotlight/snice-spotlight.js +330 -0
  618. package/dist/components/spotlight/snice-spotlight.js.map +1 -0
  619. package/dist/components/spotlight/snice-spotlight.types.d.ts +26 -0
  620. package/dist/components/spreadsheet/snice-spreadsheet.d.ts +102 -0
  621. package/dist/components/spreadsheet/snice-spreadsheet.js +1104 -0
  622. package/dist/components/spreadsheet/snice-spreadsheet.js.map +1 -0
  623. package/dist/components/spreadsheet/snice-spreadsheet.types.d.ts +54 -0
  624. package/dist/components/stepper/snice-stepper.js +9 -3
  625. package/dist/components/stepper/snice-stepper.js.map +1 -1
  626. package/dist/components/tag-input/snice-tag-input.d.ts +40 -0
  627. package/dist/components/tag-input/snice-tag-input.js +320 -0
  628. package/dist/components/tag-input/snice-tag-input.js.map +1 -0
  629. package/dist/components/tag-input/snice-tag-input.types.d.ts +29 -0
  630. package/dist/components/testimonial/snice-testimonial.d.ts +15 -0
  631. package/dist/components/testimonial/snice-testimonial.js +120 -0
  632. package/dist/components/testimonial/snice-testimonial.js.map +1 -0
  633. package/dist/components/testimonial/snice-testimonial.types.d.ts +10 -0
  634. package/dist/components/time-range-picker/snice-time-range-picker.d.ts +67 -0
  635. package/dist/components/time-range-picker/snice-time-range-picker.js +568 -0
  636. package/dist/components/time-range-picker/snice-time-range-picker.js.map +1 -0
  637. package/dist/components/time-range-picker/snice-time-range-picker.types.d.ts +39 -0
  638. package/dist/components/treemap/snice-treemap.d.ts +49 -0
  639. package/dist/components/treemap/snice-treemap.js +455 -0
  640. package/dist/components/treemap/snice-treemap.js.map +1 -0
  641. package/dist/components/treemap/snice-treemap.types.d.ts +42 -0
  642. package/dist/components/video-player/snice-video-player.d.ts +78 -0
  643. package/dist/components/video-player/snice-video-player.js +654 -0
  644. package/dist/components/video-player/snice-video-player.js.map +1 -0
  645. package/dist/components/video-player/snice-video-player.types.d.ts +47 -0
  646. package/dist/components/virtual-scroller/snice-virtual-scroller.d.ts +5 -0
  647. package/dist/components/virtual-scroller/snice-virtual-scroller.js +47 -16
  648. package/dist/components/virtual-scroller/snice-virtual-scroller.js.map +1 -1
  649. package/dist/components/waterfall/snice-waterfall.d.ts +30 -0
  650. package/dist/components/waterfall/snice-waterfall.js +225 -0
  651. package/dist/components/waterfall/snice-waterfall.js.map +1 -0
  652. package/dist/components/waterfall/snice-waterfall.types.d.ts +23 -0
  653. package/dist/components/weather/snice-weather.d.ts +10 -0
  654. package/dist/components/weather/snice-weather.js +127 -0
  655. package/dist/components/weather/snice-weather.js.map +1 -0
  656. package/dist/components/weather/snice-weather.types.d.ts +22 -0
  657. package/dist/index.cjs +1 -1
  658. package/dist/index.cjs.map +1 -1
  659. package/dist/index.esm.js +1 -1
  660. package/dist/index.esm.js.map +1 -1
  661. package/dist/index.iife.js +1 -1
  662. package/dist/index.iife.js.map +1 -1
  663. package/dist/symbols.cjs +1 -1
  664. package/dist/symbols.esm.js +1 -1
  665. package/dist/transitions.cjs +1 -1
  666. package/dist/transitions.esm.js +1 -1
  667. package/docs/ai/DEVELOPMENT.md +1 -1
  668. package/docs/ai/api.md +6 -3
  669. package/docs/ai/components/accordion.md +0 -34
  670. package/docs/ai/components/app-tiles.md +77 -0
  671. package/docs/ai/components/audio-recorder.md +2 -0
  672. package/docs/ai/components/badge.md +7 -0
  673. package/docs/ai/components/book.md +78 -0
  674. package/docs/ai/components/button.md +5 -0
  675. package/docs/ai/components/camera-annotate.md +82 -0
  676. package/docs/ai/components/candlestick.md +79 -0
  677. package/docs/ai/components/chart.md +0 -24
  678. package/docs/ai/components/chat.md +7 -95
  679. package/docs/ai/components/code-block.md +3 -82
  680. package/docs/ai/components/color-display.md +3 -3
  681. package/docs/ai/components/color-picker.md +4 -4
  682. package/docs/ai/components/comments.md +75 -0
  683. package/docs/ai/components/countdown.md +54 -0
  684. package/docs/ai/components/cropper.md +57 -0
  685. package/docs/ai/components/date-picker.md +15 -9
  686. package/docs/ai/components/diff.md +66 -0
  687. package/docs/ai/components/divider.md +1 -1
  688. package/docs/ai/components/draw.md +5 -5
  689. package/docs/ai/components/drawer.md +5 -5
  690. package/docs/ai/components/empty-state.md +2 -2
  691. package/docs/ai/components/file-gallery.md +16 -87
  692. package/docs/ai/components/file-upload.md +6 -6
  693. package/docs/ai/components/flip-card.md +52 -0
  694. package/docs/ai/components/flow.md +104 -0
  695. package/docs/ai/components/funnel.md +86 -0
  696. package/docs/ai/components/gantt.md +63 -0
  697. package/docs/ai/components/gauge.md +1 -1
  698. package/docs/ai/components/heatmap.md +5 -5
  699. package/docs/ai/components/input.md +20 -18
  700. package/docs/ai/components/kanban.md +2 -2
  701. package/docs/ai/components/kpi.md +4 -53
  702. package/docs/ai/components/layout.md +10 -235
  703. package/docs/ai/components/link-preview.md +20 -29
  704. package/docs/ai/components/link.md +27 -47
  705. package/docs/ai/components/list.md +51 -31
  706. package/docs/ai/components/location.md +15 -27
  707. package/docs/ai/components/login.md +43 -94
  708. package/docs/ai/components/map.md +72 -0
  709. package/docs/ai/components/markdown.md +63 -0
  710. package/docs/ai/components/masonry.md +10 -6
  711. package/docs/ai/components/menu.md +40 -72
  712. package/docs/ai/components/modal.md +25 -42
  713. package/docs/ai/components/music-player.md +37 -89
  714. package/docs/ai/components/nav.md +25 -39
  715. package/docs/ai/components/network-graph.md +83 -0
  716. package/docs/ai/components/notification-center.md +79 -0
  717. package/docs/ai/components/org-chart.md +62 -0
  718. package/docs/ai/components/pagination.md +16 -18
  719. package/docs/ai/components/pdf-viewer.md +57 -0
  720. package/docs/ai/components/podcast-player.md +94 -0
  721. package/docs/ai/components/pricing-table.md +87 -0
  722. package/docs/ai/components/progress.md +23 -39
  723. package/docs/ai/components/qr-code.md +37 -84
  724. package/docs/ai/components/qr-reader.md +51 -61
  725. package/docs/ai/components/radio.md +27 -39
  726. package/docs/ai/components/rating.md +56 -0
  727. package/docs/ai/components/recipe.md +90 -0
  728. package/docs/ai/components/sankey.md +63 -0
  729. package/docs/ai/components/skeleton.md +0 -8
  730. package/docs/ai/components/slider.md +10 -50
  731. package/docs/ai/components/sortable.md +57 -0
  732. package/docs/ai/components/sparkline.md +26 -152
  733. package/docs/ai/components/spinner.md +0 -21
  734. package/docs/ai/components/split-pane.md +16 -38
  735. package/docs/ai/components/spotlight.md +61 -0
  736. package/docs/ai/components/spreadsheet.md +138 -0
  737. package/docs/ai/components/stepper.md +37 -183
  738. package/docs/ai/components/switch.md +28 -35
  739. package/docs/ai/components/table.md +43 -172
  740. package/docs/ai/components/tabs.md +31 -52
  741. package/docs/ai/components/tag-input.md +70 -0
  742. package/docs/ai/components/terminal.md +34 -116
  743. package/docs/ai/components/testimonial.md +56 -0
  744. package/docs/ai/components/textarea.md +11 -43
  745. package/docs/ai/components/theme.md +120 -0
  746. package/docs/ai/components/time-range-picker.md +46 -0
  747. package/docs/ai/components/timeline.md +7 -46
  748. package/docs/ai/components/timer.md +41 -37
  749. package/docs/ai/components/toast.md +19 -90
  750. package/docs/ai/components/tooltip.md +17 -104
  751. package/docs/ai/components/tree.md +38 -162
  752. package/docs/ai/components/treemap.md +57 -0
  753. package/docs/ai/components/video-player.md +91 -0
  754. package/docs/ai/components/virtual-scroller.md +23 -46
  755. package/docs/ai/components/waterfall.md +56 -0
  756. package/docs/ai/components/weather.md +78 -0
  757. package/docs/ai/decorators.md +25 -3
  758. package/docs/ai/patterns.md +17 -1
  759. package/docs/components/accordion.md +8 -6
  760. package/docs/components/alert.md +2 -0
  761. package/docs/components/app-tiles.md +162 -0
  762. package/docs/components/audio-recorder.md +6 -0
  763. package/docs/components/avatar.md +225 -0
  764. package/docs/components/badge.md +2 -0
  765. package/docs/components/banner.md +2 -0
  766. package/docs/components/book.md +184 -0
  767. package/docs/components/breadcrumbs.md +2 -0
  768. package/docs/components/button.md +15 -0
  769. package/docs/components/calendar.md +2 -0
  770. package/docs/components/camera-annotate.md +188 -0
  771. package/docs/components/camera.md +2 -0
  772. package/docs/components/candlestick.md +198 -0
  773. package/docs/components/card.md +2 -0
  774. package/docs/components/carousel.md +205 -36
  775. package/docs/components/chart.md +2 -0
  776. package/docs/components/chat.md +2 -0
  777. package/docs/components/checkbox.md +2 -0
  778. package/docs/components/chip.md +2 -0
  779. package/docs/components/code-block.md +2 -0
  780. package/docs/components/color-display.md +2 -0
  781. package/docs/components/color-picker.md +6 -4
  782. package/docs/components/command-palette.md +2 -0
  783. package/docs/components/comments.md +235 -0
  784. package/docs/components/countdown.md +121 -0
  785. package/docs/components/cropper.md +152 -0
  786. package/docs/components/date-picker.md +201 -0
  787. package/docs/components/diff.md +177 -0
  788. package/docs/components/divider.md +132 -0
  789. package/docs/components/doc.md +2 -0
  790. package/docs/components/draw.md +2 -0
  791. package/docs/components/drawer.md +2 -0
  792. package/docs/components/empty-state.md +2 -0
  793. package/docs/components/file-gallery.md +2 -0
  794. package/docs/components/file-upload.md +2 -0
  795. package/docs/components/flip-card.md +169 -0
  796. package/docs/components/flow.md +208 -0
  797. package/docs/components/funnel.md +193 -0
  798. package/docs/components/gantt.md +187 -0
  799. package/docs/components/gauge.md +2 -0
  800. package/docs/components/heatmap.md +2 -0
  801. package/docs/components/image.md +2 -0
  802. package/docs/components/input.md +242 -0
  803. package/docs/components/kanban.md +2 -0
  804. package/docs/components/kpi.md +2 -0
  805. package/docs/components/layout.md +84 -0
  806. package/docs/components/link-preview.md +66 -92
  807. package/docs/components/link.md +73 -157
  808. package/docs/components/list.md +140 -44
  809. package/docs/components/location.md +96 -283
  810. package/docs/components/login.md +131 -498
  811. package/docs/components/map.md +203 -0
  812. package/docs/components/markdown.md +220 -0
  813. package/docs/components/masonry.md +57 -102
  814. package/docs/components/menu.md +87 -494
  815. package/docs/components/modal.md +83 -436
  816. package/docs/components/music-player.md +116 -221
  817. package/docs/components/nav.md +107 -170
  818. package/docs/components/network-graph.md +187 -0
  819. package/docs/components/notification-center.md +256 -0
  820. package/docs/components/org-chart.md +275 -0
  821. package/docs/components/pagination.md +75 -218
  822. package/docs/components/paint.md +108 -73
  823. package/docs/components/pdf-viewer.md +204 -0
  824. package/docs/components/podcast-player.md +277 -0
  825. package/docs/components/pricing-table.md +249 -0
  826. package/docs/components/progress.md +169 -0
  827. package/docs/components/qr-code.md +95 -378
  828. package/docs/components/qr-reader.md +83 -258
  829. package/docs/components/radio.md +151 -0
  830. package/docs/components/rating.md +154 -0
  831. package/docs/components/recipe.md +323 -0
  832. package/docs/components/sankey.md +178 -0
  833. package/docs/components/select.md +114 -485
  834. package/docs/components/skeleton.md +96 -0
  835. package/docs/components/slider.md +92 -235
  836. package/docs/components/sortable.md +267 -0
  837. package/docs/components/sparkline.md +76 -222
  838. package/docs/components/spinner.md +37 -18
  839. package/docs/components/split-pane.md +62 -226
  840. package/docs/components/spotlight.md +240 -0
  841. package/docs/components/spreadsheet.md +405 -0
  842. package/docs/components/stepper.md +72 -306
  843. package/docs/components/switch.md +69 -293
  844. package/docs/components/table.md +250 -0
  845. package/docs/components/tabs.md +92 -471
  846. package/docs/components/tag-input.md +257 -0
  847. package/docs/components/terminal.md +87 -391
  848. package/docs/components/testimonial.md +185 -0
  849. package/docs/components/textarea.md +96 -181
  850. package/docs/components/theme.md +216 -0
  851. package/docs/components/time-range-picker.md +161 -0
  852. package/docs/components/timeline.md +67 -115
  853. package/docs/components/timer.md +44 -86
  854. package/docs/components/toast.md +93 -432
  855. package/docs/components/tooltip.md +75 -419
  856. package/docs/components/tree.md +110 -436
  857. package/docs/components/treemap.md +155 -0
  858. package/docs/components/video-player.md +336 -0
  859. package/docs/components/virtual-scroller.md +86 -226
  860. package/docs/components/waterfall.md +217 -0
  861. package/docs/components/weather.md +239 -0
  862. package/package.json +1 -1
  863. package/docs/ai/components/popover.md +0 -70
  864. package/docs/components/popover.md +0 -333
@@ -1,11 +1,11 @@
1
1
  /*!
2
- * snice v4.7.0
2
+ * snice v4.9.0
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, differential rendering, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
6
6
  */
7
- void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be loaded before snice-tree.min.js");var SniceTree=function(e,t){"use strict";function i(e,t,i,s,n,a){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,d=s.kind,l="getter"===d?"get":"setter"===d?"set":"value",r=!t&&e?s.static?e:e.prototype:null,h=t||(r?Object.getOwnPropertyDescriptor(r,s.name):{}),p=!1,m=i.length-1;m>=0;m--){var u={};for(var b in s)u[b]="access"===b?{}:s[b];for(var b in s.access)u.access[b]=s.access[b];u.addInitializer=function(e){if(p)throw new TypeError("Cannot add initializers after decoration has completed");a.push(o(e||null))};var g=(0,i[m])("accessor"===d?{get:h.get,set:h.set}:h[l],u);if("accessor"===d){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(c=o(g.get))&&(h.get=c),(c=o(g.set))&&(h.set=c),(c=o(g.init))&&n.unshift(c)}else(c=o(g))&&("field"===d?n.unshift(c):h[l]=c)}r&&Object.defineProperty(r,s.name,h),p=!0}function s(e,t,i){for(var s=arguments.length>2,n=0;n<t.length;n++)i=s?t[n].call(e,i):t[n].call(e);return s?i:void 0}"function"==typeof SuppressedError&&SuppressedError;(()=>{let e,n,a,o,c,d,l,r,h,p,m,u,b,g,k,v,y,f,x,w,_,C=[t.element("snice-checkbox")],S=[],E=HTMLElement,N=[],I=[],z=[],L=[],A=[],R=[],M=[],q=[],T=[],$=[],O=[],F=[],B=[],j=[],D=[],H=[],P=[],K=[],U=[],V=[],X=[],G=[],J=[],Q=[],W=[],Y=[],Z=[],ee=[],te=[];(class extends E{static{n=this}static{const ie="function"==typeof Symbol&&Symbol.metadata?Object.create(E[Symbol.metadata]??null):void 0;a=[t.property({type:Boolean})],o=[t.property({type:Boolean})],c=[t.property({type:Boolean})],d=[t.property({type:Boolean})],l=[t.property({type:Boolean})],r=[t.property({type:Boolean})],h=[t.property({})],p=[t.property({})],m=[t.property({})],u=[t.property({})],b=[t.query(".checkbox-input")],g=[t.query(".checkbox")],k=[t.query(".checkbox-label")],v=[t.query(".checkbox-wrapper")],y=[t.on("click")],f=[t.render()],x=[t.watch("checked")],w=[t.watch("indeterminate")],_=[t.styles()],i(this,null,y,{kind:"method",name:"handleCheckboxClick",static:!1,private:!1,access:{has:e=>"handleCheckboxClick"in e,get:e=>e.handleCheckboxClick},metadata:ie},null,N),i(this,null,f,{kind:"method",name:"render",static:!1,private:!1,access:{has:e=>"render"in e,get:e=>e.render},metadata:ie},null,N),i(this,null,x,{kind:"method",name:"handleCheckedChange",static:!1,private:!1,access:{has:e=>"handleCheckedChange"in e,get:e=>e.handleCheckedChange},metadata:ie},null,N),i(this,null,w,{kind:"method",name:"handleIndeterminateChange",static:!1,private:!1,access:{has:e=>"handleIndeterminateChange"in e,get:e=>e.handleIndeterminateChange},metadata:ie},null,N),i(this,null,_,{kind:"method",name:"styles",static:!1,private:!1,access:{has:e=>"styles"in e,get:e=>e.styles},metadata:ie},null,N),i(null,null,a,{kind:"field",name:"checked",static:!1,private:!1,access:{has:e=>"checked"in e,get:e=>e.checked,set:(e,t)=>{e.checked=t}},metadata:ie},I,z),i(null,null,o,{kind:"field",name:"indeterminate",static:!1,private:!1,access:{has:e=>"indeterminate"in e,get:e=>e.indeterminate,set:(e,t)=>{e.indeterminate=t}},metadata:ie},L,A),i(null,null,c,{kind:"field",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:ie},R,M),i(null,null,d,{kind:"field",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:ie},q,T),i(null,null,l,{kind:"field",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:ie},$,O),i(null,null,r,{kind:"field",name:"invalid",static:!1,private:!1,access:{has:e=>"invalid"in e,get:e=>e.invalid,set:(e,t)=>{e.invalid=t}},metadata:ie},F,B),i(null,null,h,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:ie},j,D),i(null,null,p,{kind:"field",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,t)=>{e.name=t}},metadata:ie},H,P),i(null,null,m,{kind:"field",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:ie},K,U),i(null,null,u,{kind:"field",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:ie},V,X),i(null,null,b,{kind:"field",name:"input",static:!1,private:!1,access:{has:e=>"input"in e,get:e=>e.input,set:(e,t)=>{e.input=t}},metadata:ie},G,J),i(null,null,g,{kind:"field",name:"checkbox",static:!1,private:!1,access:{has:e=>"checkbox"in e,get:e=>e.checkbox,set:(e,t)=>{e.checkbox=t}},metadata:ie},Q,W),i(null,null,k,{kind:"field",name:"labelElement",static:!1,private:!1,access:{has:e=>"labelElement"in e,get:e=>e.labelElement,set:(e,t)=>{e.labelElement=t}},metadata:ie},Y,Z),i(null,null,v,{kind:"field",name:"wrapper",static:!1,private:!1,access:{has:e=>"wrapper"in e,get:e=>e.wrapper,set:(e,t)=>{e.wrapper=t}},metadata:ie},ee,te),i(null,e={value:n},C,{kind:"class",name:n.name,metadata:ie},null,S),n=e.value,ie&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:ie}),s(n,S)}handleCheckboxClick(){this.disabled||this.loading||this.toggle()}render(){const e=`checkbox-wrapper${this.disabled?" checkbox-wrapper--disabled":""}${this.loading?" checkbox-wrapper--loading":""}`,i=`checkbox checkbox--${this.size}${this.invalid?" checkbox--invalid":""}${this.indeterminate?" checkbox--indeterminate":""}${this.loading?" checkbox--loading":""}`,s=`checkbox-label checkbox-label--${this.size}${this.required?" checkbox-label--required":""}`;return t.html`
8
- <label class="${e}" @change="${e=>this.handleInternalChange(e)}">
7
+ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be loaded before snice-tree.min.js"),function(e){"use strict";function t(e,t,i,s,n,a){function o(e){if(void 0!==e&&"function"!=typeof e)throw new TypeError("Function expected");return e}for(var c,d=s.kind,l="getter"===d?"get":"setter"===d?"set":"value",r=!t&&e?s.static?e:e.prototype:null,h=t||(r?Object.getOwnPropertyDescriptor(r,s.name):{}),p=!1,m=i.length-1;m>=0;m--){var u={};for(var b in s)u[b]="access"===b?{}:s[b];for(var b in s.access)u.access[b]=s.access[b];u.addInitializer=function(e){if(p)throw new TypeError("Cannot add initializers after decoration has completed");a.push(o(e||null))};var g=(0,i[m])("accessor"===d?{get:h.get,set:h.set}:h[l],u);if("accessor"===d){if(void 0===g)continue;if(null===g||"object"!=typeof g)throw new TypeError("Object expected");(c=o(g.get))&&(h.get=c),(c=o(g.set))&&(h.set=c),(c=o(g.init))&&n.unshift(c)}else(c=o(g))&&("field"===d?n.unshift(c):h[l]=c)}r&&Object.defineProperty(r,s.name,h),p=!0}function i(e,t,i){for(var s=arguments.length>2,n=0;n<t.length;n++)i=s?t[n].call(e,i):t[n].call(e);return s?i:void 0}"function"==typeof SuppressedError&&SuppressedError;(()=>{let s,n,a,o,c,d,l,r,h,p,m,u,b,g,k,v,y,f,x,w,_,C=[e.element("snice-checkbox")],S=[],E=HTMLElement,N=[],I=[],z=[],L=[],A=[],R=[],M=[],q=[],T=[],$=[],O=[],F=[],B=[],j=[],D=[],H=[],P=[],K=[],U=[],V=[],X=[],G=[],J=[],Q=[],W=[],Y=[],Z=[],ee=[],te=[];(class extends E{static{n=this}static{const ie="function"==typeof Symbol&&Symbol.metadata?Object.create(E[Symbol.metadata]??null):void 0;a=[e.property({type:Boolean})],o=[e.property({type:Boolean})],c=[e.property({type:Boolean})],d=[e.property({type:Boolean})],l=[e.property({type:Boolean})],r=[e.property({type:Boolean})],h=[e.property({})],p=[e.property({})],m=[e.property({})],u=[e.property({})],b=[e.query(".checkbox-input")],g=[e.query(".checkbox")],k=[e.query(".checkbox-label")],v=[e.query(".checkbox-wrapper")],y=[e.on("click")],f=[e.render()],x=[e.watch("checked")],w=[e.watch("indeterminate")],_=[e.styles()],t(this,null,y,{kind:"method",name:"handleCheckboxClick",static:!1,private:!1,access:{has:e=>"handleCheckboxClick"in e,get:e=>e.handleCheckboxClick},metadata:ie},null,N),t(this,null,f,{kind:"method",name:"render",static:!1,private:!1,access:{has:e=>"render"in e,get:e=>e.render},metadata:ie},null,N),t(this,null,x,{kind:"method",name:"handleCheckedChange",static:!1,private:!1,access:{has:e=>"handleCheckedChange"in e,get:e=>e.handleCheckedChange},metadata:ie},null,N),t(this,null,w,{kind:"method",name:"handleIndeterminateChange",static:!1,private:!1,access:{has:e=>"handleIndeterminateChange"in e,get:e=>e.handleIndeterminateChange},metadata:ie},null,N),t(this,null,_,{kind:"method",name:"styles",static:!1,private:!1,access:{has:e=>"styles"in e,get:e=>e.styles},metadata:ie},null,N),t(null,null,a,{kind:"field",name:"checked",static:!1,private:!1,access:{has:e=>"checked"in e,get:e=>e.checked,set:(e,t)=>{e.checked=t}},metadata:ie},I,z),t(null,null,o,{kind:"field",name:"indeterminate",static:!1,private:!1,access:{has:e=>"indeterminate"in e,get:e=>e.indeterminate,set:(e,t)=>{e.indeterminate=t}},metadata:ie},L,A),t(null,null,c,{kind:"field",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:ie},R,M),t(null,null,d,{kind:"field",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:ie},q,T),t(null,null,l,{kind:"field",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:ie},$,O),t(null,null,r,{kind:"field",name:"invalid",static:!1,private:!1,access:{has:e=>"invalid"in e,get:e=>e.invalid,set:(e,t)=>{e.invalid=t}},metadata:ie},F,B),t(null,null,h,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:ie},j,D),t(null,null,p,{kind:"field",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,t)=>{e.name=t}},metadata:ie},H,P),t(null,null,m,{kind:"field",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,t)=>{e.value=t}},metadata:ie},K,U),t(null,null,u,{kind:"field",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:ie},V,X),t(null,null,b,{kind:"field",name:"input",static:!1,private:!1,access:{has:e=>"input"in e,get:e=>e.input,set:(e,t)=>{e.input=t}},metadata:ie},G,J),t(null,null,g,{kind:"field",name:"checkbox",static:!1,private:!1,access:{has:e=>"checkbox"in e,get:e=>e.checkbox,set:(e,t)=>{e.checkbox=t}},metadata:ie},Q,W),t(null,null,k,{kind:"field",name:"labelElement",static:!1,private:!1,access:{has:e=>"labelElement"in e,get:e=>e.labelElement,set:(e,t)=>{e.labelElement=t}},metadata:ie},Y,Z),t(null,null,v,{kind:"field",name:"wrapper",static:!1,private:!1,access:{has:e=>"wrapper"in e,get:e=>e.wrapper,set:(e,t)=>{e.wrapper=t}},metadata:ie},ee,te),t(null,s={value:n},C,{kind:"class",name:n.name,metadata:ie},null,S),n=s.value,ie&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:ie}),i(n,S)}handleCheckboxClick(){this.disabled||this.loading||this.toggle()}render(){const t=`checkbox-wrapper${this.disabled?" checkbox-wrapper--disabled":""}${this.loading?" checkbox-wrapper--loading":""}`,i=`checkbox checkbox--${this.size}${this.invalid?" checkbox--invalid":""}${this.indeterminate?" checkbox--indeterminate":""}${this.loading?" checkbox--loading":""}`,s=`checkbox-label checkbox-label--${this.size}${this.required?" checkbox-label--required":""}`;return e.html`
8
+ <label class="${t}" @change="${e=>this.handleInternalChange(e)}">
9
9
  <input
10
10
  type="checkbox"
11
11
  class="checkbox-input"
@@ -40,7 +40,7 @@ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be lo
40
40
  </span>
41
41
  </if>
42
42
  </label>
43
- `}handleInternalChange(e){const t=e.target;"checkbox"===t.type&&(this.checked=t.checked,this.indeterminate=!1,this.dispatchEvent(new CustomEvent("checkbox-change",{bubbles:!0,composed:!0,detail:{checked:this.checked,indeterminate:this.indeterminate,checkbox:this}})))}handleCheckedChange(){this.input&&(this.input.checked=this.checked)}handleIndeterminateChange(){this.input&&(this.input.indeterminate=this.indeterminate)}styles(){return t.css`${":host{display:inline-block;font-family:var(--snice-font-family)}.checkbox-wrapper{display:inline-flex;align-items:center;position:relative;cursor:pointer;user-select:none;min-height:1.25rem}.checkbox-wrapper--disabled{cursor:not-allowed;opacity:.6}.checkbox-input{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1;pointer-events:all}.checkbox{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--snice-color-background-input);border:2px solid var(--snice-color-border);border-radius:var(--snice-border-radius-sm);transition:all var(--snice-transition-fast) ease}.checkbox--small{width:1rem;height:1rem}.checkbox--medium{width:1.25rem;height:1.25rem}.checkbox--large{width:1.5rem;height:1.5rem}.checkbox-input:checked~.checkbox{background:var(--snice-color-primary);border-color:var(--snice-color-primary)}.checkbox-input:focus-visible~.checkbox{box-shadow:0 0 0 3px var(--snice-focus-ring-color);outline:2px solid var(--snice-color-primary);outline-offset:2px}.checkbox-input:disabled~.checkbox{background:var(--snice-color-background-secondary);border-color:var(--snice-color-border)}.checkbox-input:disabled:checked~.checkbox{background:var(--snice-color-text-secondary);border-color:var(--snice-color-text-secondary)}.checkbox--invalid{border-color:var(--snice-color-danger)}.checkbox-input:checked~.checkbox--invalid{background:var(--snice-color-danger);border-color:var(--snice-color-danger)}.checkbox-icon{position:absolute;display:none;color:var(--snice-color-text-inverse)}.checkbox-input:checked~.checkbox .checkbox-icon--check{display:block}.checkbox--indeterminate .checkbox-icon--check{display:none!important}.checkbox--indeterminate .checkbox-icon--indeterminate{display:block!important}.checkbox--small .checkbox-icon{width:.75rem;height:.75rem}.checkbox--medium .checkbox-icon{width:.875rem;height:.875rem}.checkbox--large .checkbox-icon{width:1.125rem;height:1.125rem}.checkbox-label{margin-left:.5rem;color:var(--snice-color-text);cursor:pointer}.checkbox-label--small{font-size:var(--snice-font-size-sm)}.checkbox-label--medium{font-size:var(--snice-font-size-md)}.checkbox-label--large{font-size:var(--snice-font-size-lg)}.checkbox-wrapper--disabled .checkbox-label{color:var(--snice-color-text-secondary);cursor:not-allowed}.checkbox-label--required::after{content:' *';color:var(--snice-color-danger)}.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox{border-color:var(--snice-color-primary)}.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox-input:checked~.checkbox{background:var(--snice-color-primary-hover);border-color:var(--snice-color-primary-hover)}.checkbox-wrapper--loading{cursor:wait;opacity:.7}.checkbox--loading{cursor:wait}.checkbox-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;pointer-events:none}.checkbox-spinner::after{content:'';display:block;width:.75em;height:.75em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}"}`}focus(){this.input?.focus()}blur(){this.input?.blur()}click(){this.input?.click()}toggle(){this.checked=!this.checked,this.indeterminate=!1,this.dispatchEvent(new CustomEvent("checkbox-change",{bubbles:!0,composed:!0,detail:{checked:this.checked,indeterminate:this.indeterminate,checkbox:this}}))}setIndeterminate(){this.indeterminate=!0,this.checked=!1,this.dispatchEvent(new CustomEvent("checkbox-change",{bubbles:!0,composed:!0,detail:{checked:this.checked,indeterminate:this.indeterminate,checkbox:this}}))}constructor(){super(...arguments),this.checked=(s(this,N),s(this,I,!1)),this.indeterminate=(s(this,z),s(this,L,!1)),this.disabled=(s(this,A),s(this,R,!1)),this.loading=(s(this,M),s(this,q,!1)),this.required=(s(this,T),s(this,$,!1)),this.invalid=(s(this,O),s(this,F,!1)),this.size=(s(this,B),s(this,j,"medium")),this.name=(s(this,D),s(this,H,"")),this.value=(s(this,P),s(this,K,"on")),this.label=(s(this,U),s(this,V,"")),this.input=(s(this,X),s(this,G,void 0)),this.checkbox=(s(this,J),s(this,Q,void 0)),this.labelElement=(s(this,W),s(this,Y,void 0)),this.wrapper=(s(this,Z),s(this,ee,void 0)),s(this,te)}})})();(()=>{let e,n,a,o,c,d,l,r,h=[t.element("snice-spinner")],p=[],m=HTMLElement,u=[],b=[],g=[],k=[],v=[],y=[],f=[],x=[],w=[];(class extends m{static{n=this}static{const _="function"==typeof Symbol&&Symbol.metadata?Object.create(m[Symbol.metadata]??null):void 0;a=[t.property({})],o=[t.property({})],c=[t.property({})],d=[t.property({type:Number})],l=[t.render()],r=[t.styles()],i(this,null,l,{kind:"method",name:"render",static:!1,private:!1,access:{has:e=>"render"in e,get:e=>e.render},metadata:_},null,u),i(this,null,r,{kind:"method",name:"styles",static:!1,private:!1,access:{has:e=>"styles"in e,get:e=>e.styles},metadata:_},null,u),i(null,null,a,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:_},b,g),i(null,null,o,{kind:"field",name:"color",static:!1,private:!1,access:{has:e=>"color"in e,get:e=>e.color,set:(e,t)=>{e.color=t}},metadata:_},k,v),i(null,null,c,{kind:"field",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:_},y,f),i(null,null,d,{kind:"field",name:"thickness",static:!1,private:!1,access:{has:e=>"thickness"in e,get:e=>e.thickness,set:(e,t)=>{e.thickness=t}},metadata:_},x,w),i(null,e={value:n},h,{kind:"class",name:n.name,metadata:_},null,p),n=e.value,_&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:_}),s(n,p)}render(){const e=this.getSizeValue(),i=(e-2*this.thickness)/2,s=2*i*Math.PI,n=e/2,a=e/2,o=`0 0 ${e} ${e}`;return t.html`
43
+ `}handleInternalChange(e){const t=e.target;"checkbox"===t.type&&(this.checked=t.checked,this.indeterminate=!1,this.dispatchEvent(new CustomEvent("checkbox-change",{bubbles:!0,composed:!0,detail:{checked:this.checked,indeterminate:this.indeterminate,checkbox:this}})))}handleCheckedChange(){this.input&&(this.input.checked=this.checked)}handleIndeterminateChange(){this.input&&(this.input.indeterminate=this.indeterminate)}styles(){return e.css`${":host{display:inline-block;font-family:var(--snice-font-family)}.checkbox-wrapper{display:inline-flex;align-items:center;position:relative;cursor:pointer;user-select:none;min-height:1.25rem}.checkbox-wrapper--disabled{cursor:not-allowed;opacity:.6}.checkbox-input{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1;pointer-events:all}.checkbox{position:relative;display:inline-flex;align-items:center;justify-content:center;background:var(--snice-color-background-input);border:2px solid var(--snice-color-border);border-radius:var(--snice-border-radius-sm);transition:all var(--snice-transition-fast) ease}.checkbox--small{width:1rem;height:1rem}.checkbox--medium{width:1.25rem;height:1.25rem}.checkbox--large{width:1.5rem;height:1.5rem}.checkbox-input:checked~.checkbox{background:var(--snice-color-primary);border-color:var(--snice-color-primary)}.checkbox-input:focus-visible~.checkbox{box-shadow:0 0 0 3px var(--snice-focus-ring-color);outline:2px solid var(--snice-color-primary);outline-offset:2px}.checkbox-input:disabled~.checkbox{background:var(--snice-color-background-secondary);border-color:var(--snice-color-border)}.checkbox-input:disabled:checked~.checkbox{background:var(--snice-color-text-secondary);border-color:var(--snice-color-text-secondary)}.checkbox--invalid{border-color:var(--snice-color-danger)}.checkbox-input:checked~.checkbox--invalid{background:var(--snice-color-danger);border-color:var(--snice-color-danger)}.checkbox-icon{position:absolute;display:none;color:var(--snice-color-text-inverse)}.checkbox-input:checked~.checkbox .checkbox-icon--check{display:block}.checkbox--indeterminate .checkbox-icon--check{display:none!important}.checkbox--indeterminate .checkbox-icon--indeterminate{display:block!important}.checkbox--small .checkbox-icon{width:.75rem;height:.75rem}.checkbox--medium .checkbox-icon{width:.875rem;height:.875rem}.checkbox--large .checkbox-icon{width:1.125rem;height:1.125rem}.checkbox-label{margin-left:.5rem;color:var(--snice-color-text);cursor:pointer}.checkbox-label--small{font-size:var(--snice-font-size-sm)}.checkbox-label--medium{font-size:var(--snice-font-size-md)}.checkbox-label--large{font-size:var(--snice-font-size-lg)}.checkbox-wrapper--disabled .checkbox-label{color:var(--snice-color-text-secondary);cursor:not-allowed}.checkbox-label--required::after{content:' *';color:var(--snice-color-danger)}.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox{border-color:var(--snice-color-primary)}.checkbox-wrapper:not(.checkbox-wrapper--disabled):hover .checkbox-input:checked~.checkbox{background:var(--snice-color-primary-hover);border-color:var(--snice-color-primary-hover)}.checkbox-wrapper--loading{cursor:wait;opacity:.7}.checkbox--loading{cursor:wait}.checkbox-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;pointer-events:none}.checkbox-spinner::after{content:'';display:block;width:.75em;height:.75em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}"}`}focus(){this.input?.focus()}blur(){this.input?.blur()}click(){this.input?.click()}toggle(){this.checked=!this.checked,this.indeterminate=!1,this.dispatchEvent(new CustomEvent("checkbox-change",{bubbles:!0,composed:!0,detail:{checked:this.checked,indeterminate:this.indeterminate,checkbox:this}}))}setIndeterminate(){this.indeterminate=!0,this.checked=!1,this.dispatchEvent(new CustomEvent("checkbox-change",{bubbles:!0,composed:!0,detail:{checked:this.checked,indeterminate:this.indeterminate,checkbox:this}}))}constructor(){super(...arguments),this.checked=(i(this,N),i(this,I,!1)),this.indeterminate=(i(this,z),i(this,L,!1)),this.disabled=(i(this,A),i(this,R,!1)),this.loading=(i(this,M),i(this,q,!1)),this.required=(i(this,T),i(this,$,!1)),this.invalid=(i(this,O),i(this,F,!1)),this.size=(i(this,B),i(this,j,"medium")),this.name=(i(this,D),i(this,H,"")),this.value=(i(this,P),i(this,K,"on")),this.label=(i(this,U),i(this,V,"")),this.input=(i(this,X),i(this,G,void 0)),this.checkbox=(i(this,J),i(this,Q,void 0)),this.labelElement=(i(this,W),i(this,Y,void 0)),this.wrapper=(i(this,Z),i(this,ee,void 0)),i(this,te)}})})();(()=>{let s,n,a,o,c,d,l,r,h=[e.element("snice-spinner")],p=[],m=HTMLElement,u=[],b=[],g=[],k=[],v=[],y=[],f=[],x=[],w=[];(class extends m{static{n=this}static{const _="function"==typeof Symbol&&Symbol.metadata?Object.create(m[Symbol.metadata]??null):void 0;a=[e.property({})],o=[e.property({})],c=[e.property({})],d=[e.property({type:Number})],l=[e.render()],r=[e.styles()],t(this,null,l,{kind:"method",name:"render",static:!1,private:!1,access:{has:e=>"render"in e,get:e=>e.render},metadata:_},null,u),t(this,null,r,{kind:"method",name:"styles",static:!1,private:!1,access:{has:e=>"styles"in e,get:e=>e.styles},metadata:_},null,u),t(null,null,a,{kind:"field",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:_},b,g),t(null,null,o,{kind:"field",name:"color",static:!1,private:!1,access:{has:e=>"color"in e,get:e=>e.color,set:(e,t)=>{e.color=t}},metadata:_},k,v),t(null,null,c,{kind:"field",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:_},y,f),t(null,null,d,{kind:"field",name:"thickness",static:!1,private:!1,access:{has:e=>"thickness"in e,get:e=>e.thickness,set:(e,t)=>{e.thickness=t}},metadata:_},x,w),t(null,s={value:n},h,{kind:"class",name:n.name,metadata:_},null,p),n=s.value,_&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:_}),i(n,p)}render(){const t=this.getSizeValue(),i=(t-2*this.thickness)/2,s=2*i*Math.PI,n=t/2,a=t/2,o=`0 0 ${t} ${t}`;return e.html`
44
44
  <div class="spinner" role="status" aria-label="${this.label||"Loading"}">
45
45
  <svg
46
46
  class="spinner__circle"
@@ -66,5 +66,5 @@ void 0===globalThis.Snice&&console.warn("[snice] snice-runtime.min.js must be lo
66
66
  <span class="spinner__label">${this.label}</span>
67
67
  </if>
68
68
  </div>
69
- `}styles(){return t.css`${":host{--spinner-size:2.5rem;--spinner-stroke:4px;--spinner-color:var(--snice-color-primary, rgb(59 130 246));display:inline-block;width:var(--spinner-size);height:var(--spinner-size);font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}:host([size=small]){--spinner-size:1.5rem;--spinner-stroke:3px}:host([size=medium]){--spinner-size:2.5rem;--spinner-stroke:4px}:host([size=large]){--spinner-size:3.5rem;--spinner-stroke:5px}:host([size=xl]){--spinner-size:5rem;--spinner-stroke:6px}:host([color=primary]){--spinner-color:var(--snice-color-primary, rgb(59 130 246))}:host([color=success]){--spinner-color:var(--snice-color-success, rgb(16 185 129))}:host([color=warning]){--spinner-color:var(--snice-color-warning, rgb(245 158 11))}:host([color=error]){--spinner-color:var(--snice-color-danger, rgb(239 68 68))}:host([color=info]){--spinner-color:var(--snice-color-info, rgb(99 102 241))}.spinner{position:relative;width:100%;height:100%}.spinner__circle{transform:rotate(-90deg);width:100%;height:100%;animation:2s linear infinite spinner-rotate}.spinner__circle-bar,.spinner__circle-bg{fill:none;stroke-width:var(--spinner-stroke);shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke}.spinner__circle-bg{stroke:var(--spinner-color);opacity:.2}.spinner__circle-bar{stroke:var(--spinner-color);stroke-linecap:round;animation:1.5s ease-in-out infinite spinner-dash}@keyframes spinner-rotate{100%{transform:rotate(270deg)}}@keyframes spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.spinner__label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--snice-font-size-xs, .625rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--spinner-color);white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host([size=small]) .spinner__label{font-size:.5rem}:host([size=medium]) .spinner__label{font-size:var(--snice-font-size-xs, .625rem)}:host([size=large]) .spinner__label{font-size:var(--snice-font-size-sm, .75rem)}:host([size=xl]) .spinner__label{font-size:var(--snice-font-size-sm, .875rem)}"}`}getSizeValue(){switch(this.size){case"small":return 24;case"medium":default:return 40;case"large":return 56;case"xl":return 80}}constructor(){super(...arguments),this.size=(s(this,u),s(this,b,"medium")),this.color=(s(this,g),s(this,k,"primary")),this.label=(s(this,v),s(this,y,"")),this.thickness=(s(this,f),s(this,x,4)),s(this,w)}})})();(()=>{let e,n,a,o,c,d,l,r,h,p,m,u,b,g,k,v,y,f,x,w,_=[t.element("snice-tree-item")],C=[],S=HTMLElement,E=[],N=[],I=[],z=[],L=[],A=[],R=[],M=[],q=[],T=[],$=[],O=[],F=[],B=[],j=[],D=[],H=[];(class extends S{static{n=this}static{const P="function"==typeof Symbol&&Symbol.metadata?Object.create(S[Symbol.metadata]??null):void 0;a=[t.property({type:Number})],o=[t.property({type:Boolean})],c=[t.property({type:Boolean})],d=[t.property({type:Boolean})],l=[t.property({type:Boolean,attribute:"show-checkbox"})],r=[t.property({type:Boolean,attribute:"show-icon"})],h=[t.property({type:Boolean})],p=[t.property({type:Boolean})],m=[t.watch("expanded")],u=[t.watch("selected")],b=[t.watch("checked")],g=[t.watch("indeterminate")],k=[t.watch("loading")],v=[t.dispatch("tree-item-toggle",{bubbles:!0,composed:!0})],y=[t.dispatch("tree-item-select",{bubbles:!0,composed:!0})],f=[t.dispatch("tree-item-check",{bubbles:!0,composed:!0})],x=[t.dispatch("tree-item-lazy-load",{bubbles:!0,composed:!0})],w=[t.ready()],i(this,null,m,{kind:"method",name:"handleExpandedChange",static:!1,private:!1,access:{has:e=>"handleExpandedChange"in e,get:e=>e.handleExpandedChange},metadata:P},null,E),i(this,null,u,{kind:"method",name:"handleSelectedChange",static:!1,private:!1,access:{has:e=>"handleSelectedChange"in e,get:e=>e.handleSelectedChange},metadata:P},null,E),i(this,null,b,{kind:"method",name:"handleCheckedChange",static:!1,private:!1,access:{has:e=>"handleCheckedChange"in e,get:e=>e.handleCheckedChange},metadata:P},null,E),i(this,null,g,{kind:"method",name:"handleIndeterminateChange",static:!1,private:!1,access:{has:e=>"handleIndeterminateChange"in e,get:e=>e.handleIndeterminateChange},metadata:P},null,E),i(this,null,k,{kind:"method",name:"handleLoadingChange",static:!1,private:!1,access:{has:e=>"handleLoadingChange"in e,get:e=>e.handleLoadingChange},metadata:P},null,E),i(this,null,v,{kind:"method",name:"dispatchToggleEvent",static:!1,private:!1,access:{has:e=>"dispatchToggleEvent"in e,get:e=>e.dispatchToggleEvent},metadata:P},null,E),i(this,null,y,{kind:"method",name:"dispatchSelectEvent",static:!1,private:!1,access:{has:e=>"dispatchSelectEvent"in e,get:e=>e.dispatchSelectEvent},metadata:P},null,E),i(this,null,f,{kind:"method",name:"dispatchCheckEvent",static:!1,private:!1,access:{has:e=>"dispatchCheckEvent"in e,get:e=>e.dispatchCheckEvent},metadata:P},null,E),i(this,null,x,{kind:"method",name:"dispatchLazyLoadEvent",static:!1,private:!1,access:{has:e=>"dispatchLazyLoadEvent"in e,get:e=>e.dispatchLazyLoadEvent},metadata:P},null,E),i(this,null,w,{kind:"method",name:"init",static:!1,private:!1,access:{has:e=>"init"in e,get:e=>e.init},metadata:P},null,E),i(null,null,a,{kind:"field",name:"_version",static:!1,private:!1,access:{has:e=>"_version"in e,get:e=>e._version,set:(e,t)=>{e._version=t}},metadata:P},N,I),i(null,null,o,{kind:"field",name:"expanded",static:!1,private:!1,access:{has:e=>"expanded"in e,get:e=>e.expanded,set:(e,t)=>{e.expanded=t}},metadata:P},z,L),i(null,null,c,{kind:"field",name:"selected",static:!1,private:!1,access:{has:e=>"selected"in e,get:e=>e.selected,set:(e,t)=>{e.selected=t}},metadata:P},A,R),i(null,null,d,{kind:"field",name:"checked",static:!1,private:!1,access:{has:e=>"checked"in e,get:e=>e.checked,set:(e,t)=>{e.checked=t}},metadata:P},M,q),i(null,null,l,{kind:"field",name:"showCheckbox",static:!1,private:!1,access:{has:e=>"showCheckbox"in e,get:e=>e.showCheckbox,set:(e,t)=>{e.showCheckbox=t}},metadata:P},T,$),i(null,null,r,{kind:"field",name:"showIcon",static:!1,private:!1,access:{has:e=>"showIcon"in e,get:e=>e.showIcon,set:(e,t)=>{e.showIcon=t}},metadata:P},O,F),i(null,null,h,{kind:"field",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:P},B,j),i(null,null,p,{kind:"field",name:"indeterminate",static:!1,private:!1,access:{has:e=>"indeterminate"in e,get:e=>e.indeterminate,set:(e,t)=>{e.indeterminate=t}},metadata:P},D,H),i(null,e={value:n},_,{kind:"class",name:n.name,metadata:P},null,C),n=e.value,P&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:P}),s(n,C)}get node(){return this._node}get level(){return this._level}get hasChildren(){return!!(this._node.children&&this._node.children.length>0)||!!this._node.lazy}setNode(e,t){this._node=e,this._level=t,void 0!==e.expanded&&(this.expanded=e.expanded),void 0!==e.selected&&(this.selected=e.selected),void 0!==e.checked&&(this.checked=e.checked),void 0!==e.indeterminate&&(this.indeterminate=e.indeterminate),this.updateDOM(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.updateChildTreeItems()})})}handleExpandedChange(){this.shadowRoot&&this.updateExpandedState()}handleSelectedChange(){this.shadowRoot&&this.updateSelectedState()}handleCheckedChange(){this.shadowRoot&&this.updateCheckboxState()}handleIndeterminateChange(){this.shadowRoot&&this.updateCheckboxState()}handleLoadingChange(){this.shadowRoot&&this.updateLoadingState()}updateChildTreeItems(){if(!this.shadowRoot||!this.hasChildren)return;const e=this.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item");this.node.children?.forEach((t,i)=>{e[i]&&e[i].setNode&&e[i].setNode(t,this.level+1)})}dispatchToggleEvent(){return{nodeId:this.node.id,expanded:this.expanded}}dispatchSelectEvent(){return{nodeId:this.node.id,selected:this.selected}}dispatchCheckEvent(){return{nodeId:this.node.id,checked:this.checked}}dispatchLazyLoadEvent(){return{nodeId:this.node.id,node:this.node}}init(){this.renderTemplate(),this.updateDOM()}renderTemplate(){const e='\n <style>:host{display:block}.tree-item{position:relative;user-select:none}.tree-item__content{display:flex;align-items:center;gap:var(--snice-spacing-xs,.5rem);padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);padding-left:calc(var(--tree-level,0) * var(--snice-spacing-xl,1.5rem) + var(--snice-spacing-sm,.75rem));cursor:pointer;border-radius:var(--snice-border-radius-md,.25rem);transition:background-color var(--snice-transition-fast, 150ms) ease;position:relative;background-color:transparent}.tree-item__content:hover{background-color:var(--snice-color-background-hover,rgb(var(--snice-color-gray-100)))}.tree-item__content:focus{outline:2px solid var(--snice-color-primary,rgb(var(--snice-color-blue-600)));outline-offset:-2px}.tree-item__content--selected{background-color:var(--snice-color-primary-subtle,rgb(var(--snice-color-blue-50)))}.tree-item__content--selected:hover{background-color:var(--snice-color-primary-subtle-hover,rgb(var(--snice-color-blue-100)))}.tree-item__content--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tree-item__expander{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s;cursor:pointer}.tree-item__expander--expanded{transform:rotate(90deg)}.tree-item__expander--hidden{visibility:hidden}.tree-item__expander svg{width:1rem;height:1rem;fill:currentColor}.tree-item__checkbox{display:flex;align-items:center;flex-shrink:0;height:1.25rem}.tree-item__checkbox snice-checkbox{display:flex;align-items:center}.tree-item__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center}.tree-item__icon-image{width:100%;height:100%;object-fit:contain}.tree-item__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25rem;align-self:center}.tree-item__children{overflow:hidden;max-height:0;opacity:0;transition:max-height .25s cubic-bezier(.4, 0, .2, 1),opacity .25s cubic-bezier(.4, 0, .2, 1)}.tree-item__children--expanded{max-height:10000px;opacity:1;transition:max-height .25s cubic-bezier(.4, 0, .2, 1),opacity .25s cubic-bezier(.4, 0, .2, 1)}.tree-item__loading{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0}</style>\n <div class="tree-item">\n <div\n class="tree-item__content"\n part="content"\n role="treeitem"\n tabindex="0">\n\n <div class="tree-item__loading" part="loading" style="display: none;">\n <snice-spinner size="small"></snice-spinner>\n </div>\n\n <div class="tree-item__expander" part="expander">\n <svg viewBox="0 0 24 24"><path d="M9 6l6 6-6 6"/></svg>\n </div>\n\n <div class="tree-item__checkbox" part="checkbox" style="display: none;">\n <snice-checkbox size="small"></snice-checkbox>\n </div>\n\n <div class="tree-item__icon" part="icon" style="display: none;"></div>\n\n <div class="tree-item__label" part="label"></div>\n </div>\n\n <div class="tree-item__children" part="children" role="group"></div>\n </div>\n ';this.shadowRoot?this.shadowRoot.innerHTML=e:this.attachShadow({mode:"open"}).innerHTML=e;const t=this.shadowRoot.querySelector(".tree-item__content"),i=this.shadowRoot.querySelector(".tree-item__expander");t?.addEventListener("click",e=>this.handleContentClick(e)),t?.addEventListener("keydown",e=>this.handleKeydown(e)),i?.addEventListener("click",e=>{e.stopPropagation(),this.toggle()}),requestAnimationFrame(()=>{const e=this.shadowRoot.querySelector("snice-checkbox");e?.addEventListener("checkbox-change",e=>this.handleCheckboxChangeEvent(e))})}updateDOM(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item"),t=this.shadowRoot.querySelector(".tree-item__content"),i=this.shadowRoot.querySelector(".tree-item__label"),s=this.shadowRoot.querySelector(".tree-item__icon");e&&e.style.setProperty("--tree-level",this.level.toString()),i&&(i.textContent=this.node.label||""),s&&this.showIcon?this.node.iconImage?(s.innerHTML=`<img class="tree-item__icon-image" src="${this.node.iconImage}" alt="" part="icon-image">`,s.style.display=""):this.node.icon?(s.innerHTML=`<span part="icon-text">${this.node.icon}</span>`,s.style.display=""):s.style.display="none":s&&(s.style.display="none"),t&&(t.setAttribute("tabindex",this.node.disabled?"-1":"0"),t.setAttribute("aria-selected",this.selected.toString()),t.setAttribute("aria-disabled",(this.node.disabled||!1).toString()),t.setAttribute("aria-busy",this.loading.toString()),this.hasChildren?t.setAttribute("aria-expanded",this.expanded.toString()):t.removeAttribute("aria-expanded")),this.updateExpandedState(),this.updateSelectedState(),this.updateCheckboxState(),this.updateLoadingState(),this.updateChildrenDOM()}updateExpandedState(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item__expander"),t=this.shadowRoot.querySelector(".tree-item__children"),i=this.shadowRoot.querySelector(".tree-item__content");e&&(e.classList.toggle("tree-item__expander--expanded",this.expanded),e.classList.toggle("tree-item__expander--hidden",!this.hasChildren)),t&&t.classList.toggle("tree-item__children--expanded",this.expanded),i&&this.hasChildren&&i.setAttribute("aria-expanded",this.expanded.toString())}updateSelectedState(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item__content");e&&(e.classList.toggle("tree-item__content--selected",this.selected),e.setAttribute("aria-selected",this.selected.toString()))}updateCheckboxState(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item__checkbox"),t=this.shadowRoot.querySelector("snice-checkbox");e&&(e.style.display=this.showCheckbox?"":"none"),t&&requestAnimationFrame(()=>{t.checked=this.checked,t.indeterminate=this.indeterminate,t.disabled=this.node.disabled||!1})}updateLoadingState(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item__loading"),t=this.shadowRoot.querySelector(".tree-item__expander");e&&t&&(e.style.display=this.loading?"":"none",t.style.display=this.loading?"none":"")}updateChildrenDOM(){if(!this.shadowRoot||!this.hasChildren)return;const e=this.shadowRoot.querySelector(".tree-item__children");e&&(e.innerHTML="",this.node.children?.forEach(t=>{const i=document.createElement("snice-tree-item");this.showCheckbox&&i.setAttribute("show-checkbox",""),this.showIcon&&i.setAttribute("show-icon",""),e.appendChild(i)}),requestAnimationFrame(()=>{this.updateChildTreeItems()}))}handleContentClick(e){this.node.disabled||(this.selected?this.deselect():this.select())}handleKeydown(e){this.node.disabled||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.selected?this.deselect():this.select()):"ArrowRight"===e.key?(e.preventDefault(),this.hasChildren&&!this.expanded&&this.expand()):"ArrowLeft"===e.key&&(e.preventDefault(),this.hasChildren&&this.expanded&&this.collapse()))}handleCheckboxChangeEvent(e){e.stopPropagation();const t=e.detail.checked;this.checked=t,this.node.checked=t,this.dispatchEvent(new CustomEvent("tree-item-check",{bubbles:!0,composed:!0,detail:{nodeId:this.node.id,checked:this.checked}}))}expand(){if(this.hasChildren&&!this.expanded){if(this.node.lazy&&(!this.node.children||0===this.node.children.length))return this.loading=!0,void this.dispatchLazyLoadEvent();this.expanded=!0,this.dispatchToggleEvent()}}finishLoading(){this.loading=!1,this.expanded=!0,this.dispatchToggleEvent()}collapse(){this.hasChildren&&this.expanded&&(this.expanded=!1,this.dispatchToggleEvent())}toggle(){this.expanded?this.collapse():this.expand()}select(){this.node.disabled||(this.selected=!0,this.updateSelectedState(),this.dispatchSelectEvent())}deselect(){this.selected=!1,this.updateSelectedState(),this.dispatchSelectEvent()}check(){this.node.disabled||(this.checked=!0,this.dispatchCheckEvent())}uncheck(){this.checked=!1,this.dispatchCheckEvent()}constructor(){super(...arguments),this._node=(s(this,E),{id:"",label:""}),this._level=0,this._version=s(this,N,0),this.expanded=(s(this,I),s(this,z,!1)),this.selected=(s(this,L),s(this,A,!1)),this.checked=(s(this,R),s(this,M,!1)),this.showCheckbox=(s(this,q),s(this,T,!1)),this.showIcon=(s(this,$),s(this,O,!0)),this.loading=(s(this,F),s(this,B,!1)),this.indeterminate=(s(this,j),s(this,D,!1)),s(this,H)}})})();let n=(()=>{let e,n,a,o,c,d,l,r,h,p,m,u,b,g,k,v,y,f,x,w,_,C,S,E,N,I,z,L=[t.element("snice-tree")],A=[],R=HTMLElement,M=[],q=[],T=[],$=[],O=[],F=[],B=[],j=[],D=[],H=[],P=[],K=[],U=[],V=[],X=[],G=[],J=[],Q=[],W=[];return class extends R{static{n=this}constructor(){super(...arguments),this.selectable=(s(this,M),s(this,q,!0)),this.selectionMode=(s(this,T),s(this,$,"single")),this.showCheckboxes=(s(this,O),s(this,F,!1)),this.showIcons=(s(this,B),s(this,j,!0)),this.expandOnClick=(s(this,D),s(this,H,!1)),this.nodes=(s(this,P),s(this,K,[])),this.selectedNodes=(s(this,U),s(this,V,[])),this.checkedNodes=(s(this,X),s(this,G,[])),this.nodeMap=(s(this,J),new Map),this.treeItems=s(this,Q,void 0),this.lastFocusedItem=(s(this,W),null),this.loadingNodeIds=new Set}static{const Y="function"==typeof Symbol&&Symbol.metadata?Object.create(R[Symbol.metadata]??null):void 0;a=[t.property({type:Boolean})],o=[t.property({})],c=[t.property({type:Boolean,attribute:"show-checkboxes"})],d=[t.property({type:Boolean,attribute:"show-icons"})],l=[t.property({type:Boolean,attribute:"expand-on-click"})],r=[t.property({type:Array})],h=[t.property({type:Array,attribute:"selected-nodes"})],p=[t.property({type:Array,attribute:"checked-nodes"})],m=[t.queryAll("snice-tree-item")],u=[t.ready()],b=[t.watch("nodes")],g=[t.watch("selectedNodes")],k=[t.watch("checkedNodes")],v=[t.on("tree-item-toggle")],y=[t.on("tree-item-select")],f=[t.on("tree-item-check")],x=[t.on("tree-item-lazy-load")],w=[t.dispatch("tree-node-expand",{bubbles:!0,composed:!0})],_=[t.dispatch("tree-node-collapse",{bubbles:!0,composed:!0})],C=[t.dispatch("tree-node-select",{bubbles:!0,composed:!0})],S=[t.dispatch("tree-node-check",{bubbles:!0,composed:!0})],E=[t.dispatch("tree-node-lazy-load",{bubbles:!0,composed:!0})],N=[t.on("keydown")],I=[t.on("focusin")],z=[t.on("focusout")],i(this,null,u,{kind:"method",name:"init",static:!1,private:!1,access:{has:e=>"init"in e,get:e=>e.init},metadata:Y},null,M),i(this,null,b,{kind:"method",name:"handleNodesChange",static:!1,private:!1,access:{has:e=>"handleNodesChange"in e,get:e=>e.handleNodesChange},metadata:Y},null,M),i(this,null,g,{kind:"method",name:"handleSelectedNodesChange",static:!1,private:!1,access:{has:e=>"handleSelectedNodesChange"in e,get:e=>e.handleSelectedNodesChange},metadata:Y},null,M),i(this,null,k,{kind:"method",name:"handleCheckedNodesChange",static:!1,private:!1,access:{has:e=>"handleCheckedNodesChange"in e,get:e=>e.handleCheckedNodesChange},metadata:Y},null,M),i(this,null,v,{kind:"method",name:"handleItemToggle",static:!1,private:!1,access:{has:e=>"handleItemToggle"in e,get:e=>e.handleItemToggle},metadata:Y},null,M),i(this,null,y,{kind:"method",name:"handleItemSelect",static:!1,private:!1,access:{has:e=>"handleItemSelect"in e,get:e=>e.handleItemSelect},metadata:Y},null,M),i(this,null,f,{kind:"method",name:"handleItemCheck",static:!1,private:!1,access:{has:e=>"handleItemCheck"in e,get:e=>e.handleItemCheck},metadata:Y},null,M),i(this,null,x,{kind:"method",name:"handleLazyLoad",static:!1,private:!1,access:{has:e=>"handleLazyLoad"in e,get:e=>e.handleLazyLoad},metadata:Y},null,M),i(this,null,w,{kind:"method",name:"dispatchExpandEvent",static:!1,private:!1,access:{has:e=>"dispatchExpandEvent"in e,get:e=>e.dispatchExpandEvent},metadata:Y},null,M),i(this,null,_,{kind:"method",name:"dispatchCollapseEvent",static:!1,private:!1,access:{has:e=>"dispatchCollapseEvent"in e,get:e=>e.dispatchCollapseEvent},metadata:Y},null,M),i(this,null,C,{kind:"method",name:"dispatchSelectEvent",static:!1,private:!1,access:{has:e=>"dispatchSelectEvent"in e,get:e=>e.dispatchSelectEvent},metadata:Y},null,M),i(this,null,S,{kind:"method",name:"dispatchCheckEvent",static:!1,private:!1,access:{has:e=>"dispatchCheckEvent"in e,get:e=>e.dispatchCheckEvent},metadata:Y},null,M),i(this,null,E,{kind:"method",name:"dispatchLazyLoadEvent",static:!1,private:!1,access:{has:e=>"dispatchLazyLoadEvent"in e,get:e=>e.dispatchLazyLoadEvent},metadata:Y},null,M),i(this,null,N,{kind:"method",name:"handleKeyDown",static:!1,private:!1,access:{has:e=>"handleKeyDown"in e,get:e=>e.handleKeyDown},metadata:Y},null,M),i(this,null,I,{kind:"method",name:"handleFocusIn",static:!1,private:!1,access:{has:e=>"handleFocusIn"in e,get:e=>e.handleFocusIn},metadata:Y},null,M),i(this,null,z,{kind:"method",name:"handleFocusOut",static:!1,private:!1,access:{has:e=>"handleFocusOut"in e,get:e=>e.handleFocusOut},metadata:Y},null,M),i(null,null,a,{kind:"field",name:"selectable",static:!1,private:!1,access:{has:e=>"selectable"in e,get:e=>e.selectable,set:(e,t)=>{e.selectable=t}},metadata:Y},q,T),i(null,null,o,{kind:"field",name:"selectionMode",static:!1,private:!1,access:{has:e=>"selectionMode"in e,get:e=>e.selectionMode,set:(e,t)=>{e.selectionMode=t}},metadata:Y},$,O),i(null,null,c,{kind:"field",name:"showCheckboxes",static:!1,private:!1,access:{has:e=>"showCheckboxes"in e,get:e=>e.showCheckboxes,set:(e,t)=>{e.showCheckboxes=t}},metadata:Y},F,B),i(null,null,d,{kind:"field",name:"showIcons",static:!1,private:!1,access:{has:e=>"showIcons"in e,get:e=>e.showIcons,set:(e,t)=>{e.showIcons=t}},metadata:Y},j,D),i(null,null,l,{kind:"field",name:"expandOnClick",static:!1,private:!1,access:{has:e=>"expandOnClick"in e,get:e=>e.expandOnClick,set:(e,t)=>{e.expandOnClick=t}},metadata:Y},H,P),i(null,null,r,{kind:"field",name:"nodes",static:!1,private:!1,access:{has:e=>"nodes"in e,get:e=>e.nodes,set:(e,t)=>{e.nodes=t}},metadata:Y},K,U),i(null,null,h,{kind:"field",name:"selectedNodes",static:!1,private:!1,access:{has:e=>"selectedNodes"in e,get:e=>e.selectedNodes,set:(e,t)=>{e.selectedNodes=t}},metadata:Y},V,X),i(null,null,p,{kind:"field",name:"checkedNodes",static:!1,private:!1,access:{has:e=>"checkedNodes"in e,get:e=>e.checkedNodes,set:(e,t)=>{e.checkedNodes=t}},metadata:Y},G,J),i(null,null,m,{kind:"field",name:"treeItems",static:!1,private:!1,access:{has:e=>"treeItems"in e,get:e=>e.treeItems,set:(e,t)=>{e.treeItems=t}},metadata:Y},Q,W),i(null,e={value:n},L,{kind:"class",name:n.name,metadata:Y},null,A),n=e.value,Y&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Y}),s(n,A)}init(){this.buildNodeMap(),this.syncNodeStates(),this.renderTemplate(),this.setAttribute("role","tree"),this.setAttribute("tabindex","0"),"multiple"===this.selectionMode&&this.setAttribute("aria-multiselectable","true"),this.updateTreeItems()}renderTemplate(){this.shadowRoot||this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML='\n <style>:host{display:block}.tree{font-family:var(--snice-font-family, system-ui, -apple-system, sans-serif);font-size:var(--snice-font-size-base, 1rem);color:var(--snice-color-text,rgb(23 23 23));background-color:var(--snice-color-background,rgb(255 255 255));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.375rem);overflow:auto;max-height:var(--tree-max-height,100%)}.tree__content{padding:var(--snice-spacing-xs,.5rem)}.tree--no-border{border:none}.tree__empty{padding:var(--snice-spacing-lg,1.5rem);text-align:center;color:var(--snice-color-text-muted,rgb(115 115 115));font-style:italic}</style>\n <div class="tree" part="container" role="tree">\n <div class="tree__content" part="content"></div>\n </div>\n '}handleNodesChange(){this.buildNodeMap(),this.syncNodeStates(),this.trackLoadingNodes(),this.updateTreeItemsDOM(),requestAnimationFrame(()=>{this.restoreLoadingState(),requestAnimationFrame(()=>{this.finishLoadingNodes()})})}trackLoadingNodes(){const e=t=>{if(t&&t.node&&(t.loading&&this.loadingNodeIds.add(t.node.id),t.shadowRoot)){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}restoreLoadingState(){const e=t=>{if(t&&t.node&&(this.loadingNodeIds.has(t.node.id)&&(t.loading=!0),t.shadowRoot)){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}updateTreeItemsDOM(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree__content");e&&(e.innerHTML="",this.nodes.forEach(t=>{const i=document.createElement("snice-tree-item");this.showCheckboxes&&i.setAttribute("show-checkbox",""),this.showIcons&&i.setAttribute("show-icon",""),e.appendChild(i)}),this.updateTreeItems())}updateTreeItems(){requestAnimationFrame(()=>{if(this.treeItems&&0!==this.treeItems.length)this.treeItems.forEach((e,t)=>{this.nodes[t]&&e.setNode&&e.setNode(this.nodes[t],0)});else{const e=this.shadowRoot?.querySelectorAll(":scope > .tree > .tree__content > snice-tree-item");e&&e.forEach((e,t)=>{this.nodes[t]&&e.setNode&&e.setNode(this.nodes[t],0)})}})}handleSelectedNodesChange(){this.syncNodeStates(),requestAnimationFrame(()=>{this.updateSelectedStatesOnly()})}handleCheckedNodesChange(){this.syncNodeStates(),requestAnimationFrame(()=>{this.updateCheckboxStatesOnly()})}buildNodeMap(){this.nodeMap.clear();const e=t=>{for(const i of t)this.nodeMap.set(i.id,i),i.children&&e(i.children)};e(this.nodes)}syncNodeStates(){for(const[e,t]of this.nodeMap.entries())t.selected=this.selectedNodes.includes(e),t.checked=this.checkedNodes.includes(e)}handleItemToggle(e){const t=e,{nodeId:i,expanded:s}=t.detail,n=this.nodeMap.get(i);n&&(n.expanded=s,s?this.dispatchExpandEvent(i,n):this.dispatchCollapseEvent(i,n))}handleItemSelect(e){const t=e,{nodeId:i,selected:s}=t.detail,n=this.nodeMap.get(i);n&&this.selectable&&"none"!==this.selectionMode&&("single"===this.selectionMode?(this.deselectAllNodes(),s?(n.selected=!0,this.selectedNodes=[i]):(n.selected=!1,this.selectedNodes=[]),this.updateSelectedStatesOnly()):(s?(n.selected=!0,this.selectedNodes.includes(i)||(this.selectedNodes=[...this.selectedNodes,i])):(n.selected=!1,this.selectedNodes=this.selectedNodes.filter(e=>e!==i)),this.updateSelectedStatesOnly()),this.dispatchSelectEvent(i,n))}deselectAllNodes(){const e=t=>{for(const i of t)i.selected=!1,i.children&&e(i.children)};e(this.nodes)}handleItemCheck(e){const t=e,{nodeId:i,checked:s}=t.detail,n=this.nodeMap.get(i);n&&(this.syncCheckboxes(n,s),this.dispatchCheckEvent(i,n,s))}syncCheckboxes(e,t){const i=(e,t)=>{if(e.checked=t,t&&!this.checkedNodes.includes(e.id)?this.checkedNodes=[...this.checkedNodes,e.id]:t||(this.checkedNodes=this.checkedNodes.filter(t=>t!==e.id)),e.children)for(const s of e.children)s.disabled||i(s,t)},s=e=>{const t=this.findParentNode(e.id);if(!t)return;const i=t.children||[],n=i.filter(e=>e.checked&&!e.disabled),a=i.filter(e=>!e.checked&&!e.disabled&&!e.indeterminate),o=n.length===i.filter(e=>!e.disabled).length,c=a.length===i.filter(e=>!e.disabled).length;t.checked=o,t.indeterminate=!o&&!c,t.checked&&!this.checkedNodes.includes(t.id)?this.checkedNodes=[...this.checkedNodes,t.id]:t.checked||t.indeterminate||(this.checkedNodes=this.checkedNodes.filter(e=>e!==t.id)),s(t)};i(e,t),s(e),this.updateCheckboxStatesOnly()}updateCheckboxStatesOnly(){const e=t=>{if(!t||!t.node)return;const i=this.nodeMap.get(t.node.id);if(i&&(t.checked!==i.checked&&(t.checked=i.checked),t.indeterminate!==i.indeterminate&&(t.indeterminate=i.indeterminate),t.shadowRoot)){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}updateSelectedStatesOnly(){const e=t=>{if(!t||!t.node)return;const i=this.nodeMap.get(t.node.id);if(i){if(t.selected=i.selected,t.shadowRoot){const e=t.shadowRoot.querySelector(".tree-item__content");e&&(i.selected?e.classList.add("tree-item__content--selected"):e.classList.remove("tree-item__content--selected"),e.setAttribute("aria-selected",(i.selected??!1).toString()))}if(t.shadowRoot){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}finishLoadingNodes(){const e=t=>{if(t&&t.node&&(t.loading&&t.node.children&&t.node.children.length>0&&(t.finishLoading(),this.loadingNodeIds.delete(t.node.id)),t.shadowRoot)){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}findParentNode(e){const t=(e,i)=>{for(const s of e)if(s.children){if(s.children.some(e=>e.id===i))return s;const e=t(s.children,i);if(e)return e}return null};return t(this.nodes,e)}handleLazyLoad(e){const t=e,{nodeId:i,node:s}=t.detail;this.dispatchLazyLoadEvent(i,s)}dispatchExpandEvent(e,t){return{nodeId:e,node:t,tree:this}}dispatchCollapseEvent(e,t){return{nodeId:e,node:t,tree:this}}dispatchSelectEvent(e,t){return{nodeId:e,node:t,selectedNodes:this.getSelectedNodes(),tree:this}}dispatchCheckEvent(e,t,i){return{nodeId:e,node:t,checked:i,checkedNodes:this.getCheckedNodes(),tree:this}}dispatchLazyLoadEvent(e,t){return{nodeId:e,node:t,tree:this}}handleKeyDown(e){if(!["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Home","End","Enter"," "].includes(e.key))return;const t=e.target;if("INPUT"===t.tagName||"TEXTAREA"===t.tagName)return;const i=this.getFocusableItems();if(0===i.length)return;e.preventDefault();const s=i.findIndex(e=>e.matches(":focus")),n=i[s],a=e=>{const t=Math.max(0,Math.min(e,i.length-1));i[t]?.focus()};"ArrowDown"===e.key?a(s+1):"ArrowUp"===e.key?a(s-1):"ArrowRight"===e.key?n&&n.expand&&n.expand():"ArrowLeft"===e.key?n&&n.collapse&&n.collapse():"Home"===e.key?a(0):"End"===e.key?a(i.length-1):"Enter"!==e.key&&" "!==e.key||n&&n.select&&n.select()}handleFocusIn(e){const t=e.target;if(t===this){const e=this.getFocusableItems(),t=this.lastFocusedItem||e[0];return void t?.focus()}"SNICE-TREE-ITEM"===t.tagName&&(this.lastFocusedItem&&this.lastFocusedItem.setAttribute("tabindex","-1"),this.lastFocusedItem=t,this.setAttribute("tabindex","-1"),t.setAttribute("tabindex","0"))}handleFocusOut(e){const t=e.relatedTarget;t&&this.contains(t)||this.setAttribute("tabindex","0")}getFocusableItems(){const e=Array.from(this.shadowRoot?.querySelectorAll("snice-tree-item")||[]),t=new Set;return e.filter(e=>{const i=e.node?.disabled;if(i)return!1;let s=e.parentElement;for(;s&&s!==this;){if("SNICE-TREE-ITEM"===s.tagName){if(!s.expanded)return t.add(e),!1}s=s.parentElement}return!t.has(e)})}expandNode(e){const t=this.nodeMap.get(e);t&&t.children&&(t.expanded=!0,this.nodes=[...this.nodes],this.dispatchExpandEvent(e,t))}collapseNode(e){const t=this.nodeMap.get(e);t&&t.children&&(t.expanded=!1,this.nodes=[...this.nodes],this.dispatchCollapseEvent(e,t))}toggleNode(e){const t=this.nodeMap.get(e);t&&t.children&&(t.expanded?this.collapseNode(e):this.expandNode(e))}expandAll(){const e=t=>{for(const i of t)i.children&&i.children.length>0&&(i.expanded=!0,e(i.children))};e(this.nodes),this.nodes=[...this.nodes]}collapseAll(){const e=t=>{for(const i of t)i.expanded=!1,i.children&&e(i.children)};e(this.nodes),this.nodes=[...this.nodes]}selectNode(e){if(!this.selectable||"none"===this.selectionMode)return;const t=this.nodeMap.get(e);t&&("single"===this.selectionMode?this.selectedNodes=[e]:this.selectedNodes.includes(e)||(this.selectedNodes=[...this.selectedNodes,e]),this.dispatchSelectEvent(e,t))}deselectNode(e){const t=this.nodeMap.get(e);t&&(this.selectedNodes=this.selectedNodes.filter(t=>t!==e),this.dispatchSelectEvent(e,t))}toggleSelection(e){this.selectedNodes.includes(e)?this.deselectNode(e):this.selectNode(e)}checkNode(e){const t=this.nodeMap.get(e);t&&(this.checkedNodes.includes(e)||(this.checkedNodes=[...this.checkedNodes,e]),this.dispatchCheckEvent(e,t,!0))}uncheckNode(e){const t=this.nodeMap.get(e);t&&(this.checkedNodes=this.checkedNodes.filter(t=>t!==e),this.dispatchCheckEvent(e,t,!1))}toggleCheck(e){this.checkedNodes.includes(e)?this.uncheckNode(e):this.checkNode(e)}getNode(e){return this.nodeMap.get(e)}getSelectedNodes(){return this.selectedNodes.map(e=>this.nodeMap.get(e)).filter(Boolean)}getCheckedNodes(){return this.checkedNodes.map(e=>this.nodeMap.get(e)).filter(Boolean)}updateNode(e,t){const i=s=>s.map(s=>{if(s.id===e)return{...s,...t};if(s.children){const e=i(s.children);if(e!==s.children)return{...s,children:e}}return s});this.nodes=i(this.nodes)}},n})();return e.SniceTree=n,e}({},Snice);
69
+ `}styles(){return e.css`${":host{--spinner-size:2.5rem;--spinner-stroke:4px;--spinner-color:var(--snice-color-primary, rgb(59 130 246));display:inline-block;width:var(--spinner-size);height:var(--spinner-size);font-family:var(--snice-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif);contain:layout style paint}:host([size=small]){--spinner-size:1.5rem;--spinner-stroke:3px}:host([size=medium]){--spinner-size:2.5rem;--spinner-stroke:4px}:host([size=large]){--spinner-size:3.5rem;--spinner-stroke:5px}:host([size=xl]){--spinner-size:5rem;--spinner-stroke:6px}:host([color=primary]){--spinner-color:var(--snice-color-primary, rgb(59 130 246))}:host([color=success]){--spinner-color:var(--snice-color-success, rgb(16 185 129))}:host([color=warning]){--spinner-color:var(--snice-color-warning, rgb(245 158 11))}:host([color=error]){--spinner-color:var(--snice-color-danger, rgb(239 68 68))}:host([color=info]){--spinner-color:var(--snice-color-info, rgb(99 102 241))}.spinner{position:relative;width:100%;height:100%}.spinner__circle{transform:rotate(-90deg);width:100%;height:100%;animation:2s linear infinite spinner-rotate}.spinner__circle-bar,.spinner__circle-bg{fill:none;stroke-width:var(--spinner-stroke);shape-rendering:geometricPrecision;vector-effect:non-scaling-stroke}.spinner__circle-bg{stroke:var(--spinner-color);opacity:.2}.spinner__circle-bar{stroke:var(--spinner-color);stroke-linecap:round;animation:1.5s ease-in-out infinite spinner-dash}@keyframes spinner-rotate{100%{transform:rotate(270deg)}}@keyframes spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.spinner__label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--snice-font-size-xs, .625rem);font-weight:var(--snice-font-weight-semibold,600);color:var(--spinner-color);white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:host([size=small]) .spinner__label{font-size:.5rem}:host([size=medium]) .spinner__label{font-size:var(--snice-font-size-xs, .625rem)}:host([size=large]) .spinner__label{font-size:var(--snice-font-size-sm, .75rem)}:host([size=xl]) .spinner__label{font-size:var(--snice-font-size-sm, .875rem)}"}`}getSizeValue(){switch(this.size){case"small":return 24;case"medium":default:return 40;case"large":return 56;case"xl":return 80}}constructor(){super(...arguments),this.size=(i(this,u),i(this,b,"medium")),this.color=(i(this,g),i(this,k,"primary")),this.label=(i(this,v),i(this,y,"")),this.thickness=(i(this,f),i(this,x,4)),i(this,w)}})})();(()=>{let s,n,a,o,c,d,l,r,h,p,m,u,b,g,k,v,y,f,x,w,_=[e.element("snice-tree-item")],C=[],S=HTMLElement,E=[],N=[],I=[],z=[],L=[],A=[],R=[],M=[],q=[],T=[],$=[],O=[],F=[],B=[],j=[],D=[],H=[];(class extends S{static{n=this}static{const P="function"==typeof Symbol&&Symbol.metadata?Object.create(S[Symbol.metadata]??null):void 0;a=[e.property({type:Number})],o=[e.property({type:Boolean})],c=[e.property({type:Boolean})],d=[e.property({type:Boolean})],l=[e.property({type:Boolean,attribute:"show-checkbox"})],r=[e.property({type:Boolean,attribute:"show-icon"})],h=[e.property({type:Boolean})],p=[e.property({type:Boolean})],m=[e.watch("expanded")],u=[e.watch("selected")],b=[e.watch("checked")],g=[e.watch("indeterminate")],k=[e.watch("loading")],v=[e.dispatch("tree-item-toggle",{bubbles:!0,composed:!0})],y=[e.dispatch("tree-item-select",{bubbles:!0,composed:!0})],f=[e.dispatch("tree-item-check",{bubbles:!0,composed:!0})],x=[e.dispatch("tree-item-lazy-load",{bubbles:!0,composed:!0})],w=[e.ready()],t(this,null,m,{kind:"method",name:"handleExpandedChange",static:!1,private:!1,access:{has:e=>"handleExpandedChange"in e,get:e=>e.handleExpandedChange},metadata:P},null,E),t(this,null,u,{kind:"method",name:"handleSelectedChange",static:!1,private:!1,access:{has:e=>"handleSelectedChange"in e,get:e=>e.handleSelectedChange},metadata:P},null,E),t(this,null,b,{kind:"method",name:"handleCheckedChange",static:!1,private:!1,access:{has:e=>"handleCheckedChange"in e,get:e=>e.handleCheckedChange},metadata:P},null,E),t(this,null,g,{kind:"method",name:"handleIndeterminateChange",static:!1,private:!1,access:{has:e=>"handleIndeterminateChange"in e,get:e=>e.handleIndeterminateChange},metadata:P},null,E),t(this,null,k,{kind:"method",name:"handleLoadingChange",static:!1,private:!1,access:{has:e=>"handleLoadingChange"in e,get:e=>e.handleLoadingChange},metadata:P},null,E),t(this,null,v,{kind:"method",name:"dispatchToggleEvent",static:!1,private:!1,access:{has:e=>"dispatchToggleEvent"in e,get:e=>e.dispatchToggleEvent},metadata:P},null,E),t(this,null,y,{kind:"method",name:"dispatchSelectEvent",static:!1,private:!1,access:{has:e=>"dispatchSelectEvent"in e,get:e=>e.dispatchSelectEvent},metadata:P},null,E),t(this,null,f,{kind:"method",name:"dispatchCheckEvent",static:!1,private:!1,access:{has:e=>"dispatchCheckEvent"in e,get:e=>e.dispatchCheckEvent},metadata:P},null,E),t(this,null,x,{kind:"method",name:"dispatchLazyLoadEvent",static:!1,private:!1,access:{has:e=>"dispatchLazyLoadEvent"in e,get:e=>e.dispatchLazyLoadEvent},metadata:P},null,E),t(this,null,w,{kind:"method",name:"init",static:!1,private:!1,access:{has:e=>"init"in e,get:e=>e.init},metadata:P},null,E),t(null,null,a,{kind:"field",name:"_version",static:!1,private:!1,access:{has:e=>"_version"in e,get:e=>e._version,set:(e,t)=>{e._version=t}},metadata:P},N,I),t(null,null,o,{kind:"field",name:"expanded",static:!1,private:!1,access:{has:e=>"expanded"in e,get:e=>e.expanded,set:(e,t)=>{e.expanded=t}},metadata:P},z,L),t(null,null,c,{kind:"field",name:"selected",static:!1,private:!1,access:{has:e=>"selected"in e,get:e=>e.selected,set:(e,t)=>{e.selected=t}},metadata:P},A,R),t(null,null,d,{kind:"field",name:"checked",static:!1,private:!1,access:{has:e=>"checked"in e,get:e=>e.checked,set:(e,t)=>{e.checked=t}},metadata:P},M,q),t(null,null,l,{kind:"field",name:"showCheckbox",static:!1,private:!1,access:{has:e=>"showCheckbox"in e,get:e=>e.showCheckbox,set:(e,t)=>{e.showCheckbox=t}},metadata:P},T,$),t(null,null,r,{kind:"field",name:"showIcon",static:!1,private:!1,access:{has:e=>"showIcon"in e,get:e=>e.showIcon,set:(e,t)=>{e.showIcon=t}},metadata:P},O,F),t(null,null,h,{kind:"field",name:"loading",static:!1,private:!1,access:{has:e=>"loading"in e,get:e=>e.loading,set:(e,t)=>{e.loading=t}},metadata:P},B,j),t(null,null,p,{kind:"field",name:"indeterminate",static:!1,private:!1,access:{has:e=>"indeterminate"in e,get:e=>e.indeterminate,set:(e,t)=>{e.indeterminate=t}},metadata:P},D,H),t(null,s={value:n},_,{kind:"class",name:n.name,metadata:P},null,C),n=s.value,P&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:P}),i(n,C)}get node(){return this._node}get level(){return this._level}get hasChildren(){return!!(this._node.children&&this._node.children.length>0)||!!this._node.lazy}setNode(e,t){this._node=e,this._level=t,void 0!==e.expanded&&(this.expanded=e.expanded),void 0!==e.selected&&(this.selected=e.selected),void 0!==e.checked&&(this.checked=e.checked),void 0!==e.indeterminate&&(this.indeterminate=e.indeterminate),this.updateDOM(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.updateChildTreeItems()})})}handleExpandedChange(){this.shadowRoot&&this.updateExpandedState()}handleSelectedChange(){this.shadowRoot&&this.updateSelectedState()}handleCheckedChange(){this.shadowRoot&&this.updateCheckboxState()}handleIndeterminateChange(){this.shadowRoot&&this.updateCheckboxState()}handleLoadingChange(){this.shadowRoot&&this.updateLoadingState()}updateChildTreeItems(){if(!this.shadowRoot||!this.hasChildren)return;const e=this.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item");this.node.children?.forEach((t,i)=>{e[i]&&e[i].setNode&&e[i].setNode(t,this.level+1)})}dispatchToggleEvent(){return{nodeId:this.node.id,expanded:this.expanded}}dispatchSelectEvent(){return{nodeId:this.node.id,selected:this.selected}}dispatchCheckEvent(){return{nodeId:this.node.id,checked:this.checked}}dispatchLazyLoadEvent(){return{nodeId:this.node.id,node:this.node}}init(){this.renderTemplate(),this.updateDOM()}renderTemplate(){const e='\n <style>:host{display:block}.tree-item{position:relative;user-select:none}.tree-item__content{display:flex;align-items:center;gap:var(--snice-spacing-xs,.5rem);padding:var(--snice-spacing-xs,.5rem) var(--snice-spacing-sm,.75rem);padding-left:calc(var(--tree-level,0) * var(--snice-spacing-xl,1.5rem) + var(--snice-spacing-sm,.75rem));cursor:pointer;border-radius:var(--snice-border-radius-md,.25rem);transition:background-color var(--snice-transition-fast, 150ms) ease;position:relative;background-color:transparent}.tree-item__content:hover{background-color:var(--snice-color-background-hover,rgb(var(--snice-color-gray-100)))}.tree-item__content:focus{outline:2px solid var(--snice-color-primary,rgb(var(--snice-color-blue-600)));outline-offset:-2px}.tree-item__content--selected{background-color:var(--snice-color-primary-subtle,rgb(var(--snice-color-blue-50)))}.tree-item__content--selected:hover{background-color:var(--snice-color-primary-subtle-hover,rgb(var(--snice-color-blue-100)))}.tree-item__content--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tree-item__expander{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s;cursor:pointer}.tree-item__expander--expanded{transform:rotate(90deg)}.tree-item__expander--hidden{visibility:hidden}.tree-item__expander svg{width:1rem;height:1rem;fill:currentColor}.tree-item__checkbox{display:flex;align-items:center;flex-shrink:0;height:1.25rem}.tree-item__checkbox snice-checkbox{display:flex;align-items:center}.tree-item__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center}.tree-item__icon-image{width:100%;height:100%;object-fit:contain}.tree-item__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25rem;align-self:center}.tree-item__children{overflow:hidden;max-height:0;opacity:0;transition:max-height .25s cubic-bezier(.4, 0, .2, 1),opacity .25s cubic-bezier(.4, 0, .2, 1)}.tree-item__children--expanded{max-height:10000px;opacity:1;transition:max-height .25s cubic-bezier(.4, 0, .2, 1),opacity .25s cubic-bezier(.4, 0, .2, 1)}.tree-item__loading{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;flex-shrink:0}</style>\n <div class="tree-item">\n <div\n class="tree-item__content"\n part="content"\n role="treeitem"\n tabindex="0">\n\n <div class="tree-item__loading" part="loading" style="display: none;">\n <snice-spinner size="small"></snice-spinner>\n </div>\n\n <div class="tree-item__expander" part="expander">\n <svg viewBox="0 0 24 24"><path d="M9 6l6 6-6 6"/></svg>\n </div>\n\n <div class="tree-item__checkbox" part="checkbox" style="display: none;">\n <snice-checkbox size="small"></snice-checkbox>\n </div>\n\n <div class="tree-item__icon" part="icon" style="display: none;"></div>\n\n <div class="tree-item__label" part="label"></div>\n </div>\n\n <div class="tree-item__children" part="children" role="group"></div>\n </div>\n ';this.shadowRoot?this.shadowRoot.innerHTML=e:this.attachShadow({mode:"open"}).innerHTML=e;const t=this.shadowRoot.querySelector(".tree-item__content"),i=this.shadowRoot.querySelector(".tree-item__expander");t?.addEventListener("click",e=>this.handleContentClick(e)),t?.addEventListener("keydown",e=>this.handleKeydown(e)),i?.addEventListener("click",e=>{e.stopPropagation(),this.toggle()}),requestAnimationFrame(()=>{const e=this.shadowRoot.querySelector("snice-checkbox");e?.addEventListener("checkbox-change",e=>this.handleCheckboxChangeEvent(e))})}updateDOM(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item"),t=this.shadowRoot.querySelector(".tree-item__content"),i=this.shadowRoot.querySelector(".tree-item__label"),s=this.shadowRoot.querySelector(".tree-item__icon");e&&e.style.setProperty("--tree-level",this.level.toString()),i&&(i.textContent=this.node.label||""),s&&this.showIcon?this.node.iconImage?(s.innerHTML=`<img class="tree-item__icon-image" src="${this.node.iconImage}" alt="" part="icon-image">`,s.style.display=""):this.node.icon?(s.innerHTML=`<span part="icon-text">${this.node.icon}</span>`,s.style.display=""):s.style.display="none":s&&(s.style.display="none"),t&&(t.setAttribute("tabindex",this.node.disabled?"-1":"0"),t.setAttribute("aria-selected",this.selected.toString()),t.setAttribute("aria-disabled",(this.node.disabled||!1).toString()),t.setAttribute("aria-busy",this.loading.toString()),this.hasChildren?t.setAttribute("aria-expanded",this.expanded.toString()):t.removeAttribute("aria-expanded")),this.updateExpandedState(),this.updateSelectedState(),this.updateCheckboxState(),this.updateLoadingState(),this.updateChildrenDOM()}updateExpandedState(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item__expander"),t=this.shadowRoot.querySelector(".tree-item__children"),i=this.shadowRoot.querySelector(".tree-item__content");e&&(e.classList.toggle("tree-item__expander--expanded",this.expanded),e.classList.toggle("tree-item__expander--hidden",!this.hasChildren)),t&&t.classList.toggle("tree-item__children--expanded",this.expanded),i&&this.hasChildren&&i.setAttribute("aria-expanded",this.expanded.toString())}updateSelectedState(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item__content");e&&(e.classList.toggle("tree-item__content--selected",this.selected),e.setAttribute("aria-selected",this.selected.toString()))}updateCheckboxState(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item__checkbox"),t=this.shadowRoot.querySelector("snice-checkbox");e&&(e.style.display=this.showCheckbox?"":"none"),t&&requestAnimationFrame(()=>{t.checked=this.checked,t.indeterminate=this.indeterminate,t.disabled=this.node.disabled||!1})}updateLoadingState(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree-item__loading"),t=this.shadowRoot.querySelector(".tree-item__expander");e&&t&&(e.style.display=this.loading?"":"none",t.style.display=this.loading?"none":"")}updateChildrenDOM(){if(!this.shadowRoot||!this.hasChildren)return;const e=this.shadowRoot.querySelector(".tree-item__children");e&&(e.innerHTML="",this.node.children?.forEach(t=>{const i=document.createElement("snice-tree-item");this.showCheckbox&&i.setAttribute("show-checkbox",""),this.showIcon&&i.setAttribute("show-icon",""),e.appendChild(i)}),requestAnimationFrame(()=>{this.updateChildTreeItems()}))}handleContentClick(e){this.node.disabled||(this.selected?this.deselect():this.select())}handleKeydown(e){this.node.disabled||("Enter"===e.key||" "===e.key?(e.preventDefault(),this.selected?this.deselect():this.select()):"ArrowRight"===e.key?(e.preventDefault(),this.hasChildren&&!this.expanded&&this.expand()):"ArrowLeft"===e.key&&(e.preventDefault(),this.hasChildren&&this.expanded&&this.collapse()))}handleCheckboxChangeEvent(e){e.stopPropagation();const t=e.detail.checked;this.checked=t,this.node.checked=t,this.dispatchEvent(new CustomEvent("tree-item-check",{bubbles:!0,composed:!0,detail:{nodeId:this.node.id,checked:this.checked}}))}expand(){if(this.hasChildren&&!this.expanded){if(this.node.lazy&&(!this.node.children||0===this.node.children.length))return this.loading=!0,void this.dispatchLazyLoadEvent();this.expanded=!0,this.dispatchToggleEvent()}}finishLoading(){this.loading=!1,this.expanded=!0,this.dispatchToggleEvent()}collapse(){this.hasChildren&&this.expanded&&(this.expanded=!1,this.dispatchToggleEvent())}toggle(){this.expanded?this.collapse():this.expand()}select(){this.node.disabled||(this.selected=!0,this.updateSelectedState(),this.dispatchSelectEvent())}deselect(){this.selected=!1,this.updateSelectedState(),this.dispatchSelectEvent()}check(){this.node.disabled||(this.checked=!0,this.dispatchCheckEvent())}uncheck(){this.checked=!1,this.dispatchCheckEvent()}constructor(){super(...arguments),this._node=(i(this,E),{id:"",label:""}),this._level=0,this._version=i(this,N,0),this.expanded=(i(this,I),i(this,z,!1)),this.selected=(i(this,L),i(this,A,!1)),this.checked=(i(this,R),i(this,M,!1)),this.showCheckbox=(i(this,q),i(this,T,!1)),this.showIcon=(i(this,$),i(this,O,!0)),this.loading=(i(this,F),i(this,B,!1)),this.indeterminate=(i(this,j),i(this,D,!1)),i(this,H)}})})();(()=>{let s,n,a,o,c,d,l,r,h,p,m,u,b,g,k,v,y,f,x,w,_,C,S,E,N,I,z,L=[e.element("snice-tree")],A=[],R=HTMLElement,M=[],q=[],T=[],$=[],O=[],F=[],B=[],j=[],D=[],H=[],P=[],K=[],U=[],V=[],X=[],G=[],J=[],Q=[],W=[];(class extends R{static{n=this}constructor(){super(...arguments),this.selectable=(i(this,M),i(this,q,!0)),this.selectionMode=(i(this,T),i(this,$,"single")),this.showCheckboxes=(i(this,O),i(this,F,!1)),this.showIcons=(i(this,B),i(this,j,!0)),this.expandOnClick=(i(this,D),i(this,H,!1)),this.nodes=(i(this,P),i(this,K,[])),this.selectedNodes=(i(this,U),i(this,V,[])),this.checkedNodes=(i(this,X),i(this,G,[])),this.nodeMap=(i(this,J),new Map),this.treeItems=i(this,Q,void 0),this.lastFocusedItem=(i(this,W),null),this.loadingNodeIds=new Set}static{const Y="function"==typeof Symbol&&Symbol.metadata?Object.create(R[Symbol.metadata]??null):void 0;a=[e.property({type:Boolean})],o=[e.property({})],c=[e.property({type:Boolean,attribute:"show-checkboxes"})],d=[e.property({type:Boolean,attribute:"show-icons"})],l=[e.property({type:Boolean,attribute:"expand-on-click"})],r=[e.property({type:Array})],h=[e.property({type:Array,attribute:"selected-nodes"})],p=[e.property({type:Array,attribute:"checked-nodes"})],m=[e.queryAll("snice-tree-item")],u=[e.ready()],b=[e.watch("nodes")],g=[e.watch("selectedNodes")],k=[e.watch("checkedNodes")],v=[e.on("tree-item-toggle")],y=[e.on("tree-item-select")],f=[e.on("tree-item-check")],x=[e.on("tree-item-lazy-load")],w=[e.dispatch("tree-node-expand",{bubbles:!0,composed:!0})],_=[e.dispatch("tree-node-collapse",{bubbles:!0,composed:!0})],C=[e.dispatch("tree-node-select",{bubbles:!0,composed:!0})],S=[e.dispatch("tree-node-check",{bubbles:!0,composed:!0})],E=[e.dispatch("tree-node-lazy-load",{bubbles:!0,composed:!0})],N=[e.on("keydown")],I=[e.on("focusin")],z=[e.on("focusout")],t(this,null,u,{kind:"method",name:"init",static:!1,private:!1,access:{has:e=>"init"in e,get:e=>e.init},metadata:Y},null,M),t(this,null,b,{kind:"method",name:"handleNodesChange",static:!1,private:!1,access:{has:e=>"handleNodesChange"in e,get:e=>e.handleNodesChange},metadata:Y},null,M),t(this,null,g,{kind:"method",name:"handleSelectedNodesChange",static:!1,private:!1,access:{has:e=>"handleSelectedNodesChange"in e,get:e=>e.handleSelectedNodesChange},metadata:Y},null,M),t(this,null,k,{kind:"method",name:"handleCheckedNodesChange",static:!1,private:!1,access:{has:e=>"handleCheckedNodesChange"in e,get:e=>e.handleCheckedNodesChange},metadata:Y},null,M),t(this,null,v,{kind:"method",name:"handleItemToggle",static:!1,private:!1,access:{has:e=>"handleItemToggle"in e,get:e=>e.handleItemToggle},metadata:Y},null,M),t(this,null,y,{kind:"method",name:"handleItemSelect",static:!1,private:!1,access:{has:e=>"handleItemSelect"in e,get:e=>e.handleItemSelect},metadata:Y},null,M),t(this,null,f,{kind:"method",name:"handleItemCheck",static:!1,private:!1,access:{has:e=>"handleItemCheck"in e,get:e=>e.handleItemCheck},metadata:Y},null,M),t(this,null,x,{kind:"method",name:"handleLazyLoad",static:!1,private:!1,access:{has:e=>"handleLazyLoad"in e,get:e=>e.handleLazyLoad},metadata:Y},null,M),t(this,null,w,{kind:"method",name:"dispatchExpandEvent",static:!1,private:!1,access:{has:e=>"dispatchExpandEvent"in e,get:e=>e.dispatchExpandEvent},metadata:Y},null,M),t(this,null,_,{kind:"method",name:"dispatchCollapseEvent",static:!1,private:!1,access:{has:e=>"dispatchCollapseEvent"in e,get:e=>e.dispatchCollapseEvent},metadata:Y},null,M),t(this,null,C,{kind:"method",name:"dispatchSelectEvent",static:!1,private:!1,access:{has:e=>"dispatchSelectEvent"in e,get:e=>e.dispatchSelectEvent},metadata:Y},null,M),t(this,null,S,{kind:"method",name:"dispatchCheckEvent",static:!1,private:!1,access:{has:e=>"dispatchCheckEvent"in e,get:e=>e.dispatchCheckEvent},metadata:Y},null,M),t(this,null,E,{kind:"method",name:"dispatchLazyLoadEvent",static:!1,private:!1,access:{has:e=>"dispatchLazyLoadEvent"in e,get:e=>e.dispatchLazyLoadEvent},metadata:Y},null,M),t(this,null,N,{kind:"method",name:"handleKeyDown",static:!1,private:!1,access:{has:e=>"handleKeyDown"in e,get:e=>e.handleKeyDown},metadata:Y},null,M),t(this,null,I,{kind:"method",name:"handleFocusIn",static:!1,private:!1,access:{has:e=>"handleFocusIn"in e,get:e=>e.handleFocusIn},metadata:Y},null,M),t(this,null,z,{kind:"method",name:"handleFocusOut",static:!1,private:!1,access:{has:e=>"handleFocusOut"in e,get:e=>e.handleFocusOut},metadata:Y},null,M),t(null,null,a,{kind:"field",name:"selectable",static:!1,private:!1,access:{has:e=>"selectable"in e,get:e=>e.selectable,set:(e,t)=>{e.selectable=t}},metadata:Y},q,T),t(null,null,o,{kind:"field",name:"selectionMode",static:!1,private:!1,access:{has:e=>"selectionMode"in e,get:e=>e.selectionMode,set:(e,t)=>{e.selectionMode=t}},metadata:Y},$,O),t(null,null,c,{kind:"field",name:"showCheckboxes",static:!1,private:!1,access:{has:e=>"showCheckboxes"in e,get:e=>e.showCheckboxes,set:(e,t)=>{e.showCheckboxes=t}},metadata:Y},F,B),t(null,null,d,{kind:"field",name:"showIcons",static:!1,private:!1,access:{has:e=>"showIcons"in e,get:e=>e.showIcons,set:(e,t)=>{e.showIcons=t}},metadata:Y},j,D),t(null,null,l,{kind:"field",name:"expandOnClick",static:!1,private:!1,access:{has:e=>"expandOnClick"in e,get:e=>e.expandOnClick,set:(e,t)=>{e.expandOnClick=t}},metadata:Y},H,P),t(null,null,r,{kind:"field",name:"nodes",static:!1,private:!1,access:{has:e=>"nodes"in e,get:e=>e.nodes,set:(e,t)=>{e.nodes=t}},metadata:Y},K,U),t(null,null,h,{kind:"field",name:"selectedNodes",static:!1,private:!1,access:{has:e=>"selectedNodes"in e,get:e=>e.selectedNodes,set:(e,t)=>{e.selectedNodes=t}},metadata:Y},V,X),t(null,null,p,{kind:"field",name:"checkedNodes",static:!1,private:!1,access:{has:e=>"checkedNodes"in e,get:e=>e.checkedNodes,set:(e,t)=>{e.checkedNodes=t}},metadata:Y},G,J),t(null,null,m,{kind:"field",name:"treeItems",static:!1,private:!1,access:{has:e=>"treeItems"in e,get:e=>e.treeItems,set:(e,t)=>{e.treeItems=t}},metadata:Y},Q,W),t(null,s={value:n},L,{kind:"class",name:n.name,metadata:Y},null,A),n=s.value,Y&&Object.defineProperty(n,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:Y}),i(n,A)}init(){this.buildNodeMap(),this.syncNodeStates(),this.renderTemplate(),this.setAttribute("role","tree"),this.setAttribute("tabindex","0"),"multiple"===this.selectionMode&&this.setAttribute("aria-multiselectable","true"),this.updateTreeItems()}renderTemplate(){this.shadowRoot||this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML='\n <style>:host{display:block}.tree{font-family:var(--snice-font-family, system-ui, -apple-system, sans-serif);font-size:var(--snice-font-size-base, 1rem);color:var(--snice-color-text,rgb(23 23 23));background-color:var(--snice-color-background,rgb(255 255 255));border:1px solid var(--snice-color-border,rgb(226 226 226));border-radius:var(--snice-border-radius-md,.375rem);overflow:auto;max-height:var(--tree-max-height,100%)}.tree__content{padding:var(--snice-spacing-xs,.5rem)}.tree--no-border{border:none}.tree__empty{padding:var(--snice-spacing-lg,1.5rem);text-align:center;color:var(--snice-color-text-muted,rgb(115 115 115));font-style:italic}</style>\n <div class="tree" part="container" role="tree">\n <div class="tree__content" part="content"></div>\n </div>\n '}handleNodesChange(){this.buildNodeMap(),this.syncNodeStates(),this.trackLoadingNodes(),this.updateTreeItemsDOM(),requestAnimationFrame(()=>{this.restoreLoadingState(),requestAnimationFrame(()=>{this.finishLoadingNodes()})})}trackLoadingNodes(){const e=t=>{if(t&&t.node&&(t.loading&&this.loadingNodeIds.add(t.node.id),t.shadowRoot)){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}restoreLoadingState(){const e=t=>{if(t&&t.node&&(this.loadingNodeIds.has(t.node.id)&&(t.loading=!0),t.shadowRoot)){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}updateTreeItemsDOM(){if(!this.shadowRoot)return;const e=this.shadowRoot.querySelector(".tree__content");e&&(e.innerHTML="",this.nodes.forEach(t=>{const i=document.createElement("snice-tree-item");this.showCheckboxes&&i.setAttribute("show-checkbox",""),this.showIcons&&i.setAttribute("show-icon",""),e.appendChild(i)}),this.updateTreeItems())}updateTreeItems(){requestAnimationFrame(()=>{if(this.treeItems&&0!==this.treeItems.length)this.treeItems.forEach((e,t)=>{this.nodes[t]&&e.setNode&&e.setNode(this.nodes[t],0)});else{const e=this.shadowRoot?.querySelectorAll(":scope > .tree > .tree__content > snice-tree-item");e&&e.forEach((e,t)=>{this.nodes[t]&&e.setNode&&e.setNode(this.nodes[t],0)})}})}handleSelectedNodesChange(){this.syncNodeStates(),requestAnimationFrame(()=>{this.updateSelectedStatesOnly()})}handleCheckedNodesChange(){this.syncNodeStates(),requestAnimationFrame(()=>{this.updateCheckboxStatesOnly()})}buildNodeMap(){this.nodeMap.clear();const e=t=>{for(const i of t)this.nodeMap.set(i.id,i),i.children&&e(i.children)};e(this.nodes)}syncNodeStates(){for(const[e,t]of this.nodeMap.entries())t.selected=this.selectedNodes.includes(e),t.checked=this.checkedNodes.includes(e)}handleItemToggle(e){const t=e,{nodeId:i,expanded:s}=t.detail,n=this.nodeMap.get(i);n&&(n.expanded=s,s?this.dispatchExpandEvent(i,n):this.dispatchCollapseEvent(i,n))}handleItemSelect(e){const t=e,{nodeId:i,selected:s}=t.detail,n=this.nodeMap.get(i);n&&this.selectable&&"none"!==this.selectionMode&&("single"===this.selectionMode?(this.deselectAllNodes(),s?(n.selected=!0,this.selectedNodes=[i]):(n.selected=!1,this.selectedNodes=[]),this.updateSelectedStatesOnly()):(s?(n.selected=!0,this.selectedNodes.includes(i)||(this.selectedNodes=[...this.selectedNodes,i])):(n.selected=!1,this.selectedNodes=this.selectedNodes.filter(e=>e!==i)),this.updateSelectedStatesOnly()),this.dispatchSelectEvent(i,n))}deselectAllNodes(){const e=t=>{for(const i of t)i.selected=!1,i.children&&e(i.children)};e(this.nodes)}handleItemCheck(e){const t=e,{nodeId:i,checked:s}=t.detail,n=this.nodeMap.get(i);n&&(this.syncCheckboxes(n,s),this.dispatchCheckEvent(i,n,s))}syncCheckboxes(e,t){const i=(e,t)=>{if(e.checked=t,t&&!this.checkedNodes.includes(e.id)?this.checkedNodes=[...this.checkedNodes,e.id]:t||(this.checkedNodes=this.checkedNodes.filter(t=>t!==e.id)),e.children)for(const s of e.children)s.disabled||i(s,t)},s=e=>{const t=this.findParentNode(e.id);if(!t)return;const i=t.children||[],n=i.filter(e=>e.checked&&!e.disabled),a=i.filter(e=>!e.checked&&!e.disabled&&!e.indeterminate),o=n.length===i.filter(e=>!e.disabled).length,c=a.length===i.filter(e=>!e.disabled).length;t.checked=o,t.indeterminate=!o&&!c,t.checked&&!this.checkedNodes.includes(t.id)?this.checkedNodes=[...this.checkedNodes,t.id]:t.checked||t.indeterminate||(this.checkedNodes=this.checkedNodes.filter(e=>e!==t.id)),s(t)};i(e,t),s(e),this.updateCheckboxStatesOnly()}updateCheckboxStatesOnly(){const e=t=>{if(!t||!t.node)return;const i=this.nodeMap.get(t.node.id);if(i&&(t.checked!==i.checked&&(t.checked=i.checked),t.indeterminate!==i.indeterminate&&(t.indeterminate=i.indeterminate),t.shadowRoot)){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}updateSelectedStatesOnly(){const e=t=>{if(!t||!t.node)return;const i=this.nodeMap.get(t.node.id);if(i){if(t.selected=i.selected,t.shadowRoot){const e=t.shadowRoot.querySelector(".tree-item__content");e&&(i.selected?e.classList.add("tree-item__content--selected"):e.classList.remove("tree-item__content--selected"),e.setAttribute("aria-selected",(i.selected??!1).toString()))}if(t.shadowRoot){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}finishLoadingNodes(){const e=t=>{if(t&&t.node&&(t.loading&&t.node.children&&t.node.children.length>0&&(t.finishLoading(),this.loadingNodeIds.delete(t.node.id)),t.shadowRoot)){t.shadowRoot.querySelectorAll(".tree-item__children > snice-tree-item").forEach(t=>e(t))}},t=this.shadowRoot?.querySelectorAll(".tree__content > snice-tree-item");t?.forEach(t=>e(t))}findParentNode(e){const t=(e,i)=>{for(const s of e)if(s.children){if(s.children.some(e=>e.id===i))return s;const e=t(s.children,i);if(e)return e}return null};return t(this.nodes,e)}handleLazyLoad(e){const t=e,{nodeId:i,node:s}=t.detail;this.dispatchLazyLoadEvent(i,s)}dispatchExpandEvent(e,t){return{nodeId:e,node:t,tree:this}}dispatchCollapseEvent(e,t){return{nodeId:e,node:t,tree:this}}dispatchSelectEvent(e,t){return{nodeId:e,node:t,selectedNodes:this.getSelectedNodes(),tree:this}}dispatchCheckEvent(e,t,i){return{nodeId:e,node:t,checked:i,checkedNodes:this.getCheckedNodes(),tree:this}}dispatchLazyLoadEvent(e,t){return{nodeId:e,node:t,tree:this}}handleKeyDown(e){if(!["ArrowDown","ArrowUp","ArrowRight","ArrowLeft","Home","End","Enter"," "].includes(e.key))return;const t=e.target;if("INPUT"===t.tagName||"TEXTAREA"===t.tagName)return;const i=this.getFocusableItems();if(0===i.length)return;e.preventDefault();const s=i.findIndex(e=>e.matches(":focus")),n=i[s],a=e=>{const t=Math.max(0,Math.min(e,i.length-1));i[t]?.focus()};"ArrowDown"===e.key?a(s+1):"ArrowUp"===e.key?a(s-1):"ArrowRight"===e.key?n&&n.expand&&n.expand():"ArrowLeft"===e.key?n&&n.collapse&&n.collapse():"Home"===e.key?a(0):"End"===e.key?a(i.length-1):"Enter"!==e.key&&" "!==e.key||n&&n.select&&n.select()}handleFocusIn(e){const t=e.target;if(t===this){const e=this.getFocusableItems(),t=this.lastFocusedItem||e[0];return void t?.focus()}"SNICE-TREE-ITEM"===t.tagName&&(this.lastFocusedItem&&this.lastFocusedItem.setAttribute("tabindex","-1"),this.lastFocusedItem=t,this.setAttribute("tabindex","-1"),t.setAttribute("tabindex","0"))}handleFocusOut(e){const t=e.relatedTarget;t&&this.contains(t)||this.setAttribute("tabindex","0")}getFocusableItems(){const e=Array.from(this.shadowRoot?.querySelectorAll("snice-tree-item")||[]),t=new Set;return e.filter(e=>{const i=e.node?.disabled;if(i)return!1;let s=e.parentElement;for(;s&&s!==this;){if("SNICE-TREE-ITEM"===s.tagName){if(!s.expanded)return t.add(e),!1}s=s.parentElement}return!t.has(e)})}expandNode(e){const t=this.nodeMap.get(e);t&&t.children&&(t.expanded=!0,this.nodes=[...this.nodes],this.dispatchExpandEvent(e,t))}collapseNode(e){const t=this.nodeMap.get(e);t&&t.children&&(t.expanded=!1,this.nodes=[...this.nodes],this.dispatchCollapseEvent(e,t))}toggleNode(e){const t=this.nodeMap.get(e);t&&t.children&&(t.expanded?this.collapseNode(e):this.expandNode(e))}expandAll(){const e=t=>{for(const i of t)i.children&&i.children.length>0&&(i.expanded=!0,e(i.children))};e(this.nodes),this.nodes=[...this.nodes]}collapseAll(){const e=t=>{for(const i of t)i.expanded=!1,i.children&&e(i.children)};e(this.nodes),this.nodes=[...this.nodes]}selectNode(e){if(!this.selectable||"none"===this.selectionMode)return;const t=this.nodeMap.get(e);t&&("single"===this.selectionMode?this.selectedNodes=[e]:this.selectedNodes.includes(e)||(this.selectedNodes=[...this.selectedNodes,e]),this.dispatchSelectEvent(e,t))}deselectNode(e){const t=this.nodeMap.get(e);t&&(this.selectedNodes=this.selectedNodes.filter(t=>t!==e),this.dispatchSelectEvent(e,t))}toggleSelection(e){this.selectedNodes.includes(e)?this.deselectNode(e):this.selectNode(e)}checkNode(e){const t=this.nodeMap.get(e);t&&(this.checkedNodes.includes(e)||(this.checkedNodes=[...this.checkedNodes,e]),this.dispatchCheckEvent(e,t,!0))}uncheckNode(e){const t=this.nodeMap.get(e);t&&(this.checkedNodes=this.checkedNodes.filter(t=>t!==e),this.dispatchCheckEvent(e,t,!1))}toggleCheck(e){this.checkedNodes.includes(e)?this.uncheckNode(e):this.checkNode(e)}getNode(e){return this.nodeMap.get(e)}getSelectedNodes(){return this.selectedNodes.map(e=>this.nodeMap.get(e)).filter(Boolean)}getCheckedNodes(){return this.checkedNodes.map(e=>this.nodeMap.get(e)).filter(Boolean)}updateNode(e,t){const i=s=>s.map(s=>{if(s.id===e)return{...s,...t};if(s.children){const e=i(s.children);if(e!==s.children)return{...s,children:e}}return s});this.nodes=i(this.nodes)}})})()}(Snice);
70
70
  //# sourceMappingURL=snice-tree.min.js.map