snice 4.8.0 → 4.9.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 (315) hide show
  1. package/adapters/react/camera-annotate.d.ts +27 -0
  2. package/adapters/react/camera-annotate.d.ts.map +1 -0
  3. package/adapters/react/camera-annotate.js +24 -0
  4. package/adapters/react/camera-annotate.js.map +1 -0
  5. package/adapters/react/camera-annotate.tsx +35 -0
  6. package/adapters/react/candlestick.d.ts +34 -0
  7. package/adapters/react/candlestick.d.ts.map +1 -0
  8. package/adapters/react/candlestick.js +24 -0
  9. package/adapters/react/candlestick.js.map +1 -0
  10. package/adapters/react/candlestick.tsx +42 -0
  11. package/adapters/react/components.d.ts +14 -0
  12. package/adapters/react/components.d.ts.map +1 -1
  13. package/adapters/react/components.js +7 -0
  14. package/adapters/react/components.js.map +1 -1
  15. package/adapters/react/components.ts +14 -0
  16. package/adapters/react/funnel.d.ts +31 -0
  17. package/adapters/react/funnel.d.ts.map +1 -0
  18. package/adapters/react/funnel.js +24 -0
  19. package/adapters/react/funnel.js.map +1 -0
  20. package/adapters/react/funnel.tsx +39 -0
  21. package/adapters/react/network-graph.d.ts +32 -0
  22. package/adapters/react/network-graph.d.ts.map +1 -0
  23. package/adapters/react/network-graph.js +24 -0
  24. package/adapters/react/network-graph.js.map +1 -0
  25. package/adapters/react/network-graph.tsx +40 -0
  26. package/adapters/react/sankey.d.ts +31 -0
  27. package/adapters/react/sankey.d.ts.map +1 -0
  28. package/adapters/react/sankey.js +24 -0
  29. package/adapters/react/sankey.js.map +1 -0
  30. package/adapters/react/sankey.tsx +39 -0
  31. package/adapters/react/time-range-picker.d.ts +33 -0
  32. package/adapters/react/time-range-picker.d.ts.map +1 -0
  33. package/adapters/react/time-range-picker.js +24 -0
  34. package/adapters/react/time-range-picker.js.map +1 -0
  35. package/adapters/react/time-range-picker.tsx +41 -0
  36. package/adapters/react/treemap.d.ts +30 -0
  37. package/adapters/react/treemap.d.ts.map +1 -0
  38. package/adapters/react/treemap.js +24 -0
  39. package/adapters/react/treemap.js.map +1 -0
  40. package/adapters/react/treemap.tsx +38 -0
  41. package/adapters/react/virtual-scroller.d.ts +1 -0
  42. package/adapters/react/virtual-scroller.d.ts.map +1 -1
  43. package/adapters/react/virtual-scroller.js +1 -1
  44. package/adapters/react/virtual-scroller.js.map +1 -1
  45. package/adapters/react/virtual-scroller.tsx +2 -1
  46. package/dist/cdn/accordion/snice-accordion.js +1 -1
  47. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  48. package/dist/cdn/alert/snice-alert.js +1 -1
  49. package/dist/cdn/alert/snice-alert.min.js +1 -1
  50. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  51. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  52. package/dist/cdn/avatar/snice-avatar.js +1 -1
  53. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  54. package/dist/cdn/badge/snice-badge.js +1 -1
  55. package/dist/cdn/badge/snice-badge.min.js +1 -1
  56. package/dist/cdn/banner/snice-banner.js +1 -1
  57. package/dist/cdn/banner/snice-banner.min.js +1 -1
  58. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +2 -2
  59. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  60. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +13 -13
  61. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js.map +1 -1
  62. package/dist/cdn/button/snice-button.js +1 -1
  63. package/dist/cdn/button/snice-button.min.js +1 -1
  64. package/dist/cdn/calendar/snice-calendar.js +1 -1
  65. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  66. package/dist/cdn/camera/snice-camera.js +1 -1
  67. package/dist/cdn/camera/snice-camera.min.js +1 -1
  68. package/dist/cdn/camera-annotate/README.md +27 -0
  69. package/dist/cdn/camera-annotate/snice-camera-annotate.js +730 -0
  70. package/dist/cdn/camera-annotate/snice-camera-annotate.js.map +1 -0
  71. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +144 -0
  72. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js.map +1 -0
  73. package/dist/cdn/candlestick/README.md +27 -0
  74. package/dist/cdn/candlestick/snice-candlestick.js +717 -0
  75. package/dist/cdn/candlestick/snice-candlestick.js.map +1 -0
  76. package/dist/cdn/candlestick/snice-candlestick.min.js +22 -0
  77. package/dist/cdn/candlestick/snice-candlestick.min.js.map +1 -0
  78. package/dist/cdn/card/snice-card.js +1 -1
  79. package/dist/cdn/card/snice-card.min.js +1 -1
  80. package/dist/cdn/carousel/snice-carousel.js +1 -1
  81. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  82. package/dist/cdn/chart/snice-chart.js +1 -1
  83. package/dist/cdn/chart/snice-chart.min.js +1 -1
  84. package/dist/cdn/chat/snice-chat.js +1 -1
  85. package/dist/cdn/chat/snice-chat.min.js +1 -1
  86. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  87. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  88. package/dist/cdn/chip/snice-chip.js +1 -1
  89. package/dist/cdn/chip/snice-chip.min.js +1 -1
  90. package/dist/cdn/code-block/snice-code-block.js +1 -1
  91. package/dist/cdn/code-block/snice-code-block.min.js +1 -1
  92. package/dist/cdn/color-display/snice-color-display.js +1 -1
  93. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  94. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  95. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  96. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  97. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  98. package/dist/cdn/date-picker/snice-date-picker.js +1 -1
  99. package/dist/cdn/date-picker/snice-date-picker.min.js +1 -1
  100. package/dist/cdn/divider/snice-divider.js +1 -1
  101. package/dist/cdn/divider/snice-divider.min.js +1 -1
  102. package/dist/cdn/doc/snice-doc.js +1 -1
  103. package/dist/cdn/doc/snice-doc.min.js +1 -1
  104. package/dist/cdn/draw/snice-draw.js +1 -1
  105. package/dist/cdn/draw/snice-draw.min.js +1 -1
  106. package/dist/cdn/drawer/snice-drawer.js +1 -1
  107. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  108. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  109. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  110. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  111. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  112. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  113. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  114. package/dist/cdn/funnel/README.md +27 -0
  115. package/dist/cdn/funnel/snice-funnel.js +424 -0
  116. package/dist/cdn/funnel/snice-funnel.js.map +1 -0
  117. package/dist/cdn/funnel/snice-funnel.min.js +20 -0
  118. package/dist/cdn/funnel/snice-funnel.min.js.map +1 -0
  119. package/dist/cdn/gauge/snice-gauge.js +1 -1
  120. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  121. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  122. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  123. package/dist/cdn/image/snice-image.js +1 -1
  124. package/dist/cdn/image/snice-image.min.js +1 -1
  125. package/dist/cdn/input/snice-input.js +1 -1
  126. package/dist/cdn/input/snice-input.min.js +1 -1
  127. package/dist/cdn/kanban/snice-kanban.js +1 -1
  128. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  129. package/dist/cdn/kpi/snice-kpi.js +1 -1
  130. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  131. package/dist/cdn/layout/README.md +2 -2
  132. package/dist/cdn/layout/snice-layout.js +23 -6
  133. package/dist/cdn/layout/snice-layout.js.map +1 -1
  134. package/dist/cdn/layout/snice-layout.min.js +2 -2
  135. package/dist/cdn/layout/snice-layout.min.js.map +1 -1
  136. package/dist/cdn/link/snice-link.js +1 -1
  137. package/dist/cdn/link/snice-link.min.js +1 -1
  138. package/dist/cdn/link-preview/snice-link-preview.js +1 -1
  139. package/dist/cdn/link-preview/snice-link-preview.min.js +1 -1
  140. package/dist/cdn/list/README.md +6 -2
  141. package/dist/cdn/list/snice-list.js +87 -10
  142. package/dist/cdn/list/snice-list.js.map +1 -1
  143. package/dist/cdn/list/snice-list.min.js +20 -6
  144. package/dist/cdn/list/snice-list.min.js.map +1 -1
  145. package/dist/cdn/location/snice-location.js +1 -1
  146. package/dist/cdn/location/snice-location.min.js +1 -1
  147. package/dist/cdn/login/snice-login.js +1 -1
  148. package/dist/cdn/login/snice-login.min.js +1 -1
  149. package/dist/cdn/masonry/snice-masonry.js +1 -1
  150. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  151. package/dist/cdn/menu/snice-menu.js +1 -1
  152. package/dist/cdn/menu/snice-menu.min.js +1 -1
  153. package/dist/cdn/modal/snice-modal.js +1 -1
  154. package/dist/cdn/modal/snice-modal.min.js +1 -1
  155. package/dist/cdn/music-player/snice-music-player.js +1 -1
  156. package/dist/cdn/music-player/snice-music-player.min.js +1 -1
  157. package/dist/cdn/nav/README.md +2 -2
  158. package/dist/cdn/nav/snice-nav.js +23 -6
  159. package/dist/cdn/nav/snice-nav.js.map +1 -1
  160. package/dist/cdn/nav/snice-nav.min.js +2 -2
  161. package/dist/cdn/nav/snice-nav.min.js.map +1 -1
  162. package/dist/cdn/network-graph/README.md +27 -0
  163. package/dist/cdn/network-graph/snice-network-graph.js +788 -0
  164. package/dist/cdn/network-graph/snice-network-graph.js.map +1 -0
  165. package/dist/cdn/network-graph/snice-network-graph.min.js +13 -0
  166. package/dist/cdn/network-graph/snice-network-graph.min.js.map +1 -0
  167. package/dist/cdn/pagination/README.md +2 -2
  168. package/dist/cdn/pagination/snice-pagination.js +13 -13
  169. package/dist/cdn/pagination/snice-pagination.js.map +1 -1
  170. package/dist/cdn/pagination/snice-pagination.min.js +14 -14
  171. package/dist/cdn/pagination/snice-pagination.min.js.map +1 -1
  172. package/dist/cdn/paint/snice-paint.js +1 -1
  173. package/dist/cdn/paint/snice-paint.min.js +1 -1
  174. package/dist/cdn/progress/snice-progress.js +1 -1
  175. package/dist/cdn/progress/snice-progress.min.js +1 -1
  176. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  177. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  178. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  179. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  180. package/dist/cdn/radio/snice-radio.js +1 -1
  181. package/dist/cdn/radio/snice-radio.min.js +1 -1
  182. package/dist/cdn/runtime/snice-runtime.esm.js +3 -3
  183. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  184. package/dist/cdn/runtime/snice-runtime.esm.min.js +3 -3
  185. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  186. package/dist/cdn/runtime/snice-runtime.js +3 -3
  187. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  188. package/dist/cdn/runtime/snice-runtime.min.js +3 -3
  189. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  190. package/dist/cdn/sankey/README.md +27 -0
  191. package/dist/cdn/sankey/snice-sankey.js +679 -0
  192. package/dist/cdn/sankey/snice-sankey.js.map +1 -0
  193. package/dist/cdn/sankey/snice-sankey.min.js +21 -0
  194. package/dist/cdn/sankey/snice-sankey.min.js.map +1 -0
  195. package/dist/cdn/select/snice-select.js +1 -1
  196. package/dist/cdn/select/snice-select.min.js +1 -1
  197. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  198. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  199. package/dist/cdn/slider/snice-slider.js +1 -1
  200. package/dist/cdn/slider/snice-slider.min.js +1 -1
  201. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  202. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  203. package/dist/cdn/spinner/snice-spinner.js +1 -1
  204. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  205. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  206. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  207. package/dist/cdn/stepper/README.md +6 -2
  208. package/dist/cdn/stepper/snice-stepper.js +77 -10
  209. package/dist/cdn/stepper/snice-stepper.js.map +1 -1
  210. package/dist/cdn/stepper/snice-stepper.min.js +13 -9
  211. package/dist/cdn/stepper/snice-stepper.min.js.map +1 -1
  212. package/dist/cdn/switch/snice-switch.js +1 -1
  213. package/dist/cdn/switch/snice-switch.min.js +1 -1
  214. package/dist/cdn/table/snice-table.js +1 -1
  215. package/dist/cdn/table/snice-table.min.js +1 -1
  216. package/dist/cdn/tabs/snice-tabs.js +1 -1
  217. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  218. package/dist/cdn/terminal/snice-terminal.js +1 -1
  219. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  220. package/dist/cdn/textarea/snice-textarea.js +1 -1
  221. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  222. package/dist/cdn/time-range-picker/README.md +27 -0
  223. package/dist/cdn/time-range-picker/snice-time-range-picker.js +635 -0
  224. package/dist/cdn/time-range-picker/snice-time-range-picker.js.map +1 -0
  225. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +34 -0
  226. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js.map +1 -0
  227. package/dist/cdn/timeline/snice-timeline.js +1 -1
  228. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  229. package/dist/cdn/timer/snice-timer.js +1 -1
  230. package/dist/cdn/timer/snice-timer.min.js +1 -1
  231. package/dist/cdn/toast/snice-toast.js +1 -1
  232. package/dist/cdn/toast/snice-toast.min.js +1 -1
  233. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  234. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  235. package/dist/cdn/tree/README.md +5 -1
  236. package/dist/cdn/tree/snice-tree.js +4 -8
  237. package/dist/cdn/tree/snice-tree.js.map +1 -1
  238. package/dist/cdn/tree/snice-tree.min.js +5 -5
  239. package/dist/cdn/tree/snice-tree.min.js.map +1 -1
  240. package/dist/cdn/treemap/README.md +27 -0
  241. package/dist/cdn/treemap/snice-treemap.js +522 -0
  242. package/dist/cdn/treemap/snice-treemap.js.map +1 -0
  243. package/dist/cdn/treemap/snice-treemap.min.js +14 -0
  244. package/dist/cdn/treemap/snice-treemap.min.js.map +1 -0
  245. package/dist/cdn/virtual-scroller/README.md +2 -2
  246. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +47 -16
  247. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js.map +1 -1
  248. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +9 -9
  249. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js.map +1 -1
  250. package/dist/components/breadcrumbs/snice-breadcrumbs.js +1 -1
  251. package/dist/components/breadcrumbs/snice-breadcrumbs.js.map +1 -1
  252. package/dist/components/camera-annotate/snice-camera-annotate.d.ts +68 -0
  253. package/dist/components/camera-annotate/snice-camera-annotate.js +663 -0
  254. package/dist/components/camera-annotate/snice-camera-annotate.js.map +1 -0
  255. package/dist/components/camera-annotate/snice-camera-annotate.types.d.ts +50 -0
  256. package/dist/components/candlestick/snice-candlestick.d.ts +78 -0
  257. package/dist/components/candlestick/snice-candlestick.js +650 -0
  258. package/dist/components/candlestick/snice-candlestick.js.map +1 -0
  259. package/dist/components/candlestick/snice-candlestick.types.d.ts +40 -0
  260. package/dist/components/funnel/snice-funnel.d.ts +37 -0
  261. package/dist/components/funnel/snice-funnel.js +357 -0
  262. package/dist/components/funnel/snice-funnel.js.map +1 -0
  263. package/dist/components/funnel/snice-funnel.types.d.ts +28 -0
  264. package/dist/components/list/snice-list-item.d.ts +2 -0
  265. package/dist/components/list/snice-list-item.js +20 -2
  266. package/dist/components/list/snice-list-item.js.map +1 -1
  267. package/dist/components/nav/snice-nav.js +22 -5
  268. package/dist/components/nav/snice-nav.js.map +1 -1
  269. package/dist/components/network-graph/snice-network-graph.d.ts +80 -0
  270. package/dist/components/network-graph/snice-network-graph.js +721 -0
  271. package/dist/components/network-graph/snice-network-graph.js.map +1 -0
  272. package/dist/components/network-graph/snice-network-graph.types.d.ts +49 -0
  273. package/dist/components/pagination/snice-pagination.js +12 -12
  274. package/dist/components/sankey/snice-sankey.d.ts +46 -0
  275. package/dist/components/sankey/snice-sankey.js +612 -0
  276. package/dist/components/sankey/snice-sankey.js.map +1 -0
  277. package/dist/components/sankey/snice-sankey.types.d.ts +59 -0
  278. package/dist/components/stepper/snice-stepper.js +9 -3
  279. package/dist/components/stepper/snice-stepper.js.map +1 -1
  280. package/dist/components/time-range-picker/snice-time-range-picker.d.ts +67 -0
  281. package/dist/components/time-range-picker/snice-time-range-picker.js +568 -0
  282. package/dist/components/time-range-picker/snice-time-range-picker.js.map +1 -0
  283. package/dist/components/time-range-picker/snice-time-range-picker.types.d.ts +39 -0
  284. package/dist/components/treemap/snice-treemap.d.ts +49 -0
  285. package/dist/components/treemap/snice-treemap.js +455 -0
  286. package/dist/components/treemap/snice-treemap.js.map +1 -0
  287. package/dist/components/treemap/snice-treemap.types.d.ts +42 -0
  288. package/dist/components/virtual-scroller/snice-virtual-scroller.d.ts +5 -0
  289. package/dist/components/virtual-scroller/snice-virtual-scroller.js +47 -16
  290. package/dist/components/virtual-scroller/snice-virtual-scroller.js.map +1 -1
  291. package/dist/index.cjs +1 -1
  292. package/dist/index.cjs.map +1 -1
  293. package/dist/index.esm.js +1 -1
  294. package/dist/index.esm.js.map +1 -1
  295. package/dist/index.iife.js +1 -1
  296. package/dist/index.iife.js.map +1 -1
  297. package/dist/symbols.cjs +1 -1
  298. package/dist/symbols.esm.js +1 -1
  299. package/dist/transitions.cjs +1 -1
  300. package/dist/transitions.esm.js +1 -1
  301. package/docs/ai/components/camera-annotate.md +82 -0
  302. package/docs/ai/components/candlestick.md +79 -0
  303. package/docs/ai/components/funnel.md +86 -0
  304. package/docs/ai/components/network-graph.md +87 -0
  305. package/docs/ai/components/sankey.md +63 -0
  306. package/docs/ai/components/time-range-picker.md +78 -0
  307. package/docs/ai/components/treemap.md +78 -0
  308. package/docs/components/camera-annotate.md +186 -0
  309. package/docs/components/candlestick.md +196 -0
  310. package/docs/components/funnel.md +191 -0
  311. package/docs/components/network-graph.md +215 -0
  312. package/docs/components/sankey.md +201 -0
  313. package/docs/components/time-range-picker.md +213 -0
  314. package/docs/components/treemap.md +198 -0
  315. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"snice-tree.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/checkbox/snice-checkbox.js","../../components/spinner/snice-spinner.js","../../components/tree/snice-tree-item.js","../../components/tree/snice-tree.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, on, render, watch, styles, html, css } from 'snice';\n\nvar cssContent = \":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)}}\";\n\nlet SniceCheckbox = (() => {\n let _classDecorators = [element('snice-checkbox')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _checked_decorators;\n let _checked_initializers = [];\n let _checked_extraInitializers = [];\n let _indeterminate_decorators;\n let _indeterminate_initializers = [];\n let _indeterminate_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _required_decorators;\n let _required_initializers = [];\n let _required_extraInitializers = [];\n let _invalid_decorators;\n let _invalid_initializers = [];\n let _invalid_extraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _input_decorators;\n let _input_initializers = [];\n let _input_extraInitializers = [];\n let _checkbox_decorators;\n let _checkbox_initializers = [];\n let _checkbox_extraInitializers = [];\n let _labelElement_decorators;\n let _labelElement_initializers = [];\n let _labelElement_extraInitializers = [];\n let _wrapper_decorators;\n let _wrapper_initializers = [];\n let _wrapper_extraInitializers = [];\n let _handleCheckboxClick_decorators;\n let _render_decorators;\n let _handleCheckedChange_decorators;\n let _handleIndeterminateChange_decorators;\n let _styles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _checked_decorators = [property({ type: Boolean, })];\n _indeterminate_decorators = [property({ type: Boolean, })];\n _disabled_decorators = [property({ type: Boolean, })];\n _loading_decorators = [property({ type: Boolean, })];\n _required_decorators = [property({ type: Boolean, })];\n _invalid_decorators = [property({ type: Boolean, })];\n _size_decorators = [property({})];\n _name_decorators = [property({})];\n _value_decorators = [property({})];\n _label_decorators = [property({})];\n _input_decorators = [query('.checkbox-input')];\n _checkbox_decorators = [query('.checkbox')];\n _labelElement_decorators = [query('.checkbox-label')];\n _wrapper_decorators = [query('.checkbox-wrapper')];\n _handleCheckboxClick_decorators = [on('click')];\n _render_decorators = [render()];\n _handleCheckedChange_decorators = [watch('checked')];\n _handleIndeterminateChange_decorators = [watch('indeterminate')];\n _styles_decorators = [styles()];\n __esDecorate(this, null, _handleCheckboxClick_decorators, { kind: \"method\", name: \"handleCheckboxClick\", static: false, private: false, access: { has: obj => \"handleCheckboxClick\" in obj, get: obj => obj.handleCheckboxClick }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleCheckedChange_decorators, { kind: \"method\", name: \"handleCheckedChange\", static: false, private: false, access: { has: obj => \"handleCheckedChange\" in obj, get: obj => obj.handleCheckedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleIndeterminateChange_decorators, { kind: \"method\", name: \"handleIndeterminateChange\", static: false, private: false, access: { has: obj => \"handleIndeterminateChange\" in obj, get: obj => obj.handleIndeterminateChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _checked_decorators, { kind: \"field\", name: \"checked\", static: false, private: false, access: { has: obj => \"checked\" in obj, get: obj => obj.checked, set: (obj, value) => { obj.checked = value; } }, metadata: _metadata }, _checked_initializers, _checked_extraInitializers);\n __esDecorate(null, null, _indeterminate_decorators, { kind: \"field\", name: \"indeterminate\", static: false, private: false, access: { has: obj => \"indeterminate\" in obj, get: obj => obj.indeterminate, set: (obj, value) => { obj.indeterminate = value; } }, metadata: _metadata }, _indeterminate_initializers, _indeterminate_extraInitializers);\n __esDecorate(null, null, _disabled_decorators, { kind: \"field\", name: \"disabled\", static: false, private: false, access: { has: obj => \"disabled\" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);\n __esDecorate(null, null, _loading_decorators, { kind: \"field\", name: \"loading\", static: false, private: false, access: { has: obj => \"loading\" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);\n __esDecorate(null, null, _required_decorators, { kind: \"field\", name: \"required\", static: false, private: false, access: { has: obj => \"required\" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);\n __esDecorate(null, null, _invalid_decorators, { kind: \"field\", name: \"invalid\", static: false, private: false, access: { has: obj => \"invalid\" in obj, get: obj => obj.invalid, set: (obj, value) => { obj.invalid = value; } }, metadata: _metadata }, _invalid_initializers, _invalid_extraInitializers);\n __esDecorate(null, null, _size_decorators, { kind: \"field\", name: \"size\", static: false, private: false, access: { has: obj => \"size\" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);\n __esDecorate(null, null, _name_decorators, { kind: \"field\", name: \"name\", static: false, private: false, access: { has: obj => \"name\" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);\n __esDecorate(null, null, _value_decorators, { kind: \"field\", name: \"value\", static: false, private: false, access: { has: obj => \"value\" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);\n __esDecorate(null, null, _label_decorators, { kind: \"field\", name: \"label\", static: false, private: false, access: { has: obj => \"label\" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);\n __esDecorate(null, null, _input_decorators, { kind: \"field\", name: \"input\", static: false, private: false, access: { has: obj => \"input\" in obj, get: obj => obj.input, set: (obj, value) => { obj.input = value; } }, metadata: _metadata }, _input_initializers, _input_extraInitializers);\n __esDecorate(null, null, _checkbox_decorators, { kind: \"field\", name: \"checkbox\", static: false, private: false, access: { has: obj => \"checkbox\" in obj, get: obj => obj.checkbox, set: (obj, value) => { obj.checkbox = value; } }, metadata: _metadata }, _checkbox_initializers, _checkbox_extraInitializers);\n __esDecorate(null, null, _labelElement_decorators, { kind: \"field\", name: \"labelElement\", static: false, private: false, access: { has: obj => \"labelElement\" in obj, get: obj => obj.labelElement, set: (obj, value) => { obj.labelElement = value; } }, metadata: _metadata }, _labelElement_initializers, _labelElement_extraInitializers);\n __esDecorate(null, null, _wrapper_decorators, { kind: \"field\", name: \"wrapper\", static: false, private: false, access: { has: obj => \"wrapper\" in obj, get: obj => obj.wrapper, set: (obj, value) => { obj.wrapper = value; } }, metadata: _metadata }, _wrapper_initializers, _wrapper_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n handleCheckboxClick() {\n if (!this.disabled && !this.loading) {\n this.toggle();\n }\n }\n render() {\n const wrapperClasses = `checkbox-wrapper${this.disabled ? ' checkbox-wrapper--disabled' : ''}${this.loading ? ' checkbox-wrapper--loading' : ''}`;\n const checkboxClasses = `checkbox checkbox--${this.size}${this.invalid ? ' checkbox--invalid' : ''}${this.indeterminate ? ' checkbox--indeterminate' : ''}${this.loading ? ' checkbox--loading' : ''}`;\n const labelClasses = `checkbox-label checkbox-label--${this.size}${this.required ? ' checkbox-label--required' : ''}`;\n return html /*html*/ `\n <label class=\"${wrapperClasses}\" @change=\"${(e) => this.handleInternalChange(e)}\">\n <input\n type=\"checkbox\"\n class=\"checkbox-input\"\n ?checked=\"${this.checked}\"\n ?disabled=\"${this.disabled || this.loading}\"\n ?required=\"${this.required}\"\n name=\"${this.name}\"\n value=\"${this.value}\"\n aria-invalid=\"${this.invalid}\"\n aria-checked=\"${this.indeterminate ? 'mixed' : this.checked}\"\n part=\"input\"\n />\n\n <span class=\"${checkboxClasses}\" part=\"checkbox\">\n <if ${!this.loading}>\n <svg class=\"checkbox-icon checkbox-icon--check\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\">\n <polyline points=\"20 6 9 17 4 12\"></polyline>\n </svg>\n\n <svg class=\"checkbox-icon checkbox-icon--indeterminate\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>\n </svg>\n </if>\n <if ${this.loading}>\n <span class=\"checkbox-spinner\" part=\"spinner\"></span>\n </if>\n </span>\n\n <if ${this.label}>\n <span class=\"${labelClasses}\" part=\"label\">\n ${this.label}\n </span>\n </if>\n </label>\n `;\n }\n handleInternalChange(event) {\n const target = event.target;\n // Only handle change events from the checkbox input\n if (target.type !== 'checkbox')\n return;\n this.checked = target.checked;\n this.indeterminate = false; // Clear indeterminate on user interaction\n // Dispatch custom event\n this.dispatchEvent(new CustomEvent('checkbox-change', {\n bubbles: true,\n composed: true,\n detail: {\n checked: this.checked,\n indeterminate: this.indeterminate,\n checkbox: this\n }\n }));\n }\n handleCheckedChange() {\n if (this.input) {\n this.input.checked = this.checked;\n }\n }\n handleIndeterminateChange() {\n if (this.input) {\n this.input.indeterminate = this.indeterminate;\n }\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n // Public API\n focus() {\n this.input?.focus();\n }\n blur() {\n this.input?.blur();\n }\n click() {\n this.input?.click();\n }\n toggle() {\n this.checked = !this.checked;\n this.indeterminate = false;\n this.dispatchEvent(new CustomEvent('checkbox-change', {\n bubbles: true,\n composed: true,\n detail: {\n checked: this.checked,\n indeterminate: this.indeterminate,\n checkbox: this\n }\n }));\n }\n setIndeterminate() {\n this.indeterminate = true;\n this.checked = false;\n this.dispatchEvent(new CustomEvent('checkbox-change', {\n bubbles: true,\n composed: true,\n detail: {\n checked: this.checked,\n indeterminate: this.indeterminate,\n checkbox: this\n }\n }));\n }\n constructor() {\n super(...arguments);\n this.checked = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _checked_initializers, false));\n this.indeterminate = (__runInitializers(this, _checked_extraInitializers), __runInitializers(this, _indeterminate_initializers, false));\n this.disabled = (__runInitializers(this, _indeterminate_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.loading = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.required = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _required_initializers, false));\n this.invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));\n this.size = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.name = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _name_initializers, ''));\n this.value = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _value_initializers, 'on'));\n this.label = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.input = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _input_initializers, void 0));\n this.checkbox = (__runInitializers(this, _input_extraInitializers), __runInitializers(this, _checkbox_initializers, void 0));\n this.labelElement = (__runInitializers(this, _checkbox_extraInitializers), __runInitializers(this, _labelElement_initializers, void 0));\n this.wrapper = (__runInitializers(this, _labelElement_extraInitializers), __runInitializers(this, _wrapper_initializers, void 0));\n __runInitializers(this, _wrapper_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCheckbox };\n//# sourceMappingURL=snice-checkbox.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, html, css } from 'snice';\n\nvar cssContent = \":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)}\";\n\nlet SniceSpinner = (() => {\n let _classDecorators = [element('snice-spinner')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _color_decorators;\n let _color_initializers = [];\n let _color_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _thickness_decorators;\n let _thickness_initializers = [];\n let _thickness_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _size_decorators = [property({})];\n _color_decorators = [property({})];\n _label_decorators = [property({})];\n _thickness_decorators = [property({ type: Number, })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _size_decorators, { kind: \"field\", name: \"size\", static: false, private: false, access: { has: obj => \"size\" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);\n __esDecorate(null, null, _color_decorators, { kind: \"field\", name: \"color\", static: false, private: false, access: { has: obj => \"color\" in obj, get: obj => obj.color, set: (obj, value) => { obj.color = value; } }, metadata: _metadata }, _color_initializers, _color_extraInitializers);\n __esDecorate(null, null, _label_decorators, { kind: \"field\", name: \"label\", static: false, private: false, access: { has: obj => \"label\" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);\n __esDecorate(null, null, _thickness_decorators, { kind: \"field\", name: \"thickness\", static: false, private: false, access: { has: obj => \"thickness\" in obj, get: obj => obj.thickness, set: (obj, value) => { obj.thickness = value; } }, metadata: _metadata }, _thickness_initializers, _thickness_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n render() {\n const size = this.getSizeValue();\n const strokeWidth = this.thickness;\n const radius = (size - strokeWidth * 2) / 2;\n const circumference = radius * 2 * Math.PI;\n const cx = size / 2;\n const cy = size / 2;\n const viewBox = `0 0 ${size} ${size}`;\n return html /*html*/ `\n <div class=\"spinner\" role=\"status\" aria-label=\"${this.label || 'Loading'}\">\n <svg\n class=\"spinner__circle\"\n viewBox=\"${viewBox}\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"spinner__circle-bg\"\n cx=\"${cx}\"\n cy=\"${cy}\"\n r=\"${radius}\"\n ></circle>\n <circle\n class=\"spinner__circle-bar\"\n cx=\"${cx}\"\n cy=\"${cy}\"\n r=\"${radius}\"\n stroke-dasharray=\"${circumference}\"\n stroke-dashoffset=\"0\"\n ></circle>\n </svg>\n <if ${this.label}>\n <span class=\"spinner__label\">${this.label}</span>\n </if>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n getSizeValue() {\n switch (this.size) {\n case 'small': return 24;\n case 'medium': return 40;\n case 'large': return 56;\n case 'xl': return 80;\n default: return 40;\n }\n }\n constructor() {\n super(...arguments);\n this.size = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.color = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _color_initializers, 'primary'));\n this.label = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.thickness = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _thickness_initializers, 4));\n __runInitializers(this, _thickness_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceSpinner };\n//# sourceMappingURL=snice-spinner.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, watch, dispatch, ready } from 'snice';\nimport '../checkbox/snice-checkbox.js';\nimport '../spinner/snice-spinner.js';\n\nvar cssContent = \":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}\";\n\nlet SniceTreeItem = (() => {\n let _classDecorators = [element('snice-tree-item')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let __version_decorators;\n let __version_initializers = [];\n let __version_extraInitializers = [];\n let _expanded_decorators;\n let _expanded_initializers = [];\n let _expanded_extraInitializers = [];\n let _selected_decorators;\n let _selected_initializers = [];\n let _selected_extraInitializers = [];\n let _checked_decorators;\n let _checked_initializers = [];\n let _checked_extraInitializers = [];\n let _showCheckbox_decorators;\n let _showCheckbox_initializers = [];\n let _showCheckbox_extraInitializers = [];\n let _showIcon_decorators;\n let _showIcon_initializers = [];\n let _showIcon_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _indeterminate_decorators;\n let _indeterminate_initializers = [];\n let _indeterminate_extraInitializers = [];\n let _handleExpandedChange_decorators;\n let _handleSelectedChange_decorators;\n let _handleCheckedChange_decorators;\n let _handleIndeterminateChange_decorators;\n let _handleLoadingChange_decorators;\n let _dispatchToggleEvent_decorators;\n let _dispatchSelectEvent_decorators;\n let _dispatchCheckEvent_decorators;\n let _dispatchLazyLoadEvent_decorators;\n let _init_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n __version_decorators = [property({ type: Number })];\n _expanded_decorators = [property({ type: Boolean })];\n _selected_decorators = [property({ type: Boolean })];\n _checked_decorators = [property({ type: Boolean })];\n _showCheckbox_decorators = [property({ type: Boolean, attribute: 'show-checkbox' })];\n _showIcon_decorators = [property({ type: Boolean, attribute: 'show-icon' })];\n _loading_decorators = [property({ type: Boolean })];\n _indeterminate_decorators = [property({ type: Boolean })];\n _handleExpandedChange_decorators = [watch('expanded')];\n _handleSelectedChange_decorators = [watch('selected')];\n _handleCheckedChange_decorators = [watch('checked')];\n _handleIndeterminateChange_decorators = [watch('indeterminate')];\n _handleLoadingChange_decorators = [watch('loading')];\n _dispatchToggleEvent_decorators = [dispatch('tree-item-toggle', { bubbles: true, composed: true })];\n _dispatchSelectEvent_decorators = [dispatch('tree-item-select', { bubbles: true, composed: true })];\n _dispatchCheckEvent_decorators = [dispatch('tree-item-check', { bubbles: true, composed: true })];\n _dispatchLazyLoadEvent_decorators = [dispatch('tree-item-lazy-load', { bubbles: true, composed: true })];\n _init_decorators = [ready()];\n __esDecorate(this, null, _handleExpandedChange_decorators, { kind: \"method\", name: \"handleExpandedChange\", static: false, private: false, access: { has: obj => \"handleExpandedChange\" in obj, get: obj => obj.handleExpandedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectedChange_decorators, { kind: \"method\", name: \"handleSelectedChange\", static: false, private: false, access: { has: obj => \"handleSelectedChange\" in obj, get: obj => obj.handleSelectedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleCheckedChange_decorators, { kind: \"method\", name: \"handleCheckedChange\", static: false, private: false, access: { has: obj => \"handleCheckedChange\" in obj, get: obj => obj.handleCheckedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleIndeterminateChange_decorators, { kind: \"method\", name: \"handleIndeterminateChange\", static: false, private: false, access: { has: obj => \"handleIndeterminateChange\" in obj, get: obj => obj.handleIndeterminateChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleLoadingChange_decorators, { kind: \"method\", name: \"handleLoadingChange\", static: false, private: false, access: { has: obj => \"handleLoadingChange\" in obj, get: obj => obj.handleLoadingChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchToggleEvent_decorators, { kind: \"method\", name: \"dispatchToggleEvent\", static: false, private: false, access: { has: obj => \"dispatchToggleEvent\" in obj, get: obj => obj.dispatchToggleEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchSelectEvent_decorators, { kind: \"method\", name: \"dispatchSelectEvent\", static: false, private: false, access: { has: obj => \"dispatchSelectEvent\" in obj, get: obj => obj.dispatchSelectEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCheckEvent_decorators, { kind: \"method\", name: \"dispatchCheckEvent\", static: false, private: false, access: { has: obj => \"dispatchCheckEvent\" in obj, get: obj => obj.dispatchCheckEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchLazyLoadEvent_decorators, { kind: \"method\", name: \"dispatchLazyLoadEvent\", static: false, private: false, access: { has: obj => \"dispatchLazyLoadEvent\" in obj, get: obj => obj.dispatchLazyLoadEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, __version_decorators, { kind: \"field\", name: \"_version\", static: false, private: false, access: { has: obj => \"_version\" in obj, get: obj => obj._version, set: (obj, value) => { obj._version = value; } }, metadata: _metadata }, __version_initializers, __version_extraInitializers);\n __esDecorate(null, null, _expanded_decorators, { kind: \"field\", name: \"expanded\", static: false, private: false, access: { has: obj => \"expanded\" in obj, get: obj => obj.expanded, set: (obj, value) => { obj.expanded = value; } }, metadata: _metadata }, _expanded_initializers, _expanded_extraInitializers);\n __esDecorate(null, null, _selected_decorators, { kind: \"field\", name: \"selected\", static: false, private: false, access: { has: obj => \"selected\" in obj, get: obj => obj.selected, set: (obj, value) => { obj.selected = value; } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);\n __esDecorate(null, null, _checked_decorators, { kind: \"field\", name: \"checked\", static: false, private: false, access: { has: obj => \"checked\" in obj, get: obj => obj.checked, set: (obj, value) => { obj.checked = value; } }, metadata: _metadata }, _checked_initializers, _checked_extraInitializers);\n __esDecorate(null, null, _showCheckbox_decorators, { kind: \"field\", name: \"showCheckbox\", static: false, private: false, access: { has: obj => \"showCheckbox\" in obj, get: obj => obj.showCheckbox, set: (obj, value) => { obj.showCheckbox = value; } }, metadata: _metadata }, _showCheckbox_initializers, _showCheckbox_extraInitializers);\n __esDecorate(null, null, _showIcon_decorators, { kind: \"field\", name: \"showIcon\", static: false, private: false, access: { has: obj => \"showIcon\" in obj, get: obj => obj.showIcon, set: (obj, value) => { obj.showIcon = value; } }, metadata: _metadata }, _showIcon_initializers, _showIcon_extraInitializers);\n __esDecorate(null, null, _loading_decorators, { kind: \"field\", name: \"loading\", static: false, private: false, access: { has: obj => \"loading\" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);\n __esDecorate(null, null, _indeterminate_decorators, { kind: \"field\", name: \"indeterminate\", static: false, private: false, access: { has: obj => \"indeterminate\" in obj, get: obj => obj.indeterminate, set: (obj, value) => { obj.indeterminate = value; } }, metadata: _metadata }, _indeterminate_initializers, _indeterminate_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n get node() {\n return this._node;\n }\n get level() {\n return this._level;\n }\n get hasChildren() {\n return !!(this._node.children && this._node.children.length > 0) || !!this._node.lazy;\n }\n setNode(node, level) {\n this._node = node;\n this._level = level;\n // Sync internal state\n if (node.expanded !== undefined) {\n this.expanded = node.expanded;\n }\n if (node.selected !== undefined) {\n this.selected = node.selected;\n }\n if (node.checked !== undefined) {\n this.checked = node.checked;\n }\n if (node.indeterminate !== undefined) {\n this.indeterminate = node.indeterminate;\n }\n // Update DOM\n this.updateDOM();\n // Update child tree items after render completes\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.updateChildTreeItems();\n });\n });\n }\n handleExpandedChange() {\n if (this.shadowRoot)\n this.updateExpandedState();\n }\n handleSelectedChange() {\n if (this.shadowRoot)\n this.updateSelectedState();\n }\n handleCheckedChange() {\n if (this.shadowRoot)\n this.updateCheckboxState();\n }\n handleIndeterminateChange() {\n if (this.shadowRoot)\n this.updateCheckboxState();\n }\n handleLoadingChange() {\n if (this.shadowRoot)\n this.updateLoadingState();\n }\n updateChildTreeItems() {\n if (!this.shadowRoot || !this.hasChildren)\n return;\n const childItems = this.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n this.node.children?.forEach((child, index) => {\n if (childItems[index] && childItems[index].setNode) {\n childItems[index].setNode(child, this.level + 1);\n }\n });\n }\n dispatchToggleEvent() {\n return { nodeId: this.node.id, expanded: this.expanded };\n }\n dispatchSelectEvent() {\n return { nodeId: this.node.id, selected: this.selected };\n }\n dispatchCheckEvent() {\n return { nodeId: this.node.id, checked: this.checked };\n }\n dispatchLazyLoadEvent() {\n return { nodeId: this.node.id, node: this.node };\n }\n // NOTE: We don't use @render() here because it causes full re-renders\n // which destroys the tree structure when properties change. Instead, we\n // manually manipulate the shadow DOM for better performance and stability.\n init() {\n this.renderTemplate();\n this.updateDOM();\n }\n renderTemplate() {\n const template = `\n <style>${cssContent}</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 `;\n if (this.shadowRoot) {\n this.shadowRoot.innerHTML = template;\n }\n else {\n this.attachShadow({ mode: 'open' }).innerHTML = template;\n }\n // Attach event listeners\n const content = this.shadowRoot.querySelector('.tree-item__content');\n const expander = this.shadowRoot.querySelector('.tree-item__expander');\n content?.addEventListener('click', (e) => this.handleContentClick(e));\n content?.addEventListener('keydown', (e) => this.handleKeydown(e));\n expander?.addEventListener('click', (e) => {\n e.stopPropagation();\n this.toggle();\n });\n // Attach checkbox listener after element is defined\n requestAnimationFrame(() => {\n const checkbox = this.shadowRoot.querySelector('snice-checkbox');\n checkbox?.addEventListener('checkbox-change', (e) => this.handleCheckboxChangeEvent(e));\n });\n }\n updateDOM() {\n if (!this.shadowRoot)\n return;\n const container = this.shadowRoot.querySelector('.tree-item');\n const content = this.shadowRoot.querySelector('.tree-item__content');\n const label = this.shadowRoot.querySelector('.tree-item__label');\n const icon = this.shadowRoot.querySelector('.tree-item__icon');\n // Update level\n if (container) {\n container.style.setProperty('--tree-level', this.level.toString());\n }\n // Update label\n if (label) {\n label.textContent = this.node.label || '';\n }\n // Update icon\n if (icon && this.showIcon) {\n if (this.node.iconImage) {\n icon.innerHTML = `<img class=\"tree-item__icon-image\" src=\"${this.node.iconImage}\" alt=\"\" part=\"icon-image\">`;\n icon.style.display = '';\n }\n else if (this.node.icon) {\n icon.innerHTML = `<span part=\"icon-text\">${this.node.icon}</span>`;\n icon.style.display = '';\n }\n else {\n icon.style.display = 'none';\n }\n }\n else if (icon) {\n icon.style.display = 'none';\n }\n // Update ARIA attributes\n if (content) {\n content.setAttribute('tabindex', this.node.disabled ? '-1' : '0');\n content.setAttribute('aria-selected', this.selected.toString());\n content.setAttribute('aria-disabled', (this.node.disabled || false).toString());\n content.setAttribute('aria-busy', this.loading.toString());\n if (this.hasChildren) {\n content.setAttribute('aria-expanded', this.expanded.toString());\n }\n else {\n content.removeAttribute('aria-expanded');\n }\n }\n this.updateExpandedState();\n this.updateSelectedState();\n this.updateCheckboxState();\n this.updateLoadingState();\n this.updateChildrenDOM();\n }\n updateExpandedState() {\n if (!this.shadowRoot)\n return;\n const expander = this.shadowRoot.querySelector('.tree-item__expander');\n const children = this.shadowRoot.querySelector('.tree-item__children');\n const content = this.shadowRoot.querySelector('.tree-item__content');\n if (expander) {\n expander.classList.toggle('tree-item__expander--expanded', this.expanded);\n expander.classList.toggle('tree-item__expander--hidden', !this.hasChildren);\n }\n if (children) {\n children.classList.toggle('tree-item__children--expanded', this.expanded);\n }\n if (content && this.hasChildren) {\n content.setAttribute('aria-expanded', this.expanded.toString());\n }\n }\n updateSelectedState() {\n if (!this.shadowRoot)\n return;\n const content = this.shadowRoot.querySelector('.tree-item__content');\n if (content) {\n content.classList.toggle('tree-item__content--selected', this.selected);\n content.setAttribute('aria-selected', this.selected.toString());\n }\n }\n updateCheckboxState() {\n if (!this.shadowRoot)\n return;\n const checkboxContainer = this.shadowRoot.querySelector('.tree-item__checkbox');\n const checkbox = this.shadowRoot.querySelector('snice-checkbox');\n if (checkboxContainer) {\n checkboxContainer.style.display = this.showCheckbox ? '' : 'none';\n }\n if (checkbox) {\n // Use requestAnimationFrame to ensure checkbox component is ready\n requestAnimationFrame(() => {\n checkbox.checked = this.checked;\n checkbox.indeterminate = this.indeterminate;\n checkbox.disabled = this.node.disabled || false;\n });\n }\n }\n updateLoadingState() {\n if (!this.shadowRoot)\n return;\n const loadingContainer = this.shadowRoot.querySelector('.tree-item__loading');\n const expander = this.shadowRoot.querySelector('.tree-item__expander');\n if (loadingContainer && expander) {\n loadingContainer.style.display = this.loading ? '' : 'none';\n expander.style.display = this.loading ? 'none' : '';\n }\n }\n updateChildrenDOM() {\n if (!this.shadowRoot || !this.hasChildren)\n return;\n const childrenContainer = this.shadowRoot.querySelector('.tree-item__children');\n if (!childrenContainer)\n return;\n // Clear existing children\n childrenContainer.innerHTML = '';\n // Create child tree items\n this.node.children?.forEach(child => {\n const item = document.createElement('snice-tree-item');\n if (this.showCheckbox)\n item.setAttribute('show-checkbox', '');\n if (this.showIcon)\n item.setAttribute('show-icon', '');\n childrenContainer.appendChild(item);\n });\n // Update child nodes after they're added to DOM\n requestAnimationFrame(() => {\n this.updateChildTreeItems();\n });\n }\n handleContentClick(e) {\n if (this.node.disabled)\n return;\n // Toggle selection instead of always selecting\n if (this.selected) {\n this.deselect();\n }\n else {\n this.select();\n }\n }\n handleKeydown(e) {\n if (this.node.disabled)\n return;\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n // Toggle selection instead of always selecting\n if (this.selected) {\n this.deselect();\n }\n else {\n this.select();\n }\n }\n else if (e.key === 'ArrowRight') {\n e.preventDefault();\n if (this.hasChildren && !this.expanded) {\n this.expand();\n }\n }\n else if (e.key === 'ArrowLeft') {\n e.preventDefault();\n if (this.hasChildren && this.expanded) {\n this.collapse();\n }\n }\n }\n handleCheckboxChangeEvent(e) {\n e.stopPropagation();\n const newChecked = e.detail.checked;\n // Update local state\n this.checked = newChecked;\n // Update node state\n this.node.checked = newChecked;\n // Manually dispatch event to parent tree\n this.dispatchEvent(new CustomEvent('tree-item-check', {\n bubbles: true,\n composed: true,\n detail: {\n nodeId: this.node.id,\n checked: this.checked\n }\n }));\n }\n // Public API\n expand() {\n if (!this.hasChildren || this.expanded)\n return;\n // If lazy load, set loading state and dispatch event\n if (this.node.lazy && (!this.node.children || this.node.children.length === 0)) {\n this.loading = true;\n this.dispatchLazyLoadEvent();\n // Parent will set loading=false after loading children\n return;\n }\n this.expanded = true;\n this.dispatchToggleEvent();\n }\n finishLoading() {\n this.loading = false;\n this.expanded = true;\n this.dispatchToggleEvent();\n }\n collapse() {\n if (!this.hasChildren || !this.expanded)\n return;\n this.expanded = false;\n this.dispatchToggleEvent();\n }\n toggle() {\n if (this.expanded) {\n this.collapse();\n }\n else {\n this.expand();\n }\n }\n select() {\n if (this.node.disabled)\n return;\n this.selected = true;\n // Don't modify node.selected here - let the parent tree handle it\n this.updateSelectedState();\n this.dispatchSelectEvent();\n }\n deselect() {\n this.selected = false;\n // Don't modify node.selected here - let the parent tree handle it\n this.updateSelectedState();\n this.dispatchSelectEvent();\n }\n check() {\n if (this.node.disabled)\n return;\n this.checked = true;\n this.dispatchCheckEvent();\n }\n uncheck() {\n this.checked = false;\n this.dispatchCheckEvent();\n }\n constructor() {\n super(...arguments);\n this._node = (__runInitializers(this, _instanceExtraInitializers), { id: '', label: '' });\n this._level = 0;\n this._version = __runInitializers(this, __version_initializers, 0);\n this.expanded = (__runInitializers(this, __version_extraInitializers), __runInitializers(this, _expanded_initializers, false));\n this.selected = (__runInitializers(this, _expanded_extraInitializers), __runInitializers(this, _selected_initializers, false));\n this.checked = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _checked_initializers, false));\n this.showCheckbox = (__runInitializers(this, _checked_extraInitializers), __runInitializers(this, _showCheckbox_initializers, false));\n this.showIcon = (__runInitializers(this, _showCheckbox_extraInitializers), __runInitializers(this, _showIcon_initializers, true));\n this.loading = (__runInitializers(this, _showIcon_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.indeterminate = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _indeterminate_initializers, false));\n __runInitializers(this, _indeterminate_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceTreeItem };\n//# sourceMappingURL=snice-tree-item.js.map\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, queryAll, ready, watch, on, dispatch } from 'snice';\nimport './snice-tree-item.js';\nimport '../checkbox/snice-checkbox.js';\nimport '../spinner/snice-spinner.js';\n\nvar cssContent = \":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}\";\n\nlet SniceTree = (() => {\n let _classDecorators = [element('snice-tree')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _selectable_decorators;\n let _selectable_initializers = [];\n let _selectable_extraInitializers = [];\n let _selectionMode_decorators;\n let _selectionMode_initializers = [];\n let _selectionMode_extraInitializers = [];\n let _showCheckboxes_decorators;\n let _showCheckboxes_initializers = [];\n let _showCheckboxes_extraInitializers = [];\n let _showIcons_decorators;\n let _showIcons_initializers = [];\n let _showIcons_extraInitializers = [];\n let _expandOnClick_decorators;\n let _expandOnClick_initializers = [];\n let _expandOnClick_extraInitializers = [];\n let _nodes_decorators;\n let _nodes_initializers = [];\n let _nodes_extraInitializers = [];\n let _selectedNodes_decorators;\n let _selectedNodes_initializers = [];\n let _selectedNodes_extraInitializers = [];\n let _checkedNodes_decorators;\n let _checkedNodes_initializers = [];\n let _checkedNodes_extraInitializers = [];\n let _treeItems_decorators;\n let _treeItems_initializers = [];\n let _treeItems_extraInitializers = [];\n let _init_decorators;\n let _handleNodesChange_decorators;\n let _handleSelectedNodesChange_decorators;\n let _handleCheckedNodesChange_decorators;\n let _handleItemToggle_decorators;\n let _handleItemSelect_decorators;\n let _handleItemCheck_decorators;\n let _handleLazyLoad_decorators;\n let _dispatchExpandEvent_decorators;\n let _dispatchCollapseEvent_decorators;\n let _dispatchSelectEvent_decorators;\n let _dispatchCheckEvent_decorators;\n let _dispatchLazyLoadEvent_decorators;\n let _handleKeyDown_decorators;\n let _handleFocusIn_decorators;\n let _handleFocusOut_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.selectable = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _selectable_initializers, true));\n this.selectionMode = (__runInitializers(this, _selectable_extraInitializers), __runInitializers(this, _selectionMode_initializers, 'single'));\n this.showCheckboxes = (__runInitializers(this, _selectionMode_extraInitializers), __runInitializers(this, _showCheckboxes_initializers, false));\n this.showIcons = (__runInitializers(this, _showCheckboxes_extraInitializers), __runInitializers(this, _showIcons_initializers, true));\n this.expandOnClick = (__runInitializers(this, _showIcons_extraInitializers), __runInitializers(this, _expandOnClick_initializers, false));\n this.nodes = (__runInitializers(this, _expandOnClick_extraInitializers), __runInitializers(this, _nodes_initializers, []));\n this.selectedNodes = (__runInitializers(this, _nodes_extraInitializers), __runInitializers(this, _selectedNodes_initializers, []));\n this.checkedNodes = (__runInitializers(this, _selectedNodes_extraInitializers), __runInitializers(this, _checkedNodes_initializers, []));\n this.nodeMap = (__runInitializers(this, _checkedNodes_extraInitializers), new Map());\n this.treeItems = __runInitializers(this, _treeItems_initializers, void 0);\n this.lastFocusedItem = (__runInitializers(this, _treeItems_extraInitializers), null);\n this.loadingNodeIds = new Set();\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _selectable_decorators = [property({ type: Boolean })];\n _selectionMode_decorators = [property({})];\n _showCheckboxes_decorators = [property({ type: Boolean, attribute: 'show-checkboxes' })];\n _showIcons_decorators = [property({ type: Boolean, attribute: 'show-icons' })];\n _expandOnClick_decorators = [property({ type: Boolean, attribute: 'expand-on-click' })];\n _nodes_decorators = [property({ type: Array })];\n _selectedNodes_decorators = [property({ type: Array, attribute: 'selected-nodes' })];\n _checkedNodes_decorators = [property({ type: Array, attribute: 'checked-nodes' })];\n _treeItems_decorators = [queryAll('snice-tree-item')];\n _init_decorators = [ready()];\n _handleNodesChange_decorators = [watch('nodes')];\n _handleSelectedNodesChange_decorators = [watch('selectedNodes')];\n _handleCheckedNodesChange_decorators = [watch('checkedNodes')];\n _handleItemToggle_decorators = [on('tree-item-toggle')];\n _handleItemSelect_decorators = [on('tree-item-select')];\n _handleItemCheck_decorators = [on('tree-item-check')];\n _handleLazyLoad_decorators = [on('tree-item-lazy-load')];\n _dispatchExpandEvent_decorators = [dispatch('tree-node-expand', { bubbles: true, composed: true })];\n _dispatchCollapseEvent_decorators = [dispatch('tree-node-collapse', { bubbles: true, composed: true })];\n _dispatchSelectEvent_decorators = [dispatch('tree-node-select', { bubbles: true, composed: true })];\n _dispatchCheckEvent_decorators = [dispatch('tree-node-check', { bubbles: true, composed: true })];\n _dispatchLazyLoadEvent_decorators = [dispatch('tree-node-lazy-load', { bubbles: true, composed: true })];\n _handleKeyDown_decorators = [on('keydown')];\n _handleFocusIn_decorators = [on('focusin')];\n _handleFocusOut_decorators = [on('focusout')];\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleNodesChange_decorators, { kind: \"method\", name: \"handleNodesChange\", static: false, private: false, access: { has: obj => \"handleNodesChange\" in obj, get: obj => obj.handleNodesChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectedNodesChange_decorators, { kind: \"method\", name: \"handleSelectedNodesChange\", static: false, private: false, access: { has: obj => \"handleSelectedNodesChange\" in obj, get: obj => obj.handleSelectedNodesChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleCheckedNodesChange_decorators, { kind: \"method\", name: \"handleCheckedNodesChange\", static: false, private: false, access: { has: obj => \"handleCheckedNodesChange\" in obj, get: obj => obj.handleCheckedNodesChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleItemToggle_decorators, { kind: \"method\", name: \"handleItemToggle\", static: false, private: false, access: { has: obj => \"handleItemToggle\" in obj, get: obj => obj.handleItemToggle }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleItemSelect_decorators, { kind: \"method\", name: \"handleItemSelect\", static: false, private: false, access: { has: obj => \"handleItemSelect\" in obj, get: obj => obj.handleItemSelect }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleItemCheck_decorators, { kind: \"method\", name: \"handleItemCheck\", static: false, private: false, access: { has: obj => \"handleItemCheck\" in obj, get: obj => obj.handleItemCheck }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleLazyLoad_decorators, { kind: \"method\", name: \"handleLazyLoad\", static: false, private: false, access: { has: obj => \"handleLazyLoad\" in obj, get: obj => obj.handleLazyLoad }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchExpandEvent_decorators, { kind: \"method\", name: \"dispatchExpandEvent\", static: false, private: false, access: { has: obj => \"dispatchExpandEvent\" in obj, get: obj => obj.dispatchExpandEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCollapseEvent_decorators, { kind: \"method\", name: \"dispatchCollapseEvent\", static: false, private: false, access: { has: obj => \"dispatchCollapseEvent\" in obj, get: obj => obj.dispatchCollapseEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchSelectEvent_decorators, { kind: \"method\", name: \"dispatchSelectEvent\", static: false, private: false, access: { has: obj => \"dispatchSelectEvent\" in obj, get: obj => obj.dispatchSelectEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCheckEvent_decorators, { kind: \"method\", name: \"dispatchCheckEvent\", static: false, private: false, access: { has: obj => \"dispatchCheckEvent\" in obj, get: obj => obj.dispatchCheckEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchLazyLoadEvent_decorators, { kind: \"method\", name: \"dispatchLazyLoadEvent\", static: false, private: false, access: { has: obj => \"dispatchLazyLoadEvent\" in obj, get: obj => obj.dispatchLazyLoadEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleKeyDown_decorators, { kind: \"method\", name: \"handleKeyDown\", static: false, private: false, access: { has: obj => \"handleKeyDown\" in obj, get: obj => obj.handleKeyDown }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleFocusIn_decorators, { kind: \"method\", name: \"handleFocusIn\", static: false, private: false, access: { has: obj => \"handleFocusIn\" in obj, get: obj => obj.handleFocusIn }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleFocusOut_decorators, { kind: \"method\", name: \"handleFocusOut\", static: false, private: false, access: { has: obj => \"handleFocusOut\" in obj, get: obj => obj.handleFocusOut }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _selectable_decorators, { kind: \"field\", name: \"selectable\", static: false, private: false, access: { has: obj => \"selectable\" in obj, get: obj => obj.selectable, set: (obj, value) => { obj.selectable = value; } }, metadata: _metadata }, _selectable_initializers, _selectable_extraInitializers);\n __esDecorate(null, null, _selectionMode_decorators, { kind: \"field\", name: \"selectionMode\", static: false, private: false, access: { has: obj => \"selectionMode\" in obj, get: obj => obj.selectionMode, set: (obj, value) => { obj.selectionMode = value; } }, metadata: _metadata }, _selectionMode_initializers, _selectionMode_extraInitializers);\n __esDecorate(null, null, _showCheckboxes_decorators, { kind: \"field\", name: \"showCheckboxes\", static: false, private: false, access: { has: obj => \"showCheckboxes\" in obj, get: obj => obj.showCheckboxes, set: (obj, value) => { obj.showCheckboxes = value; } }, metadata: _metadata }, _showCheckboxes_initializers, _showCheckboxes_extraInitializers);\n __esDecorate(null, null, _showIcons_decorators, { kind: \"field\", name: \"showIcons\", static: false, private: false, access: { has: obj => \"showIcons\" in obj, get: obj => obj.showIcons, set: (obj, value) => { obj.showIcons = value; } }, metadata: _metadata }, _showIcons_initializers, _showIcons_extraInitializers);\n __esDecorate(null, null, _expandOnClick_decorators, { kind: \"field\", name: \"expandOnClick\", static: false, private: false, access: { has: obj => \"expandOnClick\" in obj, get: obj => obj.expandOnClick, set: (obj, value) => { obj.expandOnClick = value; } }, metadata: _metadata }, _expandOnClick_initializers, _expandOnClick_extraInitializers);\n __esDecorate(null, null, _nodes_decorators, { kind: \"field\", name: \"nodes\", static: false, private: false, access: { has: obj => \"nodes\" in obj, get: obj => obj.nodes, set: (obj, value) => { obj.nodes = value; } }, metadata: _metadata }, _nodes_initializers, _nodes_extraInitializers);\n __esDecorate(null, null, _selectedNodes_decorators, { kind: \"field\", name: \"selectedNodes\", static: false, private: false, access: { has: obj => \"selectedNodes\" in obj, get: obj => obj.selectedNodes, set: (obj, value) => { obj.selectedNodes = value; } }, metadata: _metadata }, _selectedNodes_initializers, _selectedNodes_extraInitializers);\n __esDecorate(null, null, _checkedNodes_decorators, { kind: \"field\", name: \"checkedNodes\", static: false, private: false, access: { has: obj => \"checkedNodes\" in obj, get: obj => obj.checkedNodes, set: (obj, value) => { obj.checkedNodes = value; } }, metadata: _metadata }, _checkedNodes_initializers, _checkedNodes_extraInitializers);\n __esDecorate(null, null, _treeItems_decorators, { kind: \"field\", name: \"treeItems\", static: false, private: false, access: { has: obj => \"treeItems\" in obj, get: obj => obj.treeItems, set: (obj, value) => { obj.treeItems = value; } }, metadata: _metadata }, _treeItems_initializers, _treeItems_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n // NOTE: We don't use @render() here because it causes full re-renders\n // which destroys the tree structure when properties change. Instead, we\n // manually create the initial DOM and update it as needed.\n init() {\n this.buildNodeMap();\n this.syncNodeStates();\n // Create initial DOM structure\n this.renderTemplate();\n // Set ARIA attributes\n this.setAttribute('role', 'tree');\n this.setAttribute('tabindex', '0');\n if (this.selectionMode === 'multiple') {\n this.setAttribute('aria-multiselectable', 'true');\n }\n // Set node data on tree items\n this.updateTreeItems();\n }\n renderTemplate() {\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n this.shadowRoot.innerHTML = `\n <style>${cssContent}</style>\n <div class=\"tree\" part=\"container\" role=\"tree\">\n <div class=\"tree__content\" part=\"content\"></div>\n </div>\n `;\n }\n handleNodesChange() {\n this.buildNodeMap();\n this.syncNodeStates();\n // Track which nodes are currently loading before clearing DOM\n this.trackLoadingNodes();\n this.updateTreeItemsDOM();\n // Restore loading state and finish any completed loads\n requestAnimationFrame(() => {\n this.restoreLoadingState();\n requestAnimationFrame(() => {\n this.finishLoadingNodes();\n });\n });\n }\n trackLoadingNodes() {\n const checkItem = (item) => {\n if (!item || !item.node)\n return;\n if (item.loading) {\n this.loadingNodeIds.add(item.node.id);\n }\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => checkItem(child));\n }\n };\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => checkItem(item));\n }\n restoreLoadingState() {\n const restoreItem = (item) => {\n if (!item || !item.node)\n return;\n // Restore loading state if this node was loading\n if (this.loadingNodeIds.has(item.node.id)) {\n item.loading = true;\n }\n // Recursively restore children\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => restoreItem(child));\n }\n };\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => restoreItem(item));\n }\n updateTreeItemsDOM() {\n if (!this.shadowRoot)\n return;\n const content = this.shadowRoot.querySelector('.tree__content');\n if (!content)\n return;\n // Clear existing items\n content.innerHTML = '';\n // Create tree items for root nodes\n this.nodes.forEach(node => {\n const item = document.createElement('snice-tree-item');\n if (this.showCheckboxes)\n item.setAttribute('show-checkbox', '');\n if (this.showIcons)\n item.setAttribute('show-icon', '');\n content.appendChild(item);\n });\n // Update items with node data\n this.updateTreeItems();\n }\n updateTreeItems() {\n // Wait for next frame to ensure elements are rendered\n requestAnimationFrame(() => {\n if (!this.treeItems || this.treeItems.length === 0) {\n // Fallback to manual query if @queryAll hasn't populated yet\n const items = this.shadowRoot?.querySelectorAll(':scope > .tree > .tree__content > snice-tree-item');\n if (items) {\n items.forEach((item, index) => {\n if (this.nodes[index] && item.setNode) {\n item.setNode(this.nodes[index], 0);\n }\n });\n }\n }\n else {\n this.treeItems.forEach((item, index) => {\n if (this.nodes[index] && item.setNode) {\n item.setNode(this.nodes[index], 0);\n }\n });\n }\n });\n }\n handleSelectedNodesChange() {\n this.syncNodeStates();\n // Update tree item selected states\n requestAnimationFrame(() => {\n this.updateSelectedStatesOnly();\n });\n }\n handleCheckedNodesChange() {\n this.syncNodeStates();\n // Update tree item checkbox states\n requestAnimationFrame(() => {\n this.updateCheckboxStatesOnly();\n });\n }\n buildNodeMap() {\n this.nodeMap.clear();\n const addToMap = (nodes) => {\n for (const node of nodes) {\n this.nodeMap.set(node.id, node);\n if (node.children) {\n addToMap(node.children);\n }\n }\n };\n addToMap(this.nodes);\n }\n syncNodeStates() {\n // Update selected state\n for (const [id, node] of this.nodeMap.entries()) {\n node.selected = this.selectedNodes.includes(id);\n node.checked = this.checkedNodes.includes(id);\n }\n }\n handleItemToggle(e) {\n const event = e;\n const { nodeId, expanded } = event.detail;\n const node = this.nodeMap.get(nodeId);\n if (!node)\n return;\n node.expanded = expanded;\n if (expanded) {\n this.dispatchExpandEvent(nodeId, node);\n }\n else {\n this.dispatchCollapseEvent(nodeId, node);\n }\n }\n handleItemSelect(e) {\n const event = e;\n const { nodeId, selected } = event.detail;\n const node = this.nodeMap.get(nodeId);\n if (!node)\n return;\n // Check if selection is disabled\n if (!this.selectable || this.selectionMode === 'none')\n return;\n if (this.selectionMode === 'single') {\n // Deselect all nodes first\n this.deselectAllNodes();\n // Select only the clicked node if selecting\n if (selected) {\n node.selected = true;\n this.selectedNodes = [nodeId];\n }\n else {\n node.selected = false;\n this.selectedNodes = [];\n }\n // Update DOM to reflect changes\n this.updateSelectedStatesOnly();\n }\n else {\n // Multiple selection\n if (selected) {\n node.selected = true;\n if (!this.selectedNodes.includes(nodeId)) {\n this.selectedNodes = [...this.selectedNodes, nodeId];\n }\n }\n else {\n node.selected = false;\n this.selectedNodes = this.selectedNodes.filter(id => id !== nodeId);\n }\n // Update DOM\n this.updateSelectedStatesOnly();\n }\n this.dispatchSelectEvent(nodeId, node);\n }\n deselectAllNodes() {\n // Recursively deselect all nodes\n const deselect = (nodes) => {\n for (const node of nodes) {\n node.selected = false;\n if (node.children) {\n deselect(node.children);\n }\n }\n };\n deselect(this.nodes);\n }\n handleItemCheck(e) {\n const event = e;\n const { nodeId, checked } = event.detail;\n const node = this.nodeMap.get(nodeId);\n if (!node)\n return;\n // Update checked state with cascading\n this.syncCheckboxes(node, checked);\n this.dispatchCheckEvent(nodeId, node, checked);\n }\n syncCheckboxes(changedNode, checked) {\n // Update descendants\n const updateDescendants = (node, isChecked) => {\n node.checked = isChecked;\n if (isChecked && !this.checkedNodes.includes(node.id)) {\n this.checkedNodes = [...this.checkedNodes, node.id];\n }\n else if (!isChecked) {\n this.checkedNodes = this.checkedNodes.filter(id => id !== node.id);\n }\n if (node.children) {\n for (const child of node.children) {\n if (!child.disabled) {\n updateDescendants(child, isChecked);\n }\n }\n }\n };\n // Update ancestors with indeterminate state\n const updateAncestors = (node) => {\n const parent = this.findParentNode(node.id);\n if (!parent)\n return;\n const children = parent.children || [];\n const checkedChildren = children.filter(c => c.checked && !c.disabled);\n const uncheckedChildren = children.filter(c => !c.checked && !c.disabled && !c.indeterminate);\n const allChecked = checkedChildren.length === children.filter(c => !c.disabled).length;\n const allUnchecked = uncheckedChildren.length === children.filter(c => !c.disabled).length;\n parent.checked = allChecked;\n parent.indeterminate = !allChecked && !allUnchecked;\n if (parent.checked && !this.checkedNodes.includes(parent.id)) {\n this.checkedNodes = [...this.checkedNodes, parent.id];\n }\n else if (!parent.checked && !parent.indeterminate) {\n this.checkedNodes = this.checkedNodes.filter(id => id !== parent.id);\n }\n updateAncestors(parent);\n };\n updateDescendants(changedNode, checked);\n updateAncestors(changedNode);\n // Update checkbox states without re-rendering\n this.updateCheckboxStatesOnly();\n }\n updateCheckboxStatesOnly() {\n // Recursively update all tree-item checkbox states without re-rendering\n const updateItemCheckboxes = (item) => {\n if (!item || !item.node)\n return;\n const node = this.nodeMap.get(item.node.id);\n if (!node)\n return;\n // Update the item's properties directly\n if (item.checked !== node.checked) {\n item.checked = node.checked;\n }\n if (item.indeterminate !== node.indeterminate) {\n item.indeterminate = node.indeterminate;\n }\n // Recursively update children\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => updateItemCheckboxes(child));\n }\n };\n // Start with root items\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => updateItemCheckboxes(item));\n }\n updateSelectedStatesOnly() {\n // Recursively update all tree-item selected states without re-rendering\n const updateItemSelection = (item) => {\n if (!item || !item.node)\n return;\n const node = this.nodeMap.get(item.node.id);\n if (!node)\n return;\n // Always update the item's selected property and DOM\n item.selected = node.selected;\n // Force update the DOM class\n if (item.shadowRoot) {\n const content = item.shadowRoot.querySelector('.tree-item__content');\n if (content) {\n if (node.selected) {\n content.classList.add('tree-item__content--selected');\n }\n else {\n content.classList.remove('tree-item__content--selected');\n }\n content.setAttribute('aria-selected', (node.selected ?? false).toString());\n }\n }\n // Recursively update children\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => updateItemSelection(child));\n }\n };\n // Start with root items\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => updateItemSelection(item));\n }\n finishLoadingNodes() {\n // Find any tree items with loading state and finish loading if they now have children\n const finishItem = (item) => {\n if (!item || !item.node)\n return;\n // If this item is loading and now has children, finish loading\n if (item.loading && item.node.children && item.node.children.length > 0) {\n item.finishLoading();\n // Remove from loading set\n this.loadingNodeIds.delete(item.node.id);\n }\n // Check children\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => finishItem(child));\n }\n };\n // Start with root items\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => finishItem(item));\n }\n findParentNode(nodeId) {\n const findParent = (nodes, targetId) => {\n for (const node of nodes) {\n if (node.children) {\n if (node.children.some(child => child.id === targetId)) {\n return node;\n }\n const found = findParent(node.children, targetId);\n if (found)\n return found;\n }\n }\n return null;\n };\n return findParent(this.nodes, nodeId);\n }\n handleLazyLoad(e) {\n const event = e;\n const { nodeId, node } = event.detail;\n this.dispatchLazyLoadEvent(nodeId, node);\n }\n dispatchExpandEvent(nodeId, node) {\n return { nodeId, node, tree: this };\n }\n dispatchCollapseEvent(nodeId, node) {\n return { nodeId, node, tree: this };\n }\n dispatchSelectEvent(nodeId, node) {\n return { nodeId, node, selectedNodes: this.getSelectedNodes(), tree: this };\n }\n dispatchCheckEvent(nodeId, node, checked) {\n return { nodeId, node, checked, checkedNodes: this.getCheckedNodes(), tree: this };\n }\n dispatchLazyLoadEvent(nodeId, node) {\n return { nodeId, node, tree: this };\n }\n // Keyboard navigation\n handleKeyDown(event) {\n if (!['ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft', 'Home', 'End', 'Enter', ' '].includes(event.key)) {\n return;\n }\n // Ignore when focus is in a text field\n const target = event.target;\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA') {\n return;\n }\n const items = this.getFocusableItems();\n if (items.length === 0)\n return;\n event.preventDefault();\n const activeIndex = items.findIndex(item => item.matches(':focus'));\n const activeItem = items[activeIndex];\n const focusItemAt = (index) => {\n const clampedIndex = Math.max(0, Math.min(index, items.length - 1));\n items[clampedIndex]?.focus();\n };\n if (event.key === 'ArrowDown') {\n focusItemAt(activeIndex + 1);\n }\n else if (event.key === 'ArrowUp') {\n focusItemAt(activeIndex - 1);\n }\n else if (event.key === 'ArrowRight') {\n if (activeItem && activeItem.expand) {\n activeItem.expand();\n }\n }\n else if (event.key === 'ArrowLeft') {\n if (activeItem && activeItem.collapse) {\n activeItem.collapse();\n }\n }\n else if (event.key === 'Home') {\n focusItemAt(0);\n }\n else if (event.key === 'End') {\n focusItemAt(items.length - 1);\n }\n else if (event.key === 'Enter' || event.key === ' ') {\n if (activeItem && activeItem.select) {\n activeItem.select();\n }\n }\n }\n handleFocusIn(event) {\n const target = event.target;\n // If tree gets focus, move to last focused item or first item\n if (target === this) {\n const items = this.getFocusableItems();\n const itemToFocus = this.lastFocusedItem || items[0];\n itemToFocus?.focus();\n return;\n }\n // Update roving tabindex\n if (target.tagName === 'SNICE-TREE-ITEM') {\n if (this.lastFocusedItem) {\n this.lastFocusedItem.setAttribute('tabindex', '-1');\n }\n this.lastFocusedItem = target;\n this.setAttribute('tabindex', '-1');\n target.setAttribute('tabindex', '0');\n }\n }\n handleFocusOut(event) {\n const relatedTarget = event.relatedTarget;\n if (!relatedTarget || !this.contains(relatedTarget)) {\n this.setAttribute('tabindex', '0');\n }\n }\n getFocusableItems() {\n const allItems = Array.from(this.shadowRoot?.querySelectorAll('snice-tree-item') || []);\n const collapsedItems = new Set();\n return allItems.filter(item => {\n const disabled = item.node?.disabled;\n if (disabled)\n return false;\n // Check if parent is collapsed\n let parent = item.parentElement;\n while (parent && parent !== this) {\n if (parent.tagName === 'SNICE-TREE-ITEM') {\n const parentExpanded = parent.expanded;\n if (!parentExpanded) {\n collapsedItems.add(item);\n return false;\n }\n }\n parent = parent.parentElement;\n }\n return !collapsedItems.has(item);\n });\n }\n // Public API\n expandNode(id) {\n const node = this.nodeMap.get(id);\n if (!node || !node.children)\n return;\n node.expanded = true;\n this.nodes = [...this.nodes];\n this.dispatchExpandEvent(id, node);\n }\n collapseNode(id) {\n const node = this.nodeMap.get(id);\n if (!node || !node.children)\n return;\n node.expanded = false;\n this.nodes = [...this.nodes];\n this.dispatchCollapseEvent(id, node);\n }\n toggleNode(id) {\n const node = this.nodeMap.get(id);\n if (!node || !node.children)\n return;\n if (node.expanded) {\n this.collapseNode(id);\n }\n else {\n this.expandNode(id);\n }\n }\n expandAll() {\n const expandRecursive = (nodes) => {\n for (const node of nodes) {\n if (node.children && node.children.length > 0) {\n node.expanded = true;\n expandRecursive(node.children);\n }\n }\n };\n expandRecursive(this.nodes);\n this.nodes = [...this.nodes];\n }\n collapseAll() {\n const collapseRecursive = (nodes) => {\n for (const node of nodes) {\n node.expanded = false;\n if (node.children) {\n collapseRecursive(node.children);\n }\n }\n };\n collapseRecursive(this.nodes);\n this.nodes = [...this.nodes];\n }\n selectNode(id) {\n if (!this.selectable || this.selectionMode === 'none')\n return;\n const node = this.nodeMap.get(id);\n if (!node)\n return;\n if (this.selectionMode === 'single') {\n this.selectedNodes = [id];\n }\n else {\n if (!this.selectedNodes.includes(id)) {\n this.selectedNodes = [...this.selectedNodes, id];\n }\n }\n this.dispatchSelectEvent(id, node);\n }\n deselectNode(id) {\n const node = this.nodeMap.get(id);\n if (!node)\n return;\n this.selectedNodes = this.selectedNodes.filter(nodeId => nodeId !== id);\n this.dispatchSelectEvent(id, node);\n }\n toggleSelection(id) {\n if (this.selectedNodes.includes(id)) {\n this.deselectNode(id);\n }\n else {\n this.selectNode(id);\n }\n }\n checkNode(id) {\n const node = this.nodeMap.get(id);\n if (!node)\n return;\n if (!this.checkedNodes.includes(id)) {\n this.checkedNodes = [...this.checkedNodes, id];\n }\n this.dispatchCheckEvent(id, node, true);\n }\n uncheckNode(id) {\n const node = this.nodeMap.get(id);\n if (!node)\n return;\n this.checkedNodes = this.checkedNodes.filter(nodeId => nodeId !== id);\n this.dispatchCheckEvent(id, node, false);\n }\n toggleCheck(id) {\n if (this.checkedNodes.includes(id)) {\n this.uncheckNode(id);\n }\n else {\n this.checkNode(id);\n }\n }\n getNode(id) {\n return this.nodeMap.get(id);\n }\n getSelectedNodes() {\n return this.selectedNodes.map(id => this.nodeMap.get(id)).filter(Boolean);\n }\n getCheckedNodes() {\n return this.checkedNodes.map(id => this.nodeMap.get(id)).filter(Boolean);\n }\n updateNode(id, updates) {\n // Create a new nodes array with the updated node\n const updateInTree = (nodes) => {\n return nodes.map(node => {\n if (node.id === id) {\n // Found the node - create a new node with updates\n return { ...node, ...updates };\n }\n if (node.children) {\n // Recursively update children\n const newChildren = updateInTree(node.children);\n if (newChildren !== node.children) {\n // Children were updated, create new node\n return { ...node, children: newChildren };\n }\n }\n return node;\n });\n };\n // Update and trigger re-render\n this.nodes = updateInTree(this.nodes);\n }\n });\n return _classThis;\n})();\n\nexport { SniceTree };\n//# sourceMappingURL=snice-tree.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","_classDescriptor","_classThis","_checked_decorators","_indeterminate_decorators","_disabled_decorators","_loading_decorators","_required_decorators","_invalid_decorators","_size_decorators","_name_decorators","_value_decorators","_label_decorators","_input_decorators","_checkbox_decorators","_labelElement_decorators","_wrapper_decorators","_handleCheckboxClick_decorators","_render_decorators","_handleCheckedChange_decorators","_handleIndeterminateChange_decorators","_styles_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_checked_initializers","_checked_extraInitializers","_indeterminate_initializers","_indeterminate_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_loading_initializers","_loading_extraInitializers","_required_initializers","_required_extraInitializers","_invalid_initializers","_invalid_extraInitializers","_size_initializers","_size_extraInitializers","_name_initializers","_name_extraInitializers","_value_initializers","_value_extraInitializers","_label_initializers","_label_extraInitializers","_input_initializers","_input_extraInitializers","_checkbox_initializers","_checkbox_extraInitializers","_labelElement_initializers","_labelElement_extraInitializers","_wrapper_initializers","_wrapper_extraInitializers","this","_metadata","Symbol","metadata","create","property","type","Boolean","query","on","render","watch","styles","static","private","has","obj","handleCheckboxClick","handleCheckedChange","handleIndeterminateChange","checked","indeterminate","disabled","loading","required","invalid","size","label","input","checkbox","labelElement","wrapper","enumerable","configurable","writable","toggle","wrapperClasses","checkboxClasses","labelClasses","html","e","handleInternalChange","event","dispatchEvent","CustomEvent","bubbles","composed","detail","css","focus","blur","click","setIndeterminate","constructor","super","_color_decorators","_thickness_decorators","_color_initializers","_color_extraInitializers","_thickness_initializers","_thickness_extraInitializers","Number","color","thickness","getSizeValue","radius","circumference","Math","PI","cx","cy","viewBox","__version_decorators","_expanded_decorators","_selected_decorators","_showCheckbox_decorators","_showIcon_decorators","_handleExpandedChange_decorators","_handleSelectedChange_decorators","_handleLoadingChange_decorators","_dispatchToggleEvent_decorators","_dispatchSelectEvent_decorators","_dispatchCheckEvent_decorators","_dispatchLazyLoadEvent_decorators","_init_decorators","__version_initializers","__version_extraInitializers","_expanded_initializers","_expanded_extraInitializers","_selected_initializers","_selected_extraInitializers","_showCheckbox_initializers","_showCheckbox_extraInitializers","_showIcon_initializers","_showIcon_extraInitializers","attribute","dispatch","ready","handleExpandedChange","handleSelectedChange","handleLoadingChange","dispatchToggleEvent","dispatchSelectEvent","dispatchCheckEvent","dispatchLazyLoadEvent","_version","expanded","selected","showCheckbox","showIcon","node","_node","level","_level","hasChildren","children","lazy","setNode","undefined","updateDOM","requestAnimationFrame","updateChildTreeItems","shadowRoot","updateExpandedState","updateSelectedState","updateCheckboxState","updateLoadingState","childItems","querySelectorAll","forEach","child","index","nodeId","id","renderTemplate","template","innerHTML","attachShadow","mode","content","querySelector","expander","addEventListener","handleContentClick","handleKeydown","stopPropagation","handleCheckboxChangeEvent","container","icon","style","setProperty","toString","textContent","iconImage","display","setAttribute","removeAttribute","updateChildrenDOM","classList","checkboxContainer","loadingContainer","childrenContainer","item","document","createElement","appendChild","deselect","select","preventDefault","expand","collapse","newChecked","finishLoading","check","uncheck","SniceTree","_selectable_decorators","_selectionMode_decorators","_showCheckboxes_decorators","_showIcons_decorators","_expandOnClick_decorators","_nodes_decorators","_selectedNodes_decorators","_checkedNodes_decorators","_treeItems_decorators","_handleNodesChange_decorators","_handleSelectedNodesChange_decorators","_handleCheckedNodesChange_decorators","_handleItemToggle_decorators","_handleItemSelect_decorators","_handleItemCheck_decorators","_handleLazyLoad_decorators","_dispatchExpandEvent_decorators","_dispatchCollapseEvent_decorators","_handleKeyDown_decorators","_handleFocusIn_decorators","_handleFocusOut_decorators","_selectable_initializers","_selectable_extraInitializers","_selectionMode_initializers","_selectionMode_extraInitializers","_showCheckboxes_initializers","_showCheckboxes_extraInitializers","_showIcons_initializers","_showIcons_extraInitializers","_expandOnClick_initializers","_expandOnClick_extraInitializers","_nodes_initializers","_nodes_extraInitializers","_selectedNodes_initializers","_selectedNodes_extraInitializers","_checkedNodes_initializers","_checkedNodes_extraInitializers","_treeItems_initializers","_treeItems_extraInitializers","selectable","selectionMode","showCheckboxes","showIcons","expandOnClick","nodes","selectedNodes","checkedNodes","nodeMap","Map","treeItems","lastFocusedItem","loadingNodeIds","Set","Array","queryAll","handleNodesChange","handleSelectedNodesChange","handleCheckedNodesChange","handleItemToggle","handleItemSelect","handleItemCheck","handleLazyLoad","dispatchExpandEvent","dispatchCollapseEvent","handleKeyDown","handleFocusIn","handleFocusOut","buildNodeMap","syncNodeStates","updateTreeItems","trackLoadingNodes","updateTreeItemsDOM","restoreLoadingState","finishLoadingNodes","checkItem","add","rootItems","restoreItem","items","updateSelectedStatesOnly","updateCheckboxStatesOnly","clear","addToMap","entries","includes","deselectAllNodes","filter","syncCheckboxes","changedNode","updateDescendants","isChecked","updateAncestors","parent","findParentNode","checkedChildren","c","uncheckedChildren","allChecked","allUnchecked","updateItemCheckboxes","updateItemSelection","remove","finishItem","delete","findParent","targetId","some","found","tree","getSelectedNodes","getCheckedNodes","tagName","getFocusableItems","activeIndex","findIndex","matches","activeItem","focusItemAt","clampedIndex","max","min","itemToFocus","relatedTarget","contains","allItems","from","collapsedItems","parentElement","expandNode","collapseNode","toggleNode","expandAll","expandRecursive","collapseAll","collapseRecursive","selectNode","deselectNode","toggleSelection","checkNode","uncheckNode","toggleCheck","getNode","map","updateNode","updates","updateInTree","newChildren"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"snice-tree.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/checkbox/snice-checkbox.js","../../components/spinner/snice-spinner.js","../../components/tree/snice-tree-item.js","../../components/tree/snice-tree.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, on, render, watch, styles, html, css } from 'snice';\n\nvar cssContent = \":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)}}\";\n\nlet SniceCheckbox = (() => {\n let _classDecorators = [element('snice-checkbox')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _checked_decorators;\n let _checked_initializers = [];\n let _checked_extraInitializers = [];\n let _indeterminate_decorators;\n let _indeterminate_initializers = [];\n let _indeterminate_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _required_decorators;\n let _required_initializers = [];\n let _required_extraInitializers = [];\n let _invalid_decorators;\n let _invalid_initializers = [];\n let _invalid_extraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _input_decorators;\n let _input_initializers = [];\n let _input_extraInitializers = [];\n let _checkbox_decorators;\n let _checkbox_initializers = [];\n let _checkbox_extraInitializers = [];\n let _labelElement_decorators;\n let _labelElement_initializers = [];\n let _labelElement_extraInitializers = [];\n let _wrapper_decorators;\n let _wrapper_initializers = [];\n let _wrapper_extraInitializers = [];\n let _handleCheckboxClick_decorators;\n let _render_decorators;\n let _handleCheckedChange_decorators;\n let _handleIndeterminateChange_decorators;\n let _styles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _checked_decorators = [property({ type: Boolean, })];\n _indeterminate_decorators = [property({ type: Boolean, })];\n _disabled_decorators = [property({ type: Boolean, })];\n _loading_decorators = [property({ type: Boolean, })];\n _required_decorators = [property({ type: Boolean, })];\n _invalid_decorators = [property({ type: Boolean, })];\n _size_decorators = [property({})];\n _name_decorators = [property({})];\n _value_decorators = [property({})];\n _label_decorators = [property({})];\n _input_decorators = [query('.checkbox-input')];\n _checkbox_decorators = [query('.checkbox')];\n _labelElement_decorators = [query('.checkbox-label')];\n _wrapper_decorators = [query('.checkbox-wrapper')];\n _handleCheckboxClick_decorators = [on('click')];\n _render_decorators = [render()];\n _handleCheckedChange_decorators = [watch('checked')];\n _handleIndeterminateChange_decorators = [watch('indeterminate')];\n _styles_decorators = [styles()];\n __esDecorate(this, null, _handleCheckboxClick_decorators, { kind: \"method\", name: \"handleCheckboxClick\", static: false, private: false, access: { has: obj => \"handleCheckboxClick\" in obj, get: obj => obj.handleCheckboxClick }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleCheckedChange_decorators, { kind: \"method\", name: \"handleCheckedChange\", static: false, private: false, access: { has: obj => \"handleCheckedChange\" in obj, get: obj => obj.handleCheckedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleIndeterminateChange_decorators, { kind: \"method\", name: \"handleIndeterminateChange\", static: false, private: false, access: { has: obj => \"handleIndeterminateChange\" in obj, get: obj => obj.handleIndeterminateChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _checked_decorators, { kind: \"field\", name: \"checked\", static: false, private: false, access: { has: obj => \"checked\" in obj, get: obj => obj.checked, set: (obj, value) => { obj.checked = value; } }, metadata: _metadata }, _checked_initializers, _checked_extraInitializers);\n __esDecorate(null, null, _indeterminate_decorators, { kind: \"field\", name: \"indeterminate\", static: false, private: false, access: { has: obj => \"indeterminate\" in obj, get: obj => obj.indeterminate, set: (obj, value) => { obj.indeterminate = value; } }, metadata: _metadata }, _indeterminate_initializers, _indeterminate_extraInitializers);\n __esDecorate(null, null, _disabled_decorators, { kind: \"field\", name: \"disabled\", static: false, private: false, access: { has: obj => \"disabled\" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);\n __esDecorate(null, null, _loading_decorators, { kind: \"field\", name: \"loading\", static: false, private: false, access: { has: obj => \"loading\" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);\n __esDecorate(null, null, _required_decorators, { kind: \"field\", name: \"required\", static: false, private: false, access: { has: obj => \"required\" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);\n __esDecorate(null, null, _invalid_decorators, { kind: \"field\", name: \"invalid\", static: false, private: false, access: { has: obj => \"invalid\" in obj, get: obj => obj.invalid, set: (obj, value) => { obj.invalid = value; } }, metadata: _metadata }, _invalid_initializers, _invalid_extraInitializers);\n __esDecorate(null, null, _size_decorators, { kind: \"field\", name: \"size\", static: false, private: false, access: { has: obj => \"size\" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);\n __esDecorate(null, null, _name_decorators, { kind: \"field\", name: \"name\", static: false, private: false, access: { has: obj => \"name\" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);\n __esDecorate(null, null, _value_decorators, { kind: \"field\", name: \"value\", static: false, private: false, access: { has: obj => \"value\" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);\n __esDecorate(null, null, _label_decorators, { kind: \"field\", name: \"label\", static: false, private: false, access: { has: obj => \"label\" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);\n __esDecorate(null, null, _input_decorators, { kind: \"field\", name: \"input\", static: false, private: false, access: { has: obj => \"input\" in obj, get: obj => obj.input, set: (obj, value) => { obj.input = value; } }, metadata: _metadata }, _input_initializers, _input_extraInitializers);\n __esDecorate(null, null, _checkbox_decorators, { kind: \"field\", name: \"checkbox\", static: false, private: false, access: { has: obj => \"checkbox\" in obj, get: obj => obj.checkbox, set: (obj, value) => { obj.checkbox = value; } }, metadata: _metadata }, _checkbox_initializers, _checkbox_extraInitializers);\n __esDecorate(null, null, _labelElement_decorators, { kind: \"field\", name: \"labelElement\", static: false, private: false, access: { has: obj => \"labelElement\" in obj, get: obj => obj.labelElement, set: (obj, value) => { obj.labelElement = value; } }, metadata: _metadata }, _labelElement_initializers, _labelElement_extraInitializers);\n __esDecorate(null, null, _wrapper_decorators, { kind: \"field\", name: \"wrapper\", static: false, private: false, access: { has: obj => \"wrapper\" in obj, get: obj => obj.wrapper, set: (obj, value) => { obj.wrapper = value; } }, metadata: _metadata }, _wrapper_initializers, _wrapper_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n handleCheckboxClick() {\n if (!this.disabled && !this.loading) {\n this.toggle();\n }\n }\n render() {\n const wrapperClasses = `checkbox-wrapper${this.disabled ? ' checkbox-wrapper--disabled' : ''}${this.loading ? ' checkbox-wrapper--loading' : ''}`;\n const checkboxClasses = `checkbox checkbox--${this.size}${this.invalid ? ' checkbox--invalid' : ''}${this.indeterminate ? ' checkbox--indeterminate' : ''}${this.loading ? ' checkbox--loading' : ''}`;\n const labelClasses = `checkbox-label checkbox-label--${this.size}${this.required ? ' checkbox-label--required' : ''}`;\n return html /*html*/ `\n <label class=\"${wrapperClasses}\" @change=\"${(e) => this.handleInternalChange(e)}\">\n <input\n type=\"checkbox\"\n class=\"checkbox-input\"\n ?checked=\"${this.checked}\"\n ?disabled=\"${this.disabled || this.loading}\"\n ?required=\"${this.required}\"\n name=\"${this.name}\"\n value=\"${this.value}\"\n aria-invalid=\"${this.invalid}\"\n aria-checked=\"${this.indeterminate ? 'mixed' : this.checked}\"\n part=\"input\"\n />\n\n <span class=\"${checkboxClasses}\" part=\"checkbox\">\n <if ${!this.loading}>\n <svg class=\"checkbox-icon checkbox-icon--check\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\">\n <polyline points=\"20 6 9 17 4 12\"></polyline>\n </svg>\n\n <svg class=\"checkbox-icon checkbox-icon--indeterminate\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\">\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>\n </svg>\n </if>\n <if ${this.loading}>\n <span class=\"checkbox-spinner\" part=\"spinner\"></span>\n </if>\n </span>\n\n <if ${this.label}>\n <span class=\"${labelClasses}\" part=\"label\">\n ${this.label}\n </span>\n </if>\n </label>\n `;\n }\n handleInternalChange(event) {\n const target = event.target;\n // Only handle change events from the checkbox input\n if (target.type !== 'checkbox')\n return;\n this.checked = target.checked;\n this.indeterminate = false; // Clear indeterminate on user interaction\n // Dispatch custom event\n this.dispatchEvent(new CustomEvent('checkbox-change', {\n bubbles: true,\n composed: true,\n detail: {\n checked: this.checked,\n indeterminate: this.indeterminate,\n checkbox: this\n }\n }));\n }\n handleCheckedChange() {\n if (this.input) {\n this.input.checked = this.checked;\n }\n }\n handleIndeterminateChange() {\n if (this.input) {\n this.input.indeterminate = this.indeterminate;\n }\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n // Public API\n focus() {\n this.input?.focus();\n }\n blur() {\n this.input?.blur();\n }\n click() {\n this.input?.click();\n }\n toggle() {\n this.checked = !this.checked;\n this.indeterminate = false;\n this.dispatchEvent(new CustomEvent('checkbox-change', {\n bubbles: true,\n composed: true,\n detail: {\n checked: this.checked,\n indeterminate: this.indeterminate,\n checkbox: this\n }\n }));\n }\n setIndeterminate() {\n this.indeterminate = true;\n this.checked = false;\n this.dispatchEvent(new CustomEvent('checkbox-change', {\n bubbles: true,\n composed: true,\n detail: {\n checked: this.checked,\n indeterminate: this.indeterminate,\n checkbox: this\n }\n }));\n }\n constructor() {\n super(...arguments);\n this.checked = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _checked_initializers, false));\n this.indeterminate = (__runInitializers(this, _checked_extraInitializers), __runInitializers(this, _indeterminate_initializers, false));\n this.disabled = (__runInitializers(this, _indeterminate_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.loading = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.required = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _required_initializers, false));\n this.invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));\n this.size = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.name = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _name_initializers, ''));\n this.value = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _value_initializers, 'on'));\n this.label = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.input = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _input_initializers, void 0));\n this.checkbox = (__runInitializers(this, _input_extraInitializers), __runInitializers(this, _checkbox_initializers, void 0));\n this.labelElement = (__runInitializers(this, _checkbox_extraInitializers), __runInitializers(this, _labelElement_initializers, void 0));\n this.wrapper = (__runInitializers(this, _labelElement_extraInitializers), __runInitializers(this, _wrapper_initializers, void 0));\n __runInitializers(this, _wrapper_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCheckbox };\n//# sourceMappingURL=snice-checkbox.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, html, css } from 'snice';\n\nvar cssContent = \":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)}\";\n\nlet SniceSpinner = (() => {\n let _classDecorators = [element('snice-spinner')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _color_decorators;\n let _color_initializers = [];\n let _color_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _thickness_decorators;\n let _thickness_initializers = [];\n let _thickness_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _size_decorators = [property({})];\n _color_decorators = [property({})];\n _label_decorators = [property({})];\n _thickness_decorators = [property({ type: Number, })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n __esDecorate(this, null, _render_decorators, { kind: \"method\", name: \"render\", static: false, private: false, access: { has: obj => \"render\" in obj, get: obj => obj.render }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _styles_decorators, { kind: \"method\", name: \"styles\", static: false, private: false, access: { has: obj => \"styles\" in obj, get: obj => obj.styles }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _size_decorators, { kind: \"field\", name: \"size\", static: false, private: false, access: { has: obj => \"size\" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);\n __esDecorate(null, null, _color_decorators, { kind: \"field\", name: \"color\", static: false, private: false, access: { has: obj => \"color\" in obj, get: obj => obj.color, set: (obj, value) => { obj.color = value; } }, metadata: _metadata }, _color_initializers, _color_extraInitializers);\n __esDecorate(null, null, _label_decorators, { kind: \"field\", name: \"label\", static: false, private: false, access: { has: obj => \"label\" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);\n __esDecorate(null, null, _thickness_decorators, { kind: \"field\", name: \"thickness\", static: false, private: false, access: { has: obj => \"thickness\" in obj, get: obj => obj.thickness, set: (obj, value) => { obj.thickness = value; } }, metadata: _metadata }, _thickness_initializers, _thickness_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n render() {\n const size = this.getSizeValue();\n const strokeWidth = this.thickness;\n const radius = (size - strokeWidth * 2) / 2;\n const circumference = radius * 2 * Math.PI;\n const cx = size / 2;\n const cy = size / 2;\n const viewBox = `0 0 ${size} ${size}`;\n return html /*html*/ `\n <div class=\"spinner\" role=\"status\" aria-label=\"${this.label || 'Loading'}\">\n <svg\n class=\"spinner__circle\"\n viewBox=\"${viewBox}\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"spinner__circle-bg\"\n cx=\"${cx}\"\n cy=\"${cy}\"\n r=\"${radius}\"\n ></circle>\n <circle\n class=\"spinner__circle-bar\"\n cx=\"${cx}\"\n cy=\"${cy}\"\n r=\"${radius}\"\n stroke-dasharray=\"${circumference}\"\n stroke-dashoffset=\"0\"\n ></circle>\n </svg>\n <if ${this.label}>\n <span class=\"spinner__label\">${this.label}</span>\n </if>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n getSizeValue() {\n switch (this.size) {\n case 'small': return 24;\n case 'medium': return 40;\n case 'large': return 56;\n case 'xl': return 80;\n default: return 40;\n }\n }\n constructor() {\n super(...arguments);\n this.size = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.color = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _color_initializers, 'primary'));\n this.label = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.thickness = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _thickness_initializers, 4));\n __runInitializers(this, _thickness_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceSpinner };\n//# sourceMappingURL=snice-spinner.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, watch, dispatch, ready } from 'snice';\nimport '../checkbox/snice-checkbox.js';\nimport '../spinner/snice-spinner.js';\n\nvar cssContent = \":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}\";\n\nlet SniceTreeItem = (() => {\n let _classDecorators = [element('snice-tree-item')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let __version_decorators;\n let __version_initializers = [];\n let __version_extraInitializers = [];\n let _expanded_decorators;\n let _expanded_initializers = [];\n let _expanded_extraInitializers = [];\n let _selected_decorators;\n let _selected_initializers = [];\n let _selected_extraInitializers = [];\n let _checked_decorators;\n let _checked_initializers = [];\n let _checked_extraInitializers = [];\n let _showCheckbox_decorators;\n let _showCheckbox_initializers = [];\n let _showCheckbox_extraInitializers = [];\n let _showIcon_decorators;\n let _showIcon_initializers = [];\n let _showIcon_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _indeterminate_decorators;\n let _indeterminate_initializers = [];\n let _indeterminate_extraInitializers = [];\n let _handleExpandedChange_decorators;\n let _handleSelectedChange_decorators;\n let _handleCheckedChange_decorators;\n let _handleIndeterminateChange_decorators;\n let _handleLoadingChange_decorators;\n let _dispatchToggleEvent_decorators;\n let _dispatchSelectEvent_decorators;\n let _dispatchCheckEvent_decorators;\n let _dispatchLazyLoadEvent_decorators;\n let _init_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n __version_decorators = [property({ type: Number })];\n _expanded_decorators = [property({ type: Boolean })];\n _selected_decorators = [property({ type: Boolean })];\n _checked_decorators = [property({ type: Boolean })];\n _showCheckbox_decorators = [property({ type: Boolean, attribute: 'show-checkbox' })];\n _showIcon_decorators = [property({ type: Boolean, attribute: 'show-icon' })];\n _loading_decorators = [property({ type: Boolean })];\n _indeterminate_decorators = [property({ type: Boolean })];\n _handleExpandedChange_decorators = [watch('expanded')];\n _handleSelectedChange_decorators = [watch('selected')];\n _handleCheckedChange_decorators = [watch('checked')];\n _handleIndeterminateChange_decorators = [watch('indeterminate')];\n _handleLoadingChange_decorators = [watch('loading')];\n _dispatchToggleEvent_decorators = [dispatch('tree-item-toggle', { bubbles: true, composed: true })];\n _dispatchSelectEvent_decorators = [dispatch('tree-item-select', { bubbles: true, composed: true })];\n _dispatchCheckEvent_decorators = [dispatch('tree-item-check', { bubbles: true, composed: true })];\n _dispatchLazyLoadEvent_decorators = [dispatch('tree-item-lazy-load', { bubbles: true, composed: true })];\n _init_decorators = [ready()];\n __esDecorate(this, null, _handleExpandedChange_decorators, { kind: \"method\", name: \"handleExpandedChange\", static: false, private: false, access: { has: obj => \"handleExpandedChange\" in obj, get: obj => obj.handleExpandedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectedChange_decorators, { kind: \"method\", name: \"handleSelectedChange\", static: false, private: false, access: { has: obj => \"handleSelectedChange\" in obj, get: obj => obj.handleSelectedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleCheckedChange_decorators, { kind: \"method\", name: \"handleCheckedChange\", static: false, private: false, access: { has: obj => \"handleCheckedChange\" in obj, get: obj => obj.handleCheckedChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleIndeterminateChange_decorators, { kind: \"method\", name: \"handleIndeterminateChange\", static: false, private: false, access: { has: obj => \"handleIndeterminateChange\" in obj, get: obj => obj.handleIndeterminateChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleLoadingChange_decorators, { kind: \"method\", name: \"handleLoadingChange\", static: false, private: false, access: { has: obj => \"handleLoadingChange\" in obj, get: obj => obj.handleLoadingChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchToggleEvent_decorators, { kind: \"method\", name: \"dispatchToggleEvent\", static: false, private: false, access: { has: obj => \"dispatchToggleEvent\" in obj, get: obj => obj.dispatchToggleEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchSelectEvent_decorators, { kind: \"method\", name: \"dispatchSelectEvent\", static: false, private: false, access: { has: obj => \"dispatchSelectEvent\" in obj, get: obj => obj.dispatchSelectEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCheckEvent_decorators, { kind: \"method\", name: \"dispatchCheckEvent\", static: false, private: false, access: { has: obj => \"dispatchCheckEvent\" in obj, get: obj => obj.dispatchCheckEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchLazyLoadEvent_decorators, { kind: \"method\", name: \"dispatchLazyLoadEvent\", static: false, private: false, access: { has: obj => \"dispatchLazyLoadEvent\" in obj, get: obj => obj.dispatchLazyLoadEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, __version_decorators, { kind: \"field\", name: \"_version\", static: false, private: false, access: { has: obj => \"_version\" in obj, get: obj => obj._version, set: (obj, value) => { obj._version = value; } }, metadata: _metadata }, __version_initializers, __version_extraInitializers);\n __esDecorate(null, null, _expanded_decorators, { kind: \"field\", name: \"expanded\", static: false, private: false, access: { has: obj => \"expanded\" in obj, get: obj => obj.expanded, set: (obj, value) => { obj.expanded = value; } }, metadata: _metadata }, _expanded_initializers, _expanded_extraInitializers);\n __esDecorate(null, null, _selected_decorators, { kind: \"field\", name: \"selected\", static: false, private: false, access: { has: obj => \"selected\" in obj, get: obj => obj.selected, set: (obj, value) => { obj.selected = value; } }, metadata: _metadata }, _selected_initializers, _selected_extraInitializers);\n __esDecorate(null, null, _checked_decorators, { kind: \"field\", name: \"checked\", static: false, private: false, access: { has: obj => \"checked\" in obj, get: obj => obj.checked, set: (obj, value) => { obj.checked = value; } }, metadata: _metadata }, _checked_initializers, _checked_extraInitializers);\n __esDecorate(null, null, _showCheckbox_decorators, { kind: \"field\", name: \"showCheckbox\", static: false, private: false, access: { has: obj => \"showCheckbox\" in obj, get: obj => obj.showCheckbox, set: (obj, value) => { obj.showCheckbox = value; } }, metadata: _metadata }, _showCheckbox_initializers, _showCheckbox_extraInitializers);\n __esDecorate(null, null, _showIcon_decorators, { kind: \"field\", name: \"showIcon\", static: false, private: false, access: { has: obj => \"showIcon\" in obj, get: obj => obj.showIcon, set: (obj, value) => { obj.showIcon = value; } }, metadata: _metadata }, _showIcon_initializers, _showIcon_extraInitializers);\n __esDecorate(null, null, _loading_decorators, { kind: \"field\", name: \"loading\", static: false, private: false, access: { has: obj => \"loading\" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);\n __esDecorate(null, null, _indeterminate_decorators, { kind: \"field\", name: \"indeterminate\", static: false, private: false, access: { has: obj => \"indeterminate\" in obj, get: obj => obj.indeterminate, set: (obj, value) => { obj.indeterminate = value; } }, metadata: _metadata }, _indeterminate_initializers, _indeterminate_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n get node() {\n return this._node;\n }\n get level() {\n return this._level;\n }\n get hasChildren() {\n return !!(this._node.children && this._node.children.length > 0) || !!this._node.lazy;\n }\n setNode(node, level) {\n this._node = node;\n this._level = level;\n // Sync internal state\n if (node.expanded !== undefined) {\n this.expanded = node.expanded;\n }\n if (node.selected !== undefined) {\n this.selected = node.selected;\n }\n if (node.checked !== undefined) {\n this.checked = node.checked;\n }\n if (node.indeterminate !== undefined) {\n this.indeterminate = node.indeterminate;\n }\n // Update DOM\n this.updateDOM();\n // Update child tree items after render completes\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.updateChildTreeItems();\n });\n });\n }\n handleExpandedChange() {\n if (this.shadowRoot)\n this.updateExpandedState();\n }\n handleSelectedChange() {\n if (this.shadowRoot)\n this.updateSelectedState();\n }\n handleCheckedChange() {\n if (this.shadowRoot)\n this.updateCheckboxState();\n }\n handleIndeterminateChange() {\n if (this.shadowRoot)\n this.updateCheckboxState();\n }\n handleLoadingChange() {\n if (this.shadowRoot)\n this.updateLoadingState();\n }\n updateChildTreeItems() {\n if (!this.shadowRoot || !this.hasChildren)\n return;\n const childItems = this.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n this.node.children?.forEach((child, index) => {\n if (childItems[index] && childItems[index].setNode) {\n childItems[index].setNode(child, this.level + 1);\n }\n });\n }\n dispatchToggleEvent() {\n return { nodeId: this.node.id, expanded: this.expanded };\n }\n dispatchSelectEvent() {\n return { nodeId: this.node.id, selected: this.selected };\n }\n dispatchCheckEvent() {\n return { nodeId: this.node.id, checked: this.checked };\n }\n dispatchLazyLoadEvent() {\n return { nodeId: this.node.id, node: this.node };\n }\n // NOTE: We don't use @render() here because it causes full re-renders\n // which destroys the tree structure when properties change. Instead, we\n // manually manipulate the shadow DOM for better performance and stability.\n init() {\n this.renderTemplate();\n this.updateDOM();\n }\n renderTemplate() {\n const template = `\n <style>${cssContent}</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 `;\n if (this.shadowRoot) {\n this.shadowRoot.innerHTML = template;\n }\n else {\n this.attachShadow({ mode: 'open' }).innerHTML = template;\n }\n // Attach event listeners\n const content = this.shadowRoot.querySelector('.tree-item__content');\n const expander = this.shadowRoot.querySelector('.tree-item__expander');\n content?.addEventListener('click', (e) => this.handleContentClick(e));\n content?.addEventListener('keydown', (e) => this.handleKeydown(e));\n expander?.addEventListener('click', (e) => {\n e.stopPropagation();\n this.toggle();\n });\n // Attach checkbox listener after element is defined\n requestAnimationFrame(() => {\n const checkbox = this.shadowRoot.querySelector('snice-checkbox');\n checkbox?.addEventListener('checkbox-change', (e) => this.handleCheckboxChangeEvent(e));\n });\n }\n updateDOM() {\n if (!this.shadowRoot)\n return;\n const container = this.shadowRoot.querySelector('.tree-item');\n const content = this.shadowRoot.querySelector('.tree-item__content');\n const label = this.shadowRoot.querySelector('.tree-item__label');\n const icon = this.shadowRoot.querySelector('.tree-item__icon');\n // Update level\n if (container) {\n container.style.setProperty('--tree-level', this.level.toString());\n }\n // Update label\n if (label) {\n label.textContent = this.node.label || '';\n }\n // Update icon\n if (icon && this.showIcon) {\n if (this.node.iconImage) {\n icon.innerHTML = `<img class=\"tree-item__icon-image\" src=\"${this.node.iconImage}\" alt=\"\" part=\"icon-image\">`;\n icon.style.display = '';\n }\n else if (this.node.icon) {\n icon.innerHTML = `<span part=\"icon-text\">${this.node.icon}</span>`;\n icon.style.display = '';\n }\n else {\n icon.style.display = 'none';\n }\n }\n else if (icon) {\n icon.style.display = 'none';\n }\n // Update ARIA attributes\n if (content) {\n content.setAttribute('tabindex', this.node.disabled ? '-1' : '0');\n content.setAttribute('aria-selected', this.selected.toString());\n content.setAttribute('aria-disabled', (this.node.disabled || false).toString());\n content.setAttribute('aria-busy', this.loading.toString());\n if (this.hasChildren) {\n content.setAttribute('aria-expanded', this.expanded.toString());\n }\n else {\n content.removeAttribute('aria-expanded');\n }\n }\n this.updateExpandedState();\n this.updateSelectedState();\n this.updateCheckboxState();\n this.updateLoadingState();\n this.updateChildrenDOM();\n }\n updateExpandedState() {\n if (!this.shadowRoot)\n return;\n const expander = this.shadowRoot.querySelector('.tree-item__expander');\n const children = this.shadowRoot.querySelector('.tree-item__children');\n const content = this.shadowRoot.querySelector('.tree-item__content');\n if (expander) {\n expander.classList.toggle('tree-item__expander--expanded', this.expanded);\n expander.classList.toggle('tree-item__expander--hidden', !this.hasChildren);\n }\n if (children) {\n children.classList.toggle('tree-item__children--expanded', this.expanded);\n }\n if (content && this.hasChildren) {\n content.setAttribute('aria-expanded', this.expanded.toString());\n }\n }\n updateSelectedState() {\n if (!this.shadowRoot)\n return;\n const content = this.shadowRoot.querySelector('.tree-item__content');\n if (content) {\n content.classList.toggle('tree-item__content--selected', this.selected);\n content.setAttribute('aria-selected', this.selected.toString());\n }\n }\n updateCheckboxState() {\n if (!this.shadowRoot)\n return;\n const checkboxContainer = this.shadowRoot.querySelector('.tree-item__checkbox');\n const checkbox = this.shadowRoot.querySelector('snice-checkbox');\n if (checkboxContainer) {\n checkboxContainer.style.display = this.showCheckbox ? '' : 'none';\n }\n if (checkbox) {\n // Use requestAnimationFrame to ensure checkbox component is ready\n requestAnimationFrame(() => {\n checkbox.checked = this.checked;\n checkbox.indeterminate = this.indeterminate;\n checkbox.disabled = this.node.disabled || false;\n });\n }\n }\n updateLoadingState() {\n if (!this.shadowRoot)\n return;\n const loadingContainer = this.shadowRoot.querySelector('.tree-item__loading');\n const expander = this.shadowRoot.querySelector('.tree-item__expander');\n if (loadingContainer && expander) {\n loadingContainer.style.display = this.loading ? '' : 'none';\n expander.style.display = this.loading ? 'none' : '';\n }\n }\n updateChildrenDOM() {\n if (!this.shadowRoot || !this.hasChildren)\n return;\n const childrenContainer = this.shadowRoot.querySelector('.tree-item__children');\n if (!childrenContainer)\n return;\n // Clear existing children\n childrenContainer.innerHTML = '';\n // Create child tree items\n this.node.children?.forEach(child => {\n const item = document.createElement('snice-tree-item');\n if (this.showCheckbox)\n item.setAttribute('show-checkbox', '');\n if (this.showIcon)\n item.setAttribute('show-icon', '');\n childrenContainer.appendChild(item);\n });\n // Update child nodes after they're added to DOM\n requestAnimationFrame(() => {\n this.updateChildTreeItems();\n });\n }\n handleContentClick(e) {\n if (this.node.disabled)\n return;\n // Toggle selection instead of always selecting\n if (this.selected) {\n this.deselect();\n }\n else {\n this.select();\n }\n }\n handleKeydown(e) {\n if (this.node.disabled)\n return;\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n // Toggle selection instead of always selecting\n if (this.selected) {\n this.deselect();\n }\n else {\n this.select();\n }\n }\n else if (e.key === 'ArrowRight') {\n e.preventDefault();\n if (this.hasChildren && !this.expanded) {\n this.expand();\n }\n }\n else if (e.key === 'ArrowLeft') {\n e.preventDefault();\n if (this.hasChildren && this.expanded) {\n this.collapse();\n }\n }\n }\n handleCheckboxChangeEvent(e) {\n e.stopPropagation();\n const newChecked = e.detail.checked;\n // Update local state\n this.checked = newChecked;\n // Update node state\n this.node.checked = newChecked;\n // Manually dispatch event to parent tree\n this.dispatchEvent(new CustomEvent('tree-item-check', {\n bubbles: true,\n composed: true,\n detail: {\n nodeId: this.node.id,\n checked: this.checked\n }\n }));\n }\n // Public API\n expand() {\n if (!this.hasChildren || this.expanded)\n return;\n // If lazy load, set loading state and dispatch event\n if (this.node.lazy && (!this.node.children || this.node.children.length === 0)) {\n this.loading = true;\n this.dispatchLazyLoadEvent();\n // Parent will set loading=false after loading children\n return;\n }\n this.expanded = true;\n this.dispatchToggleEvent();\n }\n finishLoading() {\n this.loading = false;\n this.expanded = true;\n this.dispatchToggleEvent();\n }\n collapse() {\n if (!this.hasChildren || !this.expanded)\n return;\n this.expanded = false;\n this.dispatchToggleEvent();\n }\n toggle() {\n if (this.expanded) {\n this.collapse();\n }\n else {\n this.expand();\n }\n }\n select() {\n if (this.node.disabled)\n return;\n this.selected = true;\n // Don't modify node.selected here - let the parent tree handle it\n this.updateSelectedState();\n this.dispatchSelectEvent();\n }\n deselect() {\n this.selected = false;\n // Don't modify node.selected here - let the parent tree handle it\n this.updateSelectedState();\n this.dispatchSelectEvent();\n }\n check() {\n if (this.node.disabled)\n return;\n this.checked = true;\n this.dispatchCheckEvent();\n }\n uncheck() {\n this.checked = false;\n this.dispatchCheckEvent();\n }\n constructor() {\n super(...arguments);\n this._node = (__runInitializers(this, _instanceExtraInitializers), { id: '', label: '' });\n this._level = 0;\n this._version = __runInitializers(this, __version_initializers, 0);\n this.expanded = (__runInitializers(this, __version_extraInitializers), __runInitializers(this, _expanded_initializers, false));\n this.selected = (__runInitializers(this, _expanded_extraInitializers), __runInitializers(this, _selected_initializers, false));\n this.checked = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _checked_initializers, false));\n this.showCheckbox = (__runInitializers(this, _checked_extraInitializers), __runInitializers(this, _showCheckbox_initializers, false));\n this.showIcon = (__runInitializers(this, _showCheckbox_extraInitializers), __runInitializers(this, _showIcon_initializers, true));\n this.loading = (__runInitializers(this, _showIcon_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.indeterminate = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _indeterminate_initializers, false));\n __runInitializers(this, _indeterminate_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceTreeItem };\n//# sourceMappingURL=snice-tree-item.js.map\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, queryAll, ready, watch, on, dispatch } from 'snice';\nimport './snice-tree-item.js';\nimport '../checkbox/snice-checkbox.js';\nimport '../spinner/snice-spinner.js';\n\nvar cssContent = \":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}\";\n\nlet SniceTree = (() => {\n let _classDecorators = [element('snice-tree')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _selectable_decorators;\n let _selectable_initializers = [];\n let _selectable_extraInitializers = [];\n let _selectionMode_decorators;\n let _selectionMode_initializers = [];\n let _selectionMode_extraInitializers = [];\n let _showCheckboxes_decorators;\n let _showCheckboxes_initializers = [];\n let _showCheckboxes_extraInitializers = [];\n let _showIcons_decorators;\n let _showIcons_initializers = [];\n let _showIcons_extraInitializers = [];\n let _expandOnClick_decorators;\n let _expandOnClick_initializers = [];\n let _expandOnClick_extraInitializers = [];\n let _nodes_decorators;\n let _nodes_initializers = [];\n let _nodes_extraInitializers = [];\n let _selectedNodes_decorators;\n let _selectedNodes_initializers = [];\n let _selectedNodes_extraInitializers = [];\n let _checkedNodes_decorators;\n let _checkedNodes_initializers = [];\n let _checkedNodes_extraInitializers = [];\n let _treeItems_decorators;\n let _treeItems_initializers = [];\n let _treeItems_extraInitializers = [];\n let _init_decorators;\n let _handleNodesChange_decorators;\n let _handleSelectedNodesChange_decorators;\n let _handleCheckedNodesChange_decorators;\n let _handleItemToggle_decorators;\n let _handleItemSelect_decorators;\n let _handleItemCheck_decorators;\n let _handleLazyLoad_decorators;\n let _dispatchExpandEvent_decorators;\n let _dispatchCollapseEvent_decorators;\n let _dispatchSelectEvent_decorators;\n let _dispatchCheckEvent_decorators;\n let _dispatchLazyLoadEvent_decorators;\n let _handleKeyDown_decorators;\n let _handleFocusIn_decorators;\n let _handleFocusOut_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.selectable = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _selectable_initializers, true));\n this.selectionMode = (__runInitializers(this, _selectable_extraInitializers), __runInitializers(this, _selectionMode_initializers, 'single'));\n this.showCheckboxes = (__runInitializers(this, _selectionMode_extraInitializers), __runInitializers(this, _showCheckboxes_initializers, false));\n this.showIcons = (__runInitializers(this, _showCheckboxes_extraInitializers), __runInitializers(this, _showIcons_initializers, true));\n this.expandOnClick = (__runInitializers(this, _showIcons_extraInitializers), __runInitializers(this, _expandOnClick_initializers, false));\n this.nodes = (__runInitializers(this, _expandOnClick_extraInitializers), __runInitializers(this, _nodes_initializers, []));\n this.selectedNodes = (__runInitializers(this, _nodes_extraInitializers), __runInitializers(this, _selectedNodes_initializers, []));\n this.checkedNodes = (__runInitializers(this, _selectedNodes_extraInitializers), __runInitializers(this, _checkedNodes_initializers, []));\n this.nodeMap = (__runInitializers(this, _checkedNodes_extraInitializers), new Map());\n this.treeItems = __runInitializers(this, _treeItems_initializers, void 0);\n this.lastFocusedItem = (__runInitializers(this, _treeItems_extraInitializers), null);\n this.loadingNodeIds = new Set();\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _selectable_decorators = [property({ type: Boolean })];\n _selectionMode_decorators = [property({})];\n _showCheckboxes_decorators = [property({ type: Boolean, attribute: 'show-checkboxes' })];\n _showIcons_decorators = [property({ type: Boolean, attribute: 'show-icons' })];\n _expandOnClick_decorators = [property({ type: Boolean, attribute: 'expand-on-click' })];\n _nodes_decorators = [property({ type: Array })];\n _selectedNodes_decorators = [property({ type: Array, attribute: 'selected-nodes' })];\n _checkedNodes_decorators = [property({ type: Array, attribute: 'checked-nodes' })];\n _treeItems_decorators = [queryAll('snice-tree-item')];\n _init_decorators = [ready()];\n _handleNodesChange_decorators = [watch('nodes')];\n _handleSelectedNodesChange_decorators = [watch('selectedNodes')];\n _handleCheckedNodesChange_decorators = [watch('checkedNodes')];\n _handleItemToggle_decorators = [on('tree-item-toggle')];\n _handleItemSelect_decorators = [on('tree-item-select')];\n _handleItemCheck_decorators = [on('tree-item-check')];\n _handleLazyLoad_decorators = [on('tree-item-lazy-load')];\n _dispatchExpandEvent_decorators = [dispatch('tree-node-expand', { bubbles: true, composed: true })];\n _dispatchCollapseEvent_decorators = [dispatch('tree-node-collapse', { bubbles: true, composed: true })];\n _dispatchSelectEvent_decorators = [dispatch('tree-node-select', { bubbles: true, composed: true })];\n _dispatchCheckEvent_decorators = [dispatch('tree-node-check', { bubbles: true, composed: true })];\n _dispatchLazyLoadEvent_decorators = [dispatch('tree-node-lazy-load', { bubbles: true, composed: true })];\n _handleKeyDown_decorators = [on('keydown')];\n _handleFocusIn_decorators = [on('focusin')];\n _handleFocusOut_decorators = [on('focusout')];\n __esDecorate(this, null, _init_decorators, { kind: \"method\", name: \"init\", static: false, private: false, access: { has: obj => \"init\" in obj, get: obj => obj.init }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleNodesChange_decorators, { kind: \"method\", name: \"handleNodesChange\", static: false, private: false, access: { has: obj => \"handleNodesChange\" in obj, get: obj => obj.handleNodesChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectedNodesChange_decorators, { kind: \"method\", name: \"handleSelectedNodesChange\", static: false, private: false, access: { has: obj => \"handleSelectedNodesChange\" in obj, get: obj => obj.handleSelectedNodesChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleCheckedNodesChange_decorators, { kind: \"method\", name: \"handleCheckedNodesChange\", static: false, private: false, access: { has: obj => \"handleCheckedNodesChange\" in obj, get: obj => obj.handleCheckedNodesChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleItemToggle_decorators, { kind: \"method\", name: \"handleItemToggle\", static: false, private: false, access: { has: obj => \"handleItemToggle\" in obj, get: obj => obj.handleItemToggle }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleItemSelect_decorators, { kind: \"method\", name: \"handleItemSelect\", static: false, private: false, access: { has: obj => \"handleItemSelect\" in obj, get: obj => obj.handleItemSelect }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleItemCheck_decorators, { kind: \"method\", name: \"handleItemCheck\", static: false, private: false, access: { has: obj => \"handleItemCheck\" in obj, get: obj => obj.handleItemCheck }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleLazyLoad_decorators, { kind: \"method\", name: \"handleLazyLoad\", static: false, private: false, access: { has: obj => \"handleLazyLoad\" in obj, get: obj => obj.handleLazyLoad }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchExpandEvent_decorators, { kind: \"method\", name: \"dispatchExpandEvent\", static: false, private: false, access: { has: obj => \"dispatchExpandEvent\" in obj, get: obj => obj.dispatchExpandEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCollapseEvent_decorators, { kind: \"method\", name: \"dispatchCollapseEvent\", static: false, private: false, access: { has: obj => \"dispatchCollapseEvent\" in obj, get: obj => obj.dispatchCollapseEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchSelectEvent_decorators, { kind: \"method\", name: \"dispatchSelectEvent\", static: false, private: false, access: { has: obj => \"dispatchSelectEvent\" in obj, get: obj => obj.dispatchSelectEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCheckEvent_decorators, { kind: \"method\", name: \"dispatchCheckEvent\", static: false, private: false, access: { has: obj => \"dispatchCheckEvent\" in obj, get: obj => obj.dispatchCheckEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchLazyLoadEvent_decorators, { kind: \"method\", name: \"dispatchLazyLoadEvent\", static: false, private: false, access: { has: obj => \"dispatchLazyLoadEvent\" in obj, get: obj => obj.dispatchLazyLoadEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleKeyDown_decorators, { kind: \"method\", name: \"handleKeyDown\", static: false, private: false, access: { has: obj => \"handleKeyDown\" in obj, get: obj => obj.handleKeyDown }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleFocusIn_decorators, { kind: \"method\", name: \"handleFocusIn\", static: false, private: false, access: { has: obj => \"handleFocusIn\" in obj, get: obj => obj.handleFocusIn }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleFocusOut_decorators, { kind: \"method\", name: \"handleFocusOut\", static: false, private: false, access: { has: obj => \"handleFocusOut\" in obj, get: obj => obj.handleFocusOut }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _selectable_decorators, { kind: \"field\", name: \"selectable\", static: false, private: false, access: { has: obj => \"selectable\" in obj, get: obj => obj.selectable, set: (obj, value) => { obj.selectable = value; } }, metadata: _metadata }, _selectable_initializers, _selectable_extraInitializers);\n __esDecorate(null, null, _selectionMode_decorators, { kind: \"field\", name: \"selectionMode\", static: false, private: false, access: { has: obj => \"selectionMode\" in obj, get: obj => obj.selectionMode, set: (obj, value) => { obj.selectionMode = value; } }, metadata: _metadata }, _selectionMode_initializers, _selectionMode_extraInitializers);\n __esDecorate(null, null, _showCheckboxes_decorators, { kind: \"field\", name: \"showCheckboxes\", static: false, private: false, access: { has: obj => \"showCheckboxes\" in obj, get: obj => obj.showCheckboxes, set: (obj, value) => { obj.showCheckboxes = value; } }, metadata: _metadata }, _showCheckboxes_initializers, _showCheckboxes_extraInitializers);\n __esDecorate(null, null, _showIcons_decorators, { kind: \"field\", name: \"showIcons\", static: false, private: false, access: { has: obj => \"showIcons\" in obj, get: obj => obj.showIcons, set: (obj, value) => { obj.showIcons = value; } }, metadata: _metadata }, _showIcons_initializers, _showIcons_extraInitializers);\n __esDecorate(null, null, _expandOnClick_decorators, { kind: \"field\", name: \"expandOnClick\", static: false, private: false, access: { has: obj => \"expandOnClick\" in obj, get: obj => obj.expandOnClick, set: (obj, value) => { obj.expandOnClick = value; } }, metadata: _metadata }, _expandOnClick_initializers, _expandOnClick_extraInitializers);\n __esDecorate(null, null, _nodes_decorators, { kind: \"field\", name: \"nodes\", static: false, private: false, access: { has: obj => \"nodes\" in obj, get: obj => obj.nodes, set: (obj, value) => { obj.nodes = value; } }, metadata: _metadata }, _nodes_initializers, _nodes_extraInitializers);\n __esDecorate(null, null, _selectedNodes_decorators, { kind: \"field\", name: \"selectedNodes\", static: false, private: false, access: { has: obj => \"selectedNodes\" in obj, get: obj => obj.selectedNodes, set: (obj, value) => { obj.selectedNodes = value; } }, metadata: _metadata }, _selectedNodes_initializers, _selectedNodes_extraInitializers);\n __esDecorate(null, null, _checkedNodes_decorators, { kind: \"field\", name: \"checkedNodes\", static: false, private: false, access: { has: obj => \"checkedNodes\" in obj, get: obj => obj.checkedNodes, set: (obj, value) => { obj.checkedNodes = value; } }, metadata: _metadata }, _checkedNodes_initializers, _checkedNodes_extraInitializers);\n __esDecorate(null, null, _treeItems_decorators, { kind: \"field\", name: \"treeItems\", static: false, private: false, access: { has: obj => \"treeItems\" in obj, get: obj => obj.treeItems, set: (obj, value) => { obj.treeItems = value; } }, metadata: _metadata }, _treeItems_initializers, _treeItems_extraInitializers);\n __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: \"class\", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);\n _classThis = _classDescriptor.value;\n if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });\n __runInitializers(_classThis, _classExtraInitializers);\n }\n // NOTE: We don't use @render() here because it causes full re-renders\n // which destroys the tree structure when properties change. Instead, we\n // manually create the initial DOM and update it as needed.\n init() {\n this.buildNodeMap();\n this.syncNodeStates();\n // Create initial DOM structure\n this.renderTemplate();\n // Set ARIA attributes\n this.setAttribute('role', 'tree');\n this.setAttribute('tabindex', '0');\n if (this.selectionMode === 'multiple') {\n this.setAttribute('aria-multiselectable', 'true');\n }\n // Set node data on tree items\n this.updateTreeItems();\n }\n renderTemplate() {\n if (!this.shadowRoot) {\n this.attachShadow({ mode: 'open' });\n }\n this.shadowRoot.innerHTML = `\n <style>${cssContent}</style>\n <div class=\"tree\" part=\"container\" role=\"tree\">\n <div class=\"tree__content\" part=\"content\"></div>\n </div>\n `;\n }\n handleNodesChange() {\n this.buildNodeMap();\n this.syncNodeStates();\n // Track which nodes are currently loading before clearing DOM\n this.trackLoadingNodes();\n this.updateTreeItemsDOM();\n // Restore loading state and finish any completed loads\n requestAnimationFrame(() => {\n this.restoreLoadingState();\n requestAnimationFrame(() => {\n this.finishLoadingNodes();\n });\n });\n }\n trackLoadingNodes() {\n const checkItem = (item) => {\n if (!item || !item.node)\n return;\n if (item.loading) {\n this.loadingNodeIds.add(item.node.id);\n }\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => checkItem(child));\n }\n };\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => checkItem(item));\n }\n restoreLoadingState() {\n const restoreItem = (item) => {\n if (!item || !item.node)\n return;\n // Restore loading state if this node was loading\n if (this.loadingNodeIds.has(item.node.id)) {\n item.loading = true;\n }\n // Recursively restore children\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => restoreItem(child));\n }\n };\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => restoreItem(item));\n }\n updateTreeItemsDOM() {\n if (!this.shadowRoot)\n return;\n const content = this.shadowRoot.querySelector('.tree__content');\n if (!content)\n return;\n // Clear existing items\n content.innerHTML = '';\n // Create tree items for root nodes\n this.nodes.forEach(node => {\n const item = document.createElement('snice-tree-item');\n if (this.showCheckboxes)\n item.setAttribute('show-checkbox', '');\n if (this.showIcons)\n item.setAttribute('show-icon', '');\n content.appendChild(item);\n });\n // Update items with node data\n this.updateTreeItems();\n }\n updateTreeItems() {\n // Wait for next frame to ensure elements are rendered\n requestAnimationFrame(() => {\n if (!this.treeItems || this.treeItems.length === 0) {\n // Fallback to manual query if @queryAll hasn't populated yet\n const items = this.shadowRoot?.querySelectorAll(':scope > .tree > .tree__content > snice-tree-item');\n if (items) {\n items.forEach((item, index) => {\n if (this.nodes[index] && item.setNode) {\n item.setNode(this.nodes[index], 0);\n }\n });\n }\n }\n else {\n this.treeItems.forEach((item, index) => {\n if (this.nodes[index] && item.setNode) {\n item.setNode(this.nodes[index], 0);\n }\n });\n }\n });\n }\n handleSelectedNodesChange() {\n this.syncNodeStates();\n // Update tree item selected states\n requestAnimationFrame(() => {\n this.updateSelectedStatesOnly();\n });\n }\n handleCheckedNodesChange() {\n this.syncNodeStates();\n // Update tree item checkbox states\n requestAnimationFrame(() => {\n this.updateCheckboxStatesOnly();\n });\n }\n buildNodeMap() {\n this.nodeMap.clear();\n const addToMap = (nodes) => {\n for (const node of nodes) {\n this.nodeMap.set(node.id, node);\n if (node.children) {\n addToMap(node.children);\n }\n }\n };\n addToMap(this.nodes);\n }\n syncNodeStates() {\n // Update selected state\n for (const [id, node] of this.nodeMap.entries()) {\n node.selected = this.selectedNodes.includes(id);\n node.checked = this.checkedNodes.includes(id);\n }\n }\n handleItemToggle(e) {\n const event = e;\n const { nodeId, expanded } = event.detail;\n const node = this.nodeMap.get(nodeId);\n if (!node)\n return;\n node.expanded = expanded;\n if (expanded) {\n this.dispatchExpandEvent(nodeId, node);\n }\n else {\n this.dispatchCollapseEvent(nodeId, node);\n }\n }\n handleItemSelect(e) {\n const event = e;\n const { nodeId, selected } = event.detail;\n const node = this.nodeMap.get(nodeId);\n if (!node)\n return;\n // Check if selection is disabled\n if (!this.selectable || this.selectionMode === 'none')\n return;\n if (this.selectionMode === 'single') {\n // Deselect all nodes first\n this.deselectAllNodes();\n // Select only the clicked node if selecting\n if (selected) {\n node.selected = true;\n this.selectedNodes = [nodeId];\n }\n else {\n node.selected = false;\n this.selectedNodes = [];\n }\n // Update DOM to reflect changes\n this.updateSelectedStatesOnly();\n }\n else {\n // Multiple selection\n if (selected) {\n node.selected = true;\n if (!this.selectedNodes.includes(nodeId)) {\n this.selectedNodes = [...this.selectedNodes, nodeId];\n }\n }\n else {\n node.selected = false;\n this.selectedNodes = this.selectedNodes.filter(id => id !== nodeId);\n }\n // Update DOM\n this.updateSelectedStatesOnly();\n }\n this.dispatchSelectEvent(nodeId, node);\n }\n deselectAllNodes() {\n // Recursively deselect all nodes\n const deselect = (nodes) => {\n for (const node of nodes) {\n node.selected = false;\n if (node.children) {\n deselect(node.children);\n }\n }\n };\n deselect(this.nodes);\n }\n handleItemCheck(e) {\n const event = e;\n const { nodeId, checked } = event.detail;\n const node = this.nodeMap.get(nodeId);\n if (!node)\n return;\n // Update checked state with cascading\n this.syncCheckboxes(node, checked);\n this.dispatchCheckEvent(nodeId, node, checked);\n }\n syncCheckboxes(changedNode, checked) {\n // Update descendants\n const updateDescendants = (node, isChecked) => {\n node.checked = isChecked;\n if (isChecked && !this.checkedNodes.includes(node.id)) {\n this.checkedNodes = [...this.checkedNodes, node.id];\n }\n else if (!isChecked) {\n this.checkedNodes = this.checkedNodes.filter(id => id !== node.id);\n }\n if (node.children) {\n for (const child of node.children) {\n if (!child.disabled) {\n updateDescendants(child, isChecked);\n }\n }\n }\n };\n // Update ancestors with indeterminate state\n const updateAncestors = (node) => {\n const parent = this.findParentNode(node.id);\n if (!parent)\n return;\n const children = parent.children || [];\n const checkedChildren = children.filter(c => c.checked && !c.disabled);\n const uncheckedChildren = children.filter(c => !c.checked && !c.disabled && !c.indeterminate);\n const allChecked = checkedChildren.length === children.filter(c => !c.disabled).length;\n const allUnchecked = uncheckedChildren.length === children.filter(c => !c.disabled).length;\n parent.checked = allChecked;\n parent.indeterminate = !allChecked && !allUnchecked;\n if (parent.checked && !this.checkedNodes.includes(parent.id)) {\n this.checkedNodes = [...this.checkedNodes, parent.id];\n }\n else if (!parent.checked && !parent.indeterminate) {\n this.checkedNodes = this.checkedNodes.filter(id => id !== parent.id);\n }\n updateAncestors(parent);\n };\n updateDescendants(changedNode, checked);\n updateAncestors(changedNode);\n // Update checkbox states without re-rendering\n this.updateCheckboxStatesOnly();\n }\n updateCheckboxStatesOnly() {\n // Recursively update all tree-item checkbox states without re-rendering\n const updateItemCheckboxes = (item) => {\n if (!item || !item.node)\n return;\n const node = this.nodeMap.get(item.node.id);\n if (!node)\n return;\n // Update the item's properties directly\n if (item.checked !== node.checked) {\n item.checked = node.checked;\n }\n if (item.indeterminate !== node.indeterminate) {\n item.indeterminate = node.indeterminate;\n }\n // Recursively update children\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => updateItemCheckboxes(child));\n }\n };\n // Start with root items\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => updateItemCheckboxes(item));\n }\n updateSelectedStatesOnly() {\n // Recursively update all tree-item selected states without re-rendering\n const updateItemSelection = (item) => {\n if (!item || !item.node)\n return;\n const node = this.nodeMap.get(item.node.id);\n if (!node)\n return;\n // Always update the item's selected property and DOM\n item.selected = node.selected;\n // Force update the DOM class\n if (item.shadowRoot) {\n const content = item.shadowRoot.querySelector('.tree-item__content');\n if (content) {\n if (node.selected) {\n content.classList.add('tree-item__content--selected');\n }\n else {\n content.classList.remove('tree-item__content--selected');\n }\n content.setAttribute('aria-selected', (node.selected ?? false).toString());\n }\n }\n // Recursively update children\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => updateItemSelection(child));\n }\n };\n // Start with root items\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => updateItemSelection(item));\n }\n finishLoadingNodes() {\n // Find any tree items with loading state and finish loading if they now have children\n const finishItem = (item) => {\n if (!item || !item.node)\n return;\n // If this item is loading and now has children, finish loading\n if (item.loading && item.node.children && item.node.children.length > 0) {\n item.finishLoading();\n // Remove from loading set\n this.loadingNodeIds.delete(item.node.id);\n }\n // Check children\n if (item.shadowRoot) {\n const childItems = item.shadowRoot.querySelectorAll('.tree-item__children > snice-tree-item');\n childItems.forEach((child) => finishItem(child));\n }\n };\n // Start with root items\n const rootItems = this.shadowRoot?.querySelectorAll('.tree__content > snice-tree-item');\n rootItems?.forEach((item) => finishItem(item));\n }\n findParentNode(nodeId) {\n const findParent = (nodes, targetId) => {\n for (const node of nodes) {\n if (node.children) {\n if (node.children.some(child => child.id === targetId)) {\n return node;\n }\n const found = findParent(node.children, targetId);\n if (found)\n return found;\n }\n }\n return null;\n };\n return findParent(this.nodes, nodeId);\n }\n handleLazyLoad(e) {\n const event = e;\n const { nodeId, node } = event.detail;\n this.dispatchLazyLoadEvent(nodeId, node);\n }\n dispatchExpandEvent(nodeId, node) {\n return { nodeId, node, tree: this };\n }\n dispatchCollapseEvent(nodeId, node) {\n return { nodeId, node, tree: this };\n }\n dispatchSelectEvent(nodeId, node) {\n return { nodeId, node, selectedNodes: this.getSelectedNodes(), tree: this };\n }\n dispatchCheckEvent(nodeId, node, checked) {\n return { nodeId, node, checked, checkedNodes: this.getCheckedNodes(), tree: this };\n }\n dispatchLazyLoadEvent(nodeId, node) {\n return { nodeId, node, tree: this };\n }\n // Keyboard navigation\n handleKeyDown(event) {\n if (!['ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft', 'Home', 'End', 'Enter', ' '].includes(event.key)) {\n return;\n }\n // Ignore when focus is in a text field\n const target = event.target;\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA') {\n return;\n }\n const items = this.getFocusableItems();\n if (items.length === 0)\n return;\n event.preventDefault();\n const activeIndex = items.findIndex(item => item.matches(':focus'));\n const activeItem = items[activeIndex];\n const focusItemAt = (index) => {\n const clampedIndex = Math.max(0, Math.min(index, items.length - 1));\n items[clampedIndex]?.focus();\n };\n if (event.key === 'ArrowDown') {\n focusItemAt(activeIndex + 1);\n }\n else if (event.key === 'ArrowUp') {\n focusItemAt(activeIndex - 1);\n }\n else if (event.key === 'ArrowRight') {\n if (activeItem && activeItem.expand) {\n activeItem.expand();\n }\n }\n else if (event.key === 'ArrowLeft') {\n if (activeItem && activeItem.collapse) {\n activeItem.collapse();\n }\n }\n else if (event.key === 'Home') {\n focusItemAt(0);\n }\n else if (event.key === 'End') {\n focusItemAt(items.length - 1);\n }\n else if (event.key === 'Enter' || event.key === ' ') {\n if (activeItem && activeItem.select) {\n activeItem.select();\n }\n }\n }\n handleFocusIn(event) {\n const target = event.target;\n // If tree gets focus, move to last focused item or first item\n if (target === this) {\n const items = this.getFocusableItems();\n const itemToFocus = this.lastFocusedItem || items[0];\n itemToFocus?.focus();\n return;\n }\n // Update roving tabindex\n if (target.tagName === 'SNICE-TREE-ITEM') {\n if (this.lastFocusedItem) {\n this.lastFocusedItem.setAttribute('tabindex', '-1');\n }\n this.lastFocusedItem = target;\n this.setAttribute('tabindex', '-1');\n target.setAttribute('tabindex', '0');\n }\n }\n handleFocusOut(event) {\n const relatedTarget = event.relatedTarget;\n if (!relatedTarget || !this.contains(relatedTarget)) {\n this.setAttribute('tabindex', '0');\n }\n }\n getFocusableItems() {\n const allItems = Array.from(this.shadowRoot?.querySelectorAll('snice-tree-item') || []);\n const collapsedItems = new Set();\n return allItems.filter(item => {\n const disabled = item.node?.disabled;\n if (disabled)\n return false;\n // Check if parent is collapsed\n let parent = item.parentElement;\n while (parent && parent !== this) {\n if (parent.tagName === 'SNICE-TREE-ITEM') {\n const parentExpanded = parent.expanded;\n if (!parentExpanded) {\n collapsedItems.add(item);\n return false;\n }\n }\n parent = parent.parentElement;\n }\n return !collapsedItems.has(item);\n });\n }\n // Public API\n expandNode(id) {\n const node = this.nodeMap.get(id);\n if (!node || !node.children)\n return;\n node.expanded = true;\n this.nodes = [...this.nodes];\n this.dispatchExpandEvent(id, node);\n }\n collapseNode(id) {\n const node = this.nodeMap.get(id);\n if (!node || !node.children)\n return;\n node.expanded = false;\n this.nodes = [...this.nodes];\n this.dispatchCollapseEvent(id, node);\n }\n toggleNode(id) {\n const node = this.nodeMap.get(id);\n if (!node || !node.children)\n return;\n if (node.expanded) {\n this.collapseNode(id);\n }\n else {\n this.expandNode(id);\n }\n }\n expandAll() {\n const expandRecursive = (nodes) => {\n for (const node of nodes) {\n if (node.children && node.children.length > 0) {\n node.expanded = true;\n expandRecursive(node.children);\n }\n }\n };\n expandRecursive(this.nodes);\n this.nodes = [...this.nodes];\n }\n collapseAll() {\n const collapseRecursive = (nodes) => {\n for (const node of nodes) {\n node.expanded = false;\n if (node.children) {\n collapseRecursive(node.children);\n }\n }\n };\n collapseRecursive(this.nodes);\n this.nodes = [...this.nodes];\n }\n selectNode(id) {\n if (!this.selectable || this.selectionMode === 'none')\n return;\n const node = this.nodeMap.get(id);\n if (!node)\n return;\n if (this.selectionMode === 'single') {\n this.selectedNodes = [id];\n }\n else {\n if (!this.selectedNodes.includes(id)) {\n this.selectedNodes = [...this.selectedNodes, id];\n }\n }\n this.dispatchSelectEvent(id, node);\n }\n deselectNode(id) {\n const node = this.nodeMap.get(id);\n if (!node)\n return;\n this.selectedNodes = this.selectedNodes.filter(nodeId => nodeId !== id);\n this.dispatchSelectEvent(id, node);\n }\n toggleSelection(id) {\n if (this.selectedNodes.includes(id)) {\n this.deselectNode(id);\n }\n else {\n this.selectNode(id);\n }\n }\n checkNode(id) {\n const node = this.nodeMap.get(id);\n if (!node)\n return;\n if (!this.checkedNodes.includes(id)) {\n this.checkedNodes = [...this.checkedNodes, id];\n }\n this.dispatchCheckEvent(id, node, true);\n }\n uncheckNode(id) {\n const node = this.nodeMap.get(id);\n if (!node)\n return;\n this.checkedNodes = this.checkedNodes.filter(nodeId => nodeId !== id);\n this.dispatchCheckEvent(id, node, false);\n }\n toggleCheck(id) {\n if (this.checkedNodes.includes(id)) {\n this.uncheckNode(id);\n }\n else {\n this.checkNode(id);\n }\n }\n getNode(id) {\n return this.nodeMap.get(id);\n }\n getSelectedNodes() {\n return this.selectedNodes.map(id => this.nodeMap.get(id)).filter(Boolean);\n }\n getCheckedNodes() {\n return this.checkedNodes.map(id => this.nodeMap.get(id)).filter(Boolean);\n }\n updateNode(id, updates) {\n // Create a new nodes array with the updated node\n const updateInTree = (nodes) => {\n return nodes.map(node => {\n if (node.id === id) {\n // Found the node - create a new node with updates\n return { ...node, ...updates };\n }\n if (node.children) {\n // Recursively update children\n const newChildren = updateInTree(node.children);\n if (newChildren !== node.children) {\n // Children were updated, create new node\n return { ...node, children: newChildren };\n }\n }\n return node;\n });\n };\n // Update and trigger re-render\n this.nodes = updateInTree(this.nodes);\n }\n });\n return _classThis;\n})();\n\nexport { SniceTree };\n//# sourceMappingURL=snice-tree.js.map\n"],"names":["__esDecorate","ctor","descriptorIn","decorators","contextIn","initializers","extraInitializers","accept","f","TypeError","_","kind","key","target","prototype","descriptor","Object","getOwnPropertyDescriptor","name","done","i","length","context","p","access","addInitializer","push","result","get","set","init","unshift","defineProperty","__runInitializers","thisArg","value","useValue","arguments","call","SuppressedError","_classDescriptor","_classThis","_checked_decorators","_indeterminate_decorators","_disabled_decorators","_loading_decorators","_required_decorators","_invalid_decorators","_size_decorators","_name_decorators","_value_decorators","_label_decorators","_input_decorators","_checkbox_decorators","_labelElement_decorators","_wrapper_decorators","_handleCheckboxClick_decorators","_render_decorators","_handleCheckedChange_decorators","_handleIndeterminateChange_decorators","_styles_decorators","_classDecorators","element","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_checked_initializers","_checked_extraInitializers","_indeterminate_initializers","_indeterminate_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_loading_initializers","_loading_extraInitializers","_required_initializers","_required_extraInitializers","_invalid_initializers","_invalid_extraInitializers","_size_initializers","_size_extraInitializers","_name_initializers","_name_extraInitializers","_value_initializers","_value_extraInitializers","_label_initializers","_label_extraInitializers","_input_initializers","_input_extraInitializers","_checkbox_initializers","_checkbox_extraInitializers","_labelElement_initializers","_labelElement_extraInitializers","_wrapper_initializers","_wrapper_extraInitializers","this","_metadata","Symbol","metadata","create","property","type","Boolean","query","on","render","watch","styles","static","private","has","obj","handleCheckboxClick","handleCheckedChange","handleIndeterminateChange","checked","indeterminate","disabled","loading","required","invalid","size","label","input","checkbox","labelElement","wrapper","enumerable","configurable","writable","toggle","wrapperClasses","checkboxClasses","labelClasses","html","e","handleInternalChange","event","dispatchEvent","CustomEvent","bubbles","composed","detail","css","focus","blur","click","setIndeterminate","constructor","super","_color_decorators","_thickness_decorators","_color_initializers","_color_extraInitializers","_thickness_initializers","_thickness_extraInitializers","Number","color","thickness","getSizeValue","radius","circumference","Math","PI","cx","cy","viewBox","__version_decorators","_expanded_decorators","_selected_decorators","_showCheckbox_decorators","_showIcon_decorators","_handleExpandedChange_decorators","_handleSelectedChange_decorators","_handleLoadingChange_decorators","_dispatchToggleEvent_decorators","_dispatchSelectEvent_decorators","_dispatchCheckEvent_decorators","_dispatchLazyLoadEvent_decorators","_init_decorators","__version_initializers","__version_extraInitializers","_expanded_initializers","_expanded_extraInitializers","_selected_initializers","_selected_extraInitializers","_showCheckbox_initializers","_showCheckbox_extraInitializers","_showIcon_initializers","_showIcon_extraInitializers","attribute","dispatch","ready","handleExpandedChange","handleSelectedChange","handleLoadingChange","dispatchToggleEvent","dispatchSelectEvent","dispatchCheckEvent","dispatchLazyLoadEvent","_version","expanded","selected","showCheckbox","showIcon","node","_node","level","_level","hasChildren","children","lazy","setNode","undefined","updateDOM","requestAnimationFrame","updateChildTreeItems","shadowRoot","updateExpandedState","updateSelectedState","updateCheckboxState","updateLoadingState","childItems","querySelectorAll","forEach","child","index","nodeId","id","renderTemplate","template","innerHTML","attachShadow","mode","content","querySelector","expander","addEventListener","handleContentClick","handleKeydown","stopPropagation","handleCheckboxChangeEvent","container","icon","style","setProperty","toString","textContent","iconImage","display","setAttribute","removeAttribute","updateChildrenDOM","classList","checkboxContainer","loadingContainer","childrenContainer","item","document","createElement","appendChild","deselect","select","preventDefault","expand","collapse","newChecked","finishLoading","check","uncheck","_selectable_decorators","_selectionMode_decorators","_showCheckboxes_decorators","_showIcons_decorators","_expandOnClick_decorators","_nodes_decorators","_selectedNodes_decorators","_checkedNodes_decorators","_treeItems_decorators","_handleNodesChange_decorators","_handleSelectedNodesChange_decorators","_handleCheckedNodesChange_decorators","_handleItemToggle_decorators","_handleItemSelect_decorators","_handleItemCheck_decorators","_handleLazyLoad_decorators","_dispatchExpandEvent_decorators","_dispatchCollapseEvent_decorators","_handleKeyDown_decorators","_handleFocusIn_decorators","_handleFocusOut_decorators","_selectable_initializers","_selectable_extraInitializers","_selectionMode_initializers","_selectionMode_extraInitializers","_showCheckboxes_initializers","_showCheckboxes_extraInitializers","_showIcons_initializers","_showIcons_extraInitializers","_expandOnClick_initializers","_expandOnClick_extraInitializers","_nodes_initializers","_nodes_extraInitializers","_selectedNodes_initializers","_selectedNodes_extraInitializers","_checkedNodes_initializers","_checkedNodes_extraInitializers","_treeItems_initializers","_treeItems_extraInitializers","selectable","selectionMode","showCheckboxes","showIcons","expandOnClick","nodes","selectedNodes","checkedNodes","nodeMap","Map","treeItems","lastFocusedItem","loadingNodeIds","Set","Array","queryAll","handleNodesChange","handleSelectedNodesChange","handleCheckedNodesChange","handleItemToggle","handleItemSelect","handleItemCheck","handleLazyLoad","dispatchExpandEvent","dispatchCollapseEvent","handleKeyDown","handleFocusIn","handleFocusOut","buildNodeMap","syncNodeStates","updateTreeItems","trackLoadingNodes","updateTreeItemsDOM","restoreLoadingState","finishLoadingNodes","checkItem","add","rootItems","restoreItem","items","updateSelectedStatesOnly","updateCheckboxStatesOnly","clear","addToMap","entries","includes","deselectAllNodes","filter","syncCheckboxes","changedNode","updateDescendants","isChecked","updateAncestors","parent","findParentNode","checkedChildren","c","uncheckedChildren","allChecked","allUnchecked","updateItemCheckboxes","updateItemSelection","remove","finishItem","delete","findParent","targetId","some","found","tree","getSelectedNodes","getCheckedNodes","tagName","getFocusableItems","activeIndex","findIndex","matches","activeItem","focusItemAt","clampedIndex","max","min","itemToFocus","relatedTarget","contains","allItems","from","collapsedItems","parentElement","expandNode","collapseNode","toggleNode","expandAll","expandRecursive","collapseAll","collapseRecursive","selectNode","deselectNode","toggleSelection","checkNode","uncheckNode","toggleCheck","getNode","map","updateNode","updates","updateInTree","newChildren"],"mappings":"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","x_google_ignoreList":[0]}