snice 4.14.0 → 4.16.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 (384) hide show
  1. package/adapters/react/doc.d.ts +1 -0
  2. package/adapters/react/doc.d.ts.map +1 -1
  3. package/adapters/react/doc.js +1 -1
  4. package/adapters/react/doc.js.map +1 -1
  5. package/adapters/react/doc.tsx +2 -1
  6. package/adapters/react/input.d.ts +3 -0
  7. package/adapters/react/input.d.ts.map +1 -1
  8. package/adapters/react/input.js +1 -1
  9. package/adapters/react/input.js.map +1 -1
  10. package/adapters/react/input.tsx +4 -1
  11. package/adapters/react/modal.d.ts +2 -0
  12. package/adapters/react/modal.d.ts.map +1 -1
  13. package/adapters/react/modal.js +1 -1
  14. package/adapters/react/modal.js.map +1 -1
  15. package/adapters/react/modal.tsx +3 -1
  16. package/dist/cdn/accordion/snice-accordion.js +1 -1
  17. package/dist/cdn/accordion/snice-accordion.min.js +1 -1
  18. package/dist/cdn/alert/snice-alert.js +1 -1
  19. package/dist/cdn/alert/snice-alert.min.js +1 -1
  20. package/dist/cdn/app-tiles/snice-app-tiles.js +1 -1
  21. package/dist/cdn/app-tiles/snice-app-tiles.min.js +1 -1
  22. package/dist/cdn/audio-recorder/snice-audio-recorder.js +1 -1
  23. package/dist/cdn/audio-recorder/snice-audio-recorder.min.js +1 -1
  24. package/dist/cdn/avatar/snice-avatar.js +1 -1
  25. package/dist/cdn/avatar/snice-avatar.min.js +1 -1
  26. package/dist/cdn/badge/snice-badge.js +1 -1
  27. package/dist/cdn/badge/snice-badge.min.js +1 -1
  28. package/dist/cdn/banner/snice-banner.js +1 -1
  29. package/dist/cdn/banner/snice-banner.min.js +1 -1
  30. package/dist/cdn/book/README.md +2 -2
  31. package/dist/cdn/book/snice-book.js +29 -8
  32. package/dist/cdn/book/snice-book.js.map +1 -1
  33. package/dist/cdn/book/snice-book.min.js +3 -3
  34. package/dist/cdn/book/snice-book.min.js.map +1 -1
  35. package/dist/cdn/breadcrumbs/snice-breadcrumbs.js +1 -1
  36. package/dist/cdn/breadcrumbs/snice-breadcrumbs.min.js +1 -1
  37. package/dist/cdn/button/snice-button.js +1 -1
  38. package/dist/cdn/button/snice-button.min.js +1 -1
  39. package/dist/cdn/calendar/snice-calendar.js +1 -1
  40. package/dist/cdn/calendar/snice-calendar.min.js +1 -1
  41. package/dist/cdn/camera/snice-camera.js +1 -1
  42. package/dist/cdn/camera/snice-camera.min.js +1 -1
  43. package/dist/cdn/camera-annotate/snice-camera-annotate.js +1 -1
  44. package/dist/cdn/camera-annotate/snice-camera-annotate.min.js +1 -1
  45. package/dist/cdn/candlestick/snice-candlestick.js +1 -1
  46. package/dist/cdn/candlestick/snice-candlestick.min.js +1 -1
  47. package/dist/cdn/card/snice-card.js +1 -1
  48. package/dist/cdn/card/snice-card.min.js +1 -1
  49. package/dist/cdn/carousel/snice-carousel.js +1 -1
  50. package/dist/cdn/carousel/snice-carousel.min.js +1 -1
  51. package/dist/cdn/chart/snice-chart.js +1 -1
  52. package/dist/cdn/chart/snice-chart.min.js +1 -1
  53. package/dist/cdn/chat/snice-chat.js +1 -1
  54. package/dist/cdn/chat/snice-chat.min.js +1 -1
  55. package/dist/cdn/checkbox/snice-checkbox.js +1 -1
  56. package/dist/cdn/checkbox/snice-checkbox.min.js +1 -1
  57. package/dist/cdn/chip/snice-chip.js +1 -1
  58. package/dist/cdn/chip/snice-chip.min.js +1 -1
  59. package/dist/cdn/code-block/snice-code-block.js +4 -4
  60. package/dist/cdn/code-block/snice-code-block.js.map +1 -1
  61. package/dist/cdn/code-block/snice-code-block.min.js +2 -2
  62. package/dist/cdn/code-block/snice-code-block.min.js.map +1 -1
  63. package/dist/cdn/color-display/snice-color-display.js +1 -1
  64. package/dist/cdn/color-display/snice-color-display.min.js +1 -1
  65. package/dist/cdn/color-picker/snice-color-picker.js +1 -1
  66. package/dist/cdn/color-picker/snice-color-picker.min.js +1 -1
  67. package/dist/cdn/command-palette/snice-command-palette.js +1 -1
  68. package/dist/cdn/command-palette/snice-command-palette.min.js +1 -1
  69. package/dist/cdn/comments/snice-comments.js +1 -1
  70. package/dist/cdn/comments/snice-comments.min.js +1 -1
  71. package/dist/cdn/countdown/snice-countdown.js +1 -1
  72. package/dist/cdn/countdown/snice-countdown.min.js +1 -1
  73. package/dist/cdn/cropper/snice-cropper.js +1 -1
  74. package/dist/cdn/cropper/snice-cropper.min.js +1 -1
  75. package/dist/cdn/date-picker/README.md +1 -1
  76. package/dist/cdn/date-picker/snice-date-picker.js +49 -39
  77. package/dist/cdn/date-picker/snice-date-picker.js.map +1 -1
  78. package/dist/cdn/date-picker/snice-date-picker.min.js +4 -4
  79. package/dist/cdn/date-picker/snice-date-picker.min.js.map +1 -1
  80. package/dist/cdn/diff/snice-diff.js +1 -1
  81. package/dist/cdn/diff/snice-diff.min.js +1 -1
  82. package/dist/cdn/divider/snice-divider.js +1 -1
  83. package/dist/cdn/divider/snice-divider.min.js +1 -1
  84. package/dist/cdn/doc/README.md +2 -2
  85. package/dist/cdn/doc/snice-doc.js +221 -35
  86. package/dist/cdn/doc/snice-doc.js.map +1 -1
  87. package/dist/cdn/doc/snice-doc.min.js +2 -2
  88. package/dist/cdn/doc/snice-doc.min.js.map +1 -1
  89. package/dist/cdn/draw/snice-draw.js +1 -1
  90. package/dist/cdn/draw/snice-draw.min.js +1 -1
  91. package/dist/cdn/drawer/snice-drawer.js +1 -1
  92. package/dist/cdn/drawer/snice-drawer.min.js +1 -1
  93. package/dist/cdn/empty-state/snice-empty-state.js +1 -1
  94. package/dist/cdn/empty-state/snice-empty-state.min.js +1 -1
  95. package/dist/cdn/file-gallery/snice-file-gallery.js +1 -1
  96. package/dist/cdn/file-gallery/snice-file-gallery.min.js +1 -1
  97. package/dist/cdn/file-upload/snice-file-upload.js +1 -1
  98. package/dist/cdn/file-upload/snice-file-upload.min.js +1 -1
  99. package/dist/cdn/flip-card/snice-flip-card.js +1 -1
  100. package/dist/cdn/flip-card/snice-flip-card.min.js +1 -1
  101. package/dist/cdn/flow/snice-flow.js +1 -1
  102. package/dist/cdn/flow/snice-flow.min.js +1 -1
  103. package/dist/cdn/funnel/snice-funnel.js +1 -1
  104. package/dist/cdn/funnel/snice-funnel.min.js +1 -1
  105. package/dist/cdn/gantt/snice-gantt.js +1 -1
  106. package/dist/cdn/gantt/snice-gantt.min.js +1 -1
  107. package/dist/cdn/gauge/snice-gauge.js +1 -1
  108. package/dist/cdn/gauge/snice-gauge.min.js +1 -1
  109. package/dist/cdn/heatmap/snice-heatmap.js +1 -1
  110. package/dist/cdn/heatmap/snice-heatmap.min.js +1 -1
  111. package/dist/cdn/image/snice-image.js +1 -1
  112. package/dist/cdn/image/snice-image.min.js +1 -1
  113. package/dist/cdn/input/README.md +2 -2
  114. package/dist/cdn/input/snice-input.js +21 -3
  115. package/dist/cdn/input/snice-input.js.map +1 -1
  116. package/dist/cdn/input/snice-input.min.js +3 -3
  117. package/dist/cdn/input/snice-input.min.js.map +1 -1
  118. package/dist/cdn/kanban/snice-kanban.js +1 -1
  119. package/dist/cdn/kanban/snice-kanban.min.js +1 -1
  120. package/dist/cdn/kpi/snice-kpi.js +1 -1
  121. package/dist/cdn/kpi/snice-kpi.min.js +1 -1
  122. package/dist/cdn/layout/snice-layout.js +1 -1
  123. package/dist/cdn/layout/snice-layout.min.js +1 -1
  124. package/dist/cdn/link/snice-link.js +1 -1
  125. package/dist/cdn/link/snice-link.min.js +1 -1
  126. package/dist/cdn/link-preview/snice-link-preview.js +2 -2
  127. package/dist/cdn/link-preview/snice-link-preview.js.map +1 -1
  128. package/dist/cdn/link-preview/snice-link-preview.min.js +2 -2
  129. package/dist/cdn/link-preview/snice-link-preview.min.js.map +1 -1
  130. package/dist/cdn/list/snice-list.js +4 -4
  131. package/dist/cdn/list/snice-list.js.map +1 -1
  132. package/dist/cdn/list/snice-list.min.js +2 -2
  133. package/dist/cdn/list/snice-list.min.js.map +1 -1
  134. package/dist/cdn/location/snice-location.js +1 -1
  135. package/dist/cdn/location/snice-location.min.js +1 -1
  136. package/dist/cdn/login/snice-login.js +1 -1
  137. package/dist/cdn/login/snice-login.min.js +1 -1
  138. package/dist/cdn/map/snice-map.js +1 -1
  139. package/dist/cdn/map/snice-map.min.js +1 -1
  140. package/dist/cdn/markdown/snice-markdown.js +1 -1
  141. package/dist/cdn/markdown/snice-markdown.min.js +1 -1
  142. package/dist/cdn/masonry/snice-masonry.js +1 -1
  143. package/dist/cdn/masonry/snice-masonry.min.js +1 -1
  144. package/dist/cdn/menu/snice-menu.js +2 -2
  145. package/dist/cdn/menu/snice-menu.js.map +1 -1
  146. package/dist/cdn/menu/snice-menu.min.js +2 -2
  147. package/dist/cdn/menu/snice-menu.min.js.map +1 -1
  148. package/dist/cdn/modal/README.md +2 -2
  149. package/dist/cdn/modal/snice-modal.js +34 -18
  150. package/dist/cdn/modal/snice-modal.js.map +1 -1
  151. package/dist/cdn/modal/snice-modal.min.js +24 -20
  152. package/dist/cdn/modal/snice-modal.min.js.map +1 -1
  153. package/dist/cdn/music-player/README.md +2 -2
  154. package/dist/cdn/music-player/snice-music-player.js +8 -1
  155. package/dist/cdn/music-player/snice-music-player.js.map +1 -1
  156. package/dist/cdn/music-player/snice-music-player.min.js +3 -3
  157. package/dist/cdn/music-player/snice-music-player.min.js.map +1 -1
  158. package/dist/cdn/nav/snice-nav.js +1 -1
  159. package/dist/cdn/nav/snice-nav.min.js +1 -1
  160. package/dist/cdn/network-graph/snice-network-graph.js +1 -1
  161. package/dist/cdn/network-graph/snice-network-graph.min.js +1 -1
  162. package/dist/cdn/notification-center/snice-notification-center.js +1 -1
  163. package/dist/cdn/notification-center/snice-notification-center.min.js +1 -1
  164. package/dist/cdn/org-chart/snice-org-chart.js +1 -1
  165. package/dist/cdn/org-chart/snice-org-chart.min.js +1 -1
  166. package/dist/cdn/pagination/snice-pagination.js +1 -1
  167. package/dist/cdn/pagination/snice-pagination.min.js +1 -1
  168. package/dist/cdn/paint/snice-paint.js +1 -1
  169. package/dist/cdn/paint/snice-paint.min.js +1 -1
  170. package/dist/cdn/pdf-viewer/snice-pdf-viewer.js +1 -1
  171. package/dist/cdn/pdf-viewer/snice-pdf-viewer.min.js +1 -1
  172. package/dist/cdn/podcast-player/snice-podcast-player.js +1 -1
  173. package/dist/cdn/podcast-player/snice-podcast-player.min.js +1 -1
  174. package/dist/cdn/pricing-table/snice-pricing-table.js +1 -1
  175. package/dist/cdn/pricing-table/snice-pricing-table.min.js +1 -1
  176. package/dist/cdn/progress/snice-progress.js +1 -1
  177. package/dist/cdn/progress/snice-progress.min.js +1 -1
  178. package/dist/cdn/qr-code/snice-qr-code.js +1 -1
  179. package/dist/cdn/qr-code/snice-qr-code.min.js +1 -1
  180. package/dist/cdn/qr-reader/snice-qr-reader.js +1 -1
  181. package/dist/cdn/qr-reader/snice-qr-reader.min.js +1 -1
  182. package/dist/cdn/radio/README.md +2 -2
  183. package/dist/cdn/radio/snice-radio.js +23 -3
  184. package/dist/cdn/radio/snice-radio.js.map +1 -1
  185. package/dist/cdn/radio/snice-radio.min.js +3 -3
  186. package/dist/cdn/radio/snice-radio.min.js.map +1 -1
  187. package/dist/cdn/rating/snice-rating.js +1 -1
  188. package/dist/cdn/rating/snice-rating.min.js +1 -1
  189. package/dist/cdn/recipe/snice-recipe.js +1 -1
  190. package/dist/cdn/recipe/snice-recipe.min.js +1 -1
  191. package/dist/cdn/runtime/README.md +2 -2
  192. package/dist/cdn/runtime/snice-runtime.esm.js +513 -46
  193. package/dist/cdn/runtime/snice-runtime.esm.js.map +1 -1
  194. package/dist/cdn/runtime/snice-runtime.esm.min.js +6 -6
  195. package/dist/cdn/runtime/snice-runtime.esm.min.js.map +1 -1
  196. package/dist/cdn/runtime/snice-runtime.js +6420 -5951
  197. package/dist/cdn/runtime/snice-runtime.js.map +1 -1
  198. package/dist/cdn/runtime/snice-runtime.min.js +18 -18
  199. package/dist/cdn/runtime/snice-runtime.min.js.map +1 -1
  200. package/dist/cdn/sankey/snice-sankey.js +1 -1
  201. package/dist/cdn/sankey/snice-sankey.min.js +1 -1
  202. package/dist/cdn/select/README.md +2 -2
  203. package/dist/cdn/select/snice-select.js +46 -92
  204. package/dist/cdn/select/snice-select.js.map +1 -1
  205. package/dist/cdn/select/snice-select.min.js +5 -13
  206. package/dist/cdn/select/snice-select.min.js.map +1 -1
  207. package/dist/cdn/skeleton/snice-skeleton.js +1 -1
  208. package/dist/cdn/skeleton/snice-skeleton.min.js +1 -1
  209. package/dist/cdn/slider/snice-slider.js +1 -1
  210. package/dist/cdn/slider/snice-slider.min.js +1 -1
  211. package/dist/cdn/sortable/snice-sortable.js +1 -1
  212. package/dist/cdn/sortable/snice-sortable.min.js +1 -1
  213. package/dist/cdn/sparkline/snice-sparkline.js +1 -1
  214. package/dist/cdn/sparkline/snice-sparkline.min.js +1 -1
  215. package/dist/cdn/spinner/snice-spinner.js +1 -1
  216. package/dist/cdn/spinner/snice-spinner.min.js +1 -1
  217. package/dist/cdn/split-pane/snice-split-pane.js +1 -1
  218. package/dist/cdn/split-pane/snice-split-pane.min.js +1 -1
  219. package/dist/cdn/spotlight/snice-spotlight.js +1 -1
  220. package/dist/cdn/spotlight/snice-spotlight.min.js +1 -1
  221. package/dist/cdn/spreadsheet/snice-spreadsheet.js +1 -1
  222. package/dist/cdn/spreadsheet/snice-spreadsheet.min.js +1 -1
  223. package/dist/cdn/stepper/snice-stepper.js +1 -1
  224. package/dist/cdn/stepper/snice-stepper.min.js +1 -1
  225. package/dist/cdn/switch/README.md +1 -1
  226. package/dist/cdn/switch/snice-switch.js +33 -23
  227. package/dist/cdn/switch/snice-switch.js.map +1 -1
  228. package/dist/cdn/switch/snice-switch.min.js +3 -3
  229. package/dist/cdn/switch/snice-switch.min.js.map +1 -1
  230. package/dist/cdn/table/README.md +2 -2
  231. package/dist/cdn/table/snice-table.js +2876 -111
  232. package/dist/cdn/table/snice-table.js.map +1 -1
  233. package/dist/cdn/table/snice-table.min.js +187 -47
  234. package/dist/cdn/table/snice-table.min.js.map +1 -1
  235. package/dist/cdn/tabs/snice-tabs.js +1 -1
  236. package/dist/cdn/tabs/snice-tabs.min.js +1 -1
  237. package/dist/cdn/tag-input/snice-tag-input.js +1 -1
  238. package/dist/cdn/tag-input/snice-tag-input.min.js +1 -1
  239. package/dist/cdn/terminal/snice-terminal.js +1 -1
  240. package/dist/cdn/terminal/snice-terminal.min.js +1 -1
  241. package/dist/cdn/testimonial/snice-testimonial.js +1 -1
  242. package/dist/cdn/testimonial/snice-testimonial.min.js +1 -1
  243. package/dist/cdn/textarea/snice-textarea.js +1 -1
  244. package/dist/cdn/textarea/snice-textarea.min.js +1 -1
  245. package/dist/cdn/time-range-picker/snice-time-range-picker.js +1 -1
  246. package/dist/cdn/time-range-picker/snice-time-range-picker.min.js +1 -1
  247. package/dist/cdn/timeline/snice-timeline.js +1 -1
  248. package/dist/cdn/timeline/snice-timeline.min.js +1 -1
  249. package/dist/cdn/timer/snice-timer.js +1 -1
  250. package/dist/cdn/timer/snice-timer.min.js +1 -1
  251. package/dist/cdn/toast/README.md +1 -1
  252. package/dist/cdn/toast/snice-toast.js +3 -3
  253. package/dist/cdn/toast/snice-toast.js.map +1 -1
  254. package/dist/cdn/toast/snice-toast.min.js +2 -2
  255. package/dist/cdn/toast/snice-toast.min.js.map +1 -1
  256. package/dist/cdn/tooltip/snice-tooltip.js +1 -1
  257. package/dist/cdn/tooltip/snice-tooltip.min.js +1 -1
  258. package/dist/cdn/tree/snice-tree.js +1 -1
  259. package/dist/cdn/tree/snice-tree.min.js +1 -1
  260. package/dist/cdn/treemap/snice-treemap.js +1 -1
  261. package/dist/cdn/treemap/snice-treemap.min.js +1 -1
  262. package/dist/cdn/video-player/snice-video-player.js +1 -1
  263. package/dist/cdn/video-player/snice-video-player.min.js +1 -1
  264. package/dist/cdn/virtual-scroller/snice-virtual-scroller.js +1 -1
  265. package/dist/cdn/virtual-scroller/snice-virtual-scroller.min.js +1 -1
  266. package/dist/cdn/waterfall/snice-waterfall.js +1 -1
  267. package/dist/cdn/waterfall/snice-waterfall.min.js +1 -1
  268. package/dist/cdn/weather/snice-weather.js +1 -1
  269. package/dist/cdn/weather/snice-weather.min.js +1 -1
  270. package/dist/components/book/snice-book.d.ts +2 -0
  271. package/dist/components/book/snice-book.js +28 -7
  272. package/dist/components/book/snice-book.js.map +1 -1
  273. package/dist/components/book/snice-book.types.d.ts +7 -0
  274. package/dist/components/code-block/snice-code-block.js +3 -3
  275. package/dist/components/code-block/snice-code-block.js.map +1 -1
  276. package/dist/components/code-block/snice-code-block.types.d.ts +3 -3
  277. package/dist/components/date-picker/snice-date-picker.d.ts +2 -0
  278. package/dist/components/date-picker/snice-date-picker.js +49 -39
  279. package/dist/components/date-picker/snice-date-picker.js.map +1 -1
  280. package/dist/components/doc/snice-doc.d.ts +20 -0
  281. package/dist/components/doc/snice-doc.js +220 -34
  282. package/dist/components/doc/snice-doc.js.map +1 -1
  283. package/dist/components/input/snice-input.d.ts +3 -0
  284. package/dist/components/input/snice-input.js +20 -2
  285. package/dist/components/input/snice-input.js.map +1 -1
  286. package/dist/components/input/snice-input.types.d.ts +3 -0
  287. package/dist/components/link-preview/snice-link-preview.js +1 -1
  288. package/dist/components/link-preview/snice-link-preview.js.map +1 -1
  289. package/dist/components/list/snice-list.js +3 -3
  290. package/dist/components/list/snice-list.js.map +1 -1
  291. package/dist/components/menu/snice-menu.js +1 -1
  292. package/dist/components/menu/snice-menu.js.map +1 -1
  293. package/dist/components/modal/snice-modal.d.ts +2 -0
  294. package/dist/components/modal/snice-modal.js +33 -17
  295. package/dist/components/modal/snice-modal.js.map +1 -1
  296. package/dist/components/modal/snice-modal.types.d.ts +2 -0
  297. package/dist/components/music-player/snice-music-player.d.ts +1 -0
  298. package/dist/components/music-player/snice-music-player.js +7 -0
  299. package/dist/components/music-player/snice-music-player.js.map +1 -1
  300. package/dist/components/notification-center/snice-notification-center.d.ts +1 -1
  301. package/dist/components/notification-center/snice-notification-center.js.map +1 -1
  302. package/dist/components/notification-center/snice-notification-center.types.d.ts +1 -0
  303. package/dist/components/radio/snice-radio.d.ts +1 -0
  304. package/dist/components/radio/snice-radio.js +22 -2
  305. package/dist/components/radio/snice-radio.js.map +1 -1
  306. package/dist/components/select/snice-select.d.ts +2 -4
  307. package/dist/components/select/snice-select.js +46 -92
  308. package/dist/components/select/snice-select.js.map +1 -1
  309. package/dist/components/switch/snice-switch.d.ts +2 -0
  310. package/dist/components/switch/snice-switch.js +32 -22
  311. package/dist/components/switch/snice-switch.js.map +1 -1
  312. package/dist/components/table/snice-table.d.ts +2 -0
  313. package/dist/components/table/snice-table.js +17 -3
  314. package/dist/components/table/snice-table.js.map +1 -1
  315. package/dist/components/toast/snice-toast-container.js +2 -2
  316. package/dist/components/toast/snice-toast-container.js.map +1 -1
  317. package/dist/index.cjs +512 -43
  318. package/dist/index.cjs.map +1 -1
  319. package/dist/index.d.ts +1 -0
  320. package/dist/index.esm.js +511 -44
  321. package/dist/index.esm.js.map +1 -1
  322. package/dist/index.iife.js +512 -43
  323. package/dist/index.iife.js.map +1 -1
  324. package/dist/symbols.cjs +1 -1
  325. package/dist/symbols.esm.js +1 -1
  326. package/dist/tooltip-observer.d.ts +11 -0
  327. package/dist/transitions.cjs +1 -1
  328. package/dist/transitions.esm.js +1 -1
  329. package/docs/ai/DEVELOPMENT.md +1 -1
  330. package/docs/ai/api.md +14 -10
  331. package/docs/ai/architecture.md +18 -5
  332. package/docs/ai/components/app-tiles.md +1 -1
  333. package/docs/ai/components/book.md +5 -6
  334. package/docs/ai/components/camera-annotate.md +3 -3
  335. package/docs/ai/components/candlestick.md +3 -3
  336. package/docs/ai/components/chart.md +1 -1
  337. package/docs/ai/components/code-block.md +3 -3
  338. package/docs/ai/components/doc.md +26 -15
  339. package/docs/ai/components/file-gallery.md +1 -1
  340. package/docs/ai/components/input.md +10 -0
  341. package/docs/ai/components/link-preview.md +1 -1
  342. package/docs/ai/components/list.md +2 -2
  343. package/docs/ai/components/markdown.md +13 -6
  344. package/docs/ai/components/modal.md +2 -0
  345. package/docs/ai/components/music-player.md +3 -2
  346. package/docs/ai/components/network-graph.md +5 -5
  347. package/docs/ai/components/notification-center.md +1 -0
  348. package/docs/ai/components/pdf-viewer.md +1 -1
  349. package/docs/ai/components/radio.md +2 -2
  350. package/docs/ai/components/sankey.md +3 -3
  351. package/docs/ai/components/select.md +1 -1
  352. package/docs/ai/components/tooltip.md +54 -0
  353. package/docs/ai/decorators.md +4 -4
  354. package/docs/code-block.md +4 -4
  355. package/docs/components/app-tiles.md +1 -1
  356. package/docs/components/book.md +3 -4
  357. package/docs/components/button.md +2 -2
  358. package/docs/components/camera-annotate.md +6 -6
  359. package/docs/components/candlestick.md +6 -6
  360. package/docs/components/chart.md +4 -6
  361. package/docs/components/checkbox.md +3 -3
  362. package/docs/components/chip.md +4 -4
  363. package/docs/components/code-block.md +4 -3
  364. package/docs/components/doc.md +99 -58
  365. package/docs/components/file-gallery.md +25 -3
  366. package/docs/components/input.md +20 -0
  367. package/docs/components/kpi.md +2 -3
  368. package/docs/components/link-preview.md +2 -2
  369. package/docs/components/list.md +3 -3
  370. package/docs/components/markdown.md +14 -36
  371. package/docs/components/modal.md +2 -0
  372. package/docs/components/music-player.md +3 -2
  373. package/docs/components/network-graph.md +7 -7
  374. package/docs/components/notification-center.md +1 -0
  375. package/docs/components/pdf-viewer.md +1 -1
  376. package/docs/components/sankey.md +6 -6
  377. package/docs/components/switch.md +1 -1
  378. package/docs/components/table.md +2 -2
  379. package/docs/components/tooltip.md +133 -0
  380. package/docs/controllers.md +3 -14
  381. package/docs/elements.md +0 -1
  382. package/docs/events.md +3 -0
  383. package/docs/request-response.md +2 -0
  384. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"snice-table.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/utils.js","../../components/input/snice-input.js","../../components/select/snice-option.js","../../components/select/snice-select.js","../../components/snice-cell-D9dSe0d4.js","../../components/table/snice-cell.js","../../components/table/snice-cell-text.js","../../components/table/snice-cell-number.js","../../components/table/snice-cell-date.js","../../components/table/snice-cell-boolean.js","../../components/table/snice-rating.js","../../components/table/snice-cell-rating.js","../../components/table/snice-progress.js","../../components/table/snice-cell-progress.js","../../components/table/snice-cell-duration.js","../../components/table/snice-cell-filesize.js","../../components/table/snice-cell-sparkline.js","../../components/table/snice-table.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 { html } from 'snice';\n\n/**\n * Detects icon type and returns appropriate template\n *\n * Scheme overrides:\n * - img://path -> forces <img> element\n * - text://content -> forces text content\n *\n * Auto-detection (when no scheme):\n * - URLs (http://, https://, /, ./, ../, data:) -> <img>\n * - Image extensions (svg, png, jpg, jpeg, jfif, pjp, gif, webp, avif, jxl,\n * ico, cur, bmp, tif, tiff, heic, heif, apng) -> <img>\n * - Everything else -> span with text (emoji, font ligatures)\n *\n * Examples:\n * - \"/path/icon.svg\" -> <img>\n * - \"icon.png\" -> <img>\n * - \"img://filename\" -> <img> (forced)\n * - \"home\" -> <span> text (Material Symbols ligature)\n * - \"🏠\" -> <span> text (emoji)\n * - \"text:///not/a/path\" -> <span> text (forced)\n */\nfunction renderIcon(icon, className = 'icon') {\n if (!icon)\n return html ``;\n // Check for scheme overrides first\n if (icon.startsWith('img://')) {\n const src = icon.slice(6);\n return html `<img class=\"${className}\" src=\"${src}\" alt=\"\" part=\"icon\" />`;\n }\n if (icon.startsWith('text://')) {\n const content = icon.slice(7);\n return html `<span class=\"${className}\" part=\"icon\">${content}</span>`;\n }\n // Auto-detect: Check if it's a URL pattern\n if (/^(https?:\\/\\/|\\/|\\.\\/|\\.\\.\\/|data:)/.test(icon)) {\n return html `<img class=\"${className}\" src=\"${icon}\" alt=\"\" part=\"icon\" />`;\n }\n // Auto-detect: Check if it's a file with image extension\n // Must have at least one char before the dot, and no unsupported protocol prefix\n // Covers: SVG, PNG, JPEG variants, GIF, WebP, AVIF, JPEG XL, ICO, BMP, TIFF, HEIC/HEIF, APNG\n if (/^[^:]*\\w\\.(svg|png|jpe?g|jfif|pjp|gif|webp|avif|jxl|ico|cur|bmp|tiff?|heic|heif|apng)$/i.test(icon)) {\n return html `<img class=\"${className}\" src=\"${icon}\" alt=\"\" part=\"icon\" />`;\n }\n // Default: text content (emoji, font icon ligature names)\n // All content is escaped - no HTML injection possible\n return html `<span class=\"${className}\" part=\"icon\">${icon}</span>`;\n}\n\nexport { renderIcon };\n//# sourceMappingURL=utils.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, dispatch, html, css } from 'snice';\nimport { renderIcon } from '../utils.js';\n\nvar cssContent = \":host{display:inline-block;width:100%;max-width:100%;box-sizing:border-box;font-family:var(--snice-font-family);color-scheme:light dark}.input-wrapper{position:relative;width:100%;max-width:100%;box-sizing:border-box}.input-container{position:relative;display:flex;align-items:center;width:100%;max-width:100%;box-sizing:border-box;transition:all var(--snice-transition-fast) ease}.input{flex:1;min-width:0;box-sizing:border-box;font-family:inherit;font-size:var(--snice-font-size-md);background:var(--snice-color-background-input,rgb(248 247 245));color:var(--snice-color-text);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-md);box-shadow:var(--snice-shadow-inset-sm);transition:all var(--snice-transition-fast) ease;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus{border-color:var(--snice-color-primary);box-shadow:0 0 0 var(--snice-focus-ring-width) var(--snice-focus-ring-color),var(--snice-shadow-sm)}.input:disabled{background:var(--snice-color-background-secondary);color:var(--snice-color-text-secondary);cursor:not-allowed;opacity:.6}.input::placeholder{color:var(--snice-color-text-secondary);opacity:.7}.input--small{padding:.375rem .625rem;font-size:var(--snice-font-size-sm)}.input--medium{padding:.5rem .75rem;font-size:var(--snice-font-size-md)}.input--large{padding:.625rem .875rem;font-size:var(--snice-font-size-lg)}.input--outlined{background:var(--snice-color-background-input,rgb(248 247 245));border:1px solid var(--snice-color-border)}.input--filled{background:var(--snice-color-background-secondary);border:1px solid transparent;border-bottom-color:var(--snice-color-border);border-radius:var(--snice-border-radius-md) var(--snice-border-radius-md) 0 0}.input--filled:focus{background:var(--snice-color-background-hover);border-bottom-color:var(--snice-color-primary)}.input--underlined{background:0 0;border:none;border-bottom:1px solid var(--snice-color-border);border-radius:0;padding-left:0;padding-right:0}.input--underlined:focus{border-bottom-color:var(--snice-color-primary);box-shadow:none}.input--invalid{border-color:var(--snice-color-danger)}.input--invalid:focus{border-color:var(--snice-color-danger);box-shadow:0 0 0 var(--snice-focus-ring-width) var(--snice-color-danger-alpha,hsl(var(--snice-color-red-500) / .4)),var(--snice-shadow-sm)}.input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.input::-webkit-calendar-picker-indicator:hover{opacity:1}.input--with-prefix-icon{padding-left:2.25rem}.input--clearable,.input--with-suffix-icon{padding-right:2.25rem}.input--with-suffix-icon.input--clearable{padding-right:3.75rem}.label{display:block;margin-bottom:.375rem;font-size:var(--snice-font-size-sm);font-weight:500;color:var(--snice-color-text)}.label--required::after{content:' *';color:var(--snice-color-danger)}.error-text,.helper-text{display:block;margin-top:.25rem;font-size:var(--snice-font-size-xs);min-height:1.125rem}.helper-text{color:var(--snice-color-text-secondary)}.error-text{color:var(--snice-color-danger)}.icon-slot{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:var(--snice-color-text-secondary);pointer-events:none;opacity:.7}.icon-slot:empty{display:none}.icon-slot--prefix{left:.625rem}.icon-slot--suffix{right:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:var(--snice-color-text-secondary);pointer-events:none}.icon-slot ::slotted(*){display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:1.25rem;line-height:1}.icon-slot ::slotted(svg){width:1.25rem;height:1.25rem}.icon-slot ::slotted(img){width:1.25rem;height:1.25rem;object-fit:contain}.clear-button{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:.25rem;background:0 0;border:none;border-radius:var(--snice-border-radius-sm);color:var(--snice-color-text-secondary);cursor:pointer;transition:all var(--snice-transition-fast) ease;opacity:0;visibility:hidden}.clear-button:hover{background:var(--snice-color-background-hover);color:var(--snice-color-text)}.input-container:hover .clear-button--visible,.input:focus~.clear-button--visible{opacity:1;visibility:visible}.clear-button--with-suffix{right:2rem}.password-toggle{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:.25rem;background:0 0;border:none;border-radius:var(--snice-border-radius-sm);color:var(--snice-color-text-secondary);cursor:pointer;transition:all var(--snice-transition-fast) ease}.password-toggle:hover{background:var(--snice-color-background-hover);color:var(--snice-color-text)}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{-moz-appearance:textfield}.input[type=search]::-webkit-search-cancel-button,.input[type=search]::-webkit-search-decoration,.input[type=search]::-webkit-search-results-button,.input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.input-container:focus-within{z-index:1}.input--loading{cursor:wait}.spinner{position:absolute;right:.75rem;width:1em;height:1em;pointer-events:none}.input--with-suffix-icon .spinner{right:2.5rem}.spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}\";\n\nlet SniceInput = (() => {\n let _classDecorators = [element('snice-input', { formAssociated: true })];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _variant_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _placeholder_decorators;\n let _placeholder_initializers = [];\n let _placeholder_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _helperText_decorators;\n let _helperText_initializers = [];\n let _helperText_extraInitializers = [];\n let _errorText_decorators;\n let _errorText_initializers = [];\n let _errorText_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _readonly_decorators;\n let _readonly_initializers = [];\n let _readonly_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 _clearable_decorators;\n let _clearable_initializers = [];\n let _clearable_extraInitializers = [];\n let _password_decorators;\n let _password_initializers = [];\n let _password_extraInitializers = [];\n let _min_decorators;\n let _min_initializers = [];\n let _min_extraInitializers = [];\n let _max_decorators;\n let _max_initializers = [];\n let _max_extraInitializers = [];\n let _step_decorators;\n let _step_initializers = [];\n let _step_extraInitializers = [];\n let _pattern_decorators;\n let _pattern_initializers = [];\n let _pattern_extraInitializers = [];\n let _maxlength_decorators;\n let _maxlength_initializers = [];\n let _maxlength_extraInitializers = [];\n let _minlength_decorators;\n let _minlength_initializers = [];\n let _minlength_extraInitializers = [];\n let _autocomplete_decorators;\n let _autocomplete_initializers = [];\n let _autocomplete_extraInitializers = [];\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _prefixIcon_decorators;\n let _prefixIcon_initializers = [];\n let _prefixIcon_extraInitializers = [];\n let _suffixIcon_decorators;\n let _suffixIcon_initializers = [];\n let _suffixIcon_extraInitializers = [];\n let _input_decorators;\n let _input_initializers = [];\n let _input_extraInitializers = [];\n let _clearButton_decorators;\n let _clearButton_initializers = [];\n let _clearButton_extraInitializers = [];\n let _passwordToggle_decorators;\n let _passwordToggle_initializers = [];\n let _passwordToggle_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _handleValueChange_decorators;\n let _handleInvalidChange_decorators;\n let _handleDisabledChange_decorators;\n let _handleLoadingChange_decorators;\n let _handleReadonlyChange_decorators;\n let _handlePlaceholderChange_decorators;\n let _handleMinChange_decorators;\n let _handleMaxChange_decorators;\n let _handleStepChange_decorators;\n let _handleMaxLengthChange_decorators;\n let _handleMinLengthChange_decorators;\n let _handlePatternChange_decorators;\n let _handleTypeChange_decorators;\n let _handleLabelChange_decorators;\n let _dispatchInputEvent_decorators;\n let _dispatchChangeEvent_decorators;\n let _dispatchFocusEvent_decorators;\n let _dispatchBlurEvent_decorators;\n let _dispatchClearEvent_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 _type_decorators = [property({})];\n _size_decorators = [property({})];\n _variant_decorators = [property({})];\n _value_decorators = [property({})];\n _placeholder_decorators = [property({})];\n _label_decorators = [property({})];\n _helperText_decorators = [property({ attribute: 'helper-text', })];\n _errorText_decorators = [property({ attribute: 'error-text', })];\n _disabled_decorators = [property({ type: Boolean, })];\n _readonly_decorators = [property({ type: Boolean, })];\n _loading_decorators = [property({ type: Boolean, })];\n _required_decorators = [property({ type: Boolean, })];\n _invalid_decorators = [property({ type: Boolean, })];\n _clearable_decorators = [property({ type: Boolean, })];\n _password_decorators = [property({ type: Boolean, })];\n _min_decorators = [property({})];\n _max_decorators = [property({})];\n _step_decorators = [property({})];\n _pattern_decorators = [property({})];\n _maxlength_decorators = [property({ type: Number, })];\n _minlength_decorators = [property({ type: Number, })];\n _autocomplete_decorators = [property({})];\n _name_decorators = [property({})];\n _prefixIcon_decorators = [property({ attribute: 'prefix-icon', })];\n _suffixIcon_decorators = [property({ attribute: 'suffix-icon', })];\n _input_decorators = [query('.input')];\n _clearButton_decorators = [query('.clear-button')];\n _passwordToggle_decorators = [query('.password-toggle')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _handleValueChange_decorators = [watch('value')];\n _handleInvalidChange_decorators = [watch('invalid')];\n _handleDisabledChange_decorators = [watch('disabled')];\n _handleLoadingChange_decorators = [watch('loading')];\n _handleReadonlyChange_decorators = [watch('readonly')];\n _handlePlaceholderChange_decorators = [watch('placeholder')];\n _handleMinChange_decorators = [watch('min')];\n _handleMaxChange_decorators = [watch('max')];\n _handleStepChange_decorators = [watch('step')];\n _handleMaxLengthChange_decorators = [watch('maxlength')];\n _handleMinLengthChange_decorators = [watch('minlength')];\n _handlePatternChange_decorators = [watch('pattern')];\n _handleTypeChange_decorators = [watch('type')];\n _handleLabelChange_decorators = [watch('label')];\n _dispatchInputEvent_decorators = [dispatch('input-input', { bubbles: true, composed: true })];\n _dispatchChangeEvent_decorators = [dispatch('input-change', { bubbles: true, composed: true })];\n _dispatchFocusEvent_decorators = [dispatch('input-focus', { bubbles: true, composed: true })];\n _dispatchBlurEvent_decorators = [dispatch('input-blur', { bubbles: true, composed: true })];\n _dispatchClearEvent_decorators = [dispatch('input-clear', { bubbles: true, composed: true })];\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(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, _handleValueChange_decorators, { kind: \"method\", name: \"handleValueChange\", static: false, private: false, access: { has: obj => \"handleValueChange\" in obj, get: obj => obj.handleValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleInvalidChange_decorators, { kind: \"method\", name: \"handleInvalidChange\", static: false, private: false, access: { has: obj => \"handleInvalidChange\" in obj, get: obj => obj.handleInvalidChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDisabledChange_decorators, { kind: \"method\", name: \"handleDisabledChange\", static: false, private: false, access: { has: obj => \"handleDisabledChange\" in obj, get: obj => obj.handleDisabledChange }, 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, _handleReadonlyChange_decorators, { kind: \"method\", name: \"handleReadonlyChange\", static: false, private: false, access: { has: obj => \"handleReadonlyChange\" in obj, get: obj => obj.handleReadonlyChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handlePlaceholderChange_decorators, { kind: \"method\", name: \"handlePlaceholderChange\", static: false, private: false, access: { has: obj => \"handlePlaceholderChange\" in obj, get: obj => obj.handlePlaceholderChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMinChange_decorators, { kind: \"method\", name: \"handleMinChange\", static: false, private: false, access: { has: obj => \"handleMinChange\" in obj, get: obj => obj.handleMinChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMaxChange_decorators, { kind: \"method\", name: \"handleMaxChange\", static: false, private: false, access: { has: obj => \"handleMaxChange\" in obj, get: obj => obj.handleMaxChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleStepChange_decorators, { kind: \"method\", name: \"handleStepChange\", static: false, private: false, access: { has: obj => \"handleStepChange\" in obj, get: obj => obj.handleStepChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMaxLengthChange_decorators, { kind: \"method\", name: \"handleMaxLengthChange\", static: false, private: false, access: { has: obj => \"handleMaxLengthChange\" in obj, get: obj => obj.handleMaxLengthChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMinLengthChange_decorators, { kind: \"method\", name: \"handleMinLengthChange\", static: false, private: false, access: { has: obj => \"handleMinLengthChange\" in obj, get: obj => obj.handleMinLengthChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handlePatternChange_decorators, { kind: \"method\", name: \"handlePatternChange\", static: false, private: false, access: { has: obj => \"handlePatternChange\" in obj, get: obj => obj.handlePatternChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleTypeChange_decorators, { kind: \"method\", name: \"handleTypeChange\", static: false, private: false, access: { has: obj => \"handleTypeChange\" in obj, get: obj => obj.handleTypeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleLabelChange_decorators, { kind: \"method\", name: \"handleLabelChange\", static: false, private: false, access: { has: obj => \"handleLabelChange\" in obj, get: obj => obj.handleLabelChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchInputEvent_decorators, { kind: \"method\", name: \"dispatchInputEvent\", static: false, private: false, access: { has: obj => \"dispatchInputEvent\" in obj, get: obj => obj.dispatchInputEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchChangeEvent_decorators, { kind: \"method\", name: \"dispatchChangeEvent\", static: false, private: false, access: { has: obj => \"dispatchChangeEvent\" in obj, get: obj => obj.dispatchChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchFocusEvent_decorators, { kind: \"method\", name: \"dispatchFocusEvent\", static: false, private: false, access: { has: obj => \"dispatchFocusEvent\" in obj, get: obj => obj.dispatchFocusEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchBlurEvent_decorators, { kind: \"method\", name: \"dispatchBlurEvent\", static: false, private: false, access: { has: obj => \"dispatchBlurEvent\" in obj, get: obj => obj.dispatchBlurEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchClearEvent_decorators, { kind: \"method\", name: \"dispatchClearEvent\", static: false, private: false, access: { has: obj => \"dispatchClearEvent\" in obj, get: obj => obj.dispatchClearEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _variant_decorators, { kind: \"field\", name: \"variant\", static: false, private: false, access: { has: obj => \"variant\" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_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, _placeholder_decorators, { kind: \"field\", name: \"placeholder\", static: false, private: false, access: { has: obj => \"placeholder\" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_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, _helperText_decorators, { kind: \"field\", name: \"helperText\", static: false, private: false, access: { has: obj => \"helperText\" in obj, get: obj => obj.helperText, set: (obj, value) => { obj.helperText = value; } }, metadata: _metadata }, _helperText_initializers, _helperText_extraInitializers);\n __esDecorate(null, null, _errorText_decorators, { kind: \"field\", name: \"errorText\", static: false, private: false, access: { has: obj => \"errorText\" in obj, get: obj => obj.errorText, set: (obj, value) => { obj.errorText = value; } }, metadata: _metadata }, _errorText_initializers, _errorText_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, _readonly_decorators, { kind: \"field\", name: \"readonly\", static: false, private: false, access: { has: obj => \"readonly\" in obj, get: obj => obj.readonly, set: (obj, value) => { obj.readonly = value; } }, metadata: _metadata }, _readonly_initializers, _readonly_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, _clearable_decorators, { kind: \"field\", name: \"clearable\", static: false, private: false, access: { has: obj => \"clearable\" in obj, get: obj => obj.clearable, set: (obj, value) => { obj.clearable = value; } }, metadata: _metadata }, _clearable_initializers, _clearable_extraInitializers);\n __esDecorate(null, null, _password_decorators, { kind: \"field\", name: \"password\", static: false, private: false, access: { has: obj => \"password\" in obj, get: obj => obj.password, set: (obj, value) => { obj.password = value; } }, metadata: _metadata }, _password_initializers, _password_extraInitializers);\n __esDecorate(null, null, _min_decorators, { kind: \"field\", name: \"min\", static: false, private: false, access: { has: obj => \"min\" in obj, get: obj => obj.min, set: (obj, value) => { obj.min = value; } }, metadata: _metadata }, _min_initializers, _min_extraInitializers);\n __esDecorate(null, null, _max_decorators, { kind: \"field\", name: \"max\", static: false, private: false, access: { has: obj => \"max\" in obj, get: obj => obj.max, set: (obj, value) => { obj.max = value; } }, metadata: _metadata }, _max_initializers, _max_extraInitializers);\n __esDecorate(null, null, _step_decorators, { kind: \"field\", name: \"step\", static: false, private: false, access: { has: obj => \"step\" in obj, get: obj => obj.step, set: (obj, value) => { obj.step = value; } }, metadata: _metadata }, _step_initializers, _step_extraInitializers);\n __esDecorate(null, null, _pattern_decorators, { kind: \"field\", name: \"pattern\", static: false, private: false, access: { has: obj => \"pattern\" in obj, get: obj => obj.pattern, set: (obj, value) => { obj.pattern = value; } }, metadata: _metadata }, _pattern_initializers, _pattern_extraInitializers);\n __esDecorate(null, null, _maxlength_decorators, { kind: \"field\", name: \"maxlength\", static: false, private: false, access: { has: obj => \"maxlength\" in obj, get: obj => obj.maxlength, set: (obj, value) => { obj.maxlength = value; } }, metadata: _metadata }, _maxlength_initializers, _maxlength_extraInitializers);\n __esDecorate(null, null, _minlength_decorators, { kind: \"field\", name: \"minlength\", static: false, private: false, access: { has: obj => \"minlength\" in obj, get: obj => obj.minlength, set: (obj, value) => { obj.minlength = value; } }, metadata: _metadata }, _minlength_initializers, _minlength_extraInitializers);\n __esDecorate(null, null, _autocomplete_decorators, { kind: \"field\", name: \"autocomplete\", static: false, private: false, access: { has: obj => \"autocomplete\" in obj, get: obj => obj.autocomplete, set: (obj, value) => { obj.autocomplete = value; } }, metadata: _metadata }, _autocomplete_initializers, _autocomplete_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, _prefixIcon_decorators, { kind: \"field\", name: \"prefixIcon\", static: false, private: false, access: { has: obj => \"prefixIcon\" in obj, get: obj => obj.prefixIcon, set: (obj, value) => { obj.prefixIcon = value; } }, metadata: _metadata }, _prefixIcon_initializers, _prefixIcon_extraInitializers);\n __esDecorate(null, null, _suffixIcon_decorators, { kind: \"field\", name: \"suffixIcon\", static: false, private: false, access: { has: obj => \"suffixIcon\" in obj, get: obj => obj.suffixIcon, set: (obj, value) => { obj.suffixIcon = value; } }, metadata: _metadata }, _suffixIcon_initializers, _suffixIcon_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, _clearButton_decorators, { kind: \"field\", name: \"clearButton\", static: false, private: false, access: { has: obj => \"clearButton\" in obj, get: obj => obj.clearButton, set: (obj, value) => { obj.clearButton = value; } }, metadata: _metadata }, _clearButton_initializers, _clearButton_extraInitializers);\n __esDecorate(null, null, _passwordToggle_decorators, { kind: \"field\", name: \"passwordToggle\", static: false, private: false, access: { has: obj => \"passwordToggle\" in obj, get: obj => obj.passwordToggle, set: (obj, value) => { obj.passwordToggle = value; } }, metadata: _metadata }, _passwordToggle_initializers, _passwordToggle_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 constructor() {\n super();\n this.internals = __runInitializers(this, _instanceExtraInitializers);\n this.type = __runInitializers(this, _type_initializers, 'text');\n this.size = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.variant = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _variant_initializers, 'outlined'));\n this.value = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.placeholder = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _placeholder_initializers, ''));\n this.label = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.helperText = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _helperText_initializers, ''));\n this.errorText = (__runInitializers(this, _helperText_extraInitializers), __runInitializers(this, _errorText_initializers, ''));\n this.disabled = (__runInitializers(this, _errorText_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.readonly = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _readonly_initializers, false));\n this.loading = (__runInitializers(this, _readonly_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.clearable = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _clearable_initializers, false));\n this.password = (__runInitializers(this, _clearable_extraInitializers), __runInitializers(this, _password_initializers, false));\n this.min = (__runInitializers(this, _password_extraInitializers), __runInitializers(this, _min_initializers, ''));\n this.max = (__runInitializers(this, _min_extraInitializers), __runInitializers(this, _max_initializers, ''));\n this.step = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _step_initializers, ''));\n this.pattern = (__runInitializers(this, _step_extraInitializers), __runInitializers(this, _pattern_initializers, ''));\n this.maxlength = (__runInitializers(this, _pattern_extraInitializers), __runInitializers(this, _maxlength_initializers, -1));\n this.minlength = (__runInitializers(this, _maxlength_extraInitializers), __runInitializers(this, _minlength_initializers, -1));\n this.autocomplete = (__runInitializers(this, _minlength_extraInitializers), __runInitializers(this, _autocomplete_initializers, ''));\n this.name = (__runInitializers(this, _autocomplete_extraInitializers), __runInitializers(this, _name_initializers, ''));\n this.prefixIcon = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _prefixIcon_initializers, ''));\n this.suffixIcon = (__runInitializers(this, _prefixIcon_extraInitializers), __runInitializers(this, _suffixIcon_initializers, ''));\n this.input = (__runInitializers(this, _suffixIcon_extraInitializers), __runInitializers(this, _input_initializers, void 0));\n this.clearButton = (__runInitializers(this, _input_extraInitializers), __runInitializers(this, _clearButton_initializers, void 0));\n this.passwordToggle = (__runInitializers(this, _clearButton_extraInitializers), __runInitializers(this, _passwordToggle_initializers, void 0));\n this.showPassword = (__runInitializers(this, _passwordToggle_extraInitializers), false);\n if (typeof this.attachInternals == 'function') {\n this.internals = this.attachInternals();\n }\n }\n render() {\n const inputClasses = [\n 'input',\n `input--${this.size}`,\n `input--${this.variant}`,\n this.invalid ? 'input--invalid' : '',\n this.loading ? 'input--loading' : '',\n this.prefixIcon ? 'input--with-prefix-icon' : '',\n this.suffixIcon || (this.type === 'password' && this.password) || this.loading ? 'input--with-suffix-icon' : '',\n this.clearable ? 'input--clearable' : ''\n ].filter(Boolean).join(' ');\n const labelClasses = ['label', this.required ? 'label--required' : ''].filter(Boolean).join(' ');\n const clearButtonClasses = ['clear-button', this.suffixIcon || (this.type === 'password' && this.password) ? 'clear-button--with-suffix' : ''].filter(Boolean).join(' ');\n return html /*html*/ `\n <div class=\"input-wrapper\">\n <if ${this.label}>\n <label class=\"${labelClasses}\">\n ${this.label}\n </label>\n </if>\n\n <div class=\"input-container\">\n <span class=\"icon-slot icon-slot--prefix\" part=\"prefix-icon\">\n <slot name=\"prefix-icon\">\n <if ${this.prefixIcon}>\n ${renderIcon(this.prefixIcon, 'icon icon--prefix')}\n </if>\n </slot>\n </span>\n\n <input\n class=\"${inputClasses}\"\n type=\"${this.type}\"\n value=\"${this.value}\"\n placeholder=\"${this.placeholder}\"\n ?disabled=\"${this.disabled || this.loading}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n min=\"${this.min || ''}\"\n max=\"${this.max || ''}\"\n step=\"${this.step || ''}\"\n pattern=\"${this.pattern || ''}\"\n maxlength=\"${this.maxlength > 0 ? this.maxlength : ''}\"\n minlength=\"${this.minlength > 0 ? this.minlength : ''}\"\n autocomplete=\"${this.autocomplete || ''}\"\n name=\"${this.name || ''}\"\n part=\"input\"\n @input=${this.handleInput}\n @change=${this.handleChange}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n <button\n class=\"${clearButtonClasses}\"\n type=\"button\"\n aria-label=\"Clear\"\n tabindex=\"-1\"\n part=\"clear\"\n style=\"display: none;\"\n @click=${this.handleClear}\n >\n <svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\">\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" fill=\"currentColor\"/>\n </svg>\n </button>\n\n <if ${this.loading}>\n <span class=\"spinner\" part=\"spinner\"></span>\n </if>\n\n <if ${this.type === 'password' && this.password}>\n <button\n class=\"password-toggle\"\n type=\"button\"\n aria-label=\"Show password\"\n tabindex=\"-1\"\n part=\"password-toggle\"\n @click=${this.handlePasswordToggle}\n >\n <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" class=\"password-icon password-icon--hidden\">\n <path d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\" fill=\"currentColor\"/>\n </svg>\n <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" class=\"password-icon password-icon--visible\" style=\"display: none;\">\n <path d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\" fill=\"currentColor\"/>\n </svg>\n </button>\n </if>\n <if ${!(this.type === 'password' && this.password)}>\n <span class=\"icon-slot icon-slot--suffix\" part=\"suffix-icon\">\n <slot name=\"suffix-icon\">\n <if ${this.suffixIcon}>\n ${renderIcon(this.suffixIcon, 'icon icon--suffix')}\n </if>\n </slot>\n </span>\n </if>\n </div>\n\n <case ${this.errorText ? 'error' : this.helperText ? 'helper' : 'empty'}>\n <when value=\"error\">\n <span class=\"error-text\" part=\"error-text\">${this.errorText}</span>\n </when>\n <when value=\"helper\">\n <span class=\"helper-text\" part=\"helper-text\">${this.helperText}</span>\n </when>\n <default>\n <span class=\"helper-text\" part=\"helper-text\">&nbsp;</span>\n </default>\n </case>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n // Set initial form value\n if (this.internals) {\n this.internals.setFormValue(this.value);\n }\n // Set initial clear button visibility\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n // Set initial invalid state\n if (this.input && this.invalid) {\n this.input.setAttribute('aria-invalid', 'true');\n this.input.classList.add('input--invalid');\n }\n // Set initial input properties that may not be properly set via attributes\n if (this.input) {\n // Number input constraints\n if (this.type === 'number') {\n if (this.min)\n this.input.min = this.min;\n if (this.max)\n this.input.max = this.max;\n if (this.step)\n this.input.step = this.step;\n }\n // Text constraints\n if (this.maxlength > 0)\n this.input.maxLength = this.maxlength;\n if (this.minlength > 0)\n this.input.minLength = this.minlength;\n // Other properties\n if (this.pattern)\n this.input.pattern = this.pattern;\n if (this.placeholder)\n this.input.placeholder = this.placeholder;\n if (this.value)\n this.input.value = this.value;\n this.input.disabled = this.disabled;\n this.input.readOnly = this.readonly;\n this.input.required = this.required;\n }\n }\n handleInput(e) {\n const input = e.target;\n this.value = input.value;\n this.dispatchInputEvent();\n }\n handleChange(e) {\n const input = e.target;\n this.value = input.value;\n this.dispatchChangeEvent();\n }\n handleFocus(e) {\n this.dispatchFocusEvent();\n }\n handleBlur(e) {\n this.dispatchBlurEvent();\n }\n handleClear(e) {\n this.clear();\n }\n handlePasswordToggle(e) {\n this.showPassword = !this.showPassword;\n if (this.input) {\n this.input.type = this.showPassword ? 'text' : 'password';\n }\n if (this.passwordToggle) {\n const hiddenIcon = this.passwordToggle.querySelector('.password-icon--hidden');\n const visibleIcon = this.passwordToggle.querySelector('.password-icon--visible');\n if (hiddenIcon && visibleIcon) {\n hiddenIcon.style.display = this.showPassword ? 'none' : '';\n visibleIcon.style.display = this.showPassword ? '' : 'none';\n this.passwordToggle.setAttribute('aria-label', this.showPassword ? 'Hide password' : 'Show password');\n }\n }\n }\n handleValueChange() {\n // Only update input.value if it's different to avoid unnecessary DOM updates\n if (this.input && this.input.value !== this.value) {\n this.input.value = this.value;\n }\n // Update form value\n if (this.internals) {\n this.internals.setFormValue(this.value);\n }\n // Show/hide clear button based on value\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n }\n handleInvalidChange() {\n if (this.input) {\n this.input.setAttribute('aria-invalid', String(this.invalid));\n if (this.invalid) {\n this.input.classList.add('input--invalid');\n }\n else {\n this.input.classList.remove('input--invalid');\n }\n }\n }\n handleDisabledChange() {\n if (this.input) {\n this.input.disabled = this.disabled || this.loading;\n }\n // Update clear button visibility\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n }\n handleLoadingChange() {\n if (this.input) {\n this.input.disabled = this.disabled || this.loading;\n }\n // Update clear button visibility\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n }\n handleReadonlyChange() {\n if (this.input) {\n this.input.readOnly = this.readonly;\n }\n // Update clear button visibility\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n }\n handlePlaceholderChange() {\n if (this.input) {\n this.input.placeholder = this.placeholder;\n }\n }\n handleMinChange() {\n if (this.input && this.type === 'number') {\n this.input.min = this.min;\n }\n }\n handleMaxChange() {\n if (this.input && this.type === 'number') {\n this.input.max = this.max;\n }\n }\n handleStepChange() {\n if (this.input && this.type === 'number') {\n this.input.step = this.step;\n }\n }\n handleMaxLengthChange() {\n if (this.input && this.maxlength > 0) {\n this.input.maxLength = this.maxlength;\n }\n }\n handleMinLengthChange() {\n if (this.input && this.minlength > 0) {\n this.input.minLength = this.minlength;\n }\n }\n handlePatternChange() {\n if (this.input) {\n this.input.pattern = this.pattern;\n }\n }\n handleTypeChange() {\n if (this.input && this.type !== 'password') {\n // Don't change type for password fields (handled by toggle)\n this.input.type = this.type;\n }\n }\n handleLabelChange() {\n const labelEl = this.shadowRoot?.querySelector('.label');\n if (labelEl) {\n labelEl.textContent = this.label;\n // Show/hide the label wrapper\n const wrapper = labelEl.parentElement;\n if (wrapper) {\n wrapper.style.display = this.label ? '' : 'none';\n }\n }\n }\n dispatchInputEvent() {\n return { value: this.value, input: this };\n }\n dispatchChangeEvent() {\n return { value: this.value, input: this };\n }\n dispatchFocusEvent() {\n return { input: this };\n }\n dispatchBlurEvent() {\n return { input: this };\n }\n dispatchClearEvent() {\n return { input: this };\n }\n // Public API\n focus() {\n this.input?.focus();\n }\n blur() {\n this.input?.blur();\n }\n select() {\n this.input?.select();\n }\n clear() {\n this.value = '';\n if (this.input) {\n this.input.value = '';\n }\n this.dispatchClearEvent();\n this.dispatchInputEvent();\n this.dispatchChangeEvent();\n this.focus();\n }\n checkValidity() {\n return this.input?.checkValidity() ?? true;\n }\n reportValidity() {\n return this.input?.reportValidity() ?? true;\n }\n setCustomValidity(message) {\n this.input?.setCustomValidity(message);\n }\n });\n return _classThis;\n})();\n\nexport { SniceInput };\n//# sourceMappingURL=snice-input.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, html, css } from 'snice';\n\nlet SniceOption = (() => {\n let _classDecorators = [element('snice-option')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\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 _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _selected_decorators;\n let _selected_initializers = [];\n let _selected_extraInitializers = [];\n let _icon_decorators;\n let _icon_initializers = [];\n let _icon_extraInitializers = [];\n let _render_decorators;\n let _styles_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 _value_decorators = [property({})];\n _label_decorators = [property({})];\n _disabled_decorators = [property({ type: Boolean, })];\n _selected_decorators = [property({ type: Boolean, })];\n _icon_decorators = [property({})];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\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(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, _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, _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, _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, _icon_decorators, { kind: \"field\", name: \"icon\", static: false, private: false, access: { has: obj => \"icon\" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_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 // Options are data-only elements, no shadow DOM needed\n return html /*html*/ ``;\n }\n styles() {\n return css /*css*/ `:host { display: none; }`;\n }\n init() {\n // If no label is provided, use the text content\n if (!this.label && this.textContent) {\n this.label = this.textContent.trim();\n }\n // If no value is provided, use the label\n if (!this.value && this.label) {\n this.value = this.label;\n }\n }\n // Getter for the option data\n get optionData() {\n return {\n value: this.value,\n label: this.label || this.textContent?.trim() || this.value,\n disabled: this.disabled,\n selected: this.selected,\n icon: this.icon\n };\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.label = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.disabled = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.selected = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _selected_initializers, false));\n this.icon = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _icon_initializers, ''));\n __runInitializers(this, _icon_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceOption };\n//# sourceMappingURL=snice-option.js.map\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, query, queryAll, render, styles, ready, dispose, watch, dispatch, html, css } from 'snice';\nimport './snice-option.js';\n\nvar cssContent = \":host{display:inline-block;font-family:var(--snice-font-family);position:relative;width:100%;max-width:18.75rem}[hidden]{display:none!important}img[src=\\\"\\\"]{display:none}.select-wrapper{position:relative;width:100%}.select-label{display:block;margin-bottom:.25rem;color:var(--snice-color-text);font-weight:500}.select-label--small{font-size:var(--snice-font-size-sm)}.select-label--medium{font-size:var(--snice-font-size-md)}.select-label--large{font-size:var(--snice-font-size-lg)}.select-label--required::after{content:' *';color:var(--snice-color-danger)}.select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--snice-color-background-input);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-md);cursor:pointer;transition:all var(--snice-transition-fast) ease;position:relative;text-align:left;font-family:inherit;color:var(--snice-color-text)}.select-trigger--small{padding:.375rem 2rem .375rem .625rem;font-size:var(--snice-font-size-sm);min-height:2rem}.select-trigger--medium{padding:.5rem 2.25rem .5rem .75rem;font-size:var(--snice-font-size-md);min-height:var(--snice-select-min-height,2.5rem)}.select-trigger--large{padding:.625rem 2.5rem .625rem .875rem;font-size:var(--snice-font-size-lg);min-height:3rem}.select-trigger:hover:not(.select-trigger--disabled){border-color:var(--snice-color-border-hover)}.select-trigger:focus-visible{outline:2px solid var(--snice-color-primary);outline-offset:2px;border-color:var(--snice-color-primary)}.select-trigger--open{border-color:var(--snice-color-primary)}.select-trigger--disabled{background:var(--snice-color-background-secondary);cursor:not-allowed;opacity:.6}.select-trigger--readonly{background:var(--snice-color-background-secondary);cursor:default}.select-trigger--invalid{border-color:var(--snice-color-danger)}.select-placeholder{color:var(--snice-color-text-secondary)}.select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-value--single{display:flex;align-items:center;gap:.5rem}.select-value-icon{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}.select-value--multiple{display:flex;gap:.25rem;flex-wrap:wrap}.select-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;background:var(--snice-color-primary-light);color:var(--snice-color-primary);border-radius:var(--snice-border-radius-sm);font-size:var(--snice-font-size-xs)}.select-tag-icon{width:.75rem;height:.75rem;object-fit:contain;flex-shrink:0}.select-tag-remove{cursor:pointer;padding:0;background:0 0;border:none;color:inherit;font-size:.75rem;line-height:1}.select-tag-remove:hover{opacity:.7}.select-icons{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.25rem;pointer-events:none;z-index:1}.select-clear{padding:2px;background:0 0;border:none;cursor:pointer;color:var(--snice-color-text-secondary);display:flex;align-items:center;justify-content:center;border-radius:var(--snice-border-radius-sm);pointer-events:auto}.select-clear:hover{background:var(--snice-color-background-secondary);color:var(--snice-color-text)}.select-arrow{transition:transform var(--snice-transition-fast) ease;color:var(--snice-color-text-secondary);pointer-events:none}.select-arrow--open{transform:rotate(180deg)}.select-dropdown{position:absolute;top:100%;margin-top:4px;left:0;right:0;background:var(--snice-color-background-element);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-md);box-shadow:var(--snice-shadow-lg);z-index:1000;opacity:0;transform:translateY(-8px) scaleY(.95);transform-origin:top;pointer-events:none;transition:opacity var(--snice-transition-fast) ease,transform var(--snice-transition-fast) ease;display:flex;flex-direction:column;overflow:hidden}.select-dropdown--open{opacity:1;transform:translateY(0) scaleY(1);pointer-events:auto}.select-search{padding:8px;border-bottom:1px solid var(--snice-color-border);flex-shrink:0}.select-search-input{width:100%;padding:6px 10px;background:var(--snice-color-background-input);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-sm);font-size:var(--snice-font-size-sm);font-family:inherit;color:var(--snice-color-text);box-sizing:border-box}.select-search-input:focus{outline:0;border-color:var(--snice-color-primary)}.select-options{max-height:200px;overflow-y:auto;overflow-x:hidden;padding:4px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--snice-color-border) var(--snice-color-background-secondary)}.select-options::-webkit-scrollbar-track{background:var(--snice-color-background-secondary);margin:4px 0}.select-options::-webkit-scrollbar-thumb{background:var(--snice-color-border);border:2px solid var(--snice-color-background)}.select-option{padding:8px 12px;cursor:pointer;border-radius:var(--snice-border-radius-sm);transition:background var(--snice-transition-fast) ease;display:flex;align-items:center;gap:8px}.select-option:hover:not(.select-option--disabled){background:var(--snice-color-background-secondary)}.select-option--selected{background:var(--snice-color-primary-light);color:var(--snice-color-primary);font-weight:500}.select-option--focused{background:var(--snice-color-background-secondary);outline:2px solid var(--snice-color-primary);outline-offset:-2px}.select-option--disabled{opacity:.5;cursor:not-allowed}.select-option-icon{width:16px;height:16px;object-fit:contain;flex-shrink:0}.select-option-check{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.select-option-label{flex:1}.select-no-options{padding:16px;text-align:center;color:var(--snice-color-text-secondary);font-size:var(--snice-font-size-sm)}.select-native{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:var(--snice-color-background-secondary);border-radius:3px}.select-options::-webkit-scrollbar-thumb{background:var(--snice-color-border);border-radius:3px}.select-options::-webkit-scrollbar-thumb:hover{background:var(--snice-color-border-hover)}.select-trigger--loading{cursor:wait;opacity:.7}.select-spinner{display:inline-block;width:14px;height:14px;margin-right:4px}.select-spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}\";\n\nlet SniceSelect = (() => {\n let _classDecorators = [element('snice-select')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_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 _readonly_decorators;\n let _readonly_initializers = [];\n let _readonly_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _multiple_decorators;\n let _multiple_initializers = [];\n let _multiple_extraInitializers = [];\n let _searchable_decorators;\n let _searchable_initializers = [];\n let _searchable_extraInitializers = [];\n let _clearable_decorators;\n let _clearable_initializers = [];\n let _clearable_extraInitializers = [];\n let _open_decorators;\n let _open_initializers = [];\n let _open_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 _placeholder_decorators;\n let _placeholder_initializers = [];\n let _placeholder_extraInitializers = [];\n let _maxHeight_decorators;\n let _maxHeight_initializers = [];\n let _maxHeight_extraInitializers = [];\n let _trigger_decorators;\n let _trigger_initializers = [];\n let _trigger_extraInitializers = [];\n let _dropdown_decorators;\n let _dropdown_initializers = [];\n let _dropdown_extraInitializers = [];\n let _valueDisplay_decorators;\n let _valueDisplay_initializers = [];\n let _valueDisplay_extraInitializers = [];\n let _labelElement_decorators;\n let _labelElement_initializers = [];\n let _labelElement_extraInitializers = [];\n let _searchInput_decorators;\n let _searchInput_initializers = [];\n let _searchInput_extraInitializers = [];\n let _optionsList_decorators;\n let _optionsList_initializers = [];\n let _optionsList_extraInitializers = [];\n let _nativeSelect_decorators;\n let _nativeSelect_initializers = [];\n let _nativeSelect_extraInitializers = [];\n let _clearButton_decorators;\n let _clearButton_initializers = [];\n let _clearButton_extraInitializers = [];\n let _arrow_decorators;\n let _arrow_initializers = [];\n let _arrow_extraInitializers = [];\n let _searchContainer_decorators;\n let _searchContainer_initializers = [];\n let _searchContainer_extraInitializers = [];\n let _optionElements_decorators;\n let _optionElements_initializers = [];\n let _optionElements_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _cleanup_decorators;\n let _handleValueChange_decorators;\n let _handleDisabledChange_decorators;\n let _handleLoadingChange_decorators;\n let _handleOpenChange_decorators;\n let _handleNativeSelectAttributeChange_decorators;\n let _dispatchChangeEvent_decorators;\n let _dispatchOpenEvent_decorators;\n let _dispatchCloseEvent_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.disabled = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.required = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _required_initializers, false));\n this.invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));\n this.readonly = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _readonly_initializers, false));\n this.loading = (__runInitializers(this, _readonly_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.multiple = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _multiple_initializers, false));\n this.searchable = (__runInitializers(this, _multiple_extraInitializers), __runInitializers(this, _searchable_initializers, false));\n this.clearable = (__runInitializers(this, _searchable_extraInitializers), __runInitializers(this, _clearable_initializers, false));\n this.open = (__runInitializers(this, _clearable_extraInitializers), __runInitializers(this, _open_initializers, false));\n this.size = (__runInitializers(this, _open_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, ''));\n this.label = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.placeholder = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _placeholder_initializers, 'Select an option'));\n this.maxHeight = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _maxHeight_initializers, '200px'));\n // Options will be read from child snice-option elements\n this.options = (__runInitializers(this, _maxHeight_extraInitializers), []);\n this.trigger = __runInitializers(this, _trigger_initializers, void 0);\n this.dropdown = (__runInitializers(this, _trigger_extraInitializers), __runInitializers(this, _dropdown_initializers, void 0));\n this.valueDisplay = (__runInitializers(this, _dropdown_extraInitializers), __runInitializers(this, _valueDisplay_initializers, void 0));\n this.labelElement = (__runInitializers(this, _valueDisplay_extraInitializers), __runInitializers(this, _labelElement_initializers, void 0));\n this.searchInput = (__runInitializers(this, _labelElement_extraInitializers), __runInitializers(this, _searchInput_initializers, void 0));\n this.optionsList = (__runInitializers(this, _searchInput_extraInitializers), __runInitializers(this, _optionsList_initializers, void 0));\n this.nativeSelect = (__runInitializers(this, _optionsList_extraInitializers), __runInitializers(this, _nativeSelect_initializers, void 0));\n this.clearButton = (__runInitializers(this, _nativeSelect_extraInitializers), __runInitializers(this, _clearButton_initializers, void 0));\n this.arrow = (__runInitializers(this, _clearButton_extraInitializers), __runInitializers(this, _arrow_initializers, void 0));\n this.searchContainer = (__runInitializers(this, _arrow_extraInitializers), __runInitializers(this, _searchContainer_initializers, void 0));\n this.optionElements = (__runInitializers(this, _searchContainer_extraInitializers), __runInitializers(this, _optionElements_initializers, void 0));\n this.filteredOptions = (__runInitializers(this, _optionElements_extraInitializers), []);\n this.selectedValues = new Set();\n this.focusedIndex = -1;\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _disabled_decorators = [property({ type: Boolean, })];\n _required_decorators = [property({ type: Boolean, })];\n _invalid_decorators = [property({ type: Boolean, })];\n _readonly_decorators = [property({ type: Boolean, })];\n _loading_decorators = [property({ type: Boolean, })];\n _multiple_decorators = [property({ type: Boolean, })];\n _searchable_decorators = [property({ type: Boolean, })];\n _clearable_decorators = [property({ type: Boolean, })];\n _open_decorators = [property({ type: Boolean, })];\n _size_decorators = [property({})];\n _name_decorators = [property({})];\n _value_decorators = [property({})];\n _label_decorators = [property({})];\n _placeholder_decorators = [property({})];\n _maxHeight_decorators = [property({ attribute: 'max-height' })];\n _trigger_decorators = [query('.select-trigger')];\n _dropdown_decorators = [query('.select-dropdown')];\n _valueDisplay_decorators = [query('.select-value')];\n _labelElement_decorators = [query('.select-label')];\n _searchInput_decorators = [query('.select-search-input')];\n _optionsList_decorators = [query('.select-options')];\n _nativeSelect_decorators = [query('.select-native')];\n _clearButton_decorators = [query('.select-clear')];\n _arrow_decorators = [query('.select-arrow')];\n _searchContainer_decorators = [query('.select-search')];\n _optionElements_decorators = [queryAll('.select-option')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _cleanup_decorators = [dispose()];\n _handleValueChange_decorators = [watch('value')];\n _handleDisabledChange_decorators = [watch('disabled')];\n _handleLoadingChange_decorators = [watch('loading')];\n _handleOpenChange_decorators = [watch('open')];\n _handleNativeSelectAttributeChange_decorators = [watch('multiple', 'name')];\n _dispatchChangeEvent_decorators = [dispatch('select-change', { bubbles: true, composed: true })];\n _dispatchOpenEvent_decorators = [dispatch('select-open', { bubbles: true, composed: true })];\n _dispatchCloseEvent_decorators = [dispatch('select-close', { bubbles: true, composed: true })];\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(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, _cleanup_decorators, { kind: \"method\", name: \"cleanup\", static: false, private: false, access: { has: obj => \"cleanup\" in obj, get: obj => obj.cleanup }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleValueChange_decorators, { kind: \"method\", name: \"handleValueChange\", static: false, private: false, access: { has: obj => \"handleValueChange\" in obj, get: obj => obj.handleValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDisabledChange_decorators, { kind: \"method\", name: \"handleDisabledChange\", static: false, private: false, access: { has: obj => \"handleDisabledChange\" in obj, get: obj => obj.handleDisabledChange }, 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, _handleOpenChange_decorators, { kind: \"method\", name: \"handleOpenChange\", static: false, private: false, access: { has: obj => \"handleOpenChange\" in obj, get: obj => obj.handleOpenChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleNativeSelectAttributeChange_decorators, { kind: \"method\", name: \"handleNativeSelectAttributeChange\", static: false, private: false, access: { has: obj => \"handleNativeSelectAttributeChange\" in obj, get: obj => obj.handleNativeSelectAttributeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchChangeEvent_decorators, { kind: \"method\", name: \"dispatchChangeEvent\", static: false, private: false, access: { has: obj => \"dispatchChangeEvent\" in obj, get: obj => obj.dispatchChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchOpenEvent_decorators, { kind: \"method\", name: \"dispatchOpenEvent\", static: false, private: false, access: { has: obj => \"dispatchOpenEvent\" in obj, get: obj => obj.dispatchOpenEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCloseEvent_decorators, { kind: \"method\", name: \"dispatchCloseEvent\", static: false, private: false, access: { has: obj => \"dispatchCloseEvent\" in obj, get: obj => obj.dispatchCloseEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _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, _readonly_decorators, { kind: \"field\", name: \"readonly\", static: false, private: false, access: { has: obj => \"readonly\" in obj, get: obj => obj.readonly, set: (obj, value) => { obj.readonly = value; } }, metadata: _metadata }, _readonly_initializers, _readonly_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, _multiple_decorators, { kind: \"field\", name: \"multiple\", static: false, private: false, access: { has: obj => \"multiple\" in obj, get: obj => obj.multiple, set: (obj, value) => { obj.multiple = value; } }, metadata: _metadata }, _multiple_initializers, _multiple_extraInitializers);\n __esDecorate(null, null, _searchable_decorators, { kind: \"field\", name: \"searchable\", static: false, private: false, access: { has: obj => \"searchable\" in obj, get: obj => obj.searchable, set: (obj, value) => { obj.searchable = value; } }, metadata: _metadata }, _searchable_initializers, _searchable_extraInitializers);\n __esDecorate(null, null, _clearable_decorators, { kind: \"field\", name: \"clearable\", static: false, private: false, access: { has: obj => \"clearable\" in obj, get: obj => obj.clearable, set: (obj, value) => { obj.clearable = value; } }, metadata: _metadata }, _clearable_initializers, _clearable_extraInitializers);\n __esDecorate(null, null, _open_decorators, { kind: \"field\", name: \"open\", static: false, private: false, access: { has: obj => \"open\" in obj, get: obj => obj.open, set: (obj, value) => { obj.open = value; } }, metadata: _metadata }, _open_initializers, _open_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, _placeholder_decorators, { kind: \"field\", name: \"placeholder\", static: false, private: false, access: { has: obj => \"placeholder\" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);\n __esDecorate(null, null, _maxHeight_decorators, { kind: \"field\", name: \"maxHeight\", static: false, private: false, access: { has: obj => \"maxHeight\" in obj, get: obj => obj.maxHeight, set: (obj, value) => { obj.maxHeight = value; } }, metadata: _metadata }, _maxHeight_initializers, _maxHeight_extraInitializers);\n __esDecorate(null, null, _trigger_decorators, { kind: \"field\", name: \"trigger\", static: false, private: false, access: { has: obj => \"trigger\" in obj, get: obj => obj.trigger, set: (obj, value) => { obj.trigger = value; } }, metadata: _metadata }, _trigger_initializers, _trigger_extraInitializers);\n __esDecorate(null, null, _dropdown_decorators, { kind: \"field\", name: \"dropdown\", static: false, private: false, access: { has: obj => \"dropdown\" in obj, get: obj => obj.dropdown, set: (obj, value) => { obj.dropdown = value; } }, metadata: _metadata }, _dropdown_initializers, _dropdown_extraInitializers);\n __esDecorate(null, null, _valueDisplay_decorators, { kind: \"field\", name: \"valueDisplay\", static: false, private: false, access: { has: obj => \"valueDisplay\" in obj, get: obj => obj.valueDisplay, set: (obj, value) => { obj.valueDisplay = value; } }, metadata: _metadata }, _valueDisplay_initializers, _valueDisplay_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, _searchInput_decorators, { kind: \"field\", name: \"searchInput\", static: false, private: false, access: { has: obj => \"searchInput\" in obj, get: obj => obj.searchInput, set: (obj, value) => { obj.searchInput = value; } }, metadata: _metadata }, _searchInput_initializers, _searchInput_extraInitializers);\n __esDecorate(null, null, _optionsList_decorators, { kind: \"field\", name: \"optionsList\", static: false, private: false, access: { has: obj => \"optionsList\" in obj, get: obj => obj.optionsList, set: (obj, value) => { obj.optionsList = value; } }, metadata: _metadata }, _optionsList_initializers, _optionsList_extraInitializers);\n __esDecorate(null, null, _nativeSelect_decorators, { kind: \"field\", name: \"nativeSelect\", static: false, private: false, access: { has: obj => \"nativeSelect\" in obj, get: obj => obj.nativeSelect, set: (obj, value) => { obj.nativeSelect = value; } }, metadata: _metadata }, _nativeSelect_initializers, _nativeSelect_extraInitializers);\n __esDecorate(null, null, _clearButton_decorators, { kind: \"field\", name: \"clearButton\", static: false, private: false, access: { has: obj => \"clearButton\" in obj, get: obj => obj.clearButton, set: (obj, value) => { obj.clearButton = value; } }, metadata: _metadata }, _clearButton_initializers, _clearButton_extraInitializers);\n __esDecorate(null, null, _arrow_decorators, { kind: \"field\", name: \"arrow\", static: false, private: false, access: { has: obj => \"arrow\" in obj, get: obj => obj.arrow, set: (obj, value) => { obj.arrow = value; } }, metadata: _metadata }, _arrow_initializers, _arrow_extraInitializers);\n __esDecorate(null, null, _searchContainer_decorators, { kind: \"field\", name: \"searchContainer\", static: false, private: false, access: { has: obj => \"searchContainer\" in obj, get: obj => obj.searchContainer, set: (obj, value) => { obj.searchContainer = value; } }, metadata: _metadata }, _searchContainer_initializers, _searchContainer_extraInitializers);\n __esDecorate(null, null, _optionElements_decorators, { kind: \"field\", name: \"optionElements\", static: false, private: false, access: { has: obj => \"optionElements\" in obj, get: obj => obj.optionElements, set: (obj, value) => { obj.optionElements = value; } }, metadata: _metadata }, _optionElements_initializers, _optionElements_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 labelClasses = `select-label select-label--${this.size} ${this.required ? 'select-label--required' : ''}`;\n const triggerClasses = `select-trigger select-trigger--${this.size} ${this.loading ? 'select-trigger--loading' : ''}`;\n const searchHidden = !this.searchable;\n return html /*html*/ `\n <div class=\"select-wrapper\">\n <label class=\"${labelClasses}\" part=\"label\" ?hidden=\"${!this.label}\">\n ${this.label}\n </label>\n\n <button\n type=\"button\"\n class=\"${triggerClasses}\"\n aria-haspopup=\"listbox\"\n aria-expanded=\"false\"\n aria-label=\"${this.label || 'Select'}\"\n part=\"trigger\"\n @keydown=\"${(e) => this.handleTriggerOpen(e)}\"\n @click=\"${(e) => this.handleTriggerClick(e)}\">\n\n <div class=\"select-value\" part=\"value\">\n <span class=\"select-placeholder\">${this.placeholder}</span>\n </div>\n\n <span class=\"select-icons\">\n <span class=\"select-clear\" aria-label=\"Clear selection\" style=\"display: none;\" @click=\"${(e) => this.handleClearClick(e)}\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"currentColor\">\n <path d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\"/>\n </svg>\n </span>\n <if ${this.loading}>\n <span class=\"select-spinner\" part=\"spinner\"></span>\n </if>\n <if ${!this.loading}>\n <span class=\"select-arrow\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"currentColor\">\n <path d=\"M6 9L1 4h10L6 9z\"/>\n </svg>\n </span>\n </if>\n </span>\n </button>\n\n <div class=\"select-dropdown\"\n role=\"listbox\"\n aria-label=\"${this.label || 'Options'}\"\n part=\"dropdown\"\n @click=\"${(e) => this.handleOptionsClick(e)}\">\n\n <div class=\"select-search\" part=\"search\" ?hidden=\"${searchHidden}\">\n <input\n type=\"text\"\n class=\"select-search-input\"\n placeholder=\"Search...\"\n aria-label=\"Search options\"\n part=\"search-input\"\n @keydown=\"${(e) => this.handleSearchKeydown(e)}\"\n @input=\"${(e) => this.handleSearchInput(e)}\" />\n </div>\n\n <div class=\"select-options\" part=\"options\">\n <!-- Options will be rendered in @ready() -->\n </div>\n </div>\n\n <!-- Hidden native select for form submission -->\n <select\n class=\"select-native\"\n name=\"${this.name || ''}\"\n tabindex=\"-1\"\n aria-hidden=\"true\">\n <!-- Options will be added in @ready() -->\n </select>\n </div>\n `;\n }\n renderOptions() {\n const options = this.searchable ? this.filteredOptions : this.options;\n if (options.length === 0) {\n return /*html*/ `\n <div class=\"select-no-options\">\n <span class=\"select-no-options-text\" data-search=\"true\" ${!this.searchable || this.filteredOptions.length > 0 ? 'hidden' : ''}>No matches found</span>\n <span class=\"select-no-options-text\" data-search=\"false\" ${this.searchable && this.filteredOptions.length === 0 ? 'hidden' : ''}>No options available</span>\n </div>\n `;\n }\n return options.map((opt, index) => {\n const isSelected = this.multiple ?\n this.selectedValues.has(opt.value) :\n opt.value === this.value;\n return /*html*/ `\n <div class=\"select-option \n ${isSelected ? 'select-option--selected' : ''}\n ${opt.disabled ? 'select-option--disabled' : ''}\n ${index === this.focusedIndex ? 'select-option--focused' : ''}\n ${opt.icon ? 'select-option--has-icon' : ''}\"\n data-value=\"${opt.value}\"\n role=\"option\"\n aria-selected=\"${isSelected}\"\n aria-disabled=\"${opt.disabled}\"\n part=\"option\">\n <span class=\"select-option-check\" ${!this.multiple ? 'hidden' : ''}>\n <span class=\"select-option-check-mark\" ${!isSelected ? 'hidden' : ''}>✓</span>\n </span>\n <img class=\"select-option-icon\" src=\"${opt.icon || ''}\" alt=\"\" ${!opt.icon ? 'hidden' : ''} />\n <span class=\"select-option-label\">${opt.label}</span>\n </div>\n `;\n }).join('');\n }\n styles() {\n return css `${cssContent}`;\n }\n init() {\n // Read options from child snice-option elements\n this.readOptionsFromChildren();\n // Initialize selected values\n if (this.multiple && this.value) {\n this.selectedValues = new Set(this.value.split(',').map(v => v.trim()));\n }\n // Initialize filtered options\n this.filteredOptions = [...this.options];\n // Wait for @query decorators to populate shadow DOM elements\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n // Set initial imperative state\n this.updateTriggerState();\n this.updateDropdownState();\n this.updateNativeSelectAttributes();\n // Now that we have options, update everything\n this.updateDropdownContent();\n this.updateNativeSelect();\n this.updateValueDisplay();\n this.updateClearButton();\n });\n });\n // Watch for changes to child options\n this.observeChildren();\n // Setup global event listeners\n this.setupGlobalListeners();\n }\n cleanup() {\n this.removeGlobalListeners();\n this.childObserver?.disconnect();\n }\n setupGlobalListeners() {\n // Create bound handlers\n this.outsideClickHandler = (e) => {\n if (!this.contains(e.target) && this.open) {\n this.closeDropdown();\n }\n };\n this.globalKeyHandler = (e) => {\n if (!this.open)\n return;\n switch (e.key) {\n case 'Escape':\n this.closeDropdown();\n this.trigger?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNextOption();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this.focusPreviousOption();\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (this.focusedIndex >= 0) {\n const options = this.searchable ? this.filteredOptions : this.options;\n const option = options[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n break;\n }\n };\n // Add listeners\n document.addEventListener('click', this.outsideClickHandler);\n document.addEventListener('keydown', this.globalKeyHandler);\n }\n removeGlobalListeners() {\n if (this.outsideClickHandler) {\n document.removeEventListener('click', this.outsideClickHandler);\n }\n if (this.globalKeyHandler) {\n document.removeEventListener('keydown', this.globalKeyHandler);\n }\n }\n // Manual observation of light DOM children (snice-option elements)\n observeChildren() {\n const observer = new MutationObserver((mutations) => {\n this.handleChildrenChange(mutations);\n });\n // Observe the host element (this) for changes to its light DOM children\n observer.observe(this, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['value', 'label', 'disabled', 'selected']\n });\n // Store for cleanup\n this.childObserver = observer;\n }\n handleChildrenChange(mutations) {\n // Check if any of the mutations are relevant (snice-option elements or their attributes)\n const relevant = mutations.some(m => {\n if (m.type === 'childList')\n return true;\n if (m.type === 'attributes' && ['value', 'label', 'disabled', 'selected'].includes(m.attributeName)) {\n return m.target.nodeName === 'SNICE-OPTION';\n }\n return false;\n });\n if (relevant) {\n this.readOptionsFromChildren();\n this.filteredOptions = [...this.options];\n this.updateNativeSelect();\n this.updateValueDisplay();\n this.updateClearButton();\n this.updateDropdownContent();\n }\n }\n readOptionsFromChildren() {\n // Get all snice-option children from light DOM\n const optionElements = Array.from(this.querySelectorAll('snice-option'));\n this.options = optionElements.map(opt => {\n const sniceOption = opt;\n // Use the optionData getter if available, otherwise construct from properties\n if (sniceOption.optionData) {\n return sniceOption.optionData;\n }\n return {\n value: opt.getAttribute('value') || '',\n label: opt.getAttribute('label') || opt.textContent?.trim() || '',\n disabled: opt.hasAttribute('disabled'),\n selected: opt.hasAttribute('selected')\n };\n });\n }\n handleTriggerOpen(e) {\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault();\n if (!this.open) {\n this.openDropdown();\n }\n }\n }\n handleSearchKeydown(e) {\n switch (e.key) {\n case 'Escape':\n this.closeDropdown();\n this.trigger?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNextOption();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this.focusPreviousOption();\n break;\n case 'Enter':\n e.preventDefault();\n if (this.focusedIndex >= 0) {\n const options = this.searchable ? this.filteredOptions : this.options;\n const option = options[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n break;\n }\n }\n focusNextOption() {\n const options = this.searchable ? this.filteredOptions : this.options;\n const enabledOptions = options.filter(opt => !opt.disabled);\n if (enabledOptions.length === 0)\n return;\n this.focusedIndex++;\n if (this.focusedIndex >= options.length) {\n this.focusedIndex = 0;\n }\n while (options[this.focusedIndex]?.disabled) {\n this.focusedIndex++;\n if (this.focusedIndex >= options.length) {\n this.focusedIndex = 0;\n }\n }\n this.updateOptionFocus();\n }\n focusPreviousOption() {\n const options = this.searchable ? this.filteredOptions : this.options;\n const enabledOptions = options.filter(opt => !opt.disabled);\n if (enabledOptions.length === 0)\n return;\n this.focusedIndex--;\n if (this.focusedIndex < 0) {\n this.focusedIndex = options.length - 1;\n }\n while (options[this.focusedIndex]?.disabled) {\n this.focusedIndex--;\n if (this.focusedIndex < 0) {\n this.focusedIndex = options.length - 1;\n }\n }\n this.updateOptionFocus();\n }\n updateOptionFocus() {\n if (this.optionElements) {\n this.optionElements.forEach((el, index) => {\n el.classList.toggle('select-option--focused', index === this.focusedIndex);\n });\n }\n }\n handleClearClick(e) {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }\n handleTriggerClick(e) {\n const target = e.target;\n // Don't toggle if clicking on the clear button\n if (target.closest('.select-clear')) {\n return;\n }\n e.stopPropagation();\n if (!this.disabled && !this.readonly) {\n this.toggleDropdown();\n }\n }\n handleOptionsClick(e) {\n const target = e.target;\n // Handle tag remove click\n if (target.closest('.select-tag-remove')) {\n e.stopPropagation();\n const removeBtn = target.closest('.select-tag-remove');\n const value = removeBtn.getAttribute('data-value');\n if (value && this.multiple) {\n this.selectedValues.delete(value);\n this.value = Array.from(this.selectedValues).join(',');\n this.updateNativeSelect();\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent();\n }\n return;\n }\n const optionEl = target.closest('.select-option');\n if (!optionEl)\n return;\n e.stopPropagation();\n const value = optionEl.getAttribute('data-value');\n if (!value)\n return;\n const option = this.options.find(opt => opt.value === value);\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n handleSearchInput(e) {\n const input = e.target;\n const searchTerm = input.value.toLowerCase();\n if (searchTerm) {\n this.filteredOptions = this.options.filter(opt => opt.label.toLowerCase().includes(searchTerm));\n }\n else {\n this.filteredOptions = [...this.options];\n }\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n handleOptionSelect(option) {\n if (this.multiple) {\n if (this.selectedValues.has(option.value)) {\n this.selectedValues.delete(option.value);\n }\n else {\n this.selectedValues.add(option.value);\n }\n this.value = Array.from(this.selectedValues).join(',');\n this.updateDropdownContent();\n }\n else {\n this.value = option.value;\n this.closeDropdown();\n }\n this.updateNativeSelect();\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent(option);\n }\n handleValueChange() {\n if (this.multiple) {\n this.selectedValues = new Set(this.value ? this.value.split(',').map(v => v.trim()) : []);\n }\n this.updateNativeSelect();\n this.updateValueDisplay();\n this.updateClearButton();\n }\n handleDisabledChange() {\n this.updateTriggerState();\n this.updateNativeSelectAttributes();\n this.updateClearButton();\n // Side effect: close dropdown when disabled\n if (this.disabled && this.open) {\n this.closeDropdown();\n }\n }\n handleLoadingChange() {\n this.updateTriggerState();\n this.updateNativeSelectAttributes();\n this.updateClearButton();\n // Side effect: close dropdown when loading\n if (this.loading && this.open) {\n this.closeDropdown();\n }\n }\n handleOpenChange() {\n this.updateDropdownState();\n this.updateTriggerState();\n // Side effect: focus search input when opened\n if (this.open && this.searchable && this.searchInput) {\n setTimeout(() => this.searchInput?.focus(), 100);\n }\n // Side effect: reset search when closed\n if (!this.open) {\n this.focusedIndex = -1;\n if (this.searchInput) {\n this.searchInput.value = '';\n this.filteredOptions = [...this.options];\n this.updateDropdownContent();\n }\n }\n }\n handleNativeSelectAttributeChange() {\n this.updateNativeSelectAttributes();\n }\n updateValueDisplay() {\n if (!this.valueDisplay)\n return;\n const selectedOptions = this.options.filter(opt => this.multiple ? this.selectedValues.has(opt.value) : opt.value === this.value);\n if (this.multiple && selectedOptions.length > 0) {\n this.valueDisplay.innerHTML = /*html*/ `\n <div class=\"select-value--multiple\">\n ${selectedOptions.map(opt => /*html*/ `\n <span class=\"select-tag\">\n <img class=\"select-tag-icon\" src=\"${opt.icon || ''}\" alt=\"\" ${!opt.icon ? 'hidden' : ''} />\n ${opt.label}\n <span class=\"select-tag-remove\" data-value=\"${opt.value}\" aria-label=\"Remove ${opt.label}\" ${this.disabled || this.readonly ? 'hidden' : ''}>×</span>\n </span>\n `).join('')}\n </div>\n `;\n }\n else if (selectedOptions.length > 0) {\n const selected = selectedOptions[0];\n this.valueDisplay.innerHTML = /*html*/ `\n <div class=\"select-value--single\">\n <img class=\"select-value-icon\" src=\"${selected.icon || ''}\" alt=\"\" ${!selected.icon ? 'hidden' : ''} />\n <span>${selected.label}</span>\n </div>\n `;\n }\n else {\n this.valueDisplay.innerHTML = /*html*/ `<span class=\"select-placeholder\">${this.placeholder}</span>`;\n }\n }\n updateClearButton() {\n if (!this.clearButton)\n return;\n const selectedOptions = this.options.filter(opt => this.multiple ? this.selectedValues.has(opt.value) : opt.value === this.value);\n const shouldShow = this.clearable && selectedOptions.length > 0 && !this.disabled && !this.readonly;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n }\n updateDropdownContent() {\n if (!this.optionsList)\n return;\n this.optionsList.innerHTML = this.renderOptions();\n }\n updateNativeSelect() {\n if (!this.nativeSelect)\n return;\n // Clear and rebuild options\n this.nativeSelect.innerHTML = '';\n this.options.forEach(opt => {\n const option = document.createElement('option');\n option.value = opt.value;\n option.textContent = opt.label;\n option.selected = this.multiple ?\n this.selectedValues.has(opt.value) :\n opt.value === this.value;\n this.nativeSelect.appendChild(option);\n });\n }\n dispatchChangeEvent(option) {\n return {\n value: this.multiple ? Array.from(this.selectedValues) : this.value,\n option,\n select: this\n };\n }\n dispatchOpenEvent() {\n return { select: this };\n }\n dispatchCloseEvent() {\n return { select: this };\n }\n // Public API\n focus() {\n this.trigger?.focus();\n }\n blur() {\n this.trigger?.blur();\n if (this.open) {\n this.closeDropdown();\n }\n }\n clear() {\n if (this.multiple) {\n this.selectedValues.clear();\n this.value = '';\n }\n else {\n this.value = '';\n }\n this.updateNativeSelect();\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent();\n }\n openDropdown() {\n if (!this.open && !this.disabled && !this.readonly) {\n this.open = true;\n this.dispatchOpenEvent();\n }\n }\n closeDropdown() {\n if (this.open) {\n this.open = false;\n this.dispatchCloseEvent();\n }\n }\n toggleDropdown() {\n if (this.open) {\n this.closeDropdown();\n }\n else {\n this.openDropdown();\n }\n }\n selectOption(value) {\n const option = this.options.find(opt => opt.value === value);\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n updateTriggerState() {\n if (!this.trigger)\n return;\n this.trigger.classList.toggle('select-trigger--open', this.open);\n this.trigger.classList.toggle('select-trigger--disabled', this.disabled);\n this.trigger.classList.toggle('select-trigger--readonly', this.readonly);\n this.trigger.classList.toggle('select-trigger--invalid', this.invalid);\n this.trigger.classList.toggle('select-trigger--loading', this.loading);\n this.trigger.setAttribute('aria-expanded', String(this.open));\n this.trigger.disabled = this.disabled || this.loading;\n }\n updateDropdownState() {\n if (!this.dropdown)\n return;\n this.dropdown.classList.toggle('select-dropdown--open', this.open);\n if (this.arrow) {\n this.arrow.classList.toggle('select-arrow--open', this.open);\n }\n }\n updateNativeSelectAttributes() {\n if (!this.nativeSelect)\n return;\n this.nativeSelect.disabled = this.disabled || this.loading;\n this.nativeSelect.required = this.required;\n this.nativeSelect.multiple = this.multiple;\n if (this.name) {\n this.nativeSelect.name = this.name;\n }\n else {\n this.nativeSelect.removeAttribute('name');\n }\n }\n });\n return _classThis;\n})();\n\nexport { SniceSelect };\n//# sourceMappingURL=snice-select.js.map\n","var cssContent = \":host{display:flex;align-items:center;padding:0 var(--snice-table-cell-padding,var(--snice-spacing-md,.75rem));min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem;color:var(--snice-color-text)}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;word-wrap:break-word}:host([align=left]){text-align:left}:host([align=center]){text-align:center}:host([align=right]){text-align:right}:host([type=accounting]),:host([type=currency]),:host([type=fraction]),:host([type=number]),:host([type=percent]),:host([type=scientific]){font-variant-numeric:tabular-nums;text-align:right}:host([type=date]){font-variant-numeric:tabular-nums}:host([type=boolean]){text-align:center;font-size:1rem}:host([type=rating]){text-align:center}:host([type=sparkline]){text-align:center}.cell-content--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-content--text[data-multiline=true]{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.cell-content--date,.cell-content--number{font-feature-settings:'tnum'}:host([type=boolean]) .cell-content{display:inline-flex;align-items:center;justify-content:center}:host([type=rating]) .cell-content{display:inline-flex;align-items:center;justify-content:center;gap:.125rem}.cell-content--progress{width:100%;min-width:4rem}.cell-content--sparkline{display:flex;align-items:center;justify-content:center;min-width:3rem}:host(.positive){color:var(--snice-color-success)}:host(.negative){color:var(--snice-color-danger)}:host(.warning){color:var(--snice-color-warning);background-color:hsl(var(--snice-color-yellow-100))}:host(.danger){color:var(--snice-color-danger);background-color:hsl(var(--snice-color-red-100))}:host(.success){color:var(--snice-color-success);background-color:hsl(var(--snice-color-green-100))}:host(.info){color:var(--snice-color-primary);background-color:hsl(var(--snice-color-blue-100))}:host(.date--today){font-weight:var(--snice-font-weight-semibold);color:var(--snice-color-primary)}:host(.date--past){color:var(--snice-color-text-secondary)}:host(.date--future){color:var(--snice-color-success)}:host(.number--negative.number--negative-red){color:var(--snice-color-danger)}:host(.number--positive.number--highlighted){color:var(--snice-color-success);font-weight:var(--snice-font-weight-semibold)}:host(.number--zero){color:var(--snice-color-text-secondary)}:host([truncate]) .cell-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([wrap]) .cell-content{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}:host(:not([value])) .cell-content,:host([value=\\\"\\\"]) .cell-content{color:var(--snice-color-text-secondary)}:host(.loading){position:relative;overflow:hidden}:host(.loading) .cell-content{opacity:.6}:host(.loading)::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsl(0 0% 100% / .6),transparent);animation:1.5s infinite cell-shimmer}@keyframes cell-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}:host(:focus-within){outline:2px solid var(--snice-color-primary);outline-offset:-2px}.cell-content button,.cell-content input,.cell-content select{font-size:inherit;line-height:inherit}.cell-content a{color:var(--snice-color-primary);text-decoration:none}.cell-content a:hover{text-decoration:underline}@media (max-width:768px){:host{font-size:.75rem;line-height:1rem}:host([type=boolean]){font-size:.875rem}}@media (prefers-reduced-motion:reduce){:host(.loading)::after{animation:none}}@media (prefers-contrast:high){:host(.positive){background-color:hsl(var(--snice-color-green-100))}:host(.negative){background-color:hsl(var(--snice-color-red-100))}.cell-content a{text-decoration:underline}}@media print{:host{font-size:.75rem}:host(.loading)::after{display:none}.cell-content a{text-decoration:underline}}\";\n\nexport { cssContent as c };\n//# sourceMappingURL=snice-cell-D9dSe0d4.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCell = (() => {\n let _classDecorators = [element('snice-cell')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property()];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 return html /*html*/ `\n <div class=\"cell-content\" part=\"content\">\n ${this.formatValue()}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n this.applyConditionalFormatting();\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n this.contentElement.innerHTML = this.formatValue();\n }\n this.applyConditionalFormatting();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n applyConditionalFormatting() {\n if (!this.column || !this.column.conditionalFormats)\n return;\n // Reset any previous conditional formatting\n this.removeAttribute('style');\n this.className = 'snice-cell';\n this.applyAlignment();\n // Apply column base style if defined\n if (this.column.style) {\n this.applyStyle(this.column.style);\n }\n // Check and apply conditional formats\n for (const format of this.column.conditionalFormats) {\n if (format.condition(this.value, this.rowData)) {\n if (format.style) {\n this.applyStyle(format.style);\n }\n if (format.className) {\n this.classList.add(format.className);\n }\n break; // Apply only the first matching format\n }\n }\n }\n applyStyle(style) {\n if (style.backgroundColor)\n this.style.backgroundColor = style.backgroundColor;\n if (style.color)\n this.style.color = style.color;\n if (style.fontWeight)\n this.style.fontWeight = style.fontWeight;\n if (style.fontStyle)\n this.style.fontStyle = style.fontStyle;\n if (style.fontSize)\n this.style.fontSize = style.fontSize;\n if (style.textDecoration)\n this.style.textDecoration = style.textDecoration;\n }\n formatValue() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n // Apply type-specific formatting\n switch (this.type) {\n case 'text':\n return this.formatText();\n case 'number':\n return this.formatNumber();\n case 'currency':\n return this.formatCurrency();\n case 'percent':\n return this.formatPercent();\n case 'accounting':\n return this.formatAccounting();\n case 'scientific':\n return this.formatScientific();\n case 'fraction':\n return this.formatFraction();\n case 'date':\n return this.formatDate();\n case 'boolean':\n return this.formatBoolean();\n case 'rating':\n return this.formatRating();\n case 'progress':\n return this.formatProgress();\n case 'sparkline':\n return this.formatSparkline();\n case 'duration':\n return this.formatDuration();\n case 'filesize':\n return this.formatFilesize();\n case 'custom':\n return String(this.value);\n default:\n return String(this.value);\n }\n }\n formatText() {\n return String(this.value);\n }\n formatNumber() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n let formatted = num.toFixed(format.decimals ?? 0);\n if (format.thousandsSeparator) {\n const parts = formatted.split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n formatted = parts.join('.');\n }\n if (num < 0 && format.negativeStyle === 'parentheses') {\n formatted = `(${formatted.replace('-', '')})`;\n }\n if (format.prefix)\n formatted = format.prefix + formatted;\n if (format.suffix)\n formatted = formatted + format.suffix;\n return formatted;\n }\n formatCurrency() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n const currencyFormat = {\n style: 'currency',\n currency: 'USD',\n minimumFractionDigits: format.decimals ?? 2,\n maximumFractionDigits: format.decimals ?? 2\n };\n return new Intl.NumberFormat('en-US', currencyFormat).format(num);\n }\n formatPercent() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n const percentFormat = {\n style: 'percent',\n minimumFractionDigits: format.decimals ?? 1,\n maximumFractionDigits: format.decimals ?? 1\n };\n return new Intl.NumberFormat('en-US', percentFormat).format(num);\n }\n formatAccounting() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n let formatted = Math.abs(num).toFixed(format.decimals ?? 2);\n if (format.thousandsSeparator) {\n const parts = formatted.split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n formatted = parts.join('.');\n }\n if (num < 0) {\n formatted = `(${formatted})`;\n }\n else {\n formatted = ` ${formatted} `;\n }\n return formatted;\n }\n formatScientific() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n return num.toExponential(format.decimals ?? 2);\n }\n formatFraction() {\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n // Simple fraction conversion\n const tolerance = 1e-6;\n let h1 = 1, h2 = 0, k1 = 0, k2 = 1;\n let b = num;\n do {\n const a = Math.floor(b);\n let aux = h1;\n h1 = a * h1 + h2;\n h2 = aux;\n aux = k1;\n k1 = a * k1 + k2;\n k2 = aux;\n b = 1 / (b - a);\n } while (Math.abs(num - h1 / k1) > num * tolerance);\n return `${h1}/${k1}`;\n }\n formatDate() {\n const format = this.column.dateFormat || {};\n const date = new Date(this.value);\n if (isNaN(date.getTime()))\n return String(this.value);\n if (format.customFormat) {\n // Simple custom format implementation\n return format.customFormat\n .replace('YYYY', date.getFullYear().toString())\n .replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'))\n .replace('DD', date.getDate().toString().padStart(2, '0'));\n }\n const options = {};\n switch (format.format) {\n case 'short':\n options.dateStyle = 'short';\n break;\n case 'medium':\n options.dateStyle = 'medium';\n break;\n case 'long':\n options.dateStyle = 'long';\n break;\n case 'full':\n options.dateStyle = 'full';\n break;\n default:\n options.dateStyle = 'short';\n }\n return new Intl.DateTimeFormat(format.locale || 'en-US', options).format(date);\n }\n formatBoolean() {\n const format = this.column.booleanFormat || {};\n const bool = Boolean(this.value);\n if (format.useSymbols) {\n return bool\n ? (format.trueSymbol || '✓')\n : (format.falseSymbol || '✗');\n }\n return bool\n ? (format.trueValue || 'true')\n : (format.falseValue || 'false');\n }\n formatRating() {\n const format = this.column.ratingFormat || {};\n const rating = Number(this.value);\n const max = format.max || 5;\n const symbol = format.symbol || '★';\n const emptySymbol = format.emptySymbol || '☆';\n if (isNaN(rating))\n return String(this.value);\n let html = '';\n const primaryColor = format.color || getComputedStyle(this).getPropertyValue('--snice-color-warning').trim();\n const emptyColor = getComputedStyle(this).getPropertyValue('--snice-color-border').trim();\n for (let i = 0; i < max; i++) {\n if (i < rating) {\n html += `<span style=\"color: ${primaryColor}\">${symbol}</span>`;\n }\n else {\n html += `<span style=\"color: ${emptyColor}\">${emptySymbol}</span>`;\n }\n }\n return html;\n }\n formatProgress() {\n const format = this.column.progressFormat || {};\n const value = Number(this.value);\n const max = format.max || 100;\n const percentage = Math.min(100, Math.max(0, (value / max) * 100));\n if (isNaN(value))\n return String(this.value);\n const color = format.color || getComputedStyle(this).getPropertyValue('--snice-color-primary').trim();\n const bgColor = format.backgroundColor || getComputedStyle(this).getPropertyValue('--snice-color-border').trim();\n const height = format.height || '1rem'; // Using rem for height\n let html = `\n <div style=\"\n width: 100%; \n height: ${height}; \n background-color: ${bgColor}; \n border-radius: 0.25rem; \n overflow: hidden;\n position: relative;\n \">\n <div style=\"\n width: ${percentage}%; \n height: 100%; \n background-color: ${color}; \n transition: width 0.3s ease;\n \"></div>\n `;\n if (format.showPercentage) {\n const textColor = percentage > 50\n ? getComputedStyle(this).getPropertyValue('--snice-color-text-inverse').trim()\n : getComputedStyle(this).getPropertyValue('--snice-color-text').trim();\n html += `\n <span style=\"\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 0.75rem;\n font-weight: bold;\n color: ${textColor};\n \">${Math.round(percentage)}%</span>\n `;\n }\n html += '</div>';\n return html;\n }\n formatSparkline() {\n const format = this.column.sparklineFormat || {};\n const data = Array.isArray(this.value) ? this.value : [];\n if (data.length === 0)\n return '';\n const width = format.width || 60;\n const height = format.height || 20;\n const color = format.color || getComputedStyle(this).getPropertyValue('--snice-color-primary').trim();\n const type = format.type || 'line';\n const max = Math.max(...data);\n const min = Math.min(...data);\n const range = max - min || 1;\n if (type === 'line') {\n const points = data.map((val, i) => {\n const x = (i / (data.length - 1)) * width;\n const y = height - ((val - min) / range) * height;\n return `${x},${y}`;\n }).join(' ');\n return `\n <svg width=\"${width}\" height=\"${height}\" style=\"display: block;\">\n <polyline \n points=\"${points}\" \n fill=\"none\" \n stroke=\"${color}\" \n stroke-width=\"2\"\n />\n </svg>\n `;\n }\n else if (type === 'bar') {\n const barWidth = width / data.length;\n const bars = data.map((val, i) => {\n const barHeight = ((val - min) / range) * height;\n const x = i * barWidth;\n const y = height - barHeight;\n return `<rect x=\"${x}\" y=\"${y}\" width=\"${barWidth - 1}\" height=\"${barHeight}\" fill=\"${color}\" />`;\n }).join('');\n return `\n <svg width=\"${width}\" height=\"${height}\" style=\"display: block;\">\n ${bars}\n </svg>\n `;\n }\n return String(this.value);\n }\n formatDuration() {\n const seconds = Number(this.value);\n if (isNaN(seconds))\n return String(this.value);\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = seconds % 60;\n if (hours > 0) {\n return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;\n }\n else {\n return `${minutes}:${secs.toString().padStart(2, '0')}`;\n }\n }\n formatFilesize() {\n const bytes = Number(this.value);\n if (isNaN(bytes))\n return String(this.value);\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n let size = bytes;\n let unitIndex = 0;\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex++;\n }\n return `${size.toFixed(unitIndex === 0 ? 0 : 1)} ${units[unitIndex]}`;\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'text'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'text',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCell };\n//# sourceMappingURL=snice-cell.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellText = (() => {\n let _classDecorators = [element('snice-cell-text')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _multiline_decorators;\n let _multiline_initializers = [];\n let _multiline_extraInitializers = [];\n let _maxLines_decorators;\n let _maxLines_initializers = [];\n let _maxLines_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _multiline_decorators = [property({ type: Boolean, })];\n _maxLines_decorators = [property({ type: Number, attribute: 'max-lines' })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _multiline_decorators, { kind: \"field\", name: \"multiline\", static: false, private: false, access: { has: obj => \"multiline\" in obj, get: obj => obj.multiline, set: (obj, value) => { obj.multiline = value; } }, metadata: _metadata }, _multiline_initializers, _multiline_extraInitializers);\n __esDecorate(null, null, _maxLines_decorators, { kind: \"field\", name: \"maxLines\", static: false, private: false, access: { has: obj => \"maxLines\" in obj, get: obj => obj.maxLines, set: (obj, value) => { obj.maxLines = value; } }, metadata: _metadata }, _maxLines_initializers, _maxLines_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 content = this.formatTextContent();\n const textStyles = this.getTextStyles();\n return html /*html*/ `\n <div class=\"cell-content cell-content--text\" part=\"content\" style=\"${textStyles}\">\n ${content}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const content = this.formatTextContent();\n const styles = this.getTextStyles();\n this.contentElement.innerHTML = content;\n this.contentElement.setAttribute('style', styles);\n }\n }\n formatTextContent() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n let text = String(this.value);\n // Apply custom formatter if provided\n if (this.column.formatter) {\n text = this.column.formatter(this.value, this.rowData);\n }\n // Handle multiline text\n if (this.multiline) {\n text = text.replace(/\\n/g, '<br>');\n }\n // Handle ellipsis for single line\n if (!this.multiline && this.column.ellipsis) ;\n return text;\n }\n getTextStyles() {\n let styles = [];\n if (!this.multiline) {\n styles.push('white-space: nowrap');\n if (this.column.ellipsis) {\n styles.push('overflow: hidden');\n styles.push('text-overflow: ellipsis');\n }\n }\n else {\n if (this.column.wrap) {\n styles.push('white-space: pre-wrap');\n styles.push('word-wrap: break-word');\n }\n if (this.maxLines) {\n styles.push('display: -webkit-box');\n styles.push('-webkit-box-orient: vertical');\n styles.push(`-webkit-line-clamp: ${this.maxLines}`);\n styles.push('overflow: hidden');\n }\n }\n return styles.join('; ');\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'text'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'text',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.multiline = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _multiline_initializers, false));\n this.maxLines = (__runInitializers(this, _multiline_extraInitializers), __runInitializers(this, _maxLines_initializers, void 0));\n __runInitializers(this, _maxLines_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellText };\n//# sourceMappingURL=snice-cell-text.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellNumber = (() => {\n let _classDecorators = [element('snice-cell-number')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _decimals_decorators;\n let _decimals_initializers = [];\n let _decimals_extraInitializers = [];\n let _thousandsSeparator_decorators;\n let _thousandsSeparator_initializers = [];\n let _thousandsSeparator_extraInitializers = [];\n let _prefix_decorators;\n let _prefix_initializers = [];\n let _prefix_extraInitializers = [];\n let _suffix_decorators;\n let _suffix_initializers = [];\n let _suffix_extraInitializers = [];\n let _negativeStyle_decorators;\n let _negativeStyle_initializers = [];\n let _negativeStyle_extraInitializers = [];\n let _highlight_decorators;\n let _highlight_initializers = [];\n let _highlight_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _decimals_decorators = [property({ type: Number, })];\n _thousandsSeparator_decorators = [property({ type: Boolean, attribute: 'thousands-separator' })];\n _prefix_decorators = [property({})];\n _suffix_decorators = [property({})];\n _negativeStyle_decorators = [property({ attribute: 'negative-style' })];\n _highlight_decorators = [property({ type: Boolean, })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _decimals_decorators, { kind: \"field\", name: \"decimals\", static: false, private: false, access: { has: obj => \"decimals\" in obj, get: obj => obj.decimals, set: (obj, value) => { obj.decimals = value; } }, metadata: _metadata }, _decimals_initializers, _decimals_extraInitializers);\n __esDecorate(null, null, _thousandsSeparator_decorators, { kind: \"field\", name: \"thousandsSeparator\", static: false, private: false, access: { has: obj => \"thousandsSeparator\" in obj, get: obj => obj.thousandsSeparator, set: (obj, value) => { obj.thousandsSeparator = value; } }, metadata: _metadata }, _thousandsSeparator_initializers, _thousandsSeparator_extraInitializers);\n __esDecorate(null, null, _prefix_decorators, { kind: \"field\", name: \"prefix\", static: false, private: false, access: { has: obj => \"prefix\" in obj, get: obj => obj.prefix, set: (obj, value) => { obj.prefix = value; } }, metadata: _metadata }, _prefix_initializers, _prefix_extraInitializers);\n __esDecorate(null, null, _suffix_decorators, { kind: \"field\", name: \"suffix\", static: false, private: false, access: { has: obj => \"suffix\" in obj, get: obj => obj.suffix, set: (obj, value) => { obj.suffix = value; } }, metadata: _metadata }, _suffix_initializers, _suffix_extraInitializers);\n __esDecorate(null, null, _negativeStyle_decorators, { kind: \"field\", name: \"negativeStyle\", static: false, private: false, access: { has: obj => \"negativeStyle\" in obj, get: obj => obj.negativeStyle, set: (obj, value) => { obj.negativeStyle = value; } }, metadata: _metadata }, _negativeStyle_initializers, _negativeStyle_extraInitializers);\n __esDecorate(null, null, _highlight_decorators, { kind: \"field\", name: \"highlight\", static: false, private: false, access: { has: obj => \"highlight\" in obj, get: obj => obj.highlight, set: (obj, value) => { obj.highlight = value; } }, metadata: _metadata }, _highlight_initializers, _highlight_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 formattedValue = this.formatNumberValue();\n const styles = this.getNumberStyles();\n return html /*html*/ `\n <div class=\"cell-content cell-content--number\" part=\"content\" style=\"${styles}\">\n ${formattedValue}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const formattedValue = this.formatNumberValue();\n const styles = this.getNumberStyles();\n this.contentElement.innerHTML = formattedValue;\n this.contentElement.setAttribute('style', styles);\n }\n }\n formatNumberValue() {\n if (this.value === null || this.value === undefined || this.value === '') {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n // Use column number format or component properties\n const format = this.column.numberFormat || {\n decimals: this.decimals,\n thousandsSeparator: this.thousandsSeparator,\n prefix: this.prefix,\n suffix: this.suffix,\n negativeStyle: this.negativeStyle\n };\n const num = Number(this.value);\n if (isNaN(num)) {\n return String(this.value);\n }\n let formatted = num.toFixed(format.decimals ?? this.decimals);\n // Add thousands separator\n if (format.thousandsSeparator ?? this.thousandsSeparator) {\n const parts = formatted.split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n formatted = parts.join('.');\n }\n // Handle negative numbers\n if (num < 0) {\n const negStyle = format.negativeStyle ?? this.negativeStyle;\n if (negStyle === 'parentheses') {\n formatted = `(${formatted.replace('-', '')})`;\n }\n else if (negStyle === 'red') {\n // Color will be handled in styles\n formatted = formatted.replace('-', '');\n }\n }\n // Add prefix and suffix\n const prefix = format.prefix ?? this.prefix;\n const suffix = format.suffix ?? this.suffix;\n if (prefix)\n formatted = prefix + formatted;\n if (suffix)\n formatted = formatted + suffix;\n return formatted;\n }\n getNumberStyles() {\n const num = Number(this.value);\n // Remove existing number classes\n this.classList.remove('number--negative', 'number--positive', 'number--zero', 'number--highlighted');\n // Apply CSS classes instead of direct styles\n if (num < 0) {\n this.classList.add('number--negative');\n const negStyle = this.column.numberFormat?.negativeStyle ?? this.negativeStyle;\n if (negStyle === 'red') {\n this.classList.add('number--negative-red');\n }\n }\n else if (num > 0) {\n this.classList.add('number--positive');\n if (this.highlight) {\n this.classList.add('number--highlighted');\n }\n }\n else if (num === 0) {\n this.classList.add('number--zero');\n }\n return 'text-align: right'; // Keep text alignment as style for now\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'right'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'number'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'number',\n align: 'right'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.decimals = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _decimals_initializers, 0));\n this.thousandsSeparator = (__runInitializers(this, _decimals_extraInitializers), __runInitializers(this, _thousandsSeparator_initializers, false));\n this.prefix = (__runInitializers(this, _thousandsSeparator_extraInitializers), __runInitializers(this, _prefix_initializers, ''));\n this.suffix = (__runInitializers(this, _prefix_extraInitializers), __runInitializers(this, _suffix_initializers, ''));\n this.negativeStyle = (__runInitializers(this, _suffix_extraInitializers), __runInitializers(this, _negativeStyle_initializers, 'minus'));\n this.highlight = (__runInitializers(this, _negativeStyle_extraInitializers), __runInitializers(this, _highlight_initializers, false));\n __runInitializers(this, _highlight_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellNumber };\n//# sourceMappingURL=snice-cell-number.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellDate = (() => {\n let _classDecorators = [element('snice-cell-date')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _dateFormat_decorators;\n let _dateFormat_initializers = [];\n let _dateFormat_extraInitializers = [];\n let _customFormat_decorators;\n let _customFormat_initializers = [];\n let _customFormat_extraInitializers = [];\n let _locale_decorators;\n let _locale_initializers = [];\n let _locale_extraInitializers = [];\n let _relativeTime_decorators;\n let _relativeTime_initializers = [];\n let _relativeTime_extraInitializers = [];\n let _showTime_decorators;\n let _showTime_initializers = [];\n let _showTime_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _dateFormat_decorators = [property({ attribute: 'date-format' })];\n _customFormat_decorators = [property({ attribute: 'custom-format' })];\n _locale_decorators = [property({})];\n _relativeTime_decorators = [property({ type: Boolean, attribute: 'relative-time' })];\n _showTime_decorators = [property({ type: Boolean, attribute: 'show-time' })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _dateFormat_decorators, { kind: \"field\", name: \"dateFormat\", static: false, private: false, access: { has: obj => \"dateFormat\" in obj, get: obj => obj.dateFormat, set: (obj, value) => { obj.dateFormat = value; } }, metadata: _metadata }, _dateFormat_initializers, _dateFormat_extraInitializers);\n __esDecorate(null, null, _customFormat_decorators, { kind: \"field\", name: \"customFormat\", static: false, private: false, access: { has: obj => \"customFormat\" in obj, get: obj => obj.customFormat, set: (obj, value) => { obj.customFormat = value; } }, metadata: _metadata }, _customFormat_initializers, _customFormat_extraInitializers);\n __esDecorate(null, null, _locale_decorators, { kind: \"field\", name: \"locale\", static: false, private: false, access: { has: obj => \"locale\" in obj, get: obj => obj.locale, set: (obj, value) => { obj.locale = value; } }, metadata: _metadata }, _locale_initializers, _locale_extraInitializers);\n __esDecorate(null, null, _relativeTime_decorators, { kind: \"field\", name: \"relativeTime\", static: false, private: false, access: { has: obj => \"relativeTime\" in obj, get: obj => obj.relativeTime, set: (obj, value) => { obj.relativeTime = value; } }, metadata: _metadata }, _relativeTime_initializers, _relativeTime_extraInitializers);\n __esDecorate(null, null, _showTime_decorators, { kind: \"field\", name: \"showTime\", static: false, private: false, access: { has: obj => \"showTime\" in obj, get: obj => obj.showTime, set: (obj, value) => { obj.showTime = value; } }, metadata: _metadata }, _showTime_initializers, _showTime_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 formattedValue = this.formatDateValue();\n const dateStyles = this.getDateStyles();\n return html /*html*/ `\n <div class=\"cell-content cell-content--date\" part=\"content\" style=\"${dateStyles}\">\n ${formattedValue}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const formattedValue = this.formatDateValue();\n const styles = this.getDateStyles();\n this.contentElement.innerHTML = formattedValue;\n this.contentElement.setAttribute('style', styles);\n }\n }\n formatDateValue() {\n if (this.value === null || this.value === undefined || this.value === '') {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n const date = new Date(this.value);\n if (isNaN(date.getTime())) {\n return String(this.value);\n }\n // Show relative time if enabled\n if (this.relativeTime) {\n return this.formatRelativeTime(date);\n }\n // Use column date format or component properties\n const format = this.column.dateFormat || {\n format: this.dateFormat,\n customFormat: this.customFormat,\n locale: this.locale\n };\n // Handle custom format\n if (format.customFormat || this.customFormat) {\n return this.formatCustomDate(date, format.customFormat || this.customFormat);\n }\n // Use Intl.DateTimeFormat\n const options = {};\n const formatType = format.format ?? this.dateFormat;\n switch (formatType) {\n case 'short':\n options.dateStyle = 'short';\n break;\n case 'medium':\n options.dateStyle = 'medium';\n break;\n case 'long':\n options.dateStyle = 'long';\n break;\n case 'full':\n options.dateStyle = 'full';\n break;\n }\n // Add time if requested\n if (this.showTime) {\n options.timeStyle = 'short';\n }\n const locale = format.locale ?? this.locale;\n return new Intl.DateTimeFormat(locale, options).format(date);\n }\n formatCustomDate(date, format) {\n const tokens = {\n 'YYYY': date.getFullYear().toString(),\n 'YY': date.getFullYear().toString().slice(-2),\n 'MM': (date.getMonth() + 1).toString().padStart(2, '0'),\n 'M': (date.getMonth() + 1).toString(),\n 'DD': date.getDate().toString().padStart(2, '0'),\n 'D': date.getDate().toString(),\n 'HH': date.getHours().toString().padStart(2, '0'),\n 'H': date.getHours().toString(),\n 'mm': date.getMinutes().toString().padStart(2, '0'),\n 'm': date.getMinutes().toString(),\n 'ss': date.getSeconds().toString().padStart(2, '0'),\n 's': date.getSeconds().toString()\n };\n let formatted = format;\n for (const [token, value] of Object.entries(tokens)) {\n formatted = formatted.replace(new RegExp(token, 'g'), value);\n }\n return formatted;\n }\n formatRelativeTime(date) {\n const now = new Date();\n const diffMs = now.getTime() - date.getTime();\n const diffSecs = Math.floor(diffMs / 1000);\n const diffMins = Math.floor(diffSecs / 60);\n const diffHours = Math.floor(diffMins / 60);\n const diffDays = Math.floor(diffHours / 24);\n if (diffSecs < 60) {\n return 'Just now';\n }\n else if (diffMins < 60) {\n return `${diffMins} minute${diffMins === 1 ? '' : 's'} ago`;\n }\n else if (diffHours < 24) {\n return `${diffHours} hour${diffHours === 1 ? '' : 's'} ago`;\n }\n else if (diffDays < 7) {\n return `${diffDays} day${diffDays === 1 ? '' : 's'} ago`;\n }\n else {\n // Fall back to formatted date for older dates\n return new Intl.DateTimeFormat(this.locale, { dateStyle: 'short' }).format(date);\n }\n }\n getDateStyles() {\n const date = new Date(this.value);\n const now = new Date();\n const isToday = date.toDateString() === now.toDateString();\n const isPast = date < now;\n const isFuture = date > now;\n // Apply CSS classes instead of direct styles\n this.classList.remove('date--today', 'date--past', 'date--future');\n if (isToday) {\n this.classList.add('date--today');\n }\n else if (isPast) {\n this.classList.add('date--past');\n }\n else if (isFuture) {\n this.classList.add('date--future');\n }\n return '';\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'date'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'date',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.dateFormat = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _dateFormat_initializers, 'short'));\n this.customFormat = (__runInitializers(this, _dateFormat_extraInitializers), __runInitializers(this, _customFormat_initializers, void 0));\n this.locale = (__runInitializers(this, _customFormat_extraInitializers), __runInitializers(this, _locale_initializers, 'en-US'));\n this.relativeTime = (__runInitializers(this, _locale_extraInitializers), __runInitializers(this, _relativeTime_initializers, false));\n this.showTime = (__runInitializers(this, _relativeTime_extraInitializers), __runInitializers(this, _showTime_initializers, false));\n __runInitializers(this, _showTime_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellDate };\n//# sourceMappingURL=snice-cell-date.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, unsafeHTML, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellBoolean = (() => {\n let _classDecorators = [element('snice-cell-boolean')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _trueValue_decorators;\n let _trueValue_initializers = [];\n let _trueValue_extraInitializers = [];\n let _falseValue_decorators;\n let _falseValue_initializers = [];\n let _falseValue_extraInitializers = [];\n let _useSymbols_decorators;\n let _useSymbols_initializers = [];\n let _useSymbols_extraInitializers = [];\n let _trueSymbol_decorators;\n let _trueSymbol_initializers = [];\n let _trueSymbol_extraInitializers = [];\n let _falseSymbol_decorators;\n let _falseSymbol_initializers = [];\n let _falseSymbol_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _trueValue_decorators = [property({ attribute: 'true-value' })];\n _falseValue_decorators = [property({ attribute: 'false-value' })];\n _useSymbols_decorators = [property({ type: Boolean, attribute: 'use-symbols' })];\n _trueSymbol_decorators = [property({ attribute: 'true-symbol' })];\n _falseSymbol_decorators = [property({ attribute: 'false-symbol' })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _trueValue_decorators, { kind: \"field\", name: \"trueValue\", static: false, private: false, access: { has: obj => \"trueValue\" in obj, get: obj => obj.trueValue, set: (obj, value) => { obj.trueValue = value; } }, metadata: _metadata }, _trueValue_initializers, _trueValue_extraInitializers);\n __esDecorate(null, null, _falseValue_decorators, { kind: \"field\", name: \"falseValue\", static: false, private: false, access: { has: obj => \"falseValue\" in obj, get: obj => obj.falseValue, set: (obj, value) => { obj.falseValue = value; } }, metadata: _metadata }, _falseValue_initializers, _falseValue_extraInitializers);\n __esDecorate(null, null, _useSymbols_decorators, { kind: \"field\", name: \"useSymbols\", static: false, private: false, access: { has: obj => \"useSymbols\" in obj, get: obj => obj.useSymbols, set: (obj, value) => { obj.useSymbols = value; } }, metadata: _metadata }, _useSymbols_initializers, _useSymbols_extraInitializers);\n __esDecorate(null, null, _trueSymbol_decorators, { kind: \"field\", name: \"trueSymbol\", static: false, private: false, access: { has: obj => \"trueSymbol\" in obj, get: obj => obj.trueSymbol, set: (obj, value) => { obj.trueSymbol = value; } }, metadata: _metadata }, _trueSymbol_initializers, _trueSymbol_extraInitializers);\n __esDecorate(null, null, _falseSymbol_decorators, { kind: \"field\", name: \"falseSymbol\", static: false, private: false, access: { has: obj => \"falseSymbol\" in obj, get: obj => obj.falseSymbol, set: (obj, value) => { obj.falseSymbol = value; } }, metadata: _metadata }, _falseSymbol_initializers, _falseSymbol_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 content = this.formatBooleanContent();\n return html /*html*/ `\n <div class=\"cell-content cell-content--boolean\" part=\"content\">\n ${unsafeHTML(content)}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const content = this.formatBooleanContent();\n this.contentElement.innerHTML = content;\n }\n }\n formatBooleanContent() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n // Use column boolean format or component properties\n const format = this.column.booleanFormat || {\n trueValue: this.trueValue,\n falseValue: this.falseValue,\n useSymbols: this.useSymbols,\n trueSymbol: this.trueSymbol,\n falseSymbol: this.falseSymbol\n };\n const isTrue = Boolean(this.value);\n if (format.useSymbols ?? this.useSymbols) {\n const symbol = isTrue ? (format.trueSymbol ?? this.trueSymbol) : (format.falseSymbol ?? this.falseSymbol);\n const colorClass = isTrue ? 'boolean--true' : 'boolean--false';\n return `<span class=\"${colorClass}\">${symbol}</span>`;\n }\n else {\n const text = isTrue ? (format.trueValue ?? this.trueValue) : (format.falseValue ?? this.falseValue);\n const colorClass = isTrue ? 'boolean--true' : 'boolean--false';\n return `<span class=\"${colorClass}\">${text}</span>`;\n }\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'center'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'boolean'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, false));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'boolean',\n align: 'center'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.trueValue = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _trueValue_initializers, 'true'));\n this.falseValue = (__runInitializers(this, _trueValue_extraInitializers), __runInitializers(this, _falseValue_initializers, 'false'));\n this.useSymbols = (__runInitializers(this, _falseValue_extraInitializers), __runInitializers(this, _useSymbols_initializers, true));\n this.trueSymbol = (__runInitializers(this, _useSymbols_extraInitializers), __runInitializers(this, _trueSymbol_initializers, '✓'));\n this.falseSymbol = (__runInitializers(this, _trueSymbol_extraInitializers), __runInitializers(this, _falseSymbol_initializers, '✗'));\n __runInitializers(this, _falseSymbol_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellBoolean };\n//# sourceMappingURL=snice-cell-boolean.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, html, css } from 'snice';\n\nlet SniceRating = (() => {\n let _classDecorators = [element('snice-rating')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _max_decorators;\n let _max_initializers = [];\n let _max_extraInitializers = [];\n let _symbol_decorators;\n let _symbol_initializers = [];\n let _symbol_extraInitializers = [];\n let _emptySymbol_decorators;\n let _emptySymbol_initializers = [];\n let _emptySymbol_extraInitializers = [];\n let _color_decorators;\n let _color_initializers = [];\n let _color_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 _value_decorators = [property({ type: Number })];\n _max_decorators = [property({ type: Number })];\n _symbol_decorators = [property()];\n _emptySymbol_decorators = [property()];\n _color_decorators = [property()];\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, _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, _max_decorators, { kind: \"field\", name: \"max\", static: false, private: false, access: { has: obj => \"max\" in obj, get: obj => obj.max, set: (obj, value) => { obj.max = value; } }, metadata: _metadata }, _max_initializers, _max_extraInitializers);\n __esDecorate(null, null, _symbol_decorators, { kind: \"field\", name: \"symbol\", static: false, private: false, access: { has: obj => \"symbol\" in obj, get: obj => obj.symbol, set: (obj, value) => { obj.symbol = value; } }, metadata: _metadata }, _symbol_initializers, _symbol_extraInitializers);\n __esDecorate(null, null, _emptySymbol_decorators, { kind: \"field\", name: \"emptySymbol\", static: false, private: false, access: { has: obj => \"emptySymbol\" in obj, get: obj => obj.emptySymbol, set: (obj, value) => { obj.emptySymbol = value; } }, metadata: _metadata }, _emptySymbol_initializers, _emptySymbol_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, _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 filled = Math.round(this.value);\n const empty = this.max - filled;\n return html /*html*/ `\n <span class=\"filled\">${this.symbol.repeat(filled)}</span><span class=\"empty\">${this.emptySymbol.repeat(empty)}</span>\n `;\n }\n styles() {\n return css /*css*/ `\n :host {\n display: inline-block;\n font-size: 1.2em;\n }\n\n .filled {\n color: ${this.color};\n }\n\n .empty {\n color: #d1d5db;\n }\n `;\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, 0));\n this.max = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _max_initializers, 5));\n this.symbol = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _symbol_initializers, '★'));\n this.emptySymbol = (__runInitializers(this, _symbol_extraInitializers), __runInitializers(this, _emptySymbol_initializers, '☆'));\n this.color = (__runInitializers(this, _emptySymbol_extraInitializers), __runInitializers(this, _color_initializers, '#facc15'));\n __runInitializers(this, _color_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceRating };\n//# sourceMappingURL=snice-rating.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\nimport './snice-rating.js';\n\nlet SniceCellRating = (() => {\n let _classDecorators = [element('snice-cell-rating')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 return html /*html*/ `\n <div class=\"cell-content cell-content--rating\" part=\"content\">\n <!-- Rating component will be created here -->\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n this.createRatingElement();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n this.createRatingElement();\n }\n createRatingElement() {\n if (!this.contentElement)\n return;\n // Clear existing content\n this.contentElement.innerHTML = '';\n // Create rating element\n const rating = document.createElement('snice-rating');\n rating.value = Number(this.value) || 0;\n // Apply format from column\n const format = this.column.ratingFormat || {};\n rating.max = format.max ?? 5;\n rating.symbol = format.symbol ?? '★';\n rating.emptySymbol = format.emptySymbol ?? '☆';\n rating.color = format.color ?? getComputedStyle(this).getPropertyValue('--snice-color-warning').trim();\n this.contentElement.appendChild(rating);\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'center'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'rating'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, 0));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'rating',\n align: 'center'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellRating };\n//# sourceMappingURL=snice-cell-rating.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, html, css } from 'snice';\n\nlet SniceProgress = (() => {\n let _classDecorators = [element('snice-progress')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _max_decorators;\n let _max_initializers = [];\n let _max_extraInitializers = [];\n let _color_decorators;\n let _color_initializers = [];\n let _color_extraInitializers = [];\n let _backgroundColor_decorators;\n let _backgroundColor_initializers = [];\n let _backgroundColor_extraInitializers = [];\n let _height_decorators;\n let _height_initializers = [];\n let _height_extraInitializers = [];\n let _showPercentage_decorators;\n let _showPercentage_initializers = [];\n let _showPercentage_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 _value_decorators = [property({ type: Number })];\n _max_decorators = [property({ type: Number })];\n _color_decorators = [property()];\n _backgroundColor_decorators = [property()];\n _height_decorators = [property()];\n _showPercentage_decorators = [property({ type: Boolean })];\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, _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, _max_decorators, { kind: \"field\", name: \"max\", static: false, private: false, access: { has: obj => \"max\" in obj, get: obj => obj.max, set: (obj, value) => { obj.max = value; } }, metadata: _metadata }, _max_initializers, _max_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, _backgroundColor_decorators, { kind: \"field\", name: \"backgroundColor\", static: false, private: false, access: { has: obj => \"backgroundColor\" in obj, get: obj => obj.backgroundColor, set: (obj, value) => { obj.backgroundColor = value; } }, metadata: _metadata }, _backgroundColor_initializers, _backgroundColor_extraInitializers);\n __esDecorate(null, null, _height_decorators, { kind: \"field\", name: \"height\", static: false, private: false, access: { has: obj => \"height\" in obj, get: obj => obj.height, set: (obj, value) => { obj.height = value; } }, metadata: _metadata }, _height_initializers, _height_extraInitializers);\n __esDecorate(null, null, _showPercentage_decorators, { kind: \"field\", name: \"showPercentage\", static: false, private: false, access: { has: obj => \"showPercentage\" in obj, get: obj => obj.showPercentage, set: (obj, value) => { obj.showPercentage = value; } }, metadata: _metadata }, _showPercentage_initializers, _showPercentage_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 percentage = Math.min(100, (this.value / this.max) * 100);\n return html /*html*/ `\n <div class=\"progress-container\">\n <div class=\"progress-bar\" style=\"width: ${percentage}%\"></div>\n </div>\n <if ${this.showPercentage}>\n <span class=\"percentage\">${percentage.toFixed(0)}%</span>\n </if>\n `;\n }\n styles() {\n return css /*css*/ `\n :host {\n display: inline-flex;\n align-items: center;\n width: 100%;\n gap: 0.5rem; /* 8px */\n }\n\n .progress-container {\n flex: 1;\n height: ${this.height};\n background: ${this.backgroundColor};\n border-radius: 0.25rem; /* 4px */\n overflow: hidden;\n }\n\n .progress-bar {\n height: 100%;\n background: ${this.color};\n transition: width 0.3s ease;\n }\n\n .percentage {\n font-size: 0.875rem; /* 14px */\n color: #6b7280;\n min-width: 2.1875rem; /* 35px */\n }\n `;\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, 0));\n this.max = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _max_initializers, 100));\n this.color = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _color_initializers, '#3b82f6'));\n this.backgroundColor = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _backgroundColor_initializers, '#e5e7eb'));\n this.height = (__runInitializers(this, _backgroundColor_extraInitializers), __runInitializers(this, _height_initializers, '0.5rem')); /* 8px */\n this.showPercentage = (__runInitializers(this, _height_extraInitializers), __runInitializers(this, _showPercentage_initializers, false));\n __runInitializers(this, _showPercentage_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceProgress };\n//# sourceMappingURL=snice-progress.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\nimport './snice-progress.js';\n\nlet SniceCellProgress = (() => {\n let _classDecorators = [element('snice-cell-progress')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 return html /*html*/ `\n <div class=\"cell-content cell-content--progress\" part=\"content\">\n <!-- Progress component will be created here -->\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n this.createProgressElement();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n this.createProgressElement();\n }\n createProgressElement() {\n if (!this.contentElement)\n return;\n // Clear existing content\n this.contentElement.innerHTML = '';\n // Create progress element\n const progress = document.createElement('snice-progress');\n progress.value = Number(this.value) || 0;\n // Apply format from column\n const format = this.column.progressFormat || {};\n progress.max = format.max ?? 100;\n progress.color = format.color ?? getComputedStyle(this).getPropertyValue('--snice-color-primary').trim();\n progress.backgroundColor = format.backgroundColor ?? getComputedStyle(this).getPropertyValue('--snice-color-border').trim();\n progress.height = format.height ?? '0.5rem';\n progress.showPercentage = format.showPercentage ?? false;\n this.contentElement.appendChild(progress);\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'progress'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, 0));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'progress',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellProgress };\n//# sourceMappingURL=snice-cell-progress.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellDuration = (() => {\n let _classDecorators = [element('snice-cell-duration')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 content = this.formatDuration();\n return html /*html*/ `\n <div class=\"cell-content cell-content--duration\" part=\"content\">\n ${content}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const content = this.formatDuration();\n this.contentElement.innerHTML = content;\n }\n }\n formatDuration() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n const seconds = Number(this.value);\n if (isNaN(seconds))\n return String(this.value);\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = Math.floor(seconds % 60);\n if (hours > 0) {\n return `${hours}h ${minutes}m ${secs}s`;\n }\n else if (minutes > 0) {\n return `${minutes}m ${secs}s`;\n }\n else {\n return `${secs}s`;\n }\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'right'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'duration'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, 0));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'duration',\n align: 'right'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellDuration };\n//# sourceMappingURL=snice-cell-duration.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellFilesize = (() => {\n let _classDecorators = [element('snice-cell-filesize')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 content = this.formatFileSize();\n return html /*html*/ `\n <div class=\"cell-content cell-content--filesize\" part=\"content\">\n ${content}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const content = this.formatFileSize();\n this.contentElement.innerHTML = content;\n }\n }\n formatFileSize() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n const bytes = Number(this.value);\n if (isNaN(bytes))\n return String(this.value);\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n let size = bytes;\n let unitIndex = 0;\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex++;\n }\n return `${size.toFixed(1)} ${units[unitIndex]}`;\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'right'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'filesize'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, 0));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'filesize',\n align: 'right'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellFilesize };\n//# sourceMappingURL=snice-cell-filesize.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, SimpleArray, render, styles, ready, watch, unsafeHTML, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellSparkline = (() => {\n let _classDecorators = [element('snice-cell-sparkline')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _chartType_decorators;\n let _chartType_initializers = [];\n let _chartType_extraInitializers = [];\n let _color_decorators;\n let _color_initializers = [];\n let _color_extraInitializers = [];\n let _width_decorators;\n let _width_initializers = [];\n let _width_extraInitializers = [];\n let _height_decorators;\n let _height_initializers = [];\n let _height_extraInitializers = [];\n let _showDots_decorators;\n let _showDots_initializers = [];\n let _showDots_extraInitializers = [];\n let _showBaseline_decorators;\n let _showBaseline_initializers = [];\n let _showBaseline_extraInitializers = [];\n let _strokeWidth_decorators;\n let _strokeWidth_initializers = [];\n let _strokeWidth_extraInitializers = [];\n let _minValue_decorators;\n let _minValue_initializers = [];\n let _minValue_extraInitializers = [];\n let _maxValue_decorators;\n let _maxValue_initializers = [];\n let _maxValue_extraInitializers = [];\n let _data_decorators;\n let _data_initializers = [];\n let _data_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_decorators;\n let _updateSparkline_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _chartType_decorators = [property({ attribute: 'chart-type' })];\n _color_decorators = [property({})];\n _width_decorators = [property({ type: Number, })];\n _height_decorators = [property({ type: Number, })];\n _showDots_decorators = [property({ type: Boolean, attribute: 'show-dots' })];\n _showBaseline_decorators = [property({ type: Boolean, attribute: 'show-baseline' })];\n _strokeWidth_decorators = [property({ type: Number, attribute: 'stroke-width' })];\n _minValue_decorators = [property({ type: Number, attribute: 'min-value' })];\n _maxValue_decorators = [property({ type: Number, attribute: 'max-value' })];\n _data_decorators = [property({ type: SimpleArray, })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'data', 'column')];\n _updateSparkline_decorators = [watch('value', 'data', 'chartType', 'color', 'width', 'height', 'showDots', 'showBaseline', 'strokeWidth', 'minValue', 'maxValue')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateSparkline_decorators, { kind: \"method\", name: \"updateSparkline\", static: false, private: false, access: { has: obj => \"updateSparkline\" in obj, get: obj => obj.updateSparkline }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _chartType_decorators, { kind: \"field\", name: \"chartType\", static: false, private: false, access: { has: obj => \"chartType\" in obj, get: obj => obj.chartType, set: (obj, value) => { obj.chartType = value; } }, metadata: _metadata }, _chartType_initializers, _chartType_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, _width_decorators, { kind: \"field\", name: \"width\", static: false, private: false, access: { has: obj => \"width\" in obj, get: obj => obj.width, set: (obj, value) => { obj.width = value; } }, metadata: _metadata }, _width_initializers, _width_extraInitializers);\n __esDecorate(null, null, _height_decorators, { kind: \"field\", name: \"height\", static: false, private: false, access: { has: obj => \"height\" in obj, get: obj => obj.height, set: (obj, value) => { obj.height = value; } }, metadata: _metadata }, _height_initializers, _height_extraInitializers);\n __esDecorate(null, null, _showDots_decorators, { kind: \"field\", name: \"showDots\", static: false, private: false, access: { has: obj => \"showDots\" in obj, get: obj => obj.showDots, set: (obj, value) => { obj.showDots = value; } }, metadata: _metadata }, _showDots_initializers, _showDots_extraInitializers);\n __esDecorate(null, null, _showBaseline_decorators, { kind: \"field\", name: \"showBaseline\", static: false, private: false, access: { has: obj => \"showBaseline\" in obj, get: obj => obj.showBaseline, set: (obj, value) => { obj.showBaseline = value; } }, metadata: _metadata }, _showBaseline_initializers, _showBaseline_extraInitializers);\n __esDecorate(null, null, _strokeWidth_decorators, { kind: \"field\", name: \"strokeWidth\", static: false, private: false, access: { has: obj => \"strokeWidth\" in obj, get: obj => obj.strokeWidth, set: (obj, value) => { obj.strokeWidth = value; } }, metadata: _metadata }, _strokeWidth_initializers, _strokeWidth_extraInitializers);\n __esDecorate(null, null, _minValue_decorators, { kind: \"field\", name: \"minValue\", static: false, private: false, access: { has: obj => \"minValue\" in obj, get: obj => obj.minValue, set: (obj, value) => { obj.minValue = value; } }, metadata: _metadata }, _minValue_initializers, _minValue_extraInitializers);\n __esDecorate(null, null, _maxValue_decorators, { kind: \"field\", name: \"maxValue\", static: false, private: false, access: { has: obj => \"maxValue\" in obj, get: obj => obj.maxValue, set: (obj, value) => { obj.maxValue = value; } }, metadata: _metadata }, _maxValue_initializers, _maxValue_extraInitializers);\n __esDecorate(null, null, _data_decorators, { kind: \"field\", name: \"data\", static: false, private: false, access: { has: obj => \"data\" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_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 return html /*html*/ `\n <div class=\"cell-content cell-content--sparkline\" part=\"content\">\n ${unsafeHTML(this.renderSparkline())}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n this.updateSparkline();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n this.contentElement.innerHTML = this.renderSparkline();\n }\n }\n updateSparkline() {\n if (this.contentElement) {\n this.contentElement.innerHTML = this.renderSparkline();\n }\n }\n renderSparkline() {\n if ((this.value === null || this.value === undefined) && (!this.data || this.data.length === 0)) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n const data = this.parseData();\n if (data.length === 0) {\n return `<span style=\"color: ${getComputedStyle(this).getPropertyValue('--snice-color-text-secondary').trim()}; font-style: italic;\">No data</span>`;\n }\n // Use column sparkline format or component properties\n const format = this.column.sparklineFormat || {\n type: this.chartType,\n color: this.color,\n width: this.width,\n height: this.height\n };\n const width = format.width ?? this.width;\n const height = format.height ?? this.height;\n const color = format.color ?? this.color;\n const type = format.type ?? this.chartType;\n return this.createCanvas(data, width, height, color, type);\n }\n parseData() {\n // First, try the dedicated data property (using SimpleArray)\n if (this.data && Array.isArray(this.data) && this.data.length > 0) {\n return this.data.map(v => Number(v)).filter(n => !isNaN(n));\n }\n // Fallback to value property for backwards compatibility\n if (Array.isArray(this.value)) {\n return this.value.map(v => Number(v)).filter(n => !isNaN(n));\n }\n if (typeof this.value === 'string') {\n // Try to parse as JSON array first (e.g., \"[1,2,3]\")\n if (this.value.startsWith('[') && this.value.endsWith(']')) {\n try {\n const parsed = JSON.parse(this.value);\n if (Array.isArray(parsed)) {\n return parsed.map(v => Number(v)).filter(n => !isNaN(n));\n }\n }\n catch {\n // Fall through to comma-separated parsing\n }\n }\n // Try to parse comma-separated values\n try {\n return this.value.split(',').map(v => Number(v.trim())).filter(n => !isNaN(n));\n }\n catch {\n return [];\n }\n }\n return [];\n }\n createCanvas(data, width, height, color, type) {\n if (data.length === 0)\n return '';\n // Create a canvas element\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n if (!ctx)\n return '<div style=\"color: red;\">Canvas not supported</div>';\n const padding = 2;\n const chartWidth = width - (padding * 2);\n const chartHeight = height - (padding * 2);\n const min = this.minValue ?? Math.min(...data);\n const max = this.maxValue ?? Math.max(...data);\n const range = max - min || 1;\n // Clear canvas\n ctx.clearRect(0, 0, width, height);\n // Resolve CSS variables for canvas (canvas doesn't understand CSS vars)\n let resolvedColor = color;\n if (color.startsWith('var(')) {\n const match = color.match(/var\\(([^)]+)\\)/);\n if (match) {\n resolvedColor = getComputedStyle(this).getPropertyValue(match[1].split(',')[0].trim()).trim() || '#3b82f6';\n }\n }\n // Set color and line properties\n ctx.strokeStyle = resolvedColor;\n ctx.fillStyle = resolvedColor;\n ctx.lineWidth = this.strokeWidth;\n ctx.lineCap = 'round';\n ctx.lineJoin = 'round';\n if (type === 'line' || type === 'area') {\n const points = data.map((val, i) => {\n const x = padding + (i / (data.length - 1)) * chartWidth;\n const y = padding + chartHeight - ((val - min) / range) * chartHeight;\n return [x, y];\n });\n // Draw area fill if needed\n if (type === 'area') {\n ctx.beginPath();\n ctx.moveTo(points[0][0], points[0][1]);\n points.forEach(([x, y]) => ctx.lineTo(x, y));\n ctx.lineTo(points[points.length - 1][0], height - padding);\n ctx.lineTo(points[0][0], height - padding);\n ctx.closePath();\n ctx.globalAlpha = 0.3;\n ctx.fill();\n ctx.globalAlpha = 1;\n }\n // Draw line\n ctx.beginPath();\n ctx.moveTo(points[0][0], points[0][1]);\n points.forEach(([x, y]) => ctx.lineTo(x, y));\n ctx.stroke();\n // Draw dots if enabled\n if (this.showDots) {\n points.forEach(([x, y]) => {\n ctx.beginPath();\n ctx.arc(x, y, 1.5, 0, 2 * Math.PI);\n ctx.fill();\n });\n }\n }\n else if (type === 'bar') {\n const barWidth = (chartWidth / data.length) * 0.8;\n const barSpacing = (chartWidth / data.length) * 0.2;\n data.forEach((val, i) => {\n const barHeight = ((val - min) / range) * chartHeight;\n const x = padding + i * (barWidth + barSpacing);\n const y = padding + chartHeight - barHeight;\n ctx.fillRect(x, y, barWidth, barHeight);\n });\n }\n // Convert canvas to data URL\n try {\n const dataUrl = canvas.toDataURL('image/png');\n return `<img src=\"${dataUrl}\" width=\"${width}\" height=\"${height}\" alt=\"Sparkline chart\" style=\"display: block; vertical-align: middle;\">`;\n }\n catch (error) {\n console.error('Error creating canvas image:', error);\n return `<div style=\"color: red;\">Canvas error</div>`;\n }\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'sparkline'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'sparkline',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.chartType = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _chartType_initializers, 'line'));\n this.color = (__runInitializers(this, _chartType_extraInitializers), __runInitializers(this, _color_initializers, 'var(--snice-color-primary)'));\n this.width = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _width_initializers, 80));\n this.height = (__runInitializers(this, _width_extraInitializers), __runInitializers(this, _height_initializers, 24));\n this.showDots = (__runInitializers(this, _height_extraInitializers), __runInitializers(this, _showDots_initializers, false));\n this.showBaseline = (__runInitializers(this, _showDots_extraInitializers), __runInitializers(this, _showBaseline_initializers, false));\n this.strokeWidth = (__runInitializers(this, _showBaseline_extraInitializers), __runInitializers(this, _strokeWidth_initializers, 1.5));\n this.minValue = (__runInitializers(this, _strokeWidth_extraInitializers), __runInitializers(this, _minValue_initializers, void 0));\n this.maxValue = (__runInitializers(this, _minValue_extraInitializers), __runInitializers(this, _maxValue_initializers, void 0));\n this.data = (__runInitializers(this, _maxValue_extraInitializers), __runInitializers(this, _data_initializers, []));\n __runInitializers(this, _data_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellSparkline };\n//# sourceMappingURL=snice-cell-sparkline.js.map\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, query, request, styles, render, ready, watch, dispatch, css, html } from 'snice';\nimport '../input/snice-input.js';\nimport '../select/snice-select.js';\nimport './snice-cell.js';\nimport './snice-cell-text.js';\nimport './snice-cell-number.js';\nimport './snice-cell-date.js';\nimport './snice-cell-boolean.js';\nimport './snice-cell-rating.js';\nimport './snice-cell-progress.js';\nimport './snice-cell-duration.js';\nimport './snice-cell-filesize.js';\nimport './snice-cell-sparkline.js';\nimport '../utils.js';\nimport '../select/snice-option.js';\nimport '../snice-cell-D9dSe0d4.js';\nimport './snice-rating.js';\nimport './snice-progress.js';\n\nlet SniceTable = (() => {\n let _classDecorators = [element('snice-table')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _striped_decorators;\n let _striped_initializers = [];\n let _striped_extraInitializers = [];\n let _searchable_decorators;\n let _searchable_initializers = [];\n let _searchable_extraInitializers = [];\n let _filterable_decorators;\n let _filterable_initializers = [];\n let _filterable_extraInitializers = [];\n let _sortable_decorators;\n let _sortable_initializers = [];\n let _sortable_extraInitializers = [];\n let _selectable_decorators;\n let _selectable_initializers = [];\n let _selectable_extraInitializers = [];\n let _hoverable_decorators;\n let _hoverable_initializers = [];\n let _hoverable_extraInitializers = [];\n let _clickable_decorators;\n let _clickable_initializers = [];\n let _clickable_extraInitializers = [];\n let _list_decorators;\n let _list_initializers = [];\n let _list_extraInitializers = [];\n let _searchDebounce_decorators;\n let _searchDebounce_initializers = [];\n let _searchDebounce_extraInitializers = [];\n let _currentSort_decorators;\n let _currentSort_initializers = [];\n let _currentSort_extraInitializers = [];\n let _selector_decorators;\n let _selector_initializers = [];\n let _selector_extraInitializers = [];\n let _selectorOptions_decorators;\n let _selectorOptions_initializers = [];\n let _selectorOptions_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _selectedRows_decorators;\n let _selectedRows_initializers = [];\n let _selectedRows_extraInitializers = [];\n let _table_decorators;\n let _table_initializers = [];\n let _table_extraInitializers = [];\n let _thead_decorators;\n let _thead_initializers = [];\n let _thead_extraInitializers = [];\n let _tbody_decorators;\n let _tbody_initializers = [];\n let _tbody_extraInitializers = [];\n let _getTableConfig_decorators;\n let _getTableData_decorators;\n let _styles_decorators;\n let _render_decorators;\n let _initialize_decorators;\n let _handleSelectorOptionsChange_decorators;\n let _handleSortableChange_decorators;\n let _handleSelectableChange_decorators;\n let _handleColumnsChange_decorators;\n let _handleDataChange_decorators;\n let _handleSelectedRowsChange_decorators;\n let _handleSortChange_decorators;\n let _handleControlsChange_decorators;\n let _dispatchRowSelectionChanged_decorators;\n let _dispatchSelectAllChanged_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.striped = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _striped_initializers, false));\n this.searchable = (__runInitializers(this, _striped_extraInitializers), __runInitializers(this, _searchable_initializers, false));\n this.filterable = (__runInitializers(this, _searchable_extraInitializers), __runInitializers(this, _filterable_initializers, false));\n this.sortable = (__runInitializers(this, _filterable_extraInitializers), __runInitializers(this, _sortable_initializers, false));\n this.selectable = (__runInitializers(this, _sortable_extraInitializers), __runInitializers(this, _selectable_initializers, false));\n this.hoverable = (__runInitializers(this, _selectable_extraInitializers), __runInitializers(this, _hoverable_initializers, true));\n this.clickable = (__runInitializers(this, _hoverable_extraInitializers), __runInitializers(this, _clickable_initializers, false));\n this.list = (__runInitializers(this, _clickable_extraInitializers), __runInitializers(this, _list_initializers, false));\n this.searchDebounce = (__runInitializers(this, _list_extraInitializers), __runInitializers(this, _searchDebounce_initializers, 500));\n // Plain properties - no reflection to attributes\n this.columns = (__runInitializers(this, _searchDebounce_extraInitializers), []);\n this.data = [];\n this.currentSort = __runInitializers(this, _currentSort_initializers, []);\n // Don't use @property decorator to avoid auto-rendering on searchText change\n // This would cause the input to lose focus while typing\n this.searchText = (__runInitializers(this, _currentSort_extraInitializers), '');\n this.selector = __runInitializers(this, _selector_initializers, '');\n this.selectorOptions = (__runInitializers(this, _selector_extraInitializers), __runInitializers(this, _selectorOptions_initializers, []));\n this.loading = (__runInitializers(this, _selectorOptions_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.selectedRows = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _selectedRows_initializers, []));\n this.table = (__runInitializers(this, _selectedRows_extraInitializers), __runInitializers(this, _table_initializers, void 0));\n this.thead = (__runInitializers(this, _table_extraInitializers), __runInitializers(this, _thead_initializers, void 0));\n this.tbody = (__runInitializers(this, _thead_extraInitializers), __runInitializers(this, _tbody_initializers, void 0));\n this.dataRequestTimeout = (__runInitializers(this, _tbody_extraInitializers), null);\n this.handleClick = (e) => {\n const target = e.target;\n // Handle sortable header click\n const th = target.closest('th.sortable');\n if (th) {\n const columnKey = th.getAttribute('data-key');\n if (columnKey) {\n this.toggleSort(columnKey, true); // Always multi-sort\n }\n return;\n }\n // Handle row click\n const tr = target.closest('tbody tr');\n if (tr) {\n // Don't trigger if clicking on checkbox or other interactive elements\n if (target.matches('input[type=\"checkbox\"], button, a, .interactive')) {\n return;\n }\n const rowIndex = parseInt(tr.getAttribute('data-index') || '0');\n const rowData = this.data[rowIndex];\n // Handle row selection if selectable\n if (this.selectable) {\n const isCurrentlySelected = this.selectedRows.includes(rowIndex);\n if (isCurrentlySelected) {\n this.selectedRows = this.selectedRows.filter(i => i !== rowIndex);\n }\n else {\n this.selectedRows = [...this.selectedRows, rowIndex];\n }\n this.updateRowSelectionState();\n this.updateSelectAllState();\n this.dispatchRowSelectionChanged(rowIndex, !isCurrentlySelected);\n }\n // Handle clickable row event\n if (this.clickable) {\n this.dispatchEvent(new CustomEvent('row-clicked', {\n detail: { rowData, rowIndex }\n }));\n }\n }\n };\n this.handleChange = (e) => {\n const target = e.target;\n // Handle row select checkbox\n if (target.matches('.row-select')) {\n const checkbox = target;\n const rowIndex = parseInt(checkbox.getAttribute('data-row-index') || '0');\n if (checkbox.checked) {\n if (!this.selectedRows.includes(rowIndex)) {\n this.selectedRows = [...this.selectedRows, rowIndex];\n }\n }\n else {\n this.selectedRows = this.selectedRows.filter(i => i !== rowIndex);\n }\n this.updateRowSelectionState();\n this.updateSelectAllState();\n this.dispatchRowSelectionChanged(rowIndex, checkbox.checked);\n return;\n }\n // Handle select all checkbox\n if (target.matches('.select-all')) {\n const checkbox = target;\n if (checkbox.checked) {\n this.selectedRows = this.data.map((_, index) => index);\n }\n else {\n this.selectedRows = [];\n }\n this.updateRowSelectionState();\n this.dispatchSelectAllChanged(checkbox.checked);\n }\n };\n this.onAttached = () => {\n this.getTableConfig();\n this.getTableData();\n };\n this.searchDebounceTimeout = null;\n this.handleSearchInput = (e) => {\n const target = e.target;\n const input = target;\n this.searchText = input.value;\n // Manual debounce implementation\n if (this.searchDebounceTimeout) {\n clearTimeout(this.searchDebounceTimeout);\n }\n this.searchDebounceTimeout = setTimeout(() => {\n this.debouncedDataRequest();\n }, this.searchDebounce);\n };\n this.selectorDebounceTimeout = null;\n this.handleSelectorChange = (e) => {\n this.selector = Array.isArray(e.detail.value) ? e.detail.value.join(',') : e.detail.value;\n // Manual debounce implementation\n if (this.selectorDebounceTimeout) {\n clearTimeout(this.selectorDebounceTimeout);\n }\n this.selectorDebounceTimeout = setTimeout(() => {\n this.debouncedDataRequest();\n }, 150);\n };\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _striped_decorators = [property({ type: Boolean, attribute: 'striped' })];\n _searchable_decorators = [property({ type: Boolean, attribute: 'searchable' })];\n _filterable_decorators = [property({ type: Boolean, attribute: 'filterable' })];\n _sortable_decorators = [property({ type: Boolean, attribute: 'sortable' })];\n _selectable_decorators = [property({ type: Boolean, attribute: 'selectable' })];\n _hoverable_decorators = [property({ type: Boolean, attribute: 'hoverable' })];\n _clickable_decorators = [property({ type: Boolean, attribute: 'clickable' })];\n _list_decorators = [property({ type: Boolean, attribute: 'list' })];\n _searchDebounce_decorators = [property({ type: Number, attribute: 'search-debounce' })];\n _currentSort_decorators = [property({ type: Array, attribute: 'current-sort' })];\n _selector_decorators = [property({ type: String, attribute: 'selector' })];\n _selectorOptions_decorators = [property({ type: Array, attribute: 'selector-options' })];\n _loading_decorators = [property({ type: Boolean, attribute: 'loading' })];\n _selectedRows_decorators = [property({ type: Array, attribute: 'selected-rows' })];\n _table_decorators = [query('table')];\n _thead_decorators = [query('thead')];\n _tbody_decorators = [query('tbody')];\n _getTableConfig_decorators = [request('@snice/table/config')];\n _getTableData_decorators = [request('@snice/table/data')];\n _styles_decorators = [styles()];\n _render_decorators = [render()];\n _initialize_decorators = [ready()];\n _handleSelectorOptionsChange_decorators = [watch('selector-options')];\n _handleSortableChange_decorators = [watch('sortable')];\n _handleSelectableChange_decorators = [watch('selectable')];\n _handleColumnsChange_decorators = [watch('columns')];\n _handleDataChange_decorators = [watch('data', 'loading')];\n _handleSelectedRowsChange_decorators = [watch('selected-rows')];\n _handleSortChange_decorators = [watch('current-sort')];\n _handleControlsChange_decorators = [watch('searchable', 'filterable')];\n _dispatchRowSelectionChanged_decorators = [dispatch('table-row-selection-changed', { bubbles: true, composed: true })];\n _dispatchSelectAllChanged_decorators = [dispatch('table-select-all-changed', { bubbles: true, composed: true })];\n __esDecorate(this, null, _getTableConfig_decorators, { kind: \"method\", name: \"getTableConfig\", static: false, private: false, access: { has: obj => \"getTableConfig\" in obj, get: obj => obj.getTableConfig }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _getTableData_decorators, { kind: \"method\", name: \"getTableData\", static: false, private: false, access: { has: obj => \"getTableData\" in obj, get: obj => obj.getTableData }, 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(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, _initialize_decorators, { kind: \"method\", name: \"initialize\", static: false, private: false, access: { has: obj => \"initialize\" in obj, get: obj => obj.initialize }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectorOptionsChange_decorators, { kind: \"method\", name: \"handleSelectorOptionsChange\", static: false, private: false, access: { has: obj => \"handleSelectorOptionsChange\" in obj, get: obj => obj.handleSelectorOptionsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSortableChange_decorators, { kind: \"method\", name: \"handleSortableChange\", static: false, private: false, access: { has: obj => \"handleSortableChange\" in obj, get: obj => obj.handleSortableChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectableChange_decorators, { kind: \"method\", name: \"handleSelectableChange\", static: false, private: false, access: { has: obj => \"handleSelectableChange\" in obj, get: obj => obj.handleSelectableChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleColumnsChange_decorators, { kind: \"method\", name: \"handleColumnsChange\", static: false, private: false, access: { has: obj => \"handleColumnsChange\" in obj, get: obj => obj.handleColumnsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDataChange_decorators, { kind: \"method\", name: \"handleDataChange\", static: false, private: false, access: { has: obj => \"handleDataChange\" in obj, get: obj => obj.handleDataChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectedRowsChange_decorators, { kind: \"method\", name: \"handleSelectedRowsChange\", static: false, private: false, access: { has: obj => \"handleSelectedRowsChange\" in obj, get: obj => obj.handleSelectedRowsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSortChange_decorators, { kind: \"method\", name: \"handleSortChange\", static: false, private: false, access: { has: obj => \"handleSortChange\" in obj, get: obj => obj.handleSortChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleControlsChange_decorators, { kind: \"method\", name: \"handleControlsChange\", static: false, private: false, access: { has: obj => \"handleControlsChange\" in obj, get: obj => obj.handleControlsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchRowSelectionChanged_decorators, { kind: \"method\", name: \"dispatchRowSelectionChanged\", static: false, private: false, access: { has: obj => \"dispatchRowSelectionChanged\" in obj, get: obj => obj.dispatchRowSelectionChanged }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchSelectAllChanged_decorators, { kind: \"method\", name: \"dispatchSelectAllChanged\", static: false, private: false, access: { has: obj => \"dispatchSelectAllChanged\" in obj, get: obj => obj.dispatchSelectAllChanged }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _striped_decorators, { kind: \"field\", name: \"striped\", static: false, private: false, access: { has: obj => \"striped\" in obj, get: obj => obj.striped, set: (obj, value) => { obj.striped = value; } }, metadata: _metadata }, _striped_initializers, _striped_extraInitializers);\n __esDecorate(null, null, _searchable_decorators, { kind: \"field\", name: \"searchable\", static: false, private: false, access: { has: obj => \"searchable\" in obj, get: obj => obj.searchable, set: (obj, value) => { obj.searchable = value; } }, metadata: _metadata }, _searchable_initializers, _searchable_extraInitializers);\n __esDecorate(null, null, _filterable_decorators, { kind: \"field\", name: \"filterable\", static: false, private: false, access: { has: obj => \"filterable\" in obj, get: obj => obj.filterable, set: (obj, value) => { obj.filterable = value; } }, metadata: _metadata }, _filterable_initializers, _filterable_extraInitializers);\n __esDecorate(null, null, _sortable_decorators, { kind: \"field\", name: \"sortable\", static: false, private: false, access: { has: obj => \"sortable\" in obj, get: obj => obj.sortable, set: (obj, value) => { obj.sortable = value; } }, metadata: _metadata }, _sortable_initializers, _sortable_extraInitializers);\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, _hoverable_decorators, { kind: \"field\", name: \"hoverable\", static: false, private: false, access: { has: obj => \"hoverable\" in obj, get: obj => obj.hoverable, set: (obj, value) => { obj.hoverable = value; } }, metadata: _metadata }, _hoverable_initializers, _hoverable_extraInitializers);\n __esDecorate(null, null, _clickable_decorators, { kind: \"field\", name: \"clickable\", static: false, private: false, access: { has: obj => \"clickable\" in obj, get: obj => obj.clickable, set: (obj, value) => { obj.clickable = value; } }, metadata: _metadata }, _clickable_initializers, _clickable_extraInitializers);\n __esDecorate(null, null, _list_decorators, { kind: \"field\", name: \"list\", static: false, private: false, access: { has: obj => \"list\" in obj, get: obj => obj.list, set: (obj, value) => { obj.list = value; } }, metadata: _metadata }, _list_initializers, _list_extraInitializers);\n __esDecorate(null, null, _searchDebounce_decorators, { kind: \"field\", name: \"searchDebounce\", static: false, private: false, access: { has: obj => \"searchDebounce\" in obj, get: obj => obj.searchDebounce, set: (obj, value) => { obj.searchDebounce = value; } }, metadata: _metadata }, _searchDebounce_initializers, _searchDebounce_extraInitializers);\n __esDecorate(null, null, _currentSort_decorators, { kind: \"field\", name: \"currentSort\", static: false, private: false, access: { has: obj => \"currentSort\" in obj, get: obj => obj.currentSort, set: (obj, value) => { obj.currentSort = value; } }, metadata: _metadata }, _currentSort_initializers, _currentSort_extraInitializers);\n __esDecorate(null, null, _selector_decorators, { kind: \"field\", name: \"selector\", static: false, private: false, access: { has: obj => \"selector\" in obj, get: obj => obj.selector, set: (obj, value) => { obj.selector = value; } }, metadata: _metadata }, _selector_initializers, _selector_extraInitializers);\n __esDecorate(null, null, _selectorOptions_decorators, { kind: \"field\", name: \"selectorOptions\", static: false, private: false, access: { has: obj => \"selectorOptions\" in obj, get: obj => obj.selectorOptions, set: (obj, value) => { obj.selectorOptions = value; } }, metadata: _metadata }, _selectorOptions_initializers, _selectorOptions_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, _selectedRows_decorators, { kind: \"field\", name: \"selectedRows\", static: false, private: false, access: { has: obj => \"selectedRows\" in obj, get: obj => obj.selectedRows, set: (obj, value) => { obj.selectedRows = value; } }, metadata: _metadata }, _selectedRows_initializers, _selectedRows_extraInitializers);\n __esDecorate(null, null, _table_decorators, { kind: \"field\", name: \"table\", static: false, private: false, access: { has: obj => \"table\" in obj, get: obj => obj.table, set: (obj, value) => { obj.table = value; } }, metadata: _metadata }, _table_initializers, _table_extraInitializers);\n __esDecorate(null, null, _thead_decorators, { kind: \"field\", name: \"thead\", static: false, private: false, access: { has: obj => \"thead\" in obj, get: obj => obj.thead, set: (obj, value) => { obj.thead = value; } }, metadata: _metadata }, _thead_initializers, _thead_extraInitializers);\n __esDecorate(null, null, _tbody_decorators, { kind: \"field\", name: \"tbody\", static: false, private: false, access: { has: obj => \"tbody\" in obj, get: obj => obj.tbody, set: (obj, value) => { obj.tbody = value; } }, metadata: _metadata }, _tbody_initializers, _tbody_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 setData(data) {\n this.data = data;\n this.render();\n }\n setColumns(columns) {\n this.columns = columns;\n this.render();\n }\n async *getTableConfig() {\n const config = await (yield {});\n this.columns = config.columns || [];\n this.selectorOptions = config.selectorOptions || [];\n // Wait for next frame to ensure DOM is updated\n await new Promise(resolve => requestAnimationFrame(resolve));\n this.renderHeader();\n this.renderControls();\n return config;\n }\n async *getTableData() {\n this.loading = true;\n this.selectedRows = []; // Clear selections when loading new data\n try {\n const params = {\n search: this.searchText,\n sort: this.currentSort,\n selector: this.selector\n };\n const response = await (yield params);\n this.data = response.data || [];\n this.loading = false;\n // Wait for next frame to ensure DOM is updated\n await new Promise(resolve => requestAnimationFrame(resolve));\n this.renderBody();\n return response;\n }\n catch (error) {\n console.error('Error loading table data:', error);\n this.data = [];\n this.loading = false;\n // Wait for next frame to ensure DOM is updated\n await new Promise(resolve => requestAnimationFrame(resolve));\n this.renderBody();\n }\n }\n debouncedDataRequest() {\n // Set loading immediately for instant feedback\n if (!this.loading) {\n this.loading = true;\n }\n if (this.dataRequestTimeout) {\n clearTimeout(this.dataRequestTimeout);\n }\n this.dataRequestTimeout = setTimeout(() => {\n this.getTableData();\n this.dataRequestTimeout = null;\n }, 150);\n }\n styles() {\n return css /*css*/ `\n :host {\n display: block;\n }\n\n .snice-table {\n width: 100%;\n overflow: auto;\n }\n\n table {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n border-radius: var(--snice-border-radius-lg);\n border: 1px solid var(--snice-color-border);\n }\n\n th, td {\n padding: var(--snice-spacing-xsm) var(--snice-spacing-xsm);\n border: 1px solid var(--snice-color-border);\n text-align: left;\n color: var(--snice-color-text);\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n th {\n padding: var(--snice-spacing-sm) var(--snice-spacing-sm);\n }\n\n th.select-column,\n td.select-column {\n width: 2.5rem;\n max-width: 2.5rem;\n text-align: center;\n padding: var(--snice-spacing-xs);\n }\n\n th {\n background-color: var(--snice-color-background-secondary);\n color: var(--snice-color-text);\n font-weight: var(--snice-font-weight-semibold);\n border-bottom: 2px solid var(--snice-color-border);\n }\n\n th.sortable {\n cursor: pointer;\n user-select: none;\n }\n\n th.sortable:hover {\n background-color: var(--snice-color-background-tertiary);\n }\n\n /* Row styling */\n :host([striped]) tbody tr:nth-child(even) {\n background-color: var(--snice-color-background-secondary);\n }\n\n :host([hoverable]) tbody tr:hover {\n background-color: var(--snice-color-background-tertiary);\n }\n\n :host([clickable]) tbody tr {\n cursor: pointer;\n }\n\n :host([selectable]) tbody tr {\n cursor: pointer;\n }\n\n tbody tr[data-selected=\"true\"] {\n background-color: var(--snice-color-background-tertiary);\n border-left: 3px solid var(--snice-color-primary);\n }\n\n tbody tr[data-selected=\"true\"]:hover {\n background-color: var(--snice-color-background-tertiary);\n }\n\n /* List mode - hide vertical borders */\n :host([list]) th,\n :host([list]) td {\n border-left: none;\n border-right: none;\n }\n\n :host([list]) th:first-child,\n :host([list]) td:first-child {\n border-left: none;\n }\n\n :host([list]) th:last-child,\n :host([list]) td:last-child {\n border-right: none;\n }\n\n :host([list]) table {\n border-left: none;\n border-right: none;\n }\n\n [part=\"header\"] {\n background-color: var(--snice-color-background);\n }\n\n [part=\"body\"] {\n background-color: var(--snice-table-body-bg, --snice-color-background);\n display: block;\n }\n\n .table-controls {\n display: flex;\n gap: var(--snice-spacing-md);\n align-items: center;\n flex-wrap: wrap;\n }\n\n :host(:not([searchable])) .search-input {\n display: none;\n }\n\n :host(.selector-options-empty) .selector-input {\n display: none;\n }\n\n .search-input,\n .selector-input {\n height: 2.5rem;\n }\n\n .search-input {\n min-width: 12.5rem;\n flex: 1;\n }\n\n .selector-input {\n min-width: 9.375rem;\n --snice-select-min-height: 2rem;\n }\n\n /* Sort indicators */\n .sort-header {\n display: flex;\n align-items: center;\n gap: var(--snice-spacing-xs);\n justify-content: space-between;\n }\n\n\n .sort-indicator {\n display: flex;\n flex-direction: column;\n font-size: 0.7em;\n line-height: 1;\n opacity: 0.3;\n transition: opacity var(--snice-transition-fast);\n }\n\n .sort-indicator.active {\n opacity: 1;\n }\n\n .sort-order {\n font-size: 0.6em;\n background: var(--snice-color-primary);\n color: var(--snice-color-text-inverse);\n border-radius: var(--snice-border-radius-sm);\n padding: 1px 3px;\n min-width: 12px;\n text-align: center;\n }\n\n /* Loading fade */\n tbody {\n transition: opacity var(--snice-transition-normal);\n }\n\n :host([loading]) tbody {\n opacity: 0.5;\n }\n\n .no-data {\n text-align: center;\n padding: var(--snice-spacing-lg);\n color: var(--snice-color-text-secondary);\n }\n\n /* Slotted table layout */\n .snice-table--slotted {\n border: 1px solid var(--snice-color-border);\n border-radius: var(--snice-border-radius-lg);\n overflow: hidden;\n }\n\n .snice-table--slotted .table-header {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n background-color: var(--snice-color-background-secondary);\n border-bottom: 2px solid var(--snice-color-border);\n padding: var(--snice-spacing-sm);\n font-weight: var(--snice-font-weight-semibold);\n color: var(--snice-color-text);\n }\n\n .snice-table--slotted .header-cell {\n color: var(--snice-color-text);\n }\n\n .snice-table--slotted .table-header::slotted(snice-column) {\n padding: var(--snice-spacing-sm);\n }\n\n .snice-table--slotted .table-body {\n display: flex;\n flex-direction: column;\n }\n\n .snice-table--slotted .table-body::slotted(snice-row) {\n border-bottom: 1px solid var(--snice-color-border);\n }\n\n .snice-table--slotted .table-body::slotted(snice-row:last-child) {\n border-bottom: none;\n }\n\n :host([striped]) .snice-table--slotted .table-body::slotted(snice-row:nth-child(even)) {\n background-color: var(--snice-color-background-secondary);\n }\n\n :host([hoverable]) .snice-table--slotted .table-body::slotted(snice-row:hover) {\n background-color: var(--snice-color-background-tertiary);\n }\n `;\n }\n render() {\n // Check if we have slotted rows\n const hasSlottedRows = this.querySelectorAll('snice-row[slot=\"rows\"]').length > 0;\n if (hasSlottedRows) {\n // Use slotted rows layout\n return html /*html*/ `\n <div class=\"snice-table snice-table--slotted\" @click=${this.handleClick} @change=${this.handleChange}>\n <div class=\"table-controls-container\"></div>\n <div class=\"table-header\" id=\"slotted-header\"></div>\n <div class=\"table-body\">\n <slot name=\"rows\"></slot>\n </div>\n <slot name=\"columns\" style=\"display: none;\"></slot>\n </div>\n `;\n }\n else {\n // Use traditional table layout\n return html /*html*/ `\n <div class=\"snice-table\" @click=${this.handleClick} @change=${this.handleChange}>\n <div class=\"table-controls-container\"></div>\n <table>\n <thead></thead>\n <tbody></tbody>\n </table>\n </div>\n `;\n }\n }\n renderControls() {\n const container = this.shadowRoot?.querySelector('.table-controls-container');\n if (!container)\n return;\n const showControls = this.searchable || this.filterable;\n if (!showControls) {\n container.innerHTML = '';\n return;\n }\n // Only render if container is empty (first time)\n if (container.children.length === 0) {\n const controlsDiv = document.createElement('div');\n controlsDiv.className = 'table-controls';\n controlsDiv.setAttribute('part', 'controls');\n if (this.searchable) {\n const searchInput = document.createElement('snice-input');\n searchInput.className = 'search-input';\n searchInput.setAttribute('type', 'search');\n searchInput.setAttribute('placeholder', 'Search...');\n searchInput.setAttribute('size', 'medium');\n searchInput.addEventListener('input', this.handleSearchInput);\n controlsDiv.appendChild(searchInput);\n }\n if (this.filterable) {\n const select = document.createElement('snice-select');\n select.className = 'selector-input';\n select.setAttribute('multiple', '');\n select.setAttribute('searchable', '');\n select.setAttribute('clearable', '');\n select.setAttribute('placeholder', 'Filter...');\n select.setAttribute('size', 'medium');\n this.selectorOptions.forEach(opt => {\n const option = document.createElement('snice-option');\n option.setAttribute('value', opt.value);\n option.textContent = opt.label;\n select.appendChild(option);\n });\n controlsDiv.appendChild(select);\n }\n container.appendChild(controlsDiv);\n }\n }\n async initialize() {\n // Listen for controller attached event\n this.addEventListener('@snice/controller-attached', this.onAttached);\n // Listen for select change events from the filter dropdown\n this.addEventListener('select-change', this.handleSelectorChange);\n // Wait for snice-column to be defined\n await customElements.whenDefined('snice-column');\n await customElements.whenDefined('snice-row');\n // Process slotted columns and rows\n await this.processSlottedContent();\n // Render controls after initial setup\n this.renderControls();\n }\n async processSlottedContent() {\n // Get slotted column elements\n const columnElements = Array.from(this.querySelectorAll('snice-column[slot=\"columns\"]'));\n if (columnElements.length > 0) {\n // Extract column definitions from snice-column elements\n this.columns = columnElements.map((col) => col.getColumnDefinition());\n // Pass column definitions to slotted rows\n const rowElements = Array.from(this.querySelectorAll('snice-row[slot=\"rows\"]'));\n rowElements.forEach((row, index) => {\n row.columns = this.columns;\n row.index = index;\n row.hoverable = this.hoverable;\n row.clickable = this.clickable;\n row.selectable = this.selectable;\n });\n // Render the header for slotted mode (after next tick to ensure DOM is updated)\n requestAnimationFrame(() => this.renderSlottedHeader());\n }\n }\n renderSlottedHeader() {\n const headerContainer = this.shadowRoot?.querySelector('#slotted-header');\n if (!headerContainer || this.columns.length === 0)\n return;\n // Render column headers\n headerContainer.innerHTML = this.columns.map(col => `<div class=\"header-cell\">${col.label}</div>`).join('');\n }\n handleSelectorOptionsChange() {\n // Update CSS class to show/hide selector\n if (this.selectorOptions.length === 0) {\n this.classList.add('selector-options-empty');\n }\n else {\n this.classList.remove('selector-options-empty');\n }\n }\n handleSortableChange() {\n this.renderHeader(); // Re-render header to show/hide sort indicators\n }\n handleSelectableChange() {\n this.render(); // Re-render both header and body for checkbox columns\n }\n handleColumnsChange() {\n this.renderHeader();\n }\n handleDataChange() {\n this.renderBody();\n }\n handleSelectedRowsChange() {\n this.updateRowSelectionState();\n this.updateSelectAllState();\n }\n handleSortChange() {\n this.renderHeader();\n }\n handleControlsChange() {\n this.renderControls();\n }\n renderHeader() {\n if (!this.thead)\n return;\n const headerRow = document.createElement('tr');\n if (this.selectable) {\n const selectCell = document.createElement('th');\n selectCell.className = 'select-column';\n const allSelected = this.selectedRows.length === this.data.length && this.data.length > 0;\n const someSelected = this.selectedRows.length > 0 && this.selectedRows.length < this.data.length;\n selectCell.innerHTML = `<input type=\"checkbox\" class=\"select-all\" ${allSelected ? 'checked' : ''} />`;\n headerRow.appendChild(selectCell);\n // Set indeterminate after insertion\n setTimeout(() => {\n const checkbox = selectCell.querySelector('.select-all');\n if (checkbox) {\n checkbox.indeterminate = someSelected;\n }\n }, 0);\n }\n this.columns.forEach(column => {\n const th = document.createElement('th');\n th.setAttribute('data-key', column.key);\n if (this.sortable && column.sortable !== false) {\n th.classList.add('sortable');\n th.setAttribute('role', 'button');\n th.innerHTML = this.renderSortableHeader(column);\n }\n else {\n th.textContent = column.label;\n }\n headerRow.appendChild(th);\n });\n this.thead.innerHTML = '';\n this.thead.appendChild(headerRow);\n }\n renderSortableHeader(column) {\n const sortItem = this.currentSort.find(s => s.column === column.key);\n const sortIndex = this.currentSort.findIndex(s => s.column === column.key);\n const isActive = !!sortItem;\n let indicator = '▲▼'; // Default unsorted state\n let orderNumber = '';\n if (sortItem) {\n if (sortItem.direction === 'asc') {\n indicator = '▲';\n }\n else if (sortItem.direction === 'desc') {\n indicator = '▼';\n }\n if (this.currentSort.length > 1) {\n orderNumber = `<span class=\"sort-order\">${sortIndex + 1}</span>`;\n }\n }\n const indicatorClasses = ['sort-indicator', isActive ? 'active' : ''].filter(Boolean).join(' ');\n return `\n <div class=\"sort-header\">\n <span>${column.label}</span>\n <div class=\"${indicatorClasses}\">\n ${indicator}\n ${orderNumber}\n </div>\n </div>\n `;\n }\n renderBody() {\n if (!this.tbody)\n return;\n this.tbody.innerHTML = '';\n if (this.data.length === 0 && this.columns.length > 0) {\n if (this.loading) {\n // Show loading spinner\n const tr = document.createElement('tr');\n const td = document.createElement('td');\n const colSpan = this.columns.length + (this.selectable ? 1 : 0);\n td.colSpan = colSpan;\n td.className = 'no-data';\n td.innerHTML = '<snice-progress variant=\"circular\" indeterminate size=\"small\"></snice-progress>';\n tr.appendChild(td);\n this.tbody.appendChild(tr);\n return;\n }\n else {\n // Show \"No Data\" message\n const tr = document.createElement('tr');\n const td = document.createElement('td');\n const colSpan = this.columns.length + (this.selectable ? 1 : 0);\n td.colSpan = colSpan;\n td.className = 'no-data';\n td.textContent = 'No Data';\n tr.appendChild(td);\n this.tbody.appendChild(tr);\n return;\n }\n }\n const fragment = document.createDocumentFragment();\n this.data.forEach((rowData, index) => {\n const tr = document.createElement('tr');\n tr.setAttribute('data-index', String(index));\n // Set row selection state\n const isSelected = this.selectedRows.includes(index);\n tr.setAttribute('data-selected', String(isSelected));\n if (this.selectable) {\n const selectCell = document.createElement('td');\n selectCell.className = 'select-column';\n selectCell.innerHTML = `<input type=\"checkbox\" class=\"row-select\" ${isSelected ? 'checked' : ''} data-row-index=\"${index}\" />`;\n tr.appendChild(selectCell);\n }\n this.columns.forEach(column => {\n const td = document.createElement('td');\n const value = rowData[column.key];\n // Create cell component as HTML string\n const cellTagName = this.getCellTagName(column.type);\n const attributes = this.getCellAttributes(column, value);\n td.innerHTML = `<${cellTagName} ${attributes}></${cellTagName}>`;\n tr.appendChild(td);\n });\n fragment.appendChild(tr);\n });\n this.tbody.appendChild(fragment);\n }\n getCellAttributes(column, value) {\n const attributes = [\n `type=\"${column.type}\"`,\n `align=\"${column.align || 'left'}\"`,\n `value=\"${String(value || '').replace(/\"/g, '&quot;')}\"`,\n `in-table=\"true\"`\n ];\n // Add type-specific attributes\n if (column.type === 'number' || column.type === 'currency') {\n if (column.decimals !== undefined)\n attributes.push(`decimals=\"${column.decimals}\"`);\n if (column.thousandsSeparator)\n attributes.push(`thousands-separator=\"true\"`);\n if (column.prefix)\n attributes.push(`prefix=\"${column.prefix}\"`);\n if (column.suffix)\n attributes.push(`suffix=\"${column.suffix}\"`);\n }\n if (column.type === 'date') {\n if (column.dateFormat)\n attributes.push(`date-format=\"${column.dateFormat}\"`);\n }\n if (column.type === 'boolean') {\n if (column.useSymbols)\n attributes.push(`use-symbols=\"true\"`);\n if (column.trueSymbol)\n attributes.push(`true-symbol=\"${column.trueSymbol}\"`);\n if (column.falseSymbol)\n attributes.push(`false-symbol=\"${column.falseSymbol}\"`);\n if (column.trueValue)\n attributes.push(`true-value=\"${column.trueValue}\"`);\n if (column.falseValue)\n attributes.push(`false-value=\"${column.falseValue}\"`);\n }\n return attributes.join(' ');\n }\n getCellTagName(type) {\n switch (type) {\n case 'text':\n return 'snice-cell-text';\n case 'number':\n case 'currency':\n return 'snice-cell-number';\n case 'date':\n return 'snice-cell-date';\n case 'boolean':\n return 'snice-cell-boolean';\n case 'rating':\n return 'snice-cell-rating';\n case 'progress':\n return 'snice-cell-progress';\n case 'duration':\n return 'snice-cell-duration';\n case 'filesize':\n return 'snice-cell-filesize';\n case 'sparkline':\n return 'snice-cell-sparkline';\n case 'image':\n return 'snice-cell-image';\n default:\n return 'snice-cell';\n }\n }\n updateRowSelectionState() {\n if (!this.tbody)\n return;\n const rows = this.tbody.querySelectorAll('tr');\n rows.forEach((row, index) => {\n const isSelected = this.selectedRows.includes(index);\n row.setAttribute('data-selected', String(isSelected));\n const checkbox = row.querySelector('.row-select');\n if (checkbox) {\n checkbox.checked = isSelected;\n }\n });\n }\n updateSelectAllState() {\n const selectAllCheckbox = this.thead?.querySelector('.select-all');\n if (!selectAllCheckbox)\n return;\n const allSelected = this.selectedRows.length === this.data.length;\n const someSelected = this.selectedRows.length > 0 && this.selectedRows.length < this.data.length;\n selectAllCheckbox.checked = allSelected;\n selectAllCheckbox.indeterminate = someSelected;\n }\n toggleSort(columnKey, multiSort = false) {\n if (!multiSort) {\n // Single column sort - clear all other sorts\n const existingSort = this.currentSort.find(s => s.column === columnKey);\n if (!existingSort) {\n this.currentSort = [{ column: columnKey, direction: 'asc' }];\n }\n else if (existingSort.direction === 'asc') {\n this.currentSort = [{ column: columnKey, direction: 'desc' }];\n }\n else {\n this.currentSort = [];\n }\n }\n else {\n // Multi column sort - modify existing or add new\n const existingSortIndex = this.currentSort.findIndex(s => s.column === columnKey);\n if (existingSortIndex === -1) {\n // Add new sort\n this.currentSort = [...this.currentSort, { column: columnKey, direction: 'asc' }];\n }\n else {\n const existingSort = this.currentSort[existingSortIndex];\n if (existingSort.direction === 'asc') {\n // Change to desc - create new array to trigger reactivity\n this.currentSort = this.currentSort.map((sort, index) => index === existingSortIndex ? { ...sort, direction: 'desc' } : sort);\n }\n else {\n // Remove this sort\n this.currentSort = this.currentSort.filter(s => s.column !== columnKey);\n }\n }\n }\n this.renderHeader(); // Update sort indicators immediately\n this.debouncedDataRequest(); // Show loading immediately, debounce the actual request\n }\n dispatchRowSelectionChanged(rowIndex, selected) {\n return {\n selectedRows: this.selectedRows,\n rowIndex,\n selected\n };\n }\n dispatchSelectAllChanged(allSelected) {\n return {\n selectedRows: this.selectedRows,\n allSelected\n };\n }\n });\n return _classThis;\n})();\n\nexport { SniceTable };\n//# sourceMappingURL=snice-table.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","renderIcon","icon","className","html","startsWith","src","slice","content","test","SuppressedError","_classDescriptor","_classThis","_type_decorators","_size_decorators","_variant_decorators","_value_decorators","_placeholder_decorators","_label_decorators","_helperText_decorators","_errorText_decorators","_disabled_decorators","_readonly_decorators","_loading_decorators","_required_decorators","_invalid_decorators","_clearable_decorators","_password_decorators","_min_decorators","_max_decorators","_step_decorators","_pattern_decorators","_maxlength_decorators","_minlength_decorators","_autocomplete_decorators","_name_decorators","_prefixIcon_decorators","_suffixIcon_decorators","_input_decorators","_clearButton_decorators","_passwordToggle_decorators","_render_decorators","_styles_decorators","_init_decorators","_handleValueChange_decorators","_handleInvalidChange_decorators","_handleDisabledChange_decorators","_handleLoadingChange_decorators","_handleReadonlyChange_decorators","_handlePlaceholderChange_decorators","_handleMinChange_decorators","_handleMaxChange_decorators","_handleStepChange_decorators","_handleMaxLengthChange_decorators","_handleMinLengthChange_decorators","_handlePatternChange_decorators","_handleTypeChange_decorators","_handleLabelChange_decorators","_dispatchInputEvent_decorators","_dispatchChangeEvent_decorators","_dispatchFocusEvent_decorators","_dispatchBlurEvent_decorators","_dispatchClearEvent_decorators","_classDecorators","element","formAssociated","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_type_initializers","_type_extraInitializers","_size_initializers","_size_extraInitializers","_variant_initializers","_variant_extraInitializers","_value_initializers","_value_extraInitializers","_placeholder_initializers","_placeholder_extraInitializers","_label_initializers","_label_extraInitializers","_helperText_initializers","_helperText_extraInitializers","_errorText_initializers","_errorText_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_readonly_initializers","_readonly_extraInitializers","_loading_initializers","_loading_extraInitializers","_required_initializers","_required_extraInitializers","_invalid_initializers","_invalid_extraInitializers","_clearable_initializers","_clearable_extraInitializers","_password_initializers","_password_extraInitializers","_min_initializers","_min_extraInitializers","_max_initializers","_max_extraInitializers","_step_initializers","_step_extraInitializers","_pattern_initializers","_pattern_extraInitializers","_maxlength_initializers","_maxlength_extraInitializers","_minlength_initializers","_minlength_extraInitializers","_autocomplete_initializers","_autocomplete_extraInitializers","_name_initializers","_name_extraInitializers","_prefixIcon_initializers","_prefixIcon_extraInitializers","_suffixIcon_initializers","_suffixIcon_extraInitializers","_input_initializers","_input_extraInitializers","_clearButton_initializers","_clearButton_extraInitializers","_passwordToggle_initializers","_passwordToggle_extraInitializers","this","_metadata","Symbol","metadata","create","property","attribute","type","Boolean","Number","query","render","styles","ready","watch","dispatch","bubbles","composed","static","private","has","obj","handleValueChange","handleInvalidChange","handleDisabledChange","handleLoadingChange","handleReadonlyChange","handlePlaceholderChange","handleMinChange","handleMaxChange","handleStepChange","handleMaxLengthChange","handleMinLengthChange","handlePatternChange","handleTypeChange","handleLabelChange","dispatchInputEvent","dispatchChangeEvent","dispatchFocusEvent","dispatchBlurEvent","dispatchClearEvent","size","variant","placeholder","label","helperText","errorText","disabled","readonly","loading","required","invalid","clearable","password","min","max","step","pattern","maxlength","minlength","autocomplete","prefixIcon","suffixIcon","input","clearButton","passwordToggle","enumerable","configurable","writable","constructor","super","internals","showPassword","attachInternals","inputClasses","filter","join","labelClasses","clearButtonClasses","handleInput","handleChange","handleFocus","handleBlur","handleClear","handlePasswordToggle","css","setFormValue","shouldShow","style","display","classList","toggle","setAttribute","add","maxLength","minLength","readOnly","e","clear","hiddenIcon","querySelector","visibleIcon","String","remove","labelEl","shadowRoot","textContent","wrapper","parentElement","focus","blur","select","checkValidity","reportValidity","setCustomValidity","message","_selected_decorators","_icon_decorators","_selected_initializers","_selected_extraInitializers","_icon_initializers","_icon_extraInitializers","selected","trim","optionData","_multiple_decorators","_searchable_decorators","_open_decorators","_maxHeight_decorators","_trigger_decorators","_dropdown_decorators","_valueDisplay_decorators","_labelElement_decorators","_searchInput_decorators","_optionsList_decorators","_nativeSelect_decorators","_arrow_decorators","_searchContainer_decorators","_optionElements_decorators","_cleanup_decorators","_handleOpenChange_decorators","_handleNativeSelectAttributeChange_decorators","_dispatchOpenEvent_decorators","_dispatchCloseEvent_decorators","_multiple_initializers","_multiple_extraInitializers","_searchable_initializers","_searchable_extraInitializers","_open_initializers","_open_extraInitializers","_maxHeight_initializers","_maxHeight_extraInitializers","_trigger_initializers","_trigger_extraInitializers","_dropdown_initializers","_dropdown_extraInitializers","_valueDisplay_initializers","_valueDisplay_extraInitializers","_labelElement_initializers","_labelElement_extraInitializers","_searchInput_initializers","_searchInput_extraInitializers","_optionsList_initializers","_optionsList_extraInitializers","_nativeSelect_initializers","_nativeSelect_extraInitializers","_arrow_initializers","_arrow_extraInitializers","_searchContainer_initializers","_searchContainer_extraInitializers","_optionElements_initializers","_optionElements_extraInitializers","multiple","searchable","open","maxHeight","options","trigger","dropdown","valueDisplay","labelElement","searchInput","optionsList","nativeSelect","arrow","searchContainer","optionElements","filteredOptions","selectedValues","Set","focusedIndex","queryAll","dispose","cleanup","handleOpenChange","handleNativeSelectAttributeChange","dispatchOpenEvent","dispatchCloseEvent","triggerClasses","searchHidden","handleTriggerOpen","handleTriggerClick","handleClearClick","handleOptionsClick","handleSearchKeydown","handleSearchInput","renderOptions","map","opt","index","isSelected","readOptionsFromChildren","split","v","requestAnimationFrame","updateTriggerState","updateDropdownState","updateNativeSelectAttributes","updateDropdownContent","updateNativeSelect","updateValueDisplay","updateClearButton","observeChildren","setupGlobalListeners","removeGlobalListeners","childObserver","disconnect","outsideClickHandler","contains","closeDropdown","globalKeyHandler","preventDefault","focusNextOption","focusPreviousOption","option","handleOptionSelect","document","addEventListener","removeEventListener","observer","MutationObserver","mutations","handleChildrenChange","observe","childList","subtree","attributes","attributeFilter","some","m","includes","attributeName","nodeName","Array","from","querySelectorAll","sniceOption","getAttribute","hasAttribute","openDropdown","updateOptionFocus","forEach","el","stopPropagation","closest","toggleDropdown","delete","optionEl","find","searchTerm","toLowerCase","setTimeout","selectedOptions","innerHTML","createElement","appendChild","selectOption","removeAttribute","cssContent","_align_decorators","_column_decorators","_rowData_decorators","_contentElement_decorators","_updateAlignment_decorators","_updateContent_decorators","_align_initializers","_align_extraInitializers","_column_initializers","_column_extraInitializers","_rowData_initializers","_rowData_extraInitializers","_contentElement_initializers","_contentElement_extraInitializers","updateAlignment","updateContent","align","column","rowData","contentElement","formatValue","applyAlignment","applyConditionalFormatting","textAlign","conditionalFormats","applyStyle","format","condition","backgroundColor","color","fontWeight","fontStyle","fontSize","textDecoration","undefined","formatter","formatText","formatNumber","formatCurrency","formatPercent","formatAccounting","formatScientific","formatFraction","formatDate","formatBoolean","formatRating","formatProgress","formatSparkline","formatDuration","formatFilesize","numberFormat","num","isNaN","formatted","toFixed","decimals","thousandsSeparator","parts","replace","negativeStyle","prefix","suffix","currencyFormat","currency","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","percentFormat","Math","abs","toExponential","h1","h2","k1","k2","b","a","floor","aux","dateFormat","date","Date","getTime","customFormat","getFullYear","toString","getMonth","padStart","getDate","dateStyle","DateTimeFormat","locale","booleanFormat","bool","useSymbols","trueSymbol","falseSymbol","trueValue","falseValue","ratingFormat","rating","symbol","emptySymbol","primaryColor","getComputedStyle","getPropertyValue","emptyColor","progressFormat","percentage","bgColor","height","showPercentage","round","sparklineFormat","data","isArray","width","range","points","val","barWidth","bars","barHeight","seconds","hours","minutes","secs","bytes","units","unitIndex","_multiline_decorators","_maxLines_decorators","_multiline_initializers","_multiline_extraInitializers","_maxLines_initializers","_maxLines_extraInitializers","multiline","maxLines","formatTextContent","textStyles","getTextStyles","text","ellipsis","wrap","_decimals_decorators","_thousandsSeparator_decorators","_prefix_decorators","_suffix_decorators","_negativeStyle_decorators","_highlight_decorators","_decimals_initializers","_decimals_extraInitializers","_thousandsSeparator_initializers","_thousandsSeparator_extraInitializers","_prefix_initializers","_prefix_extraInitializers","_suffix_initializers","_suffix_extraInitializers","_negativeStyle_initializers","_negativeStyle_extraInitializers","_highlight_initializers","_highlight_extraInitializers","highlight","formattedValue","formatNumberValue","getNumberStyles","negStyle","_dateFormat_decorators","_customFormat_decorators","_locale_decorators","_relativeTime_decorators","_showTime_decorators","_dateFormat_initializers","_dateFormat_extraInitializers","_customFormat_initializers","_customFormat_extraInitializers","_locale_initializers","_locale_extraInitializers","_relativeTime_initializers","_relativeTime_extraInitializers","_showTime_initializers","_showTime_extraInitializers","relativeTime","showTime","formatDateValue","dateStyles","getDateStyles","formatRelativeTime","formatCustomDate","timeStyle","tokens","YYYY","YY","MM","M","DD","D","HH","getHours","H","mm","getMinutes","ss","getSeconds","s","token","entries","RegExp","diffMs","diffSecs","diffMins","diffHours","diffDays","now","isToday","toDateString","isPast","isFuture","_trueValue_decorators","_falseValue_decorators","_useSymbols_decorators","_trueSymbol_decorators","_falseSymbol_decorators","_trueValue_initializers","_trueValue_extraInitializers","_falseValue_initializers","_falseValue_extraInitializers","_useSymbols_initializers","_useSymbols_extraInitializers","_trueSymbol_initializers","_trueSymbol_extraInitializers","_falseSymbol_initializers","_falseSymbol_extraInitializers","formatBooleanContent","unsafeHTML","isTrue","_symbol_decorators","_emptySymbol_decorators","_color_decorators","_symbol_initializers","_symbol_extraInitializers","_emptySymbol_initializers","_emptySymbol_extraInitializers","_color_initializers","_color_extraInitializers","filled","empty","repeat","createRatingElement","_backgroundColor_decorators","_height_decorators","_showPercentage_decorators","_backgroundColor_initializers","_backgroundColor_extraInitializers","_height_initializers","_height_extraInitializers","_showPercentage_initializers","_showPercentage_extraInitializers","createProgressElement","progress","formatFileSize","_chartType_decorators","_width_decorators","_showDots_decorators","_showBaseline_decorators","_strokeWidth_decorators","_minValue_decorators","_maxValue_decorators","_data_decorators","_updateSparkline_decorators","_chartType_initializers","_chartType_extraInitializers","_width_initializers","_width_extraInitializers","_showDots_initializers","_showDots_extraInitializers","_showBaseline_initializers","_showBaseline_extraInitializers","_strokeWidth_initializers","_strokeWidth_extraInitializers","_minValue_initializers","_minValue_extraInitializers","_maxValue_initializers","_maxValue_extraInitializers","_data_initializers","_data_extraInitializers","SimpleArray","updateSparkline","chartType","showDots","showBaseline","strokeWidth","minValue","maxValue","renderSparkline","parseData","createCanvas","n","endsWith","parsed","JSON","parse","canvas","ctx","getContext","chartWidth","chartHeight","clearRect","resolvedColor","match","strokeStyle","fillStyle","lineWidth","lineCap","lineJoin","beginPath","moveTo","x","y","lineTo","closePath","globalAlpha","fill","stroke","arc","PI","barSpacing","fillRect","toDataURL","error","console","SniceTable","_striped_decorators","_filterable_decorators","_sortable_decorators","_selectable_decorators","_hoverable_decorators","_clickable_decorators","_list_decorators","_searchDebounce_decorators","_currentSort_decorators","_selector_decorators","_selectorOptions_decorators","_selectedRows_decorators","_table_decorators","_thead_decorators","_tbody_decorators","_getTableConfig_decorators","_getTableData_decorators","_initialize_decorators","_handleSelectorOptionsChange_decorators","_handleSortableChange_decorators","_handleSelectableChange_decorators","_handleColumnsChange_decorators","_handleDataChange_decorators","_handleSelectedRowsChange_decorators","_handleSortChange_decorators","_handleControlsChange_decorators","_dispatchRowSelectionChanged_decorators","_dispatchSelectAllChanged_decorators","_striped_initializers","_striped_extraInitializers","_filterable_initializers","_filterable_extraInitializers","_sortable_initializers","_sortable_extraInitializers","_selectable_initializers","_selectable_extraInitializers","_hoverable_initializers","_hoverable_extraInitializers","_clickable_initializers","_clickable_extraInitializers","_list_initializers","_list_extraInitializers","_searchDebounce_initializers","_searchDebounce_extraInitializers","_currentSort_initializers","_currentSort_extraInitializers","_selector_initializers","_selector_extraInitializers","_selectorOptions_initializers","_selectorOptions_extraInitializers","_selectedRows_initializers","_selectedRows_extraInitializers","_table_initializers","_table_extraInitializers","_thead_initializers","_thead_extraInitializers","_tbody_initializers","_tbody_extraInitializers","striped","filterable","sortable","selectable","hoverable","clickable","list","searchDebounce","columns","currentSort","searchText","selector","selectorOptions","selectedRows","table","thead","tbody","dataRequestTimeout","handleClick","th","columnKey","toggleSort","tr","matches","rowIndex","parseInt","isCurrentlySelected","updateRowSelectionState","updateSelectAllState","dispatchRowSelectionChanged","dispatchEvent","CustomEvent","detail","checkbox","checked","dispatchSelectAllChanged","onAttached","getTableConfig","getTableData","searchDebounceTimeout","clearTimeout","debouncedDataRequest","selectorDebounceTimeout","handleSelectorChange","request","initialize","handleSelectorOptionsChange","handleSortableChange","handleSelectableChange","handleColumnsChange","handleDataChange","handleSelectedRowsChange","handleSortChange","handleControlsChange","setData","setColumns","config","Promise","resolve","renderHeader","renderControls","params","search","sort","response","renderBody","container","children","controlsDiv","customElements","whenDefined","processSlottedContent","columnElements","col","getColumnDefinition","row","renderSlottedHeader","headerContainer","headerRow","selectCell","allSelected","someSelected","indeterminate","renderSortableHeader","sortItem","sortIndex","findIndex","isActive","indicator","orderNumber","direction","indicatorClasses","td","colSpan","fragment","createDocumentFragment","cellTagName","getCellTagName","getCellAttributes","selectAllCheckbox","multiSort","existingSortIndex","existingSort"],"mappings":";;;;;;2JAiEO,SAASA,EAAaC,EAAMC,EAAcC,EAAYC,EAAWC,EAAcC,GACpF,SAASC,EAAOC,GAAK,QAAU,IAANA,GAA6B,mBAANA,EAAkB,MAAM,IAAIC,UAAU,qBAAsB,OAAOD,CAAG,CAKtH,IAJA,IAGIE,EAHAC,EAAOP,EAAUO,KAAMC,EAAe,WAATD,EAAoB,MAAiB,WAATA,EAAoB,MAAQ,QACrFE,GAAUX,GAAgBD,EAAOG,EAAkB,OAAIH,EAAOA,EAAKa,UAAY,KAC/EC,EAAab,IAAiBW,EAASG,OAAOC,yBAAyBJ,EAAQT,EAAUc,MAAQ,IAC9FC,GAAO,EACLC,EAAIjB,EAAWkB,OAAS,EAAGD,GAAK,EAAGA,IAAK,CAC7C,IAAIE,EAAU,CAAA,EACd,IAAK,IAAIC,KAAKnB,EAAWkB,EAAQC,GAAW,WAANA,EAAiB,CAAA,EAAKnB,EAAUmB,GACtE,IAAK,IAAIA,KAAKnB,EAAUoB,OAAQF,EAAQE,OAAOD,GAAKnB,EAAUoB,OAAOD,GACrED,EAAQG,eAAiB,SAAUjB,GAAK,GAAIW,EAAM,MAAM,IAAIV,UAAU,0DAA2DH,EAAkBoB,KAAKnB,EAAOC,GAAK,MAAQ,EAC5K,IAAImB,GAAS,EAAIxB,EAAWiB,IAAa,aAATT,EAAsB,CAAEiB,IAAKb,EAAWa,IAAKC,IAAKd,EAAWc,KAAQd,EAAWH,GAAMU,GACtH,GAAa,aAATX,EAAqB,CACrB,QAAe,IAAXgB,EAAmB,SACvB,GAAe,OAAXA,GAAqC,iBAAXA,EAAqB,MAAM,IAAIlB,UAAU,oBACnEC,EAAIH,EAAOoB,EAAOC,QAAMb,EAAWa,IAAMlB,IACzCA,EAAIH,EAAOoB,EAAOE,QAAMd,EAAWc,IAAMnB,IACzCA,EAAIH,EAAOoB,EAAOG,QAAOzB,EAAa0B,QAAQrB,EACtD,MACSA,EAAIH,EAAOoB,MACH,UAAThB,EAAkBN,EAAa0B,QAAQrB,GACtCK,EAAWH,GAAOF,EAE/B,CACIG,GAAQG,OAAOgB,eAAenB,EAAQT,EAAUc,KAAMH,GAC1DI,GAAO,CACT,CAEO,SAASc,EAAkBC,EAAS7B,EAAc8B,GAEvD,IADA,IAAIC,EAAWC,UAAUhB,OAAS,EACzBD,EAAI,EAAGA,EAAIf,EAAagB,OAAQD,IACrCe,EAAQC,EAAW/B,EAAae,GAAGkB,KAAKJ,EAASC,GAAS9B,EAAae,GAAGkB,KAAKJ,GAEnF,OAAOE,EAAWD,OAAQ,CAC5B,CC5EA,SAASI,EAAWC,EAAMC,EAAY,QAClC,IAAKD,EACD,OAAOE,EAAAA,IAAK,GAEhB,GAAIF,EAAKG,WAAW,UAAW,CAC3B,MAAMC,EAAMJ,EAAKK,MAAM,GACvB,OAAOH,EAAAA,IAAK,eAAeD,WAAmBG,0BAClD,CACA,GAAIJ,EAAKG,WAAW,WAAY,CAC5B,MAAMG,EAAUN,EAAKK,MAAM,GAC3B,OAAOH,EAAAA,IAAK,gBAAgBD,kBAA0BK,UAC1D,CAEA,MAAI,sCAAsCC,KAAKP,IAM3C,0FAA0FO,KAAKP,GALxFE,EAAAA,IAAK,eAAeD,WAAmBD,2BAU3CE,EAAAA,IAAK,gBAAgBD,kBAA0BD,UAC1D,CDuRkD,mBAApBQ,iBAAiCA,gBEjU9C,MACb,IACIC,EAEAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACAC,GA/GAC,GAAmB,CAACC,UAAQ,cAAe,CAAEC,gBAAgB,KAE7DC,GAA0B,GAE1BC,GAAcC,YACdC,GAA6B,GAE7BC,GAAqB,GACrBC,GAA0B,GAE1BC,GAAqB,GACrBC,GAA0B,GAE1BC,GAAwB,GACxBC,GAA6B,GAE7BC,GAAsB,GACtBC,GAA2B,GAE3BC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAAsB,GACtBC,GAA2B,GAE3BC,GAA2B,GAC3BC,GAAgC,GAEhCC,GAA0B,GAC1BC,GAA+B,GAE/BC,GAAyB,GACzBC,GAA8B,GAE9BC,GAAyB,GACzBC,GAA8B,GAE9BC,GAAwB,GACxBC,GAA6B,GAE7BC,GAAyB,GACzBC,GAA8B,GAE9BC,GAAwB,GACxBC,GAA6B,GAE7BC,GAA0B,GAC1BC,GAA+B,GAE/BC,GAAyB,GACzBC,GAA8B,GAE9BC,GAAoB,GACpBC,GAAyB,GAEzBC,GAAoB,GACpBC,GAAyB,GAEzBC,GAAqB,GACrBC,GAA0B,GAE1BC,GAAwB,GACxBC,GAA6B,GAE7BC,GAA0B,GAC1BC,GAA+B,GAE/BC,GAA0B,GAC1BC,GAA+B,GAE/BC,GAA6B,GAC7BC,GAAkC,GAElCC,GAAqB,GACrBC,GAA0B,GAE1BC,GAA2B,GAC3BC,GAAgC,GAEhCC,GAA2B,GAC3BC,GAAgC,GAEhCC,GAAsB,GACtBC,GAA2B,GAE3BC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAA+B,GAC/BC,GAAoC,IAuBxC,cAAe1D,UACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,GAAY6D,OAAOC,WAAa,WAAQ,EAC1HpH,EAAmB,CAACsH,WAAS,CAAA,IAC7BrH,EAAmB,CAACqH,WAAS,CAAA,IAC7BpH,EAAsB,CAACoH,WAAS,CAAA,IAChCnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BlH,EAA0B,CAACkH,WAAS,CAAA,IACpCjH,EAAoB,CAACiH,WAAS,CAAA,IAC9BhH,EAAyB,CAACgH,EAAAA,SAAS,CAAEC,UAAW,iBAChDhH,EAAwB,CAAC+G,EAAAA,SAAS,CAAEC,UAAW,gBAC/C/G,EAAuB,CAAC8G,EAAAA,SAAS,CAAEE,KAAMC,WACzChH,EAAuB,CAAC6G,EAAAA,SAAS,CAAEE,KAAMC,WACzC/G,EAAsB,CAAC4G,EAAAA,SAAS,CAAEE,KAAMC,WACxC9G,EAAuB,CAAC2G,EAAAA,SAAS,CAAEE,KAAMC,WACzC7G,EAAsB,CAAC0G,EAAAA,SAAS,CAAEE,KAAMC,WACxC5G,EAAwB,CAACyG,EAAAA,SAAS,CAAEE,KAAMC,WAC1C3G,EAAuB,CAACwG,EAAAA,SAAS,CAAEE,KAAMC,WACzC1G,EAAkB,CAACuG,WAAS,CAAA,IAC5BtG,EAAkB,CAACsG,WAAS,CAAA,IAC5BrG,EAAmB,CAACqG,WAAS,CAAA,IAC7BpG,EAAsB,CAACoG,WAAS,CAAA,IAChCnG,EAAwB,CAACmG,EAAAA,SAAS,CAAEE,KAAME,UAC1CtG,EAAwB,CAACkG,EAAAA,SAAS,CAAEE,KAAME,UAC1CrG,EAA2B,CAACiG,WAAS,CAAA,IACrChG,EAAmB,CAACgG,WAAS,CAAA,IAC7B/F,EAAyB,CAAC+F,EAAAA,SAAS,CAAEC,UAAW,iBAChD/F,EAAyB,CAAC8F,EAAAA,SAAS,CAAEC,UAAW,iBAChD9F,EAAoB,CAACkG,QAAM,WAC3BjG,EAA0B,CAACiG,QAAM,kBACjChG,EAA6B,CAACgG,QAAM,qBACpC/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB/F,EAAgC,CAACgG,QAAM,UACvC/F,EAAkC,CAAC+F,QAAM,YACzC9F,EAAmC,CAAC8F,QAAM,aAC1C7F,EAAkC,CAAC6F,QAAM,YACzC5F,EAAmC,CAAC4F,QAAM,aAC1C3F,EAAsC,CAAC2F,QAAM,gBAC7C1F,EAA8B,CAAC0F,QAAM,QACrCzF,EAA8B,CAACyF,QAAM,QACrCxF,EAA+B,CAACwF,QAAM,SACtCvF,EAAoC,CAACuF,QAAM,cAC3CtF,EAAoC,CAACsF,QAAM,cAC3CrF,EAAkC,CAACqF,QAAM,YACzCpF,EAA+B,CAACoF,QAAM,SACtCnF,EAAgC,CAACmF,QAAM,UACvClF,EAAiC,CAACmF,EAAAA,SAAS,cAAe,CAAEC,SAAS,EAAMC,UAAU,KACrFpF,EAAkC,CAACkF,EAAAA,SAAS,eAAgB,CAAEC,SAAS,EAAMC,UAAU,KACvFnF,EAAiC,CAACiF,EAAAA,SAAS,cAAe,CAAEC,SAAS,EAAMC,UAAU,KACrFlF,GAAgC,CAACgF,EAAAA,SAAS,aAAc,CAAEC,SAAS,EAAMC,UAAU,KACnFjF,GAAiC,CAAC+E,EAAAA,SAAS,cAAe,CAAEC,SAAS,EAAMC,UAAU,KACrFrL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,IAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,IAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,IACpM3G,EAAaoK,KAAM,KAAMlF,EAA+B,CAAEvE,KAAM,SAAUO,KAAM,oBAAqBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,sBAAuBA,EAAK7J,IAAK6J,GAAOA,EAAIC,mBAAqBnB,SAAUF,GAAa,KAAM1D,IACxP3G,EAAaoK,KAAM,KAAMjF,EAAiC,CAAExE,KAAM,SAAUO,KAAM,sBAAuBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,wBAAyBA,EAAK7J,IAAK6J,GAAOA,EAAIE,qBAAuBpB,SAAUF,GAAa,KAAM1D,IAChQ3G,EAAaoK,KAAM,KAAMhF,EAAkC,CAAEzE,KAAM,SAAUO,KAAM,uBAAwBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,yBAA0BA,EAAK7J,IAAK6J,GAAOA,EAAIG,sBAAwBrB,SAAUF,GAAa,KAAM1D,IACpQ3G,EAAaoK,KAAM,KAAM/E,EAAiC,CAAE1E,KAAM,SAAUO,KAAM,sBAAuBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,wBAAyBA,EAAK7J,IAAK6J,GAAOA,EAAII,qBAAuBtB,SAAUF,GAAa,KAAM1D,IAChQ3G,EAAaoK,KAAM,KAAM9E,EAAkC,CAAE3E,KAAM,SAAUO,KAAM,uBAAwBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,yBAA0BA,EAAK7J,IAAK6J,GAAOA,EAAIK,sBAAwBvB,SAAUF,GAAa,KAAM1D,IACpQ3G,EAAaoK,KAAM,KAAM7E,EAAqC,CAAE5E,KAAM,SAAUO,KAAM,0BAA2BoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,4BAA6BA,EAAK7J,IAAK6J,GAAOA,EAAIM,yBAA2BxB,SAAUF,GAAa,KAAM1D,IAChR3G,EAAaoK,KAAM,KAAM5E,EAA6B,CAAE7E,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIO,iBAAmBzB,SAAUF,GAAa,KAAM1D,IAChP3G,EAAaoK,KAAM,KAAM3E,EAA6B,CAAE9E,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIQ,iBAAmB1B,SAAUF,GAAa,KAAM1D,IAChP3G,EAAaoK,KAAM,KAAM1E,EAA8B,CAAE/E,KAAM,SAAUO,KAAM,mBAAoBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,qBAAsBA,EAAK7J,IAAK6J,GAAOA,EAAIS,kBAAoB3B,SAAUF,GAAa,KAAM1D,IACpP3G,EAAaoK,KAAM,KAAMzE,EAAmC,CAAEhF,KAAM,SAAUO,KAAM,wBAAyBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,0BAA2BA,EAAK7J,IAAK6J,GAAOA,EAAIU,uBAAyB5B,SAAUF,GAAa,KAAM1D,IACxQ3G,EAAaoK,KAAM,KAAMxE,EAAmC,CAAEjF,KAAM,SAAUO,KAAM,wBAAyBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,0BAA2BA,EAAK7J,IAAK6J,GAAOA,EAAIW,uBAAyB7B,SAAUF,GAAa,KAAM1D,IACxQ3G,EAAaoK,KAAM,KAAMvE,EAAiC,CAAElF,KAAM,SAAUO,KAAM,sBAAuBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,wBAAyBA,EAAK7J,IAAK6J,GAAOA,EAAIY,qBAAuB9B,SAAUF,GAAa,KAAM1D,IAChQ3G,EAAaoK,KAAM,KAAMtE,EAA8B,CAAEnF,KAAM,SAAUO,KAAM,mBAAoBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,qBAAsBA,EAAK7J,IAAK6J,GAAOA,EAAIa,kBAAoB/B,SAAUF,GAAa,KAAM1D,IACpP3G,EAAaoK,KAAM,KAAMrE,EAA+B,CAAEpF,KAAM,SAAUO,KAAM,oBAAqBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,sBAAuBA,EAAK7J,IAAK6J,GAAOA,EAAIc,mBAAqBhC,SAAUF,GAAa,KAAM1D,IACxP3G,EAAaoK,KAAM,KAAMpE,EAAgC,CAAErF,KAAM,SAAUO,KAAM,qBAAsBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,uBAAwBA,EAAK7J,IAAK6J,GAAOA,EAAIe,oBAAsBjC,SAAUF,GAAa,KAAM1D,IAC5P3G,EAAaoK,KAAM,KAAMnE,EAAiC,CAAEtF,KAAM,SAAUO,KAAM,sBAAuBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,wBAAyBA,EAAK7J,IAAK6J,GAAOA,EAAIgB,qBAAuBlC,SAAUF,GAAa,KAAM1D,IAChQ3G,EAAaoK,KAAM,KAAMlE,EAAgC,CAAEvF,KAAM,SAAUO,KAAM,qBAAsBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,uBAAwBA,EAAK7J,IAAK6J,GAAOA,EAAIiB,oBAAsBnC,SAAUF,GAAa,KAAM1D,IAC5P3G,EAAaoK,KAAM,KAAMjE,GAA+B,CAAExF,KAAM,SAAUO,KAAM,oBAAqBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,sBAAuBA,EAAK7J,IAAK6J,GAAOA,EAAIkB,mBAAqBpC,SAAUF,GAAa,KAAM1D,IACxP3G,EAAaoK,KAAM,KAAMhE,GAAgC,CAAEzF,KAAM,SAAUO,KAAM,qBAAsBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,uBAAwBA,EAAK7J,IAAK6J,GAAOA,EAAImB,oBAAsBrC,SAAUF,GAAa,KAAM1D,IAC5P3G,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,GAAoBC,IAC7P7G,EAAa,KAAM,KAAMoD,EAAkB,CAAEzC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAIoB,KAAMhL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoB,KAAO1K,IAAYoI,SAAUF,GAAavD,GAAoBC,IAC7P/G,EAAa,KAAM,KAAMqD,EAAqB,CAAE1C,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIqB,QAASjL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqB,QAAU3K,IAAYoI,SAAUF,GAAarD,GAAuBC,IAC/QjH,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,GAAqBC,IACnQnH,EAAa,KAAM,KAAMuD,EAAyB,CAAE5C,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAIsB,YAAalL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIsB,YAAc5K,IAAYoI,SAAUF,GAAajD,GAA2BC,IACvSrH,EAAa,KAAM,KAAMwD,EAAmB,CAAE7C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIuB,MAAOnL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIuB,MAAQ7K,IAAYoI,SAAUF,GAAa/C,GAAqBC,IACnQvH,EAAa,KAAM,KAAMyD,EAAwB,CAAE9C,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIwB,WAAYpL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIwB,WAAa9K,IAAYoI,SAAUF,GAAa7C,GAA0BC,IACjSzH,EAAa,KAAM,KAAM0D,EAAuB,CAAE/C,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAIyB,UAAWrL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIyB,UAAY/K,IAAYoI,SAAUF,GAAa3C,GAAyBC,IAC3R3H,EAAa,KAAM,KAAM2D,EAAsB,CAAEhD,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI0B,SAAUtL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI0B,SAAWhL,IAAYoI,SAAUF,GAAazC,GAAwBC,IACrR7H,EAAa,KAAM,KAAM4D,EAAsB,CAAEjD,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI2B,SAAUvL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI2B,SAAWjL,IAAYoI,SAAUF,GAAavC,GAAwBC,IACrR/H,EAAa,KAAM,KAAM6D,EAAqB,CAAElD,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAI4B,QAASxL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI4B,QAAUlL,IAAYoI,SAAUF,GAAarC,GAAuBC,IAC/QjI,EAAa,KAAM,KAAM8D,EAAsB,CAAEnD,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI6B,SAAUzL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI6B,SAAWnL,IAAYoI,SAAUF,GAAanC,GAAwBC,IACrRnI,EAAa,KAAM,KAAM+D,EAAqB,CAAEpD,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAI8B,QAAS1L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI8B,QAAUpL,IAAYoI,SAAUF,GAAajC,GAAuBC,IAC/QrI,EAAa,KAAM,KAAMgE,EAAuB,CAAErD,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAI+B,UAAW3L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI+B,UAAYrL,IAAYoI,SAAUF,GAAa/B,GAAyBC,IAC3RvI,EAAa,KAAM,KAAMiE,EAAsB,CAAEtD,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAIgC,SAAU5L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIgC,SAAWtL,IAAYoI,SAAUF,GAAa7B,GAAwBC,IACrRzI,EAAa,KAAM,KAAMkE,EAAiB,CAAEvD,KAAM,QAASO,KAAM,MAAOoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,QAASA,EAAK7J,IAAK6J,GAAOA,EAAIiC,IAAK7L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIiC,IAAMvL,IAAYoI,SAAUF,GAAa3B,GAAmBC,IACvP3I,EAAa,KAAM,KAAMmE,EAAiB,CAAExD,KAAM,QAASO,KAAM,MAAOoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,QAASA,EAAK7J,IAAK6J,GAAOA,EAAIkC,IAAK9L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkC,IAAMxL,IAAYoI,SAAUF,GAAazB,GAAmBC,IACvP7I,EAAa,KAAM,KAAMoE,EAAkB,CAAEzD,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAImC,KAAM/L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImC,KAAOzL,IAAYoI,SAAUF,GAAavB,GAAoBC,IAC7P/I,EAAa,KAAM,KAAMqE,EAAqB,CAAE1D,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoC,QAAShM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoC,QAAU1L,IAAYoI,SAAUF,GAAarB,GAAuBC,IAC/QjJ,EAAa,KAAM,KAAMsE,EAAuB,CAAE3D,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAIqC,UAAWjM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqC,UAAY3L,IAAYoI,SAAUF,GAAanB,GAAyBC,IAC3RnJ,EAAa,KAAM,KAAMuE,EAAuB,CAAE5D,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAIsC,UAAWlM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIsC,UAAY5L,IAAYoI,SAAUF,GAAajB,GAAyBC,IAC3RrJ,EAAa,KAAM,KAAMwE,EAA0B,CAAE7D,KAAM,QAASO,KAAM,eAAgBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,iBAAkBA,EAAK7J,IAAK6J,GAAOA,EAAIuC,aAAcnM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIuC,aAAe7L,IAAYoI,SAAUF,GAAaf,GAA4BC,IAC7SvJ,EAAa,KAAM,KAAMyE,EAAkB,CAAE9D,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAIvK,KAAMW,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIvK,KAAOiB,IAAYoI,SAAUF,GAAab,GAAoBC,IAC7PzJ,EAAa,KAAM,KAAM0E,EAAwB,CAAE/D,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIwC,WAAYpM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIwC,WAAa9L,IAAYoI,SAAUF,GAAaX,GAA0BC,IACjS3J,EAAa,KAAM,KAAM2E,EAAwB,CAAEhE,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIyC,WAAYrM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIyC,WAAa/L,IAAYoI,SAAUF,GAAaT,GAA0BC,IACjS7J,EAAa,KAAM,KAAM4E,EAAmB,CAAEjE,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAI0C,MAAOtM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI0C,MAAQhM,IAAYoI,SAAUF,GAAaP,GAAqBC,IACnQ/J,EAAa,KAAM,KAAM6E,EAAyB,CAAElE,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAI2C,YAAavM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI2C,YAAcjM,IAAYoI,SAAUF,GAAaL,GAA2BC,IACvSjK,EAAa,KAAM,KAAM8E,EAA4B,CAAEnE,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAI4C,eAAgBxM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI4C,eAAiBlM,IAAYoI,SAAUF,GAAaH,GAA8BC,IACzTnK,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,GAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,IACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,GAC1C,CACQ,WAAAiI,GACIC,QACAtE,KAAKuE,UAAY1M,EAAkBmI,KAAMzD,IACzCyD,KAAKO,KAAO1I,EAAkBmI,KAAMxD,GAAoB,QACxDwD,KAAKyC,MAAQ5K,EAAkBmI,KAAMvD,IAA0B5E,EAAkBmI,KAAMtD,GAAoB,WAC3GsD,KAAK0C,SAAW7K,EAAkBmI,KAAMrD,IAA0B9E,EAAkBmI,KAAMpD,GAAuB,aACjHoD,KAAKjI,OAASF,EAAkBmI,KAAMnD,IAA6BhF,EAAkBmI,KAAMlD,GAAqB,KAChHkD,KAAK2C,aAAe9K,EAAkBmI,KAAMjD,IAA2BlF,EAAkBmI,KAAMhD,GAA2B,KAC1HgD,KAAK4C,OAAS/K,EAAkBmI,KAAM/C,IAAiCpF,EAAkBmI,KAAM9C,GAAqB,KACpH8C,KAAK6C,YAAchL,EAAkBmI,KAAM7C,IAA2BtF,EAAkBmI,KAAM5C,GAA0B,KACxH4C,KAAK8C,WAAajL,EAAkBmI,KAAM3C,IAAgCxF,EAAkBmI,KAAM1C,GAAyB,KAC3H0C,KAAK+C,UAAYlL,EAAkBmI,KAAMzC,IAA+B1F,EAAkBmI,KAAMxC,IAAwB,IACxHwC,KAAKgD,UAAYnL,EAAkBmI,KAAMvC,IAA8B5F,EAAkBmI,KAAMtC,IAAwB,IACvHsC,KAAKiD,SAAWpL,EAAkBmI,KAAMrC,IAA8B9F,EAAkBmI,KAAMpC,IAAuB,IACrHoC,KAAKkD,UAAYrL,EAAkBmI,KAAMnC,IAA6BhG,EAAkBmI,KAAMlC,IAAwB,IACtHkC,KAAKmD,SAAWtL,EAAkBmI,KAAMjC,IAA8BlG,EAAkBmI,KAAMhC,IAAuB,IACrHgC,KAAKoD,WAAavL,EAAkBmI,KAAM/B,IAA6BpG,EAAkBmI,KAAM9B,IAAyB,IACxH8B,KAAKqD,UAAYxL,EAAkBmI,KAAM7B,IAA+BtG,EAAkBmI,KAAM5B,IAAwB,IACxH4B,KAAKsD,KAAOzL,EAAkBmI,KAAM3B,IAA8BxG,EAAkBmI,KAAM1B,GAAmB,KAC7G0B,KAAKuD,KAAO1L,EAAkBmI,KAAMzB,IAAyB1G,EAAkBmI,KAAMxB,GAAmB,KACxGwB,KAAKwD,MAAQ3L,EAAkBmI,KAAMvB,IAAyB5G,EAAkBmI,KAAMtB,GAAoB,KAC1GsB,KAAKyD,SAAW5L,EAAkBmI,KAAMrB,IAA0B9G,EAAkBmI,KAAMpB,GAAuB,KACjHoB,KAAK0D,WAAa7L,EAAkBmI,KAAMnB,IAA6BhH,EAAkBmI,KAAMlB,IAAyB,IACxHkB,KAAK2D,WAAa9L,EAAkBmI,KAAMjB,IAA+BlH,EAAkBmI,KAAMhB,IAAyB,IAC1HgB,KAAK4D,cAAgB/L,EAAkBmI,KAAMf,IAA+BpH,EAAkBmI,KAAMd,GAA4B,KAChIc,KAAKlJ,MAAQe,EAAkBmI,KAAMb,IAAkCtH,EAAkBmI,KAAMZ,GAAoB,KACnHY,KAAK6D,YAAchM,EAAkBmI,KAAMX,IAA0BxH,EAAkBmI,KAAMV,GAA0B,KACvHU,KAAK8D,YAAcjM,EAAkBmI,KAAMT,IAAgC1H,EAAkBmI,KAAMR,GAA0B,KAC7HQ,KAAK+D,OAASlM,EAAkBmI,KAAMP,IAAgC5H,EAAkBmI,KAAMN,QAAqB,IACnHM,KAAKgE,aAAenM,EAAkBmI,KAAML,IAA2B9H,EAAkBmI,KAAMJ,QAA2B,IAC1HI,KAAKiE,gBAAkBpM,EAAkBmI,KAAMH,IAAiChI,EAAkBmI,KAAMF,QAA8B,IACtIE,KAAKwE,cAAgB3M,EAAkBmI,KAAMD,KAAoC,GAC9C,mBAAxBC,KAAKyE,kBACZzE,KAAKuE,UAAYvE,KAAKyE,kBAE9B,CACA,MAAA9D,GACI,MAAM+D,EAAe,CACjB,QACA,UAAU1E,KAAKyC,OACf,UAAUzC,KAAK0C,UACf1C,KAAKmD,QAAU,iBAAmB,GAClCnD,KAAKiD,QAAU,iBAAmB,GAClCjD,KAAK6D,WAAa,0BAA4B,GAC9C7D,KAAK8D,YAA6B,aAAd9D,KAAKO,MAAuBP,KAAKqD,UAAarD,KAAKiD,QAAU,0BAA4B,GAC7GjD,KAAKoD,UAAY,mBAAqB,IACxCuB,OAAOnE,SAASoE,KAAK,KACjBC,EAAe,CAAC,QAAS7E,KAAKkD,SAAW,kBAAoB,IAAIyB,OAAOnE,SAASoE,KAAK,KACtFE,EAAqB,CAAC,eAAgB9E,KAAK8D,YAA6B,aAAd9D,KAAKO,MAAuBP,KAAKqD,SAAY,4BAA8B,IAAIsB,OAAOnE,SAASoE,KAAK,KACpK,OAAOtM,MAAc;;cAEnB0H,KAAK4C;0BACOiC;cACZ7E,KAAK4C;;;;;;;oBAOC5C,KAAK6D;kBACP1L,EAAW6H,KAAK6D,WAAY;;;;;;qBAMzBa;oBACD1E,KAAKO;qBACJP,KAAKjI;2BACCiI,KAAK2C;yBACP3C,KAAK+C,UAAY/C,KAAKiD;yBACtBjD,KAAKgD;yBACLhD,KAAKkD;mBACXlD,KAAKsD,KAAO;mBACZtD,KAAKuD,KAAO;oBACXvD,KAAKwD,MAAQ;uBACVxD,KAAKyD,SAAW;yBACdzD,KAAK0D,UAAY,EAAI1D,KAAK0D,UAAY;yBACtC1D,KAAK2D,UAAY,EAAI3D,KAAK2D,UAAY;4BACnC3D,KAAK4D,cAAgB;oBAC7B5D,KAAKlJ,MAAQ;;qBAEZkJ,KAAK+E;sBACJ/E,KAAKgF;qBACNhF,KAAKiF;oBACNjF,KAAKkF;;;;qBAIJJ;;;;;;qBAMA9E,KAAKmF;;;;;;;gBAOVnF,KAAKiD;;;;gBAIS,aAAdjD,KAAKO,MAAuBP,KAAKqD;;;;;;;uBAO1BrD,KAAKoF;;;;;;;;;;kBAUI,aAAdpF,KAAKO,MAAuBP,KAAKqD;;;sBAG7BrD,KAAK8D;oBACP3L,EAAW6H,KAAK8D,WAAY;;;;;;;gBAOhC9D,KAAK8C,UAAY,QAAU9C,KAAK6C,WAAa,SAAW;;yDAEf7C,KAAK8C;;;2DAGH9C,KAAK6C;;;;;;;KAQxD,CACA,MAAAjC,GACI,OAAOyE,EAAAA,GAAY,GAtXd,q/KAuXT,CACA,IAAA3N,GAMI,GAJIsI,KAAKuE,WACLvE,KAAKuE,UAAUe,aAAatF,KAAKjI,OAGjCiI,KAAKgE,aAAehE,KAAKoD,UAAW,CACpC,MAAMmC,EAAavF,KAAKjI,QAAUiI,KAAK+C,WAAa/C,KAAKgD,WAAahD,KAAKiD,QAC3EjD,KAAKgE,YAAYwB,MAAMC,QAAUF,EAAa,GAAK,OACnDvF,KAAKgE,YAAY0B,UAAUC,OAAO,0BAA2BJ,EACjE,CAEIvF,KAAK+D,OAAS/D,KAAKmD,UACnBnD,KAAK+D,MAAM6B,aAAa,eAAgB,QACxC5F,KAAK+D,MAAM2B,UAAUG,IAAI,mBAGzB7F,KAAK+D,QAEa,WAAd/D,KAAKO,OACDP,KAAKsD,MACLtD,KAAK+D,MAAMT,IAAMtD,KAAKsD,KACtBtD,KAAKuD,MACLvD,KAAK+D,MAAMR,IAAMvD,KAAKuD,KACtBvD,KAAKwD,OACLxD,KAAK+D,MAAMP,KAAOxD,KAAKwD,OAG3BxD,KAAK0D,UAAY,IACjB1D,KAAK+D,MAAM+B,UAAY9F,KAAK0D,WAC5B1D,KAAK2D,UAAY,IACjB3D,KAAK+D,MAAMgC,UAAY/F,KAAK2D,WAE5B3D,KAAKyD,UACLzD,KAAK+D,MAAMN,QAAUzD,KAAKyD,SAC1BzD,KAAK2C,cACL3C,KAAK+D,MAAMpB,YAAc3C,KAAK2C,aAC9B3C,KAAKjI,QACLiI,KAAK+D,MAAMhM,MAAQiI,KAAKjI,OAC5BiI,KAAK+D,MAAMhB,SAAW/C,KAAK+C,SAC3B/C,KAAK+D,MAAMiC,SAAWhG,KAAKgD,SAC3BhD,KAAK+D,MAAMb,SAAWlD,KAAKkD,SAEnC,CACA,WAAA6B,CAAYkB,GACR,MAAMlC,EAAQkC,EAAExP,OAChBuJ,KAAKjI,MAAQgM,EAAMhM,MACnBiI,KAAKoC,oBACT,CACA,YAAA4C,CAAaiB,GACT,MAAMlC,EAAQkC,EAAExP,OAChBuJ,KAAKjI,MAAQgM,EAAMhM,MACnBiI,KAAKqC,qBACT,CACA,WAAA4C,CAAYgB,GACRjG,KAAKsC,oBACT,CACA,UAAA4C,CAAWe,GACPjG,KAAKuC,mBACT,CACA,WAAA4C,CAAYc,GACRjG,KAAKkG,OACT,CACA,oBAAAd,CAAqBa,GAKjB,GAJAjG,KAAKwE,cAAgBxE,KAAKwE,aACtBxE,KAAK+D,QACL/D,KAAK+D,MAAMxD,KAAOP,KAAKwE,aAAe,OAAS,YAE/CxE,KAAKiE,eAAgB,CACrB,MAAMkC,EAAanG,KAAKiE,eAAemC,cAAc,0BAC/CC,EAAcrG,KAAKiE,eAAemC,cAAc,2BAClDD,GAAcE,IACdF,EAAWX,MAAMC,QAAUzF,KAAKwE,aAAe,OAAS,GACxD6B,EAAYb,MAAMC,QAAUzF,KAAKwE,aAAe,GAAK,OACrDxE,KAAKiE,eAAe2B,aAAa,aAAc5F,KAAKwE,aAAe,gBAAkB,iBAE7F,CACJ,CACA,iBAAAlD,GAUI,GARItB,KAAK+D,OAAS/D,KAAK+D,MAAMhM,QAAUiI,KAAKjI,QACxCiI,KAAK+D,MAAMhM,MAAQiI,KAAKjI,OAGxBiI,KAAKuE,WACLvE,KAAKuE,UAAUe,aAAatF,KAAKjI,OAGjCiI,KAAKgE,aAAehE,KAAKoD,UAAW,CACpC,MAAMmC,EAAavF,KAAKjI,QAAUiI,KAAK+C,WAAa/C,KAAKgD,WAAahD,KAAKiD,QAC3EjD,KAAKgE,YAAYwB,MAAMC,QAAUF,EAAa,GAAK,OACnDvF,KAAKgE,YAAY0B,UAAUC,OAAO,0BAA2BJ,EACjE,CACJ,CACA,mBAAAhE,GACQvB,KAAK+D,QACL/D,KAAK+D,MAAM6B,aAAa,eAAgBU,OAAOtG,KAAKmD,UAChDnD,KAAKmD,QACLnD,KAAK+D,MAAM2B,UAAUG,IAAI,kBAGzB7F,KAAK+D,MAAM2B,UAAUa,OAAO,kBAGxC,CACA,oBAAA/E,GAKI,GAJIxB,KAAK+D,QACL/D,KAAK+D,MAAMhB,SAAW/C,KAAK+C,UAAY/C,KAAKiD,SAG5CjD,KAAKgE,aAAehE,KAAKoD,UAAW,CACpC,MAAMmC,EAAavF,KAAKjI,QAAUiI,KAAK+C,WAAa/C,KAAKgD,WAAahD,KAAKiD,QAC3EjD,KAAKgE,YAAYwB,MAAMC,QAAUF,EAAa,GAAK,OACnDvF,KAAKgE,YAAY0B,UAAUC,OAAO,0BAA2BJ,EACjE,CACJ,CACA,mBAAA9D,GAKI,GAJIzB,KAAK+D,QACL/D,KAAK+D,MAAMhB,SAAW/C,KAAK+C,UAAY/C,KAAKiD,SAG5CjD,KAAKgE,aAAehE,KAAKoD,UAAW,CACpC,MAAMmC,EAAavF,KAAKjI,QAAUiI,KAAK+C,WAAa/C,KAAKgD,WAAahD,KAAKiD,QAC3EjD,KAAKgE,YAAYwB,MAAMC,QAAUF,EAAa,GAAK,OACnDvF,KAAKgE,YAAY0B,UAAUC,OAAO,0BAA2BJ,EACjE,CACJ,CACA,oBAAA7D,GAKI,GAJI1B,KAAK+D,QACL/D,KAAK+D,MAAMiC,SAAWhG,KAAKgD,UAG3BhD,KAAKgE,aAAehE,KAAKoD,UAAW,CACpC,MAAMmC,EAAavF,KAAKjI,QAAUiI,KAAK+C,WAAa/C,KAAKgD,WAAahD,KAAKiD,QAC3EjD,KAAKgE,YAAYwB,MAAMC,QAAUF,EAAa,GAAK,OACnDvF,KAAKgE,YAAY0B,UAAUC,OAAO,0BAA2BJ,EACjE,CACJ,CACA,uBAAA5D,GACQ3B,KAAK+D,QACL/D,KAAK+D,MAAMpB,YAAc3C,KAAK2C,YAEtC,CACA,eAAAf,GACQ5B,KAAK+D,OAAuB,WAAd/D,KAAKO,OACnBP,KAAK+D,MAAMT,IAAMtD,KAAKsD,IAE9B,CACA,eAAAzB,GACQ7B,KAAK+D,OAAuB,WAAd/D,KAAKO,OACnBP,KAAK+D,MAAMR,IAAMvD,KAAKuD,IAE9B,CACA,gBAAAzB,GACQ9B,KAAK+D,OAAuB,WAAd/D,KAAKO,OACnBP,KAAK+D,MAAMP,KAAOxD,KAAKwD,KAE/B,CACA,qBAAAzB,GACQ/B,KAAK+D,OAAS/D,KAAK0D,UAAY,IAC/B1D,KAAK+D,MAAM+B,UAAY9F,KAAK0D,UAEpC,CACA,qBAAA1B,GACQhC,KAAK+D,OAAS/D,KAAK2D,UAAY,IAC/B3D,KAAK+D,MAAMgC,UAAY/F,KAAK2D,UAEpC,CACA,mBAAA1B,GACQjC,KAAK+D,QACL/D,KAAK+D,MAAMN,QAAUzD,KAAKyD,QAElC,CACA,gBAAAvB,GACQlC,KAAK+D,OAAuB,aAAd/D,KAAKO,OAEnBP,KAAK+D,MAAMxD,KAAOP,KAAKO,KAE/B,CACA,iBAAA4B,GACI,MAAMqE,EAAUxG,KAAKyG,YAAYL,cAAc,UAC/C,GAAII,EAAS,CACTA,EAAQE,YAAc1G,KAAK4C,MAE3B,MAAM+D,EAAUH,EAAQI,cACpBD,IACAA,EAAQnB,MAAMC,QAAUzF,KAAK4C,MAAQ,GAAK,OAElD,CACJ,CACA,kBAAAR,GACI,MAAO,CAAErK,MAAOiI,KAAKjI,MAAOgM,MAAO/D,KACvC,CACA,mBAAAqC,GACI,MAAO,CAAEtK,MAAOiI,KAAKjI,MAAOgM,MAAO/D,KACvC,CACA,kBAAAsC,GACI,MAAO,CAAEyB,MAAO/D,KACpB,CACA,iBAAAuC,GACI,MAAO,CAAEwB,MAAO/D,KACpB,CACA,kBAAAwC,GACI,MAAO,CAAEuB,MAAO/D,KACpB,CAEA,KAAA6G,GACI7G,KAAK+D,OAAO8C,OAChB,CACA,IAAAC,GACI9G,KAAK+D,OAAO+C,MAChB,CACA,MAAAC,GACI/G,KAAK+D,OAAOgD,QAChB,CACA,KAAAb,GACIlG,KAAKjI,MAAQ,GACTiI,KAAK+D,QACL/D,KAAK+D,MAAMhM,MAAQ,IAEvBiI,KAAKwC,qBACLxC,KAAKoC,qBACLpC,KAAKqC,sBACLrC,KAAK6G,OACT,CACA,aAAAG,GACI,OAAOhH,KAAK+D,OAAOiD,kBAAmB,CAC1C,CACA,cAAAC,GACI,OAAOjH,KAAK+D,OAAOkD,mBAAoB,CAC3C,CACA,iBAAAC,CAAkBC,GACdnH,KAAK+D,OAAOmD,kBAAkBC,EAClC,GAGP,EAlmBgB,GCHC,MACd,IACItO,EAEAC,EAGAI,EAGAE,EAGAG,EAGA6N,EAGAC,EAGA1M,EACAC,EACAC,EAvBAoB,EAAmB,CAACC,UAAQ,iBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BO,EAAsB,GACtBC,EAA2B,GAE3BG,EAAsB,GACtBC,EAA2B,GAE3BK,EAAyB,GACzBC,EAA8B,GAE9B6J,EAAyB,GACzBC,EAA8B,GAE9BC,EAAqB,GACrBC,EAA0B,IAI9B,cAAepL,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HjH,EAAoB,CAACmH,WAAS,CAAA,IAC9BjH,EAAoB,CAACiH,WAAS,CAAA,IAC9B9G,EAAuB,CAAC8G,EAAAA,SAAS,CAAEE,KAAMC,WACzC4G,EAAuB,CAAC/G,EAAAA,SAAS,CAAEE,KAAMC,WACzC6G,EAAmB,CAAChH,WAAS,CAAA,IAC7B1F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpBjL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAMwD,EAAmB,CAAE7C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIuB,MAAOnL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIuB,MAAQ7K,IAAYoI,SAAUF,GAAa/C,EAAqBC,GACnQvH,EAAa,KAAM,KAAM2D,EAAsB,CAAEhD,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI0B,SAAUtL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI0B,SAAWhL,IAAYoI,SAAUF,GAAazC,EAAwBC,GACrR7H,EAAa,KAAM,KAAMwR,EAAsB,CAAE7Q,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAIqG,SAAUjQ,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqG,SAAW3P,IAAYoI,SAAUF,GAAaqH,EAAwBC,GACrR3R,EAAa,KAAM,KAAMyR,EAAkB,CAAE9Q,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAIjJ,KAAMX,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIjJ,KAAOL,IAAYoI,SAAUF,GAAauH,EAAoBC,GAC7P7R,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GAEI,OAAOrI,EAAAA,IAAc,EACzB,CACA,MAAAsI,GACI,OAAOyE,EAAAA,GAAY,0BACvB,CACA,IAAA3N,IAESsI,KAAK4C,OAAS5C,KAAK0G,cACpB1G,KAAK4C,MAAQ5C,KAAK0G,YAAYiB,SAG7B3H,KAAKjI,OAASiI,KAAK4C,QACpB5C,KAAKjI,MAAQiI,KAAK4C,MAE1B,CAEA,cAAIgF,GACA,MAAO,CACH7P,MAAOiI,KAAKjI,MACZ6K,MAAO5C,KAAK4C,OAAS5C,KAAK0G,aAAaiB,QAAU3H,KAAKjI,MACtDgL,SAAU/C,KAAK+C,SACf2E,SAAU1H,KAAK0H,SACftP,KAAM4H,KAAK5H,KAEnB,CACA,WAAAiM,GACIC,SAASrM,WACT+H,KAAKjI,OAASF,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAMlD,EAAqB,KAChHkD,KAAK4C,OAAS/K,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM9C,EAAqB,KAC9G8C,KAAK+C,UAAYlL,EAAkBmI,KAAM7C,GAA2BtF,EAAkBmI,KAAMxC,GAAwB,IACpHwC,KAAK0H,UAAY7P,EAAkBmI,KAAMvC,GAA8B5F,EAAkBmI,KAAMsH,GAAwB,IACvHtH,KAAK5H,MAAQP,EAAkBmI,KAAMuH,GAA8B1P,EAAkBmI,KAAMwH,EAAoB,KAC/G3P,EAAkBmI,KAAMyH,EAC5B,GAGP,EAxFiB,GCGA,MACd,IACI5O,EAEAC,EAGAS,EAGAG,EAGAC,EAGAH,EAGAC,EAGAoO,EAGAC,EAGAlO,EAGAmO,EAGA/O,EAGAqB,EAGAnB,EAGAE,EAGAD,EAGA6O,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGA9N,EAGA+N,EAGAC,EAGAC,EAGA/N,EACAC,EACAC,EACA8N,EACA7N,EACAE,EACAC,EACA2N,EACAC,EACAhN,EACAiN,EACAC,EA/FA9M,EAAmB,CAACC,UAAQ,iBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BiB,EAAyB,GACzBC,EAA8B,GAE9BK,EAAyB,GACzBC,EAA8B,GAE9BC,EAAwB,GACxBC,EAA6B,GAE7BP,EAAyB,GACzBC,GAA8B,GAE9BC,GAAwB,GACxBC,GAA6B,GAE7BmL,GAAyB,GACzBC,GAA8B,GAE9BC,GAA2B,GAC3BC,GAAgC,GAEhCjL,GAA0B,GAC1BC,GAA+B,GAE/BiL,GAAqB,GACrBC,GAA0B,GAE1B3M,GAAqB,GACrBC,GAA0B,GAE1ByC,GAAqB,GACrBC,GAA0B,GAE1BvC,GAAsB,GACtBC,GAA2B,GAE3BG,GAAsB,GACtBC,GAA2B,GAE3BH,GAA4B,GAC5BC,GAAiC,GAEjCqM,GAA0B,GAC1BC,GAA+B,GAE/BC,GAAwB,GACxBC,GAA6B,GAE7BC,GAAyB,GACzBC,GAA8B,GAE9BC,GAA6B,GAC7BC,GAAkC,GAElCC,GAA6B,GAC7BC,GAAkC,GAElCC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAA6B,GAC7BC,GAAkC,GAElCzK,GAA4B,GAC5BC,GAAiC,GAEjCyK,GAAsB,GACtBC,GAA2B,GAE3BC,GAAgC,GAChCC,GAAqC,GAErCC,GAA+B,GAC/BC,GAAoC,IAaxC,cAAetO,SACFvD,EAAakH,IAAK,CAC3B,WAAAqE,GACIC,SAASrM,WACT+H,KAAK+C,UAAYlL,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAMxC,GAAwB,IACtHwC,KAAKkD,UAAYrL,EAAkBmI,KAAMvC,GAA8B5F,EAAkBmI,KAAMlC,GAAwB,IACvHkC,KAAKmD,SAAWtL,EAAkBmI,KAAMjC,GAA8BlG,EAAkBmI,KAAMhC,GAAuB,IACrHgC,KAAKgD,UAAYnL,EAAkBmI,KAAM/B,GAA6BpG,EAAkBmI,KAAMtC,GAAwB,IACtHsC,KAAKiD,SAAWpL,EAAkBmI,KAAMrC,IAA8B9F,EAAkBmI,KAAMpC,IAAuB,IACrHoC,KAAK4K,UAAY/S,EAAkBmI,KAAMnC,IAA6BhG,EAAkBmI,KAAMgJ,IAAwB,IACtHhJ,KAAK6K,YAAchT,EAAkBmI,KAAMiJ,IAA8BpR,EAAkBmI,KAAMkJ,IAA0B,IAC3HlJ,KAAKoD,WAAavL,EAAkBmI,KAAMmJ,IAAgCtR,EAAkBmI,KAAM9B,IAAyB,IAC3H8B,KAAK8K,MAAQjT,EAAkBmI,KAAM7B,IAA+BtG,EAAkBmI,KAAMoJ,IAAoB,IAChHpJ,KAAKyC,MAAQ5K,EAAkBmI,KAAMqJ,IAA0BxR,EAAkBmI,KAAMtD,GAAoB,WAC3GsD,KAAKlJ,MAAQe,EAAkBmI,KAAMrD,IAA0B9E,EAAkBmI,KAAMZ,GAAoB,KAC3GY,KAAKjI,OAASF,EAAkBmI,KAAMX,IAA0BxH,EAAkBmI,KAAMlD,GAAqB,KAC7GkD,KAAK4C,OAAS/K,EAAkBmI,KAAMjD,IAA2BlF,EAAkBmI,KAAM9C,GAAqB,KAC9G8C,KAAK2C,aAAe9K,EAAkBmI,KAAM7C,IAA2BtF,EAAkBmI,KAAMhD,GAA2B,qBAC1HgD,KAAK+K,WAAalT,EAAkBmI,KAAM/C,IAAiCpF,EAAkBmI,KAAMsJ,GAAyB,UAE5HtJ,KAAKgL,SAAWnT,EAAkBmI,KAAMuJ,IAA+B,IACvEvJ,KAAKiL,QAAUpT,EAAkBmI,KAAMwJ,QAAuB,GAC9DxJ,KAAKkL,UAAYrT,EAAkBmI,KAAMyJ,IAA6B5R,EAAkBmI,KAAM0J,QAAwB,IACtH1J,KAAKmL,cAAgBtT,EAAkBmI,KAAM2J,IAA8B9R,EAAkBmI,KAAM4J,QAA4B,IAC/H5J,KAAKoL,cAAgBvT,EAAkBmI,KAAM6J,IAAkChS,EAAkBmI,KAAM8J,QAA4B,IACnI9J,KAAKqL,aAAexT,EAAkBmI,KAAM+J,IAAkClS,EAAkBmI,KAAMgK,QAA2B,IACjIhK,KAAKsL,aAAezT,EAAkBmI,KAAMiK,IAAiCpS,EAAkBmI,KAAMkK,QAA2B,IAChIlK,KAAKuL,cAAgB1T,EAAkBmI,KAAMmK,IAAiCtS,EAAkBmI,KAAMoK,QAA4B,IAClIpK,KAAKgE,aAAenM,EAAkBmI,KAAMqK,IAAkCxS,EAAkBmI,KAAMJ,QAA2B,IACjII,KAAKwL,OAAS3T,EAAkBmI,KAAMH,IAAiChI,EAAkBmI,KAAMsK,QAAqB,IACpHtK,KAAKyL,iBAAmB5T,EAAkBmI,KAAMuK,IAA2B1S,EAAkBmI,KAAMwK,QAA+B,IAClIxK,KAAK0L,gBAAkB7T,EAAkBmI,KAAMyK,IAAqC5S,EAAkBmI,KAAM0K,QAA8B,IAC1I1K,KAAK2L,iBAAmB9T,EAAkBmI,KAAM2K,IAAoC,IACpF3K,KAAK4L,eAAiB,IAAIC,IAC1B7L,KAAK8L,cAAe,CACxB,QAEI,MAAM7L,GAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1H5G,EAAuB,CAAC8G,EAAAA,SAAS,CAAEE,KAAMC,WACzC9G,EAAuB,CAAC2G,EAAAA,SAAS,CAAEE,KAAMC,WACzC7G,EAAsB,CAAC0G,EAAAA,SAAS,CAAEE,KAAMC,WACxChH,EAAuB,CAAC6G,EAAAA,SAAS,CAAEE,KAAMC,WACzC/G,EAAsB,CAAC4G,EAAAA,SAAS,CAAEE,KAAMC,WACxCqH,EAAuB,CAACxH,EAAAA,SAAS,CAAEE,KAAMC,WACzCsH,EAAyB,CAACzH,EAAAA,SAAS,CAAEE,KAAMC,WAC3C5G,EAAwB,CAACyG,EAAAA,SAAS,CAAEE,KAAMC,WAC1CuH,EAAmB,CAAC1H,EAAAA,SAAS,CAAEE,KAAMC,WACrCxH,EAAmB,CAACqH,WAAS,CAAA,IAC7BhG,EAAmB,CAACgG,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BjH,EAAoB,CAACiH,WAAS,CAAA,IAC9BlH,EAA0B,CAACkH,WAAS,CAAA,IACpC2H,EAAwB,CAAC3H,EAAAA,SAAS,CAAEC,UAAW,gBAC/C2H,EAAsB,CAACvH,QAAM,oBAC7BwH,EAAuB,CAACxH,QAAM,qBAC9ByH,EAA2B,CAACzH,QAAM,kBAClC0H,EAA2B,CAAC1H,QAAM,kBAClC2H,EAA0B,CAAC3H,QAAM,yBACjC4H,EAA0B,CAAC5H,QAAM,oBACjC6H,EAA2B,CAAC7H,QAAM,mBAClCjG,EAA0B,CAACiG,QAAM,kBACjC8H,EAAoB,CAAC9H,QAAM,kBAC3B+H,EAA8B,CAAC/H,QAAM,mBACrCgI,EAA6B,CAACqD,WAAS,mBACvCpR,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8H,EAAsB,CAACqD,EAAAA,WACvBlR,EAAgC,CAACgG,QAAM,UACvC9F,EAAmC,CAAC8F,QAAM,aAC1C7F,EAAkC,CAAC6F,QAAM,YACzC8H,EAA+B,CAAC9H,QAAM,SACtC+H,EAAgD,CAAC/H,EAAAA,MAAM,WAAY,SACnEjF,EAAkC,CAACkF,EAAAA,SAAS,gBAAiB,CAAEC,SAAS,EAAMC,UAAU,KACxF6H,EAAgC,CAAC/H,EAAAA,SAAS,cAAe,CAAEC,SAAS,EAAMC,UAAU,KACpF8H,EAAiC,CAAChI,EAAAA,SAAS,eAAgB,CAAEC,SAAS,EAAMC,UAAU,KACtFrL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,IAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,IAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,IAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2I,EAAqB,CAAEpS,KAAM,SAAUO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAI4K,SAAW9L,SAAUF,IAAa,KAAM1D,GAChN3G,EAAaoK,KAAM,KAAMlF,EAA+B,CAAEvE,KAAM,SAAUO,KAAM,oBAAqBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,sBAAuBA,EAAK7J,IAAK6J,GAAOA,EAAIC,mBAAqBnB,SAAUF,IAAa,KAAM1D,GACxP3G,EAAaoK,KAAM,KAAMhF,EAAkC,CAAEzE,KAAM,SAAUO,KAAM,uBAAwBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,yBAA0BA,EAAK7J,IAAK6J,GAAOA,EAAIG,sBAAwBrB,SAAUF,IAAa,KAAM1D,GACpQ3G,EAAaoK,KAAM,KAAM/E,EAAiC,CAAE1E,KAAM,SAAUO,KAAM,sBAAuBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,wBAAyBA,EAAK7J,IAAK6J,GAAOA,EAAII,qBAAuBtB,SAAUF,IAAa,KAAM1D,GAChQ3G,EAAaoK,KAAM,KAAM4I,EAA8B,CAAErS,KAAM,SAAUO,KAAM,mBAAoBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,qBAAsBA,EAAK7J,IAAK6J,GAAOA,EAAI6K,kBAAoB/L,SAAUF,IAAa,KAAM1D,GACpP3G,EAAaoK,KAAM,KAAM6I,EAA+C,CAAEtS,KAAM,SAAUO,KAAM,oCAAqCoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,sCAAuCA,EAAK7J,IAAK6J,GAAOA,EAAI8K,mCAAqChM,SAAUF,IAAa,KAAM1D,GACxT3G,EAAaoK,KAAM,KAAMnE,EAAiC,CAAEtF,KAAM,SAAUO,KAAM,sBAAuBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,wBAAyBA,EAAK7J,IAAK6J,GAAOA,EAAIgB,qBAAuBlC,SAAUF,IAAa,KAAM1D,GAChQ3G,EAAaoK,KAAM,KAAM8I,EAA+B,CAAEvS,KAAM,SAAUO,KAAM,oBAAqBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,sBAAuBA,EAAK7J,IAAK6J,GAAOA,EAAI+K,mBAAqBjM,SAAUF,IAAa,KAAM1D,GACxP3G,EAAaoK,KAAM,KAAM+I,EAAgC,CAAExS,KAAM,SAAUO,KAAM,qBAAsBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,uBAAwBA,EAAK7J,IAAK6J,GAAOA,EAAIgL,oBAAsBlM,SAAUF,IAAa,KAAM1D,GAC5P3G,EAAa,KAAM,KAAM2D,EAAsB,CAAEhD,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI0B,SAAUtL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI0B,SAAWhL,IAAYoI,SAAUF,IAAazC,EAAwBC,GACrR7H,EAAa,KAAM,KAAM8D,EAAsB,CAAEnD,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI6B,SAAUzL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI6B,SAAWnL,IAAYoI,SAAUF,IAAanC,EAAwBC,GACrRnI,EAAa,KAAM,KAAM+D,EAAqB,CAAEpD,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAI8B,QAAS1L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI8B,QAAUpL,IAAYoI,SAAUF,IAAajC,EAAuBC,GAC/QrI,EAAa,KAAM,KAAM4D,EAAsB,CAAEjD,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI2B,SAAUvL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI2B,SAAWjL,IAAYoI,SAAUF,IAAavC,EAAwBC,IACrR/H,EAAa,KAAM,KAAM6D,EAAqB,CAAElD,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAI4B,QAASxL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI4B,QAAUlL,IAAYoI,SAAUF,IAAarC,GAAuBC,IAC/QjI,EAAa,KAAM,KAAMiS,EAAsB,CAAEtR,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAIuJ,SAAUnT,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIuJ,SAAW7S,IAAYoI,SAAUF,IAAa+I,GAAwBC,IACrRrT,EAAa,KAAM,KAAMkS,EAAwB,CAAEvR,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIwJ,WAAYpT,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIwJ,WAAa9S,IAAYoI,SAAUF,IAAaiJ,GAA0BC,IACjSvT,EAAa,KAAM,KAAMgE,EAAuB,CAAErD,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAI+B,UAAW3L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI+B,UAAYrL,IAAYoI,SAAUF,IAAa/B,GAAyBC,IAC3RvI,EAAa,KAAM,KAAMmS,EAAkB,CAAExR,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAIyJ,KAAMrT,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIyJ,KAAO/S,IAAYoI,SAAUF,IAAamJ,GAAoBC,IAC7PzT,EAAa,KAAM,KAAMoD,EAAkB,CAAEzC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAIoB,KAAMhL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoB,KAAO1K,IAAYoI,SAAUF,IAAavD,GAAoBC,IAC7P/G,EAAa,KAAM,KAAMyE,EAAkB,CAAE9D,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAIvK,KAAMW,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIvK,KAAOiB,IAAYoI,SAAUF,IAAab,GAAoBC,IAC7PzJ,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,IAAanD,GAAqBC,IACnQnH,EAAa,KAAM,KAAMwD,EAAmB,CAAE7C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIuB,MAAOnL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIuB,MAAQ7K,IAAYoI,SAAUF,IAAa/C,GAAqBC,IACnQvH,EAAa,KAAM,KAAMuD,EAAyB,CAAE5C,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAIsB,YAAalL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIsB,YAAc5K,IAAYoI,SAAUF,IAAajD,GAA2BC,IACvSrH,EAAa,KAAM,KAAMoS,EAAuB,CAAEzR,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAI0J,UAAWtT,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI0J,UAAYhT,IAAYoI,SAAUF,IAAaqJ,GAAyBC,IAC3R3T,EAAa,KAAM,KAAMqS,EAAqB,CAAE1R,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAI4J,QAASxT,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI4J,QAAUlT,IAAYoI,SAAUF,IAAauJ,GAAuBC,IAC/Q7T,EAAa,KAAM,KAAMsS,EAAsB,CAAE3R,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI6J,SAAUzT,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI6J,SAAWnT,IAAYoI,SAAUF,IAAayJ,GAAwBC,IACrR/T,EAAa,KAAM,KAAMuS,EAA0B,CAAE5R,KAAM,QAASO,KAAM,eAAgBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,iBAAkBA,EAAK7J,IAAK6J,GAAOA,EAAI8J,aAAc1T,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI8J,aAAepT,IAAYoI,SAAUF,IAAa2J,GAA4BC,IAC7SjU,EAAa,KAAM,KAAMwS,EAA0B,CAAE7R,KAAM,QAASO,KAAM,eAAgBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,iBAAkBA,EAAK7J,IAAK6J,GAAOA,EAAI+J,aAAc3T,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI+J,aAAerT,IAAYoI,SAAUF,IAAa6J,GAA4BC,IAC7SnU,EAAa,KAAM,KAAMyS,EAAyB,CAAE9R,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAIgK,YAAa5T,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIgK,YAActT,IAAYoI,SAAUF,IAAa+J,GAA2BC,IACvSrU,EAAa,KAAM,KAAM0S,EAAyB,CAAE/R,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAIiK,YAAa7T,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIiK,YAAcvT,IAAYoI,SAAUF,IAAaiK,GAA2BC,IACvSvU,EAAa,KAAM,KAAM2S,EAA0B,CAAEhS,KAAM,QAASO,KAAM,eAAgBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,iBAAkBA,EAAK7J,IAAK6J,GAAOA,EAAIkK,aAAc9T,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkK,aAAexT,IAAYoI,SAAUF,IAAamK,GAA4BC,IAC7SzU,EAAa,KAAM,KAAM6E,EAAyB,CAAElE,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAI2C,YAAavM,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI2C,YAAcjM,IAAYoI,SAAUF,IAAaL,GAA2BC,IACvSjK,EAAa,KAAM,KAAM4S,EAAmB,CAAEjS,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAImK,MAAO/T,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImK,MAAQzT,IAAYoI,SAAUF,IAAaqK,GAAqBC,IACnQ3U,EAAa,KAAM,KAAM6S,EAA6B,CAAElS,KAAM,QAASO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIoK,gBAAiBhU,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoK,gBAAkB1T,IAAYoI,SAAUF,IAAauK,GAA+BC,IAC/T7U,EAAa,KAAM,KAAM8S,EAA4B,CAAEnS,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqK,eAAgBjU,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqK,eAAiB3T,IAAYoI,SAAUF,IAAayK,GAA8BC,IACzT/U,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,IAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,IAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,KACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,MAAMkE,EAAe,8BAA8B7E,KAAKyC,QAAQzC,KAAKkD,SAAW,yBAA2B,KACrGoJ,EAAiB,kCAAkCtM,KAAKyC,QAAQzC,KAAKiD,QAAU,0BAA4B,KAC3GsJ,GAAgBvM,KAAK6K,WAC3B,OAAOvS,MAAc;;wBAETuM,6BAAwC7E,KAAK4C;YACzD5C,KAAK4C;;;;;mBAKE0J;;;wBAGKtM,KAAK4C,OAAS;;sBAEfqD,GAAMjG,KAAKwM,kBAAkBvG;oBAC/BA,GAAMjG,KAAKyM,mBAAmBxG;;;+CAGJjG,KAAK2C;;;;qGAIkDsD,GAAMjG,KAAK0M,iBAAiBzG;;;;;kBAKhHjG,KAAKiD;;;mBAGJjD,KAAKiD;;;;;;;;;;;;2BAYGjD,KAAK4C,OAAS;;uBAEjBqD,GAAMjG,KAAK2M,mBAAmB1G;;8DAEQsG;;;;;;;0BAOnCtG,GAAMjG,KAAK4M,oBAAoB3G;wBACjCA,GAAMjG,KAAK6M,kBAAkB5G;;;;;;;;;;;kBAWpCjG,KAAKlJ,MAAQ;;;;;;KAOvB,CACA,aAAAgW,GACI,MAAM9B,EAAUhL,KAAK6K,WAAa7K,KAAK2L,gBAAkB3L,KAAKgL,QAC9D,OAAuB,IAAnBA,EAAQ/T,OACQ,iHAEqC+I,KAAK6K,YAAc7K,KAAK2L,gBAAgB1U,OAAS,EAAI,SAAW,kGAChE+I,KAAK6K,YAA8C,IAAhC7K,KAAK2L,gBAAgB1U,OAAe,SAAW,yDAIpH+T,EAAQ+B,IAAI,CAACC,EAAKC,KACrB,MAAMC,EAAalN,KAAK4K,SACpB5K,KAAK4L,eAAexK,IAAI4L,EAAIjV,OAC5BiV,EAAIjV,QAAUiI,KAAKjI,MACvB,MAAgB,mDAEpBmV,EAAa,0BAA4B,iBACzCF,EAAIjK,SAAW,0BAA4B,iBAC3CkK,IAAUjN,KAAK8L,aAAe,yBAA2B,iBACzDkB,EAAI5U,KAAO,0BAA4B,8BAC3B4U,EAAIjV,6DAEDmV,gCACAF,EAAIjK,oFAEgB/C,KAAK4K,SAAsB,GAAX,iEACTsC,EAAwB,GAAX,wFAElBF,EAAI5U,MAAQ,cAAe4U,EAAI5U,KAAkB,GAAX,4DACzC4U,EAAIpK,yCAGnCgC,KAAK,GACZ,CACA,MAAAhE,GACI,OAAOyE,EAAAA,GAAI,GAzUN,83MA0UT,CACA,IAAA3N,GAEIsI,KAAKmN,0BAEDnN,KAAK4K,UAAY5K,KAAKjI,QACtBiI,KAAK4L,eAAiB,IAAIC,IAAI7L,KAAKjI,MAAMqV,MAAM,KAAKL,IAAIM,GAAKA,EAAE1F,UAGnE3H,KAAK2L,gBAAkB,IAAI3L,KAAKgL,SAEhCsC,sBAAsB,KAClBA,sBAAsB,KAElBtN,KAAKuN,qBACLvN,KAAKwN,sBACLxN,KAAKyN,+BAELzN,KAAK0N,wBACL1N,KAAK2N,qBACL3N,KAAK4N,qBACL5N,KAAK6N,wBAIb7N,KAAK8N,kBAEL9N,KAAK+N,sBACT,CACA,OAAA9B,GACIjM,KAAKgO,wBACLhO,KAAKiO,eAAeC,YACxB,CACA,oBAAAH,GAEI/N,KAAKmO,oBAAuBlI,KACnBjG,KAAKoO,SAASnI,EAAExP,SAAWuJ,KAAK8K,MACjC9K,KAAKqO,iBAGbrO,KAAKsO,iBAAoBrI,IACrB,GAAKjG,KAAK8K,KAEV,OAAQ7E,EAAEzP,KACN,IAAK,SACDwJ,KAAKqO,gBACLrO,KAAKiL,SAASpE,QACd,MACJ,IAAK,YACDZ,EAAEsI,iBACFvO,KAAKwO,kBACL,MACJ,IAAK,UACDvI,EAAEsI,iBACFvO,KAAKyO,sBACL,MACJ,IAAK,QACL,IAAK,IAED,GADAxI,EAAEsI,iBACEvO,KAAK8L,cAAgB,EAAG,CACxB,MACM4C,GADU1O,KAAK6K,WAAa7K,KAAK2L,gBAAkB3L,KAAKgL,SACvChL,KAAK8L,cACxB4C,IAAWA,EAAO3L,UAClB/C,KAAK2O,mBAAmBD,EAEhC,IAKZE,SAASC,iBAAiB,QAAS7O,KAAKmO,qBACxCS,SAASC,iBAAiB,UAAW7O,KAAKsO,iBAC9C,CACA,qBAAAN,GACQhO,KAAKmO,qBACLS,SAASE,oBAAoB,QAAS9O,KAAKmO,qBAE3CnO,KAAKsO,kBACLM,SAASE,oBAAoB,UAAW9O,KAAKsO,iBAErD,CAEA,eAAAR,GACI,MAAMiB,EAAW,IAAIC,iBAAkBC,IACnCjP,KAAKkP,qBAAqBD,KAG9BF,EAASI,QAAQnP,KAAM,CACnBoP,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,gBAAiB,CAAC,QAAS,QAAS,WAAY,cAGpDvP,KAAKiO,cAAgBc,CACzB,CACA,oBAAAG,CAAqBD,GAEAA,EAAUO,KAAKC,GACb,cAAXA,EAAElP,QAES,eAAXkP,EAAElP,OAAyB,CAAC,QAAS,QAAS,WAAY,YAAYmP,SAASD,EAAEE,iBACpD,iBAAtBF,EAAEhZ,OAAOmZ,YAKpB5P,KAAKmN,0BACLnN,KAAK2L,gBAAkB,IAAI3L,KAAKgL,SAChChL,KAAK2N,qBACL3N,KAAK4N,qBACL5N,KAAK6N,oBACL7N,KAAK0N,wBAEb,CACA,uBAAAP,GAEI,MAAMzB,EAAiBmE,MAAMC,KAAK9P,KAAK+P,iBAAiB,iBACxD/P,KAAKgL,QAAUU,EAAeqB,IAAIC,IAC9B,MAAMgD,EAAchD,EAEpB,OAAIgD,EAAYpI,WACLoI,EAAYpI,WAEhB,CACH7P,MAAOiV,EAAIiD,aAAa,UAAY,GACpCrN,MAAOoK,EAAIiD,aAAa,UAAYjD,EAAItG,aAAaiB,QAAU,GAC/D5E,SAAUiK,EAAIkD,aAAa,YAC3BxI,SAAUsF,EAAIkD,aAAa,cAGvC,CACA,iBAAA1D,CAAkBvG,GACV,CAAC,QAAS,IAAK,YAAa,WAAWyJ,SAASzJ,EAAEzP,OAClDyP,EAAEsI,iBACGvO,KAAK8K,MACN9K,KAAKmQ,eAGjB,CACA,mBAAAvD,CAAoB3G,GAChB,OAAQA,EAAEzP,KACN,IAAK,SACDwJ,KAAKqO,gBACLrO,KAAKiL,SAASpE,QACd,MACJ,IAAK,YACDZ,EAAEsI,iBACFvO,KAAKwO,kBACL,MACJ,IAAK,UACDvI,EAAEsI,iBACFvO,KAAKyO,sBACL,MACJ,IAAK,QAED,GADAxI,EAAEsI,iBACEvO,KAAK8L,cAAgB,EAAG,CACxB,MACM4C,GADU1O,KAAK6K,WAAa7K,KAAK2L,gBAAkB3L,KAAKgL,SACvChL,KAAK8L,cACxB4C,IAAWA,EAAO3L,UAClB/C,KAAK2O,mBAAmBD,EAEhC,EAGZ,CACA,eAAAF,GACI,MAAMxD,EAAUhL,KAAK6K,WAAa7K,KAAK2L,gBAAkB3L,KAAKgL,QAE9D,GAA8B,IADPA,EAAQrG,OAAOqI,IAAQA,EAAIjK,UAC/B9L,OAAnB,CAMA,IAJA+I,KAAK8L,eACD9L,KAAK8L,cAAgBd,EAAQ/T,SAC7B+I,KAAK8L,aAAe,GAEjBd,EAAQhL,KAAK8L,eAAe/I,UAC/B/C,KAAK8L,eACD9L,KAAK8L,cAAgBd,EAAQ/T,SAC7B+I,KAAK8L,aAAe,GAG5B9L,KAAKoQ,mBAXD,CAYR,CACA,mBAAA3B,GACI,MAAMzD,EAAUhL,KAAK6K,WAAa7K,KAAK2L,gBAAkB3L,KAAKgL,QAE9D,GAA8B,IADPA,EAAQrG,OAAOqI,IAAQA,EAAIjK,UAC/B9L,OAAnB,CAMA,IAJA+I,KAAK8L,eACD9L,KAAK8L,aAAe,IACpB9L,KAAK8L,aAAed,EAAQ/T,OAAS,GAElC+T,EAAQhL,KAAK8L,eAAe/I,UAC/B/C,KAAK8L,eACD9L,KAAK8L,aAAe,IACpB9L,KAAK8L,aAAed,EAAQ/T,OAAS,GAG7C+I,KAAKoQ,mBAXD,CAYR,CACA,iBAAAA,GACQpQ,KAAK0L,gBACL1L,KAAK0L,eAAe2E,QAAQ,CAACC,EAAIrD,KAC7BqD,EAAG5K,UAAUC,OAAO,yBAA0BsH,IAAUjN,KAAK8L,eAGzE,CACA,gBAAAY,CAAiBzG,GACbA,EAAEsI,iBACFtI,EAAEsK,kBACFvQ,KAAKkG,OACT,CACA,kBAAAuG,CAAmBxG,GACAA,EAAExP,OAEN+Z,QAAQ,mBAGnBvK,EAAEsK,kBACGvQ,KAAK+C,UAAa/C,KAAKgD,UACxBhD,KAAKyQ,iBAEb,CACA,kBAAA9D,CAAmB1G,GACf,MAAMxP,EAASwP,EAAExP,OAEjB,GAAIA,EAAO+Z,QAAQ,sBAAuB,CACtCvK,EAAEsK,kBACF,MACMxY,EADYtB,EAAO+Z,QAAQ,sBACTP,aAAa,cASrC,YARIlY,GAASiI,KAAK4K,WACd5K,KAAK4L,eAAe8E,OAAO3Y,GAC3BiI,KAAKjI,MAAQ8X,MAAMC,KAAK9P,KAAK4L,gBAAgBhH,KAAK,KAClD5E,KAAK2N,qBACL3N,KAAK4N,qBACL5N,KAAK6N,oBACL7N,KAAKqC,uBAGb,CACA,MAAMsO,EAAWla,EAAO+Z,QAAQ,kBAChC,IAAKG,EACD,OACJ1K,EAAEsK,kBACF,MAAMxY,EAAQ4Y,EAASV,aAAa,cACpC,IAAKlY,EACD,OACJ,MAAM2W,EAAS1O,KAAKgL,QAAQ4F,KAAK5D,GAAOA,EAAIjV,QAAUA,GAClD2W,IAAWA,EAAO3L,UAClB/C,KAAK2O,mBAAmBD,EAEhC,CACA,iBAAA7B,CAAkB5G,GACd,MACM4K,EADQ5K,EAAExP,OACSsB,MAAM+Y,cAE3B9Q,KAAK2L,gBADLkF,EACuB7Q,KAAKgL,QAAQrG,OAAOqI,GAAOA,EAAIpK,MAAMkO,cAAcpB,SAASmB,IAG5D,IAAI7Q,KAAKgL,SAEpChL,KAAK8L,cAAe,EACpB9L,KAAK0N,uBACT,CACA,kBAAAiB,CAAmBD,GACX1O,KAAK4K,UACD5K,KAAK4L,eAAexK,IAAIsN,EAAO3W,OAC/BiI,KAAK4L,eAAe8E,OAAOhC,EAAO3W,OAGlCiI,KAAK4L,eAAe/F,IAAI6I,EAAO3W,OAEnCiI,KAAKjI,MAAQ8X,MAAMC,KAAK9P,KAAK4L,gBAAgBhH,KAAK,KAClD5E,KAAK0N,0BAGL1N,KAAKjI,MAAQ2W,EAAO3W,MACpBiI,KAAKqO,iBAETrO,KAAK2N,qBACL3N,KAAK4N,qBACL5N,KAAK6N,oBACL7N,KAAKqC,oBAAoBqM,EAC7B,CACA,iBAAApN,GACQtB,KAAK4K,WACL5K,KAAK4L,eAAiB,IAAIC,IAAI7L,KAAKjI,MAAQiI,KAAKjI,MAAMqV,MAAM,KAAKL,IAAIM,GAAKA,EAAE1F,QAAU,KAE1F3H,KAAK2N,qBACL3N,KAAK4N,qBACL5N,KAAK6N,mBACT,CACA,oBAAArM,GACIxB,KAAKuN,qBACLvN,KAAKyN,+BACLzN,KAAK6N,oBAED7N,KAAK+C,UAAY/C,KAAK8K,MACtB9K,KAAKqO,eAEb,CACA,mBAAA5M,GACIzB,KAAKuN,qBACLvN,KAAKyN,+BACLzN,KAAK6N,oBAED7N,KAAKiD,SAAWjD,KAAK8K,MACrB9K,KAAKqO,eAEb,CACA,gBAAAnC,GACIlM,KAAKwN,sBACLxN,KAAKuN,qBAEDvN,KAAK8K,MAAQ9K,KAAK6K,YAAc7K,KAAKqL,aACrC0F,WAAW,IAAM/Q,KAAKqL,aAAaxE,QAAS,KAG3C7G,KAAK8K,OACN9K,KAAK8L,cAAe,EAChB9L,KAAKqL,cACLrL,KAAKqL,YAAYtT,MAAQ,GACzBiI,KAAK2L,gBAAkB,IAAI3L,KAAKgL,SAChChL,KAAK0N,yBAGjB,CACA,iCAAAvB,GACInM,KAAKyN,8BACT,CACA,kBAAAG,GACI,IAAK5N,KAAKmL,aACN,OACJ,MAAM6F,EAAkBhR,KAAKgL,QAAQrG,OAAOqI,GAAOhN,KAAK4K,SAAW5K,KAAK4L,eAAexK,IAAI4L,EAAIjV,OAASiV,EAAIjV,QAAUiI,KAAKjI,OAC3H,GAAIiI,KAAK4K,UAAYoG,EAAgB/Z,OAAS,EAC1C+I,KAAKmL,aAAa8F,UAAqB,6DAE3CD,EAAgBjE,IAAIC,GAAgB,4FAEEA,EAAI5U,MAAQ,cAAe4U,EAAI5U,KAAkB,GAAX,8BACxE4U,EAAIpK,oEACwCoK,EAAIjV,6BAA6BiV,EAAIpK,UAAU5C,KAAK+C,UAAY/C,KAAKgD,SAAW,SAAW,gDAE1I4B,KAAK,mCAID,GAAIoM,EAAgB/Z,OAAS,EAAG,CACjC,MAAMyQ,EAAWsJ,EAAgB,GACjChR,KAAKmL,aAAa8F,UAAqB,+FAEPvJ,EAAStP,MAAQ,cAAesP,EAAStP,KAAkB,GAAX,gCAC9EsP,EAAS9E,sCAGf,MAEI5C,KAAKmL,aAAa8F,UAAqB,oCAAoCjR,KAAK2C,oBAExF,CACA,iBAAAkL,GACI,IAAK7N,KAAKgE,YACN,OACJ,MAAMgN,EAAkBhR,KAAKgL,QAAQrG,OAAOqI,GAAOhN,KAAK4K,SAAW5K,KAAK4L,eAAexK,IAAI4L,EAAIjV,OAASiV,EAAIjV,QAAUiI,KAAKjI,OACrHwN,EAAavF,KAAKoD,WAAa4N,EAAgB/Z,OAAS,IAAM+I,KAAK+C,WAAa/C,KAAKgD,SAC3FhD,KAAKgE,YAAYwB,MAAMC,QAAUF,EAAa,GAAK,MACvD,CACA,qBAAAmI,GACS1N,KAAKsL,cAEVtL,KAAKsL,YAAY2F,UAAYjR,KAAK8M,gBACtC,CACA,kBAAAa,GACS3N,KAAKuL,eAGVvL,KAAKuL,aAAa0F,UAAY,GAC9BjR,KAAKgL,QAAQqF,QAAQrD,IACjB,MAAM0B,EAASE,SAASsC,cAAc,UACtCxC,EAAO3W,MAAQiV,EAAIjV,MACnB2W,EAAOhI,YAAcsG,EAAIpK,MACzB8L,EAAOhH,SAAW1H,KAAK4K,SACnB5K,KAAK4L,eAAexK,IAAI4L,EAAIjV,OAC5BiV,EAAIjV,QAAUiI,KAAKjI,MACvBiI,KAAKuL,aAAa4F,YAAYzC,KAEtC,CACA,mBAAArM,CAAoBqM,GAChB,MAAO,CACH3W,MAAOiI,KAAK4K,SAAWiF,MAAMC,KAAK9P,KAAK4L,gBAAkB5L,KAAKjI,MAC9D2W,SACA3H,OAAQ/G,KAEhB,CACA,iBAAAoM,GACI,MAAO,CAAErF,OAAQ/G,KACrB,CACA,kBAAAqM,GACI,MAAO,CAAEtF,OAAQ/G,KACrB,CAEA,KAAA6G,GACI7G,KAAKiL,SAASpE,OAClB,CACA,IAAAC,GACI9G,KAAKiL,SAASnE,OACV9G,KAAK8K,MACL9K,KAAKqO,eAEb,CACA,KAAAnI,GACQlG,KAAK4K,UACL5K,KAAK4L,eAAe1F,QACpBlG,KAAKjI,MAAQ,IAGbiI,KAAKjI,MAAQ,GAEjBiI,KAAK2N,qBACL3N,KAAK4N,qBACL5N,KAAK6N,oBACL7N,KAAKqC,qBACT,CACA,YAAA8N,GACSnQ,KAAK8K,MAAS9K,KAAK+C,UAAa/C,KAAKgD,WACtChD,KAAK8K,MAAO,EACZ9K,KAAKoM,oBAEb,CACA,aAAAiC,GACQrO,KAAK8K,OACL9K,KAAK8K,MAAO,EACZ9K,KAAKqM,qBAEb,CACA,cAAAoE,GACQzQ,KAAK8K,KACL9K,KAAKqO,gBAGLrO,KAAKmQ,cAEb,CACA,YAAAiB,CAAarZ,GACT,MAAM2W,EAAS1O,KAAKgL,QAAQ4F,KAAK5D,GAAOA,EAAIjV,QAAUA,GAClD2W,IAAWA,EAAO3L,UAClB/C,KAAK2O,mBAAmBD,EAEhC,CACA,kBAAAnB,GACSvN,KAAKiL,UAEVjL,KAAKiL,QAAQvF,UAAUC,OAAO,uBAAwB3F,KAAK8K,MAC3D9K,KAAKiL,QAAQvF,UAAUC,OAAO,2BAA4B3F,KAAK+C,UAC/D/C,KAAKiL,QAAQvF,UAAUC,OAAO,2BAA4B3F,KAAKgD,UAC/DhD,KAAKiL,QAAQvF,UAAUC,OAAO,0BAA2B3F,KAAKmD,SAC9DnD,KAAKiL,QAAQvF,UAAUC,OAAO,0BAA2B3F,KAAKiD,SAC9DjD,KAAKiL,QAAQrF,aAAa,gBAAiBU,OAAOtG,KAAK8K,OACvD9K,KAAKiL,QAAQlI,SAAW/C,KAAK+C,UAAY/C,KAAKiD,QAClD,CACA,mBAAAuK,GACSxN,KAAKkL,WAEVlL,KAAKkL,SAASxF,UAAUC,OAAO,wBAAyB3F,KAAK8K,MACzD9K,KAAKwL,OACLxL,KAAKwL,MAAM9F,UAAUC,OAAO,qBAAsB3F,KAAK8K,MAE/D,CACA,4BAAA2C,GACSzN,KAAKuL,eAEVvL,KAAKuL,aAAaxI,SAAW/C,KAAK+C,UAAY/C,KAAKiD,QACnDjD,KAAKuL,aAAarI,SAAWlD,KAAKkD,SAClClD,KAAKuL,aAAaX,SAAW5K,KAAK4K,SAC9B5K,KAAKlJ,KACLkJ,KAAKuL,aAAazU,KAAOkJ,KAAKlJ,KAG9BkJ,KAAKuL,aAAa8F,gBAAgB,QAE1C,GAGP,EA3yBiB,GCNlB,IAAIC,EAAa,gyHCID,MACZ,IACIzY,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGA/W,EACAC,EACAC,EACA8W,EACAC,EA5BA3V,EAAmB,CAACC,UAAQ,eAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,IAMxC,cAAe/V,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,EAAAA,YACrBmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpC/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,WAC5ClL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,OAAOrI,MAAc;;UAEvB0H,KAAK2S;;KAGP,CACA,MAAA/R,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,iBACL5S,KAAK6S,4BACT,CACA,eAAAR,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACQtS,KAAK0S,iBACL1S,KAAK0S,eAAezB,UAAYjR,KAAK2S,eAEzC3S,KAAK6S,4BACT,CACA,cAAAD,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,0BAAAM,GACI,GAAK7S,KAAKwS,QAAWxS,KAAKwS,OAAOO,mBAAjC,CAGA/S,KAAKqR,gBAAgB,SACrBrR,KAAK3H,UAAY,aACjB2H,KAAK4S,iBAED5S,KAAKwS,OAAOhN,OACZxF,KAAKgT,WAAWhT,KAAKwS,OAAOhN,OAGhC,IAAK,MAAMyN,KAAUjT,KAAKwS,OAAOO,mBAC7B,GAAIE,EAAOC,UAAUlT,KAAKjI,MAAOiI,KAAKyS,SAAU,CACxCQ,EAAOzN,OACPxF,KAAKgT,WAAWC,EAAOzN,OAEvByN,EAAO5a,WACP2H,KAAK0F,UAAUG,IAAIoN,EAAO5a,WAE9B,KACJ,CAnBA,CAqBR,CACA,UAAA2a,CAAWxN,GACHA,EAAM2N,kBACNnT,KAAKwF,MAAM2N,gBAAkB3N,EAAM2N,iBACnC3N,EAAM4N,QACNpT,KAAKwF,MAAM4N,MAAQ5N,EAAM4N,OACzB5N,EAAM6N,aACNrT,KAAKwF,MAAM6N,WAAa7N,EAAM6N,YAC9B7N,EAAM8N,YACNtT,KAAKwF,MAAM8N,UAAY9N,EAAM8N,WAC7B9N,EAAM+N,WACNvT,KAAKwF,MAAM+N,SAAW/N,EAAM+N,UAC5B/N,EAAMgO,iBACNxT,KAAKwF,MAAMgO,eAAiBhO,EAAMgO,eAC1C,CACA,WAAAb,GACI,GAAmB,OAAf3S,KAAKjI,YAAiC0b,IAAfzT,KAAKjI,MAC5B,MAAO,GAGX,GAAIiI,KAAKwS,OAAOkB,UACZ,OAAO1T,KAAKwS,OAAOkB,UAAU1T,KAAKjI,MAAOiI,KAAKyS,SAGlD,OAAQzS,KAAKO,MACT,IAAK,OACD,OAAOP,KAAK2T,aAChB,IAAK,SACD,OAAO3T,KAAK4T,eAChB,IAAK,WACD,OAAO5T,KAAK6T,iBAChB,IAAK,UACD,OAAO7T,KAAK8T,gBAChB,IAAK,aACD,OAAO9T,KAAK+T,mBAChB,IAAK,aACD,OAAO/T,KAAKgU,mBAChB,IAAK,WACD,OAAOhU,KAAKiU,iBAChB,IAAK,OACD,OAAOjU,KAAKkU,aAChB,IAAK,UACD,OAAOlU,KAAKmU,gBAChB,IAAK,SACD,OAAOnU,KAAKoU,eAChB,IAAK,WACD,OAAOpU,KAAKqU,iBAChB,IAAK,YACD,OAAOrU,KAAKsU,kBAChB,IAAK,WACD,OAAOtU,KAAKuU,iBAChB,IAAK,WACD,OAAOvU,KAAKwU,iBAGhB,QACI,OAAOlO,OAAOtG,KAAKjI,OAE/B,CACA,UAAA4b,GACI,OAAOrN,OAAOtG,KAAKjI,MACvB,CACA,YAAA6b,GACI,MAAMX,EAASjT,KAAKwS,OAAOiC,cAAgB,CAAA,EACrCC,EAAMjU,OAAOT,KAAKjI,OACxB,GAAI4c,MAAMD,GACN,OAAOpO,OAAOtG,KAAKjI,OACvB,IAAI6c,EAAYF,EAAIG,QAAQ5B,EAAO6B,UAAY,GAC/C,GAAI7B,EAAO8B,mBAAoB,CAC3B,MAAMC,EAAQJ,EAAUxH,MAAM,KAC9B4H,EAAM,GAAKA,EAAM,GAAGC,QAAQ,wBAAyB,KACrDL,EAAYI,EAAMpQ,KAAK,IAC3B,CAQA,OAPI8P,EAAM,GAA8B,gBAAzBzB,EAAOiC,gBAClBN,EAAY,IAAIA,EAAUK,QAAQ,IAAK,QAEvChC,EAAOkC,SACPP,EAAY3B,EAAOkC,OAASP,GAC5B3B,EAAOmC,SACPR,GAAwB3B,EAAOmC,QAC5BR,CACX,CACA,cAAAf,GACI,MAAMZ,EAASjT,KAAKwS,OAAOiC,cAAgB,CAAA,EACrCC,EAAMjU,OAAOT,KAAKjI,OACxB,GAAI4c,MAAMD,GACN,OAAOpO,OAAOtG,KAAKjI,OACvB,MAAMsd,EAAiB,CACnB7P,MAAO,WACP8P,SAAU,MACVC,sBAAuBtC,EAAO6B,UAAY,EAC1CU,sBAAuBvC,EAAO6B,UAAY,GAE9C,OAAO,IAAIW,KAAKC,aAAa,QAASL,GAAgBpC,OAAOyB,EACjE,CACA,aAAAZ,GACI,MAAMb,EAASjT,KAAKwS,OAAOiC,cAAgB,CAAA,EACrCC,EAAMjU,OAAOT,KAAKjI,OACxB,GAAI4c,MAAMD,GACN,OAAOpO,OAAOtG,KAAKjI,OACvB,MAAM4d,EAAgB,CAClBnQ,MAAO,UACP+P,sBAAuBtC,EAAO6B,UAAY,EAC1CU,sBAAuBvC,EAAO6B,UAAY,GAE9C,OAAO,IAAIW,KAAKC,aAAa,QAASC,GAAe1C,OAAOyB,EAChE,CACA,gBAAAX,GACI,MAAMd,EAASjT,KAAKwS,OAAOiC,cAAgB,CAAA,EACrCC,EAAMjU,OAAOT,KAAKjI,OACxB,GAAI4c,MAAMD,GACN,OAAOpO,OAAOtG,KAAKjI,OACvB,IAAI6c,EAAYgB,KAAKC,IAAInB,GAAKG,QAAQ5B,EAAO6B,UAAY,GACzD,GAAI7B,EAAO8B,mBAAoB,CAC3B,MAAMC,EAAQJ,EAAUxH,MAAM,KAC9B4H,EAAM,GAAKA,EAAM,GAAGC,QAAQ,wBAAyB,KACrDL,EAAYI,EAAMpQ,KAAK,IAC3B,CAOA,OALIgQ,EADAF,EAAM,EACM,IAAIE,KAGJ,IAAIA,KAEbA,CACX,CACA,gBAAAZ,GACI,MAAMf,EAASjT,KAAKwS,OAAOiC,cAAgB,CAAA,EACrCC,EAAMjU,OAAOT,KAAKjI,OACxB,OAAI4c,MAAMD,GACCpO,OAAOtG,KAAKjI,OAChB2c,EAAIoB,cAAc7C,EAAO6B,UAAY,EAChD,CACA,cAAAb,GACI,MAAMS,EAAMjU,OAAOT,KAAKjI,OACxB,GAAI4c,MAAMD,GACN,OAAOpO,OAAOtG,KAAKjI,OAGvB,IAAIge,EAAK,EAAGC,EAAK,EAAGC,EAAK,EAAGC,EAAK,EAC7BC,EAAIzB,EACR,EAAG,CACC,MAAM0B,EAAIR,KAAKS,MAAMF,GACrB,IAAIG,EAAMP,EACVA,EAAKK,EAAIL,EAAKC,EACdA,EAAKM,EACLA,EAAML,EACNA,EAAKG,EAAIH,EAAKC,EACdA,EAAKI,EACLH,EAAI,GAAKA,EAAIC,EACjB,OAASR,KAAKC,IAAInB,EAAMqB,EAAKE,GAZX,KAYiBvB,GACnC,MAAO,GAAGqB,KAAME,GACpB,CACA,UAAA/B,GACI,MAAMjB,EAASjT,KAAKwS,OAAO+D,YAAc,CAAA,EACnCC,EAAO,IAAIC,KAAKzW,KAAKjI,OAC3B,GAAI4c,MAAM6B,EAAKE,WACX,OAAOpQ,OAAOtG,KAAKjI,OACvB,GAAIkb,EAAO0D,aAEP,OAAO1D,EAAO0D,aACT1B,QAAQ,OAAQuB,EAAKI,cAAcC,YACnC5B,QAAQ,MAAOuB,EAAKM,WAAa,GAAGD,WAAWE,SAAS,EAAG,MAC3D9B,QAAQ,KAAMuB,EAAKQ,UAAUH,WAAWE,SAAS,EAAG,MAE7D,MAAM/L,EAAU,CAAA,EAChB,OAAQiI,EAAOA,QACX,IAAK,QAYL,QACIjI,EAAQiM,UAAY,cAVxB,IAAK,SACDjM,EAAQiM,UAAY,SACpB,MACJ,IAAK,OACDjM,EAAQiM,UAAY,OACpB,MACJ,IAAK,OACDjM,EAAQiM,UAAY,OAK5B,OAAO,IAAIxB,KAAKyB,eAAejE,EAAOkE,QAAU,QAASnM,GAASiI,OAAOuD,EAC7E,CACA,aAAArC,GACI,MAAMlB,EAASjT,KAAKwS,OAAO4E,eAAiB,CAAA,EACtCC,EAAO7W,QAAQR,KAAKjI,OAC1B,OAAIkb,EAAOqE,WACAD,EACApE,EAAOsE,YAAc,IACrBtE,EAAOuE,aAAe,IAE1BH,EACApE,EAAOwE,WAAa,OACpBxE,EAAOyE,YAAc,OAChC,CACA,YAAAtD,GACI,MAAMnB,EAASjT,KAAKwS,OAAOmF,cAAgB,CAAA,EACrCC,EAASnX,OAAOT,KAAKjI,OACrBwL,EAAM0P,EAAO1P,KAAO,EACpBsU,EAAS5E,EAAO4E,QAAU,IAC1BC,EAAc7E,EAAO6E,aAAe,IAC1C,GAAInD,MAAMiD,GACN,OAAOtR,OAAOtG,KAAKjI,OACvB,IAAIO,EAAO,GACX,MAAMyf,EAAe9E,EAAOG,OAAS4E,iBAAiBhY,MAAMiY,iBAAiB,yBAAyBtQ,OAChGuQ,EAAaF,iBAAiBhY,MAAMiY,iBAAiB,wBAAwBtQ,OACnF,IAAK,IAAI3Q,EAAI,EAAGA,EAAIuM,EAAKvM,IAEjBsB,GADAtB,EAAI4gB,EACI,uBAAuBG,MAAiBF,WAGxC,uBAAuBK,MAAeJ,WAGtD,OAAOxf,CACX,CACA,cAAA+b,GACI,MAAMpB,EAASjT,KAAKwS,OAAO2F,gBAAkB,CAAA,EACvCpgB,EAAQ0I,OAAOT,KAAKjI,OACpBwL,EAAM0P,EAAO1P,KAAO,IACpB6U,EAAaxC,KAAKtS,IAAI,IAAKsS,KAAKrS,IAAI,EAAIxL,EAAQwL,EAAO,MAC7D,GAAIoR,MAAM5c,GACN,OAAOuO,OAAOtG,KAAKjI,OACvB,MAAMqb,EAAQH,EAAOG,OAAS4E,iBAAiBhY,MAAMiY,iBAAiB,yBAAyBtQ,OACzF0Q,EAAUpF,EAAOE,iBAAmB6E,iBAAiBhY,MAAMiY,iBAAiB,wBAAwBtQ,OAE1G,IAAIrP,EAAO,gEADI2a,EAAOqF,QAAU,uCAKhBD,mJAMTD,+DAEWhF,sEAIlB,GAAIH,EAAOsF,eAAgB,CAIvBjgB,GAAQ,iOAHU8f,EAAa,GACzBJ,iBAAiBhY,MAAMiY,iBAAiB,8BAA8BtQ,OACtEqQ,iBAAiBhY,MAAMiY,iBAAiB,sBAAsBtQ,sBAUxEiO,KAAK4C,MAAMJ,oBAEX,CAEA,OADA9f,GAAQ,SACDA,CACX,CACA,eAAAgc,GACI,MAAMrB,EAASjT,KAAKwS,OAAOiG,iBAAmB,CAAA,EACxCC,EAAO7I,MAAM8I,QAAQ3Y,KAAKjI,OAASiI,KAAKjI,MAAQ,GACtD,GAAoB,IAAhB2gB,EAAKzhB,OACL,MAAO,GACX,MAAM2hB,EAAQ3F,EAAO2F,OAAS,GACxBN,EAASrF,EAAOqF,QAAU,GAC1BlF,EAAQH,EAAOG,OAAS4E,iBAAiBhY,MAAMiY,iBAAiB,yBAAyBtQ,OACzFpH,EAAO0S,EAAO1S,MAAQ,OACtBgD,EAAMqS,KAAKrS,OAAOmV,GAClBpV,EAAMsS,KAAKtS,OAAOoV,GAClBG,EAAQtV,EAAMD,GAAO,EAC3B,GAAa,SAAT/C,EAAiB,CACjB,MAAMuY,EAASJ,EAAK3L,IAAI,CAACgM,EAAK/hB,IAGnB,GAFIA,GAAK0hB,EAAKzhB,OAAS,GAAM2hB,KAC1BN,GAAWS,EAAMzV,GAAOuV,EAASP,KAE5C1T,KAAK,KACR,MAAO,yBACDgU,cAAkBN,0EAElBQ,sDAEA1F,yEAKV,CACK,GAAa,QAAT7S,EAAgB,CACrB,MAAMyY,EAAWJ,EAAQF,EAAKzhB,OACxBgiB,EAAOP,EAAK3L,IAAI,CAACgM,EAAK/hB,KACxB,MAAMkiB,GAAcH,EAAMzV,GAAOuV,EAASP,EAG1C,MAAO,YAFGthB,EAAIgiB,SACJV,EAASY,aACsBF,EAAW,cAAcE,YAAoB9F,UACvFxO,KAAK,IACR,MAAO,yBACDgU,cAAkBN,0CAC5BW,2BAGA,CACA,OAAO3S,OAAOtG,KAAKjI,MACvB,CACA,cAAAwc,GACI,MAAM4E,EAAU1Y,OAAOT,KAAKjI,OAC5B,GAAI4c,MAAMwE,GACN,OAAO7S,OAAOtG,KAAKjI,OACvB,MAAMqhB,EAAQxD,KAAKS,MAAM8C,EAAU,MAC7BE,EAAUzD,KAAKS,MAAO8C,EAAU,KAAQ,IACxCG,EAAOH,EAAU,GACvB,OAAIC,EAAQ,EACD,GAAGA,KAASC,EAAQxC,WAAWE,SAAS,EAAG,QAAQuC,EAAKzC,WAAWE,SAAS,EAAG,OAG/E,GAAGsC,KAAWC,EAAKzC,WAAWE,SAAS,EAAG,MAEzD,CACA,cAAAvC,GACI,MAAM+E,EAAQ9Y,OAAOT,KAAKjI,OAC1B,GAAI4c,MAAM4E,GACN,OAAOjT,OAAOtG,KAAKjI,OACvB,MAAMyhB,EAAQ,CAAC,IAAK,KAAM,KAAM,KAAM,MACtC,IAAI/W,EAAO8W,EACPE,EAAY,EAChB,KAAOhX,GAAQ,MAAQgX,EAAYD,EAAMviB,OAAS,GAC9CwL,GAAQ,KACRgX,IAEJ,MAAO,GAAGhX,EAAKoS,QAAsB,IAAd4E,EAAkB,EAAI,MAAMD,EAAMC,IAC7D,CACA,WAAApV,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,SAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,SAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,EAAqB,KAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,OACNgS,MAAO,UAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClIta,EAAkBmI,KAAMoS,EAC5B,GAGP,EA7ce,GCAI,MAChB,IACIvZ,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGAgI,EAGAC,EAGAhf,EACAC,EACAC,EACA8W,EACAC,EAlCA3V,EAAmB,CAACC,UAAQ,oBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,GAEpCwH,EAA0B,GAC1BC,EAA+B,GAE/BC,EAAyB,GACzBC,EAA8B,IAMlC,cAAe1d,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpCgZ,EAAwB,CAACrZ,EAAAA,SAAS,CAAEE,KAAMC,WAC1CmZ,EAAuB,CAACtZ,EAAAA,SAAS,CAAEE,KAAME,OAAQH,UAAW,eAC5D3F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,WAC5ClL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAM,KAAM8jB,EAAuB,CAAEnjB,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAI2Y,UAAWviB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI2Y,UAAYjiB,IAAYoI,SAAUF,GAAa2Z,EAAyBC,GAC3RjkB,EAAa,KAAM,KAAM+jB,EAAsB,CAAEpjB,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI4Y,SAAUxiB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI4Y,SAAWliB,IAAYoI,SAAUF,GAAa6Z,EAAwBC,GACrRnkB,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,MAAMjI,EAAUsH,KAAKka,oBACfC,EAAana,KAAKoa,gBACxB,OAAO9hB,MAAc;2EAC0C6hB;UACjEzhB;;KAGF,CACA,MAAAkI,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,gBACT,CACA,cAAAA,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,eAAAF,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACI,GAAItS,KAAK0S,eAAgB,CACrB,MAAMha,EAAUsH,KAAKka,oBACftZ,EAASZ,KAAKoa,gBACpBpa,KAAK0S,eAAezB,UAAYvY,EAChCsH,KAAK0S,eAAe9M,aAAa,QAAShF,EAC9C,CACJ,CACA,iBAAAsZ,GACI,GAAmB,OAAfla,KAAKjI,YAAiC0b,IAAfzT,KAAKjI,MAC5B,MAAO,GAEX,IAAIsiB,EAAO/T,OAAOtG,KAAKjI,OAWvB,OATIiI,KAAKwS,OAAOkB,YACZ2G,EAAOra,KAAKwS,OAAOkB,UAAU1T,KAAKjI,MAAOiI,KAAKyS,UAG9CzS,KAAKga,YACLK,EAAOA,EAAKpF,QAAQ,MAAO,UAG1BjV,KAAKga,WAAaha,KAAKwS,OAAO8H,SAC5BD,CACX,CACA,aAAAD,GACI,IAAIxZ,EAAS,GAoBb,OAnBKZ,KAAKga,WAQFha,KAAKwS,OAAO+H,OACZ3Z,EAAOtJ,KAAK,yBACZsJ,EAAOtJ,KAAK,0BAEZ0I,KAAKia,WACLrZ,EAAOtJ,KAAK,wBACZsJ,EAAOtJ,KAAK,gCACZsJ,EAAOtJ,KAAK,uBAAuB0I,KAAKia,YACxCrZ,EAAOtJ,KAAK,uBAfhBsJ,EAAOtJ,KAAK,uBACR0I,KAAKwS,OAAO8H,WACZ1Z,EAAOtJ,KAAK,oBACZsJ,EAAOtJ,KAAK,6BAebsJ,EAAOgE,KAAK,KACvB,CACA,WAAAP,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,SAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,SAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,EAAqB,KAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,OACNgS,MAAO,UAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClInS,KAAKga,WAAaniB,EAAkBmI,KAAMoS,GAAoCva,EAAkBmI,KAAM4Z,GAAyB,IAC/H5Z,KAAKia,UAAYpiB,EAAkBmI,KAAM6Z,GAA+BhiB,EAAkBmI,KAAM8Z,OAAwB,IACxHjiB,EAAkBmI,KAAM+Z,EAC5B,GAGP,EA/JmB,GCAE,MAClB,IACIlhB,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGA8I,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAlgB,EACAC,EACAC,EACA8W,EACAC,EA9CA3V,EAAmB,CAACC,UAAQ,sBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,GAEpC0I,EAAyB,GACzBC,EAA8B,GAE9BC,EAAmC,GACnCC,EAAwC,GAExCC,EAAuB,GACvBC,EAA4B,GAE5BC,EAAuB,GACvBC,EAA4B,GAE5BC,EAA8B,GAC9BC,EAAmC,GAEnCC,EAA0B,GAC1BC,EAA+B,IAMnC,cAAepf,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpC8Z,EAAuB,CAACna,EAAAA,SAAS,CAAEE,KAAME,UACzCga,EAAiC,CAACpa,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,yBACvEoa,EAAqB,CAACra,WAAS,CAAA,IAC/Bsa,EAAqB,CAACta,WAAS,CAAA,IAC/Bua,EAA4B,CAACva,EAAAA,SAAS,CAAEC,UAAW,oBACnDua,EAAwB,CAACxa,EAAAA,SAAS,CAAEE,KAAMC,WAC1C7F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,WAC5ClL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAM,KAAM4kB,EAAsB,CAAEjkB,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAIyT,SAAUrd,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIyT,SAAW/c,IAAYoI,SAAUF,GAAa6a,EAAwBC,GACrRnlB,EAAa,KAAM,KAAM6kB,EAAgC,CAAElkB,KAAM,QAASO,KAAM,qBAAsBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,uBAAwBA,EAAK7J,IAAK6J,GAAOA,EAAI0T,mBAAoBtd,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI0T,mBAAqBhd,IAAYoI,SAAUF,GAAa+a,EAAkCC,GACjVrlB,EAAa,KAAM,KAAM8kB,EAAoB,CAAEnkB,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAI8T,OAAQ1d,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI8T,OAASpd,IAAYoI,SAAUF,GAAaib,EAAsBC,GACzQvlB,EAAa,KAAM,KAAM+kB,EAAoB,CAAEpkB,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAI+T,OAAQ3d,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI+T,OAASrd,IAAYoI,SAAUF,GAAamb,EAAsBC,GACzQzlB,EAAa,KAAM,KAAMglB,EAA2B,CAAErkB,KAAM,QAASO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAI6T,cAAezd,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI6T,cAAgBnd,IAAYoI,SAAUF,GAAaqb,EAA6BC,GACnT3lB,EAAa,KAAM,KAAMilB,EAAuB,CAAEtkB,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAIqa,UAAWjkB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqa,UAAY3jB,IAAYoI,SAAUF,GAAaub,EAAyBC,GAC3R7lB,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,MAAMgb,EAAiB3b,KAAK4b,oBACtBhb,EAASZ,KAAK6b,kBACpB,OAAOvjB,MAAc;6EAC4CsI;UACnE+a;;KAGF,CACA,MAAA/a,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,gBACT,CACA,cAAAA,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,eAAAF,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACI,GAAItS,KAAK0S,eAAgB,CACrB,MAAMiJ,EAAiB3b,KAAK4b,oBACtBhb,EAASZ,KAAK6b,kBACpB7b,KAAK0S,eAAezB,UAAY0K,EAChC3b,KAAK0S,eAAe9M,aAAa,QAAShF,EAC9C,CACJ,CACA,iBAAAgb,GACI,GAAmB,OAAf5b,KAAKjI,YAAiC0b,IAAfzT,KAAKjI,OAAsC,KAAfiI,KAAKjI,MACxD,MAAO,GAGX,GAAIiI,KAAKwS,OAAOkB,UACZ,OAAO1T,KAAKwS,OAAOkB,UAAU1T,KAAKjI,MAAOiI,KAAKyS,SAGlD,MAAMQ,EAASjT,KAAKwS,OAAOiC,cAAgB,CACvCK,SAAU9U,KAAK8U,SACfC,mBAAoB/U,KAAK+U,mBACzBI,OAAQnV,KAAKmV,OACbC,OAAQpV,KAAKoV,OACbF,cAAelV,KAAKkV,eAElBR,EAAMjU,OAAOT,KAAKjI,OACxB,GAAI4c,MAAMD,GACN,OAAOpO,OAAOtG,KAAKjI,OAEvB,IAAI6c,EAAYF,EAAIG,QAAQ5B,EAAO6B,UAAY9U,KAAK8U,UAEpD,GAAI7B,EAAO8B,oBAAsB/U,KAAK+U,mBAAoB,CACtD,MAAMC,EAAQJ,EAAUxH,MAAM,KAC9B4H,EAAM,GAAKA,EAAM,GAAGC,QAAQ,wBAAyB,KACrDL,EAAYI,EAAMpQ,KAAK,IAC3B,CAEA,GAAI8P,EAAM,EAAG,CACT,MAAMoH,EAAW7I,EAAOiC,eAAiBlV,KAAKkV,cAC7B,gBAAb4G,EACAlH,EAAY,IAAIA,EAAUK,QAAQ,IAAK,OAErB,QAAb6G,IAELlH,EAAYA,EAAUK,QAAQ,IAAK,IAE3C,CAEA,MAAME,EAASlC,EAAOkC,QAAUnV,KAAKmV,OAC/BC,EAASnC,EAAOmC,QAAUpV,KAAKoV,OAKrC,OAJID,IACAP,EAAYO,EAASP,GACrBQ,IACAR,GAAwBQ,GACrBR,CACX,CACA,eAAAiH,GACI,MAAMnH,EAAMjU,OAAOT,KAAKjI,OAIxB,GAFAiI,KAAK0F,UAAUa,OAAO,mBAAoB,mBAAoB,eAAgB,uBAE1EmO,EAAM,EAAG,CACT1U,KAAK0F,UAAUG,IAAI,oBAEF,SADA7F,KAAKwS,OAAOiC,cAAcS,eAAiBlV,KAAKkV,gBAE7DlV,KAAK0F,UAAUG,IAAI,uBAE3B,MACS6O,EAAM,GACX1U,KAAK0F,UAAUG,IAAI,oBACf7F,KAAK0b,WACL1b,KAAK0F,UAAUG,IAAI,wBAGV,IAAR6O,GACL1U,KAAK0F,UAAUG,IAAI,gBAEvB,MAAO,mBACX,CACA,WAAAxB,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,UAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,WAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,EAAqB,KAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,SACNgS,MAAO,WAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClInS,KAAK8U,UAAYjd,EAAkBmI,KAAMoS,GAAoCva,EAAkBmI,KAAM8a,EAAwB,IAC7H9a,KAAK+U,oBAAsBld,EAAkBmI,KAAM+a,GAA8BljB,EAAkBmI,KAAMgb,GAAkC,IAC3Ihb,KAAKmV,QAAUtd,EAAkBmI,KAAMib,GAAwCpjB,EAAkBmI,KAAMkb,EAAsB,KAC7Hlb,KAAKoV,QAAUvd,EAAkBmI,KAAMmb,GAA4BtjB,EAAkBmI,KAAMob,EAAsB,KACjHpb,KAAKkV,eAAiBrd,EAAkBmI,KAAMqb,GAA4BxjB,EAAkBmI,KAAMsb,EAA6B,UAC/Htb,KAAK0b,WAAa7jB,EAAkBmI,KAAMub,GAAmC1jB,EAAkBmI,KAAMwb,GAAyB,IAC9H3jB,EAAkBmI,KAAMyb,EAC5B,GAGP,EArNqB,GCAF,MAChB,IACI5iB,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGAqK,EAGAC,EAGAC,EAGAC,EAGAC,EAGAxhB,EACAC,EACAC,EACA8W,EACAC,EA3CA3V,EAAmB,CAACC,UAAQ,oBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,GAEpCgK,EAA2B,GAC3BC,EAAgC,GAEhCC,EAA6B,GAC7BC,EAAkC,GAElCC,EAAuB,GACvBC,EAA4B,GAE5BC,EAA6B,GAC7BC,EAAkC,GAElCC,EAAyB,GACzBC,EAA8B,IAMlC,cAAexgB,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpCqb,EAAyB,CAAC1b,EAAAA,SAAS,CAAEC,UAAW,iBAChD0b,EAA2B,CAAC3b,EAAAA,SAAS,CAAEC,UAAW,mBAClD2b,EAAqB,CAAC5b,WAAS,CAAA,IAC/B6b,EAA2B,CAAC7b,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,mBACjE6b,EAAuB,CAAC9b,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,eAC7D3F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,WAC5ClL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAM,KAAMmmB,EAAwB,CAAExlB,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIkV,WAAY9e,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkV,WAAaxe,IAAYoI,SAAUF,GAAamc,EAA0BC,GACjSzmB,EAAa,KAAM,KAAMomB,EAA0B,CAAEzlB,KAAM,QAASO,KAAM,eAAgBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,iBAAkBA,EAAK7J,IAAK6J,GAAOA,EAAIsV,aAAclf,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIsV,aAAe5e,IAAYoI,SAAUF,GAAaqc,EAA4BC,GAC7S3mB,EAAa,KAAM,KAAMqmB,EAAoB,CAAE1lB,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAI8V,OAAQ1f,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI8V,OAASpf,IAAYoI,SAAUF,GAAauc,EAAsBC,GACzQ7mB,EAAa,KAAM,KAAMsmB,EAA0B,CAAE3lB,KAAM,QAASO,KAAM,eAAgBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,iBAAkBA,EAAK7J,IAAK6J,GAAOA,EAAIyb,aAAcrlB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIyb,aAAe/kB,IAAYoI,SAAUF,GAAayc,EAA4BC,GAC7S/mB,EAAa,KAAM,KAAMumB,EAAsB,CAAE5lB,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI0b,SAAUtlB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI0b,SAAWhlB,IAAYoI,SAAUF,GAAa2c,EAAwBC,GACrRjnB,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,MAAMgb,EAAiB3b,KAAKgd,kBACtBC,EAAajd,KAAKkd,gBACxB,OAAO5kB,MAAc;2EAC0C2kB;UACjEtB;;KAGF,CACA,MAAA/a,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,gBACT,CACA,cAAAA,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,eAAAF,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACI,GAAItS,KAAK0S,eAAgB,CACrB,MAAMiJ,EAAiB3b,KAAKgd,kBACtBpc,EAASZ,KAAKkd,gBACpBld,KAAK0S,eAAezB,UAAY0K,EAChC3b,KAAK0S,eAAe9M,aAAa,QAAShF,EAC9C,CACJ,CACA,eAAAoc,GACI,GAAmB,OAAfhd,KAAKjI,YAAiC0b,IAAfzT,KAAKjI,OAAsC,KAAfiI,KAAKjI,MACxD,MAAO,GAGX,GAAIiI,KAAKwS,OAAOkB,UACZ,OAAO1T,KAAKwS,OAAOkB,UAAU1T,KAAKjI,MAAOiI,KAAKyS,SAElD,MAAM+D,EAAO,IAAIC,KAAKzW,KAAKjI,OAC3B,GAAI4c,MAAM6B,EAAKE,WACX,OAAOpQ,OAAOtG,KAAKjI,OAGvB,GAAIiI,KAAK8c,aACL,OAAO9c,KAAKmd,mBAAmB3G,GAGnC,MAAMvD,EAASjT,KAAKwS,OAAO+D,YAAc,CACrCtD,OAAQjT,KAAKuW,WACbI,aAAc3W,KAAK2W,aACnBQ,OAAQnX,KAAKmX,QAGjB,GAAIlE,EAAO0D,cAAgB3W,KAAK2W,aAC5B,OAAO3W,KAAKod,iBAAiB5G,EAAMvD,EAAO0D,cAAgB3W,KAAK2W,cAGnE,MAAM3L,EAAU,CAAA,EAEhB,OADmBiI,EAAOA,QAAUjT,KAAKuW,YAErC,IAAK,QACDvL,EAAQiM,UAAY,QACpB,MACJ,IAAK,SACDjM,EAAQiM,UAAY,SACpB,MACJ,IAAK,OACDjM,EAAQiM,UAAY,OACpB,MACJ,IAAK,OACDjM,EAAQiM,UAAY,OAIxBjX,KAAK+c,WACL/R,EAAQqS,UAAY,SAExB,MAAMlG,EAASlE,EAAOkE,QAAUnX,KAAKmX,OACrC,OAAO,IAAI1B,KAAKyB,eAAeC,EAAQnM,GAASiI,OAAOuD,EAC3D,CACA,gBAAA4G,CAAiB5G,EAAMvD,GACnB,MAAMqK,EAAS,CACXC,KAAQ/G,EAAKI,cAAcC,WAC3B2G,GAAMhH,EAAKI,cAAcC,WAAWpe,UACpCglB,IAAOjH,EAAKM,WAAa,GAAGD,WAAWE,SAAS,EAAG,KACnD2G,GAAMlH,EAAKM,WAAa,GAAGD,WAC3B8G,GAAMnH,EAAKQ,UAAUH,WAAWE,SAAS,EAAG,KAC5C6G,EAAKpH,EAAKQ,UAAUH,WACpBgH,GAAMrH,EAAKsH,WAAWjH,WAAWE,SAAS,EAAG,KAC7CgH,EAAKvH,EAAKsH,WAAWjH,WACrBmH,GAAMxH,EAAKyH,aAAapH,WAAWE,SAAS,EAAG,KAC/CtH,EAAK+G,EAAKyH,aAAapH,WACvBqH,GAAM1H,EAAK2H,aAAatH,WAAWE,SAAS,EAAG,KAC/CqH,EAAK5H,EAAK2H,aAAatH,YAE3B,IAAIjC,EAAY3B,EAChB,IAAK,MAAOoL,EAAOtmB,KAAUnB,OAAO0nB,QAAQhB,GACxC1I,EAAYA,EAAUK,QAAQ,IAAIsJ,OAAOF,EAAO,KAAMtmB,GAE1D,OAAO6c,CACX,CACA,kBAAAuI,CAAmB3G,GACf,MACMgI,GADM,IAAI/H,MACGC,UAAYF,EAAKE,UAC9B+H,EAAW7I,KAAKS,MAAMmI,EAAS,KAC/BE,EAAW9I,KAAKS,MAAMoI,EAAW,IACjCE,EAAY/I,KAAKS,MAAMqI,EAAW,IAClCE,EAAWhJ,KAAKS,MAAMsI,EAAY,IACxC,OAAIF,EAAW,GACJ,WAEFC,EAAW,GACT,GAAGA,WAA+B,IAAbA,EAAiB,GAAK,UAE7CC,EAAY,GACV,GAAGA,SAA+B,IAAdA,EAAkB,GAAK,UAE7CC,EAAW,EACT,GAAGA,QAA4B,IAAbA,EAAiB,GAAK,UAIxC,IAAInJ,KAAKyB,eAAelX,KAAKmX,OAAQ,CAAEF,UAAW,UAAWhE,OAAOuD,EAEnF,CACA,aAAA0G,GACI,MAAM1G,EAAO,IAAIC,KAAKzW,KAAKjI,OACrB8mB,EAAM,IAAIpI,KACVqI,EAAUtI,EAAKuI,iBAAmBF,EAAIE,eACtCC,EAASxI,EAAOqI,EAChBI,EAAWzI,EAAOqI,EAYxB,OAVA7e,KAAK0F,UAAUa,OAAO,cAAe,aAAc,gBAC/CuY,EACA9e,KAAK0F,UAAUG,IAAI,eAEdmZ,EACLhf,KAAK0F,UAAUG,IAAI,cAEdoZ,GACLjf,KAAK0F,UAAUG,IAAI,gBAEhB,EACX,CACA,WAAAxB,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,SAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,SAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,EAAqB,KAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,OACNgS,MAAO,UAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClInS,KAAKuW,YAAc1e,EAAkBmI,KAAMoS,GAAoCva,EAAkBmI,KAAMoc,EAA0B,UACjIpc,KAAK2W,cAAgB9e,EAAkBmI,KAAMqc,GAAgCxkB,EAAkBmI,KAAMsc,OAA4B,IACjItc,KAAKmX,QAAUtf,EAAkBmI,KAAMuc,GAAkC1kB,EAAkBmI,KAAMwc,EAAsB,UACvHxc,KAAK8c,cAAgBjlB,EAAkBmI,KAAMyc,GAA4B5kB,EAAkBmI,KAAM0c,GAA4B,IAC7H1c,KAAK+c,UAAYllB,EAAkBmI,KAAM2c,GAAkC9kB,EAAkBmI,KAAM4c,GAAwB,IAC3H/kB,EAAkBmI,KAAM6c,EAC5B,GAGP,EA3PmB,GCAG,MACnB,IACIhkB,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGAwN,EAGAC,EAGAC,EAGAC,EAGAC,EAGA3kB,EACAC,EACAC,EACA8W,EACAC,EA3CA3V,EAAmB,CAACC,UAAQ,uBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,GAEpCmN,EAA0B,GAC1BC,EAA+B,GAE/BC,EAA2B,GAC3BC,EAAgC,GAEhCC,EAA2B,GAC3BC,EAAgC,GAEhCC,EAA2B,GAC3BC,EAAgC,GAEhCC,EAA4B,GAC5BC,EAAiC,IAMrC,cAAe3jB,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpCwe,EAAwB,CAAC7e,EAAAA,SAAS,CAAEC,UAAW,gBAC/C6e,EAAyB,CAAC9e,EAAAA,SAAS,CAAEC,UAAW,iBAChD8e,EAAyB,CAAC/e,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,iBAC/D+e,EAAyB,CAAChf,EAAAA,SAAS,CAAEC,UAAW,iBAChDgf,EAA0B,CAACjf,EAAAA,SAAS,CAAEC,UAAW,kBACjD3F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,WAC5ClL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAM,KAAMspB,EAAuB,CAAE3oB,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAIoW,UAAWhgB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoW,UAAY1f,IAAYoI,SAAUF,GAAasf,EAAyBC,GAC3R5pB,EAAa,KAAM,KAAMupB,EAAwB,CAAE5oB,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIqW,WAAYjgB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqW,WAAa3f,IAAYoI,SAAUF,GAAawf,EAA0BC,GACjS9pB,EAAa,KAAM,KAAMwpB,EAAwB,CAAE7oB,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIiW,WAAY7f,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIiW,WAAavf,IAAYoI,SAAUF,GAAa0f,EAA0BC,GACjShqB,EAAa,KAAM,KAAMypB,EAAwB,CAAE9oB,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIkW,WAAY9f,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkW,WAAaxf,IAAYoI,SAAUF,GAAa4f,EAA0BC,GACjSlqB,EAAa,KAAM,KAAM0pB,EAAyB,CAAE/oB,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAImW,YAAa/f,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImW,YAAczf,IAAYoI,SAAUF,GAAa8f,EAA2BC,GACvSpqB,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,MAAMjI,EAAUsH,KAAKigB,uBACrB,OAAO3nB,MAAc;;UAEvB4nB,EAAAA,WAAWxnB;;KAGb,CACA,MAAAkI,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,gBACT,CACA,cAAAA,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,eAAAF,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACI,GAAItS,KAAK0S,eAAgB,CACrB,MAAMha,EAAUsH,KAAKigB,uBACrBjgB,KAAK0S,eAAezB,UAAYvY,CACpC,CACJ,CACA,oBAAAunB,GACI,GAAmB,OAAfjgB,KAAKjI,YAAiC0b,IAAfzT,KAAKjI,MAC5B,MAAO,GAGX,GAAIiI,KAAKwS,OAAOkB,UACZ,OAAO1T,KAAKwS,OAAOkB,UAAU1T,KAAKjI,MAAOiI,KAAKyS,SAGlD,MAAMQ,EAASjT,KAAKwS,OAAO4E,eAAiB,CACxCK,UAAWzX,KAAKyX,UAChBC,WAAY1X,KAAK0X,WACjBJ,WAAYtX,KAAKsX,WACjBC,WAAYvX,KAAKuX,WACjBC,YAAaxX,KAAKwX,aAEhB2I,EAAS3f,QAAQR,KAAKjI,OAC5B,GAAIkb,EAAOqE,YAActX,KAAKsX,WAAY,CAGtC,MAAO,gBADY6I,EAAS,gBAAkB,qBAD/BA,EAAUlN,EAAOsE,YAAcvX,KAAKuX,WAAetE,EAAOuE,aAAexX,KAAKwX,oBAGjG,CAII,MAAO,gBADY2I,EAAS,gBAAkB,qBADjCA,EAAUlN,EAAOwE,WAAazX,KAAKyX,UAAcxE,EAAOyE,YAAc1X,KAAK0X,mBAIhG,CACA,WAAArT,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,WAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,YAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,GAAqB,IAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,UACNgS,MAAO,YAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClInS,KAAKyX,WAAa5f,EAAkBmI,KAAMoS,GAAoCva,EAAkBmI,KAAMuf,EAAyB,SAC/Hvf,KAAK0X,YAAc7f,EAAkBmI,KAAMwf,GAA+B3nB,EAAkBmI,KAAMyf,EAA0B,UAC5Hzf,KAAKsX,YAAczf,EAAkBmI,KAAM0f,GAAgC7nB,EAAkBmI,KAAM2f,GAA0B,IAC7H3f,KAAKuX,YAAc1f,EAAkBmI,KAAM4f,GAAgC/nB,EAAkBmI,KAAM6f,EAA0B,MAC7H7f,KAAKwX,aAAe3f,EAAkBmI,KAAM8f,GAAgCjoB,EAAkBmI,KAAM+f,EAA2B,MAC/HloB,EAAkBmI,KAAMggB,EAC5B,GAGP,EAlKsB,GCDL,MACd,IACInnB,EAEAC,EAGAI,EAGAa,EAGAqmB,EAGAC,EAGAC,EAGA3lB,EACAC,EAtBAqB,EAAmB,CAACC,UAAQ,iBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BO,EAAsB,GACtBC,EAA2B,GAE3ByB,EAAoB,GACpBC,EAAyB,GAEzB8hB,EAAuB,GACvBC,EAA4B,GAE5BC,EAA4B,GAC5BC,EAAiC,GAEjCC,EAAsB,GACtBC,EAA2B,IAG/B,cAAevkB,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HjH,EAAoB,CAACmH,EAAAA,SAAS,CAAEE,KAAME,UACtC1G,EAAkB,CAACsG,EAAAA,SAAS,CAAEE,KAAME,UACpC2f,EAAqB,CAAC/f,EAAAA,YACtBggB,EAA0B,CAAChgB,EAAAA,YAC3BigB,EAAoB,CAACjgB,EAAAA,YACrB1F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtBhL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAMmE,EAAiB,CAAExD,KAAM,QAASO,KAAM,MAAOoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,QAASA,EAAK7J,IAAK6J,GAAOA,EAAIkC,IAAK9L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkC,IAAMxL,IAAYoI,SAAUF,GAAazB,EAAmBC,GACvP7I,EAAa,KAAM,KAAMwqB,EAAoB,CAAE7pB,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIwW,OAAQpgB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIwW,OAAS9f,IAAYoI,SAAUF,GAAasgB,EAAsBC,GACzQ5qB,EAAa,KAAM,KAAMyqB,EAAyB,CAAE9pB,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAIyW,YAAargB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIyW,YAAc/f,IAAYoI,SAAUF,GAAawgB,EAA2BC,GACvS9qB,EAAa,KAAM,KAAM0qB,EAAmB,CAAE/pB,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAI+R,MAAO3b,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI+R,MAAQrb,IAAYoI,SAAUF,GAAa0gB,EAAqBC,GACnQhrB,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,MAAMkgB,EAASjL,KAAK4C,MAAMxY,KAAKjI,OACzB+oB,EAAQ9gB,KAAKuD,IAAMsd,EACzB,OAAOvoB,MAAc;6BACJ0H,KAAK6X,OAAOkJ,OAAOF,gCAAqC7gB,KAAK8X,YAAYiJ,OAAOD;KAErG,CACA,MAAAlgB,GACI,OAAOyE,KAAY;;;;;;;iBAOdrF,KAAKoT;;;;;;KAOd,CACA,WAAA/O,GACIC,SAASrM,WACT+H,KAAKjI,OAASF,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAMlD,EAAqB,IAChHkD,KAAKuD,KAAO1L,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAMxB,EAAmB,IAC1GwB,KAAK6X,QAAUhgB,EAAkBmI,KAAMvB,GAAyB5G,EAAkBmI,KAAMugB,EAAsB,MAC9GvgB,KAAK8X,aAAejgB,EAAkBmI,KAAMwgB,GAA4B3oB,EAAkBmI,KAAMygB,EAA2B,MAC3HzgB,KAAKoT,OAASvb,EAAkBmI,KAAM0gB,GAAiC7oB,EAAkBmI,KAAM2gB,EAAqB,YACpH9oB,EAAkBmI,KAAM4gB,EAC5B,GAGP,EAjFiB,GCEI,MAClB,IACI/nB,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGA/W,EACAC,EACAC,EACA8W,EACAC,EA5BA3V,EAAmB,CAACC,UAAQ,sBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,IAMxC,cAAe/V,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpC/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,WAC5ClL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,OAAOrI,MAAc;;;;KAKzB,CACA,MAAAsI,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,iBACL5S,KAAKghB,qBACT,CACA,cAAApO,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,eAAAF,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACItS,KAAKghB,qBACT,CACA,mBAAAA,GACI,IAAKhhB,KAAK0S,eACN,OAEJ1S,KAAK0S,eAAezB,UAAY,GAEhC,MAAM2G,EAAShJ,SAASsC,cAAc,gBACtC0G,EAAO7f,MAAQ0I,OAAOT,KAAKjI,QAAU,EAErC,MAAMkb,EAASjT,KAAKwS,OAAOmF,cAAgB,CAAA,EAC3CC,EAAOrU,IAAM0P,EAAO1P,KAAO,EAC3BqU,EAAOC,OAAS5E,EAAO4E,QAAU,IACjCD,EAAOE,YAAc7E,EAAO6E,aAAe,IAC3CF,EAAOxE,MAAQH,EAAOG,OAAS4E,iBAAiBhY,MAAMiY,iBAAiB,yBAAyBtQ,OAChG3H,KAAK0S,eAAevB,YAAYyG,EACpC,CACA,WAAAvT,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,WAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,WAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,EAAqB,IAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,SACNgS,MAAO,YAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClIta,EAAkBmI,KAAMoS,EAC5B,GAGP,EArHqB,GCFF,MAChB,IACIvZ,EAEAC,EAGAI,EAGAa,EAGAumB,EAGAW,EAGAC,EAGAC,EAGAxmB,EACAC,EAzBAqB,EAAmB,CAACC,UAAQ,mBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BO,EAAsB,GACtBC,EAA2B,GAE3ByB,EAAoB,GACpBC,EAAyB,GAEzBkiB,EAAsB,GACtBC,EAA2B,GAE3BQ,EAAgC,GAChCC,EAAqC,GAErCC,EAAuB,GACvBC,EAA4B,GAE5BC,EAA+B,GAC/BC,EAAoC,IAGxC,cAAeplB,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HjH,EAAoB,CAACmH,EAAAA,SAAS,CAAEE,KAAME,UACtC1G,EAAkB,CAACsG,EAAAA,SAAS,CAAEE,KAAME,UACpC6f,EAAoB,CAACjgB,EAAAA,YACrB4gB,EAA8B,CAAC5gB,EAAAA,YAC/B6gB,EAAqB,CAAC7gB,EAAAA,YACtB8gB,EAA6B,CAAC9gB,EAAAA,SAAS,CAAEE,KAAMC,WAC/C7F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtBhL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAMmE,EAAiB,CAAExD,KAAM,QAASO,KAAM,MAAOoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,QAASA,EAAK7J,IAAK6J,GAAOA,EAAIkC,IAAK9L,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkC,IAAMxL,IAAYoI,SAAUF,GAAazB,EAAmBC,GACvP7I,EAAa,KAAM,KAAM0qB,EAAmB,CAAE/pB,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAI+R,MAAO3b,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI+R,MAAQrb,IAAYoI,SAAUF,GAAa0gB,EAAqBC,GACnQhrB,EAAa,KAAM,KAAMqrB,EAA6B,CAAE1qB,KAAM,QAASO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAI8R,gBAAiB1b,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI8R,gBAAkBpb,IAAYoI,SAAUF,GAAamhB,EAA+BC,GAC/TzrB,EAAa,KAAM,KAAMsrB,EAAoB,CAAE3qB,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIiX,OAAQ7gB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIiX,OAASvgB,IAAYoI,SAAUF,GAAaqhB,EAAsBC,GACzQ3rB,EAAa,KAAM,KAAMurB,EAA4B,CAAE5qB,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIkX,eAAgB9gB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkX,eAAiBxgB,IAAYoI,SAAUF,GAAauhB,EAA8BC,GACzT7rB,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,MAAMyX,EAAaxC,KAAKtS,IAAI,IAAMtD,KAAKjI,MAAQiI,KAAKuD,IAAO,KAC3D,OAAOjL,MAAc;;kDAEiB8f;;YAEtCpY,KAAKuY;mCACkBH,EAAWvD,QAAQ;;KAG9C,CACA,MAAAjU,GACI,OAAOyE,KAAY;;;;;;;;;;kBAUbrF,KAAKsY;sBACDtY,KAAKmT;;;;;;;sBAOLnT,KAAKoT;;;;;;;;;KAUnB,CACA,WAAA/O,GACIC,SAASrM,WACT+H,KAAKjI,OAASF,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAMlD,EAAqB,IAChHkD,KAAKuD,KAAO1L,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAMxB,EAAmB,MAC1GwB,KAAKoT,OAASvb,EAAkBmI,KAAMvB,GAAyB5G,EAAkBmI,KAAM2gB,EAAqB,YAC5G3gB,KAAKmT,iBAAmBtb,EAAkBmI,KAAM4gB,GAA2B/oB,EAAkBmI,KAAMohB,EAA+B,YAClIphB,KAAKsY,QAAUzgB,EAAkBmI,KAAMqhB,GAAqCxpB,EAAkBmI,KAAMshB,EAAsB,WAC1HthB,KAAKuY,gBAAkB1gB,EAAkBmI,KAAMuhB,GAA4B1pB,EAAkBmI,KAAMwhB,GAA8B,IACjI3pB,EAAkBmI,KAAMyhB,EAC5B,GAGP,EAzGmB,GCEI,MACpB,IACI5oB,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGA/W,EACAC,EACAC,EACA8W,EACAC,EA5BA3V,EAAmB,CAACC,UAAQ,wBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,IAMxC,cAAe/V,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpC/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,WAC5ClL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,OAAOrI,MAAc;;;;KAKzB,CACA,MAAAsI,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,iBACL5S,KAAK0hB,uBACT,CACA,cAAA9O,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,eAAAF,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACItS,KAAK0hB,uBACT,CACA,qBAAAA,GACI,IAAK1hB,KAAK0S,eACN,OAEJ1S,KAAK0S,eAAezB,UAAY,GAEhC,MAAM0Q,EAAW/S,SAASsC,cAAc,kBACxCyQ,EAAS5pB,MAAQ0I,OAAOT,KAAKjI,QAAU,EAEvC,MAAMkb,EAASjT,KAAKwS,OAAO2F,gBAAkB,CAAA,EAC7CwJ,EAASpe,IAAM0P,EAAO1P,KAAO,IAC7Boe,EAASvO,MAAQH,EAAOG,OAAS4E,iBAAiBhY,MAAMiY,iBAAiB,yBAAyBtQ,OAClGga,EAASxO,gBAAkBF,EAAOE,iBAAmB6E,iBAAiBhY,MAAMiY,iBAAiB,wBAAwBtQ,OACrHga,EAASrJ,OAASrF,EAAOqF,QAAU,SACnCqJ,EAASpJ,eAAiBtF,EAAOsF,iBAAkB,EACnDvY,KAAK0S,eAAevB,YAAYwQ,EACpC,CACA,WAAAtd,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,SAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,aAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,EAAqB,IAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,WACNgS,MAAO,UAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClIta,EAAkBmI,KAAMoS,EAC5B,GAGP,EAtHuB,GCDA,MACpB,IACIvZ,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGA/W,EACAC,EACAC,EACA8W,EACAC,EA5BA3V,EAAmB,CAACC,UAAQ,wBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,IAMxC,cAAe/V,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpC/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,WAC5ClL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,MAAMjI,EAAUsH,KAAKuU,iBACrB,OAAOjc,MAAc;;UAEvBI;;KAGF,CACA,MAAAkI,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,gBACT,CACA,cAAAA,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,eAAAF,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACI,GAAItS,KAAK0S,eAAgB,CACrB,MAAMha,EAAUsH,KAAKuU,iBACrBvU,KAAK0S,eAAezB,UAAYvY,CACpC,CACJ,CACA,cAAA6b,GACI,GAAmB,OAAfvU,KAAKjI,YAAiC0b,IAAfzT,KAAKjI,MAC5B,MAAO,GAGX,GAAIiI,KAAKwS,OAAOkB,UACZ,OAAO1T,KAAKwS,OAAOkB,UAAU1T,KAAKjI,MAAOiI,KAAKyS,SAElD,MAAM0G,EAAU1Y,OAAOT,KAAKjI,OAC5B,GAAI4c,MAAMwE,GACN,OAAO7S,OAAOtG,KAAKjI,OACvB,MAAMqhB,EAAQxD,KAAKS,MAAM8C,EAAU,MAC7BE,EAAUzD,KAAKS,MAAO8C,EAAU,KAAQ,IACxCG,EAAO1D,KAAKS,MAAM8C,EAAU,IAClC,OAAIC,EAAQ,EACD,GAAGA,MAAUC,MAAYC,KAE3BD,EAAU,EACR,GAAGA,MAAYC,KAGf,GAAGA,IAElB,CACA,WAAAjV,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,UAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,aAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,EAAqB,IAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,WACNgS,MAAO,WAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClIta,EAAkBmI,KAAMoS,EAC5B,GAGP,EAhIuB,GCAA,MACpB,IACIvZ,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGA/W,EACAC,EACAC,EACA8W,EACAC,EA5BA3V,EAAmB,CAACC,UAAQ,wBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,IAMxC,cAAe/V,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpC/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,WAC5ClL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,MAAMjI,EAAUsH,KAAK4hB,iBACrB,OAAOtpB,MAAc;;UAEvBI;;KAGF,CACA,MAAAkI,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,gBACT,CACA,cAAAA,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,eAAAF,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACI,GAAItS,KAAK0S,eAAgB,CACrB,MAAMha,EAAUsH,KAAK4hB,iBACrB5hB,KAAK0S,eAAezB,UAAYvY,CACpC,CACJ,CACA,cAAAkpB,GACI,GAAmB,OAAf5hB,KAAKjI,YAAiC0b,IAAfzT,KAAKjI,MAC5B,MAAO,GAGX,GAAIiI,KAAKwS,OAAOkB,UACZ,OAAO1T,KAAKwS,OAAOkB,UAAU1T,KAAKjI,MAAOiI,KAAKyS,SAElD,MAAM8G,EAAQ9Y,OAAOT,KAAKjI,OAC1B,GAAI4c,MAAM4E,GACN,OAAOjT,OAAOtG,KAAKjI,OACvB,MAAMyhB,EAAQ,CAAC,IAAK,KAAM,KAAM,KAAM,MACtC,IAAI/W,EAAO8W,EACPE,EAAY,EAChB,KAAOhX,GAAQ,MAAQgX,EAAYD,EAAMviB,OAAS,GAC9CwL,GAAQ,KACRgX,IAEJ,MAAO,GAAGhX,EAAKoS,QAAQ,MAAM2E,EAAMC,IACvC,CACA,WAAApV,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,UAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,aAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,EAAqB,IAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,WACNgS,MAAO,WAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClIta,EAAkBmI,KAAMoS,EAC5B,GAGP,EA5HuB,GCAC,MACrB,IACIvZ,EAEAC,EAGAyY,EAGAxY,EAGAG,EAGAsY,EAGAC,EAGAC,EAGAmQ,EAGAvB,EAGAwB,EAGAZ,EAGAa,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAznB,EACAC,EACAC,EACA8W,EACAC,EACAyQ,EA3DApmB,EAAmB,CAACC,UAAQ,yBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7BsV,EAAsB,GACtBC,EAA2B,GAE3BtV,EAAqB,GACrBC,EAA0B,GAE1BK,EAAsB,GACtBC,EAA2B,GAE3BgV,EAAuB,GACvBC,EAA4B,GAE5BC,EAAwB,GACxBC,EAA6B,GAE7BC,EAA+B,GAC/BC,EAAoC,GAEpCkQ,EAA0B,GAC1BC,EAA+B,GAE/B5B,EAAsB,GACtBC,EAA2B,GAE3B4B,EAAsB,GACtBC,EAA2B,GAE3BnB,EAAuB,GACvBC,EAA4B,GAE5BmB,EAAyB,GACzBC,EAA8B,GAE9BC,GAA6B,GAC7BC,GAAkC,GAElCC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAAyB,GACzBC,GAA8B,GAE9BC,GAAyB,GACzBC,GAA8B,GAE9BC,GAAqB,GACrBC,GAA0B,IAO9B,cAAehnB,SACFvD,EAAakH,IAAK,QAEvB,MAAMC,EAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HoR,EAAoB,CAAClR,WAAS,CAAA,IAC9BtH,EAAmB,CAACsH,WAAS,CAAA,IAC7BnH,EAAoB,CAACmH,WAAS,CAAA,IAC9BmR,EAAqB,CAACnR,EAAAA,SAAS,CAAEE,KAAM3J,UACvC6a,EAAsB,CAACpR,EAAAA,SAAS,CAAEE,KAAM3J,UACxC8a,EAA6B,CAAChR,QAAM,kBACpCmhB,EAAwB,CAACxhB,EAAAA,SAAS,CAAEC,UAAW,gBAC/CggB,EAAoB,CAACjgB,WAAS,CAAA,IAC9ByhB,EAAoB,CAACzhB,EAAAA,SAAS,CAAEE,KAAME,UACtCygB,EAAqB,CAAC7gB,EAAAA,SAAS,CAAEE,KAAME,UACvCshB,EAAuB,CAAC1hB,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,eAC7D0hB,EAA2B,CAAC3hB,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,mBACjE2hB,EAA0B,CAAC5hB,EAAAA,SAAS,CAAEE,KAAME,OAAQH,UAAW,kBAC/D4hB,EAAuB,CAAC7hB,EAAAA,SAAS,CAAEE,KAAME,OAAQH,UAAW,eAC5D6hB,EAAuB,CAAC9hB,EAAAA,SAAS,CAAEE,KAAME,OAAQH,UAAW,eAC5D8hB,EAAmB,CAAC/hB,EAAAA,SAAS,CAAEE,KAAM+iB,EAAAA,eACrC3oB,EAAqB,CAACgG,EAAAA,UACtB/F,EAAqB,CAACgG,EAAAA,UACtB/F,EAAmB,CAACgG,EAAAA,SACpB8Q,EAA8B,CAAC7Q,QAAM,UACrC8Q,EAA4B,CAAC9Q,EAAAA,MAAM,QAAS,OAAQ,WACpDuhB,EAA8B,CAACvhB,EAAAA,MAAM,QAAS,OAAQ,YAAa,QAAS,QAAS,SAAU,WAAY,eAAgB,cAAe,WAAY,aACtJlL,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,GAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMnF,EAAkB,CAAEtE,KAAM,SAAUO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI3J,MAAQyI,SAAUF,GAAa,KAAM1D,GACpM3G,EAAaoK,KAAM,KAAM2R,EAA6B,CAAEpb,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIgR,iBAAmBlS,SAAUF,GAAa,KAAM1D,GAChP3G,EAAaoK,KAAM,KAAM4R,EAA2B,CAAErb,KAAM,SAAUO,KAAM,gBAAiBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,kBAAmBA,EAAK7J,IAAK6J,GAAOA,EAAIiR,eAAiBnS,SAAUF,GAAa,KAAM1D,GACxO3G,EAAaoK,KAAM,KAAMqiB,EAA6B,CAAE9rB,KAAM,SAAUO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIkiB,iBAAmBpjB,SAAUF,GAAa,KAAM1D,GAChP3G,EAAa,KAAM,KAAM2b,EAAmB,CAAEhb,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIkR,MAAO9a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkR,MAAQxa,IAAYoI,SAAUF,GAAa4R,EAAqBC,GACnQlc,EAAa,KAAM,KAAMmD,EAAkB,CAAExC,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAId,KAAM9I,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAId,KAAOxI,IAAYoI,SAAUF,GAAazD,EAAoBC,GAC7P7G,EAAa,KAAM,KAAMsD,EAAmB,CAAE3C,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAItJ,MAAON,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAItJ,MAAQA,IAAYoI,SAAUF,GAAanD,EAAqBC,GACnQnH,EAAa,KAAM,KAAM4b,EAAoB,CAAEjb,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAImR,OAAQ/a,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImR,OAASza,IAAYoI,SAAUF,GAAa8R,EAAsBC,GACzQpc,EAAa,KAAM,KAAM6b,EAAqB,CAAElb,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIoR,QAAShb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoR,QAAU1a,IAAYoI,SAAUF,GAAagS,EAAuBC,GAC/Qtc,EAAa,KAAM,KAAM8b,EAA4B,CAAEnb,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIqR,eAAgBjb,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqR,eAAiB3a,IAAYoI,SAAUF,GAAakS,EAA8BC,GACzTxc,EAAa,KAAM,KAAMisB,EAAuB,CAAEtrB,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAImiB,UAAW/rB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAImiB,UAAYzrB,IAAYoI,SAAUF,GAAaqiB,EAAyBC,GAC3R3sB,EAAa,KAAM,KAAM0qB,EAAmB,CAAE/pB,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAI+R,MAAO3b,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI+R,MAAQrb,IAAYoI,SAAUF,GAAa0gB,EAAqBC,GACnQhrB,EAAa,KAAM,KAAMksB,EAAmB,CAAEvrB,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIuX,MAAOnhB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIuX,MAAQ7gB,IAAYoI,SAAUF,GAAauiB,EAAqBC,GACnQ7sB,EAAa,KAAM,KAAMsrB,EAAoB,CAAE3qB,KAAM,QAASO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIiX,OAAQ7gB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIiX,OAASvgB,IAAYoI,SAAUF,GAAaqhB,EAAsBC,GACzQ3rB,EAAa,KAAM,KAAMmsB,EAAsB,CAAExrB,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAIoiB,SAAUhsB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIoiB,SAAW1rB,IAAYoI,SAAUF,GAAayiB,EAAwBC,GACrR/sB,EAAa,KAAM,KAAMosB,EAA0B,CAAEzrB,KAAM,QAASO,KAAM,eAAgBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,iBAAkBA,EAAK7J,IAAK6J,GAAOA,EAAIqiB,aAAcjsB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqiB,aAAe3rB,IAAYoI,SAAUF,GAAa2iB,GAA4BC,IAC7SjtB,EAAa,KAAM,KAAMqsB,EAAyB,CAAE1rB,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAIsiB,YAAalsB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIsiB,YAAc5rB,IAAYoI,SAAUF,GAAa6iB,GAA2BC,IACvSntB,EAAa,KAAM,KAAMssB,EAAsB,CAAE3rB,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAIuiB,SAAUnsB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIuiB,SAAW7rB,IAAYoI,SAAUF,GAAa+iB,GAAwBC,IACrRrtB,EAAa,KAAM,KAAMusB,EAAsB,CAAE5rB,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAIwiB,SAAUpsB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIwiB,SAAW9rB,IAAYoI,SAAUF,GAAaijB,GAAwBC,IACrRvtB,EAAa,KAAM,KAAMwsB,EAAkB,CAAE7rB,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAIqX,KAAMjhB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqX,KAAO3gB,IAAYoI,SAAUF,GAAamjB,GAAoBC,IAC7PztB,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,GAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,GAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,IACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,MAAAuE,GACI,OAAOrI,MAAc;;UAEvB4nB,EAAAA,WAAWlgB,KAAK8jB;;KAGlB,CACA,MAAAljB,GACI,OAAOyE,EAAAA,GAAY,GAAGiM,GAC1B,CACA,IAAA5Z,GACIsI,KAAK4S,iBACL5S,KAAKujB,iBACT,CACA,cAAA3Q,GACI5S,KAAKwF,MAAMsN,UAAY9S,KAAKuS,KAChC,CACA,eAAAF,GACIrS,KAAK4S,gBACT,CACA,aAAAN,GACQtS,KAAK0S,iBACL1S,KAAK0S,eAAezB,UAAYjR,KAAK8jB,kBAE7C,CACA,eAAAP,GACQvjB,KAAK0S,iBACL1S,KAAK0S,eAAezB,UAAYjR,KAAK8jB,kBAE7C,CACA,eAAAA,GACI,KAAoB,OAAf9jB,KAAKjI,YAAiC0b,IAAfzT,KAAKjI,OAA0BiI,KAAK0Y,MAA6B,IAArB1Y,KAAK0Y,KAAKzhB,QAC9E,MAAO,GAGX,GAAI+I,KAAKwS,OAAOkB,UACZ,OAAO1T,KAAKwS,OAAOkB,UAAU1T,KAAKjI,MAAOiI,KAAKyS,SAElD,MAAMiG,EAAO1Y,KAAK+jB,YAClB,GAAoB,IAAhBrL,EAAKzhB,OACL,MAAO,uBAAuB+gB,iBAAiBhY,MAAMiY,iBAAiB,gCAAgCtQ,8CAG1G,MAAMsL,EAASjT,KAAKwS,OAAOiG,iBAAmB,CAC1ClY,KAAMP,KAAKwjB,UACXpQ,MAAOpT,KAAKoT,MACZwF,MAAO5Y,KAAK4Y,MACZN,OAAQtY,KAAKsY,QAEXM,EAAQ3F,EAAO2F,OAAS5Y,KAAK4Y,MAC7BN,EAASrF,EAAOqF,QAAUtY,KAAKsY,OAC/BlF,EAAQH,EAAOG,OAASpT,KAAKoT,MAC7B7S,EAAO0S,EAAO1S,MAAQP,KAAKwjB,UACjC,OAAOxjB,KAAKgkB,aAAatL,EAAME,EAAON,EAAQlF,EAAO7S,EACzD,CACA,SAAAwjB,GAEI,GAAI/jB,KAAK0Y,MAAQ7I,MAAM8I,QAAQ3Y,KAAK0Y,OAAS1Y,KAAK0Y,KAAKzhB,OAAS,EAC5D,OAAO+I,KAAK0Y,KAAK3L,IAAIM,GAAK5M,OAAO4M,IAAI1I,OAAOsf,IAAMtP,MAAMsP,IAG5D,GAAIpU,MAAM8I,QAAQ3Y,KAAKjI,OACnB,OAAOiI,KAAKjI,MAAMgV,IAAIM,GAAK5M,OAAO4M,IAAI1I,OAAOsf,IAAMtP,MAAMsP,IAE7D,GAA0B,iBAAfjkB,KAAKjI,MAAoB,CAEhC,GAAIiI,KAAKjI,MAAMQ,WAAW,MAAQyH,KAAKjI,MAAMmsB,SAAS,KAClD,IACI,MAAMC,EAASC,KAAKC,MAAMrkB,KAAKjI,OAC/B,GAAI8X,MAAM8I,QAAQwL,GACd,OAAOA,EAAOpX,IAAIM,GAAK5M,OAAO4M,IAAI1I,OAAOsf,IAAMtP,MAAMsP,GAE7D,CACA,MAEA,CAGJ,IACI,OAAOjkB,KAAKjI,MAAMqV,MAAM,KAAKL,IAAIM,GAAK5M,OAAO4M,EAAE1F,SAAShD,OAAOsf,IAAMtP,MAAMsP,GAC/E,CACA,MACI,MAAO,EACX,CACJ,CACA,MAAO,EACX,CACA,YAAAD,CAAatL,EAAME,EAAON,EAAQlF,EAAO7S,GACrC,GAAoB,IAAhBmY,EAAKzhB,OACL,MAAO,GAEX,MAAMqtB,EAAS1V,SAASsC,cAAc,UACtCoT,EAAO1L,MAAQA,EACf0L,EAAOhM,OAASA,EAChB,MAAMiM,EAAMD,EAAOE,WAAW,MAC9B,IAAKD,EACD,MAAO,sDACX,MACME,EAAa7L,IACb8L,EAAcpM,IACdhV,EAAMtD,KAAK4jB,UAAYhO,KAAKtS,OAAOoV,GAEnCG,GADM7Y,KAAK6jB,UAAYjO,KAAKrS,OAAOmV,IACrBpV,GAAO,EAE3BihB,EAAII,UAAU,EAAG,EAAG/L,EAAON,GAE3B,IAAIsM,EAAgBxR,EACpB,GAAIA,EAAM7a,WAAW,QAAS,CAC1B,MAAMssB,EAAQzR,EAAMyR,MAAM,kBACtBA,IACAD,EAAgB5M,iBAAiBhY,MAAMiY,iBAAiB4M,EAAM,GAAGzX,MAAM,KAAK,GAAGzF,QAAQA,QAAU,UAEzG,CAOA,GALA4c,EAAIO,YAAcF,EAClBL,EAAIQ,UAAYH,EAChBL,EAAIS,UAAYhlB,KAAK2jB,YACrBY,EAAIU,QAAU,QACdV,EAAIW,SAAW,QACF,SAAT3kB,GAA4B,SAATA,EAAiB,CACpC,MAAMuY,EAASJ,EAAK3L,IAAI,CAACgM,EAAK/hB,IAGnB,CA1BC,EAwBaA,GAAK0hB,EAAKzhB,OAAS,GAAMwtB,EAxBtC,EAyBYC,GAAgB3L,EAAMzV,GAAOuV,EAAS6L,IAIjD,SAATnkB,IACAgkB,EAAIY,YACJZ,EAAIa,OAAOtM,EAAO,GAAG,GAAIA,EAAO,GAAG,IACnCA,EAAOzI,QAAQ,EAAEgV,EAAGC,KAAOf,EAAIgB,OAAOF,EAAGC,IACzCf,EAAIgB,OAAOzM,EAAOA,EAAO7hB,OAAS,GAAG,GAAIqhB,EAjCjC,GAkCRiM,EAAIgB,OAAOzM,EAAO,GAAG,GAAIR,EAlCjB,GAmCRiM,EAAIiB,YACJjB,EAAIkB,YAAc,GAClBlB,EAAImB,OACJnB,EAAIkB,YAAc,GAGtBlB,EAAIY,YACJZ,EAAIa,OAAOtM,EAAO,GAAG,GAAIA,EAAO,GAAG,IACnCA,EAAOzI,QAAQ,EAAEgV,EAAGC,KAAOf,EAAIgB,OAAOF,EAAGC,IACzCf,EAAIoB,SAEA3lB,KAAKyjB,UACL3K,EAAOzI,QAAQ,EAAEgV,EAAGC,MAChBf,EAAIY,YACJZ,EAAIqB,IAAIP,EAAGC,EAAG,IAAK,EAAG,EAAI1P,KAAKiQ,IAC/BtB,EAAImB,QAGhB,MACK,GAAa,QAATnlB,EAAgB,CACrB,MAAMyY,EAAYyL,EAAa/L,EAAKzhB,OAAU,GACxC6uB,EAAcrB,EAAa/L,EAAKzhB,OAAU,GAChDyhB,EAAKrI,QAAQ,CAAC0I,EAAK/hB,KACf,MAAMkiB,GAAcH,EAAMzV,GAAOuV,EAAS6L,EACpCW,EA3DE,EA2DYruB,GAAKgiB,EAAW8M,GAC9BR,EA5DE,EA4DYZ,EAAcxL,EAClCqL,EAAIwB,SAASV,EAAGC,EAAGtM,EAAUE,IAErC,CAEA,IAEI,MAAO,aADSoL,EAAO0B,UAAU,wBACMpN,cAAkBN,2EAC7D,CACA,MAAO2N,GAEH,OADAC,QAAQD,MAAM,+BAAgCA,GACvC,6CACX,CACJ,CACA,WAAA5hB,GACIC,SAASrM,WACT+H,KAAKuS,OAAS1a,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAM6R,EAAqB,SAChH7R,KAAKO,MAAQ1I,EAAkBmI,KAAM8R,GAA2Bja,EAAkBmI,KAAMxD,EAAoB,cAC5GwD,KAAKjI,OAASF,EAAkBmI,KAAMvD,GAA0B5E,EAAkBmI,KAAMlD,EAAqB,KAC7GkD,KAAKwS,QAAU3a,EAAkBmI,KAAMjD,GAA2BlF,EAAkBmI,KAAM+R,EAAsB,CAC5Gvb,IAAK,GACLoM,MAAO,GACPrC,KAAM,YACNgS,MAAO,UAEXvS,KAAKyS,SAAW5a,EAAkBmI,KAAMgS,GAA4Bna,EAAkBmI,KAAMiS,EAAuB,OACnHjS,KAAK0S,gBAAkB7a,EAAkBmI,KAAMkS,GAA6Bra,EAAkBmI,KAAMmS,OAA8B,IAClInS,KAAKwjB,WAAa3rB,EAAkBmI,KAAMoS,GAAoCva,EAAkBmI,KAAMsiB,EAAyB,SAC/HtiB,KAAKoT,OAASvb,EAAkBmI,KAAMuiB,GAA+B1qB,EAAkBmI,KAAM2gB,EAAqB,+BAClH3gB,KAAK4Y,OAAS/gB,EAAkBmI,KAAM4gB,GAA2B/oB,EAAkBmI,KAAMwiB,EAAqB,KAC9GxiB,KAAKsY,QAAUzgB,EAAkBmI,KAAMyiB,GAA2B5qB,EAAkBmI,KAAMshB,EAAsB,KAChHthB,KAAKyjB,UAAY5rB,EAAkBmI,KAAMuhB,GAA4B1pB,EAAkBmI,KAAM0iB,GAAwB,IACrH1iB,KAAK0jB,cAAgB7rB,EAAkBmI,KAAM2iB,GAA8B9qB,EAAkBmI,KAAM4iB,IAA4B,IAC/H5iB,KAAK2jB,aAAe9rB,EAAkBmI,KAAM6iB,IAAkChrB,EAAkBmI,KAAM8iB,GAA2B,MACjI9iB,KAAK4jB,UAAY/rB,EAAkBmI,KAAM+iB,IAAiClrB,EAAkBmI,KAAMgjB,QAAwB,IAC1HhjB,KAAK6jB,UAAYhsB,EAAkBmI,KAAMijB,IAA8BprB,EAAkBmI,KAAMkjB,QAAwB,IACvHljB,KAAK0Y,MAAQ7gB,EAAkBmI,KAAMmjB,IAA8BtrB,EAAkBmI,KAAMojB,GAAoB,KAC/GvrB,EAAkBmI,KAAMqjB,GAC5B,GAGP,EAxTwB,GCgBtB,IAAC8C,EAAa,MACb,IACIttB,EAEAC,EAGAstB,EAGAte,EAGAue,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGAC,EAGArtB,EAGAstB,EAGAC,EAGAC,EAGAC,EAGAC,EACAC,EACAxsB,EACAD,EACA0sB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAvEA9rB,EAAmB,CAACC,UAAQ,gBAE5BE,EAA0B,GAE1BC,EAAcC,YACdC,EAA6B,GAE7ByrB,EAAwB,GACxBC,EAA6B,GAE7B/e,EAA2B,GAC3BC,EAAgC,GAEhC+e,EAA2B,GAC3BC,EAAgC,GAEhCC,EAAyB,GACzBC,EAA8B,GAE9BC,EAA2B,GAC3BC,EAAgC,GAEhCC,EAA0B,GAC1BC,EAA+B,GAE/BC,EAA0B,GAC1BC,GAA+B,GAE/BC,GAAqB,GACrBC,GAA0B,GAE1BC,GAA+B,GAC/BC,GAAoC,GAEpCC,GAA4B,GAC5BC,GAAiC,GAEjCC,GAAyB,GACzBC,GAA8B,GAE9BC,GAAgC,GAChCC,GAAqC,GAErCzrB,GAAwB,GACxBC,GAA6B,GAE7ByrB,GAA6B,GAC7BC,GAAkC,GAElCC,GAAsB,GACtBC,GAA2B,GAE3BC,GAAsB,GACtBC,GAA2B,GAE3BC,GAAsB,GACtBC,GAA2B,GA44B/B,OA53BA,cAAextB,SACFvD,EAAakH,IAAK,CAC3B,WAAAqE,GACIC,SAASrM,WACT+H,KAAK8pB,SAAWjyB,EAAkBmI,KAAMzD,GAA6B1E,EAAkBmI,KAAMgoB,GAAuB,IACpHhoB,KAAK6K,YAAchT,EAAkBmI,KAAMioB,GAA6BpwB,EAAkBmI,KAAMkJ,GAA0B,IAC1HlJ,KAAK+pB,YAAclyB,EAAkBmI,KAAMmJ,GAAgCtR,EAAkBmI,KAAMkoB,GAA0B,IAC7HloB,KAAKgqB,UAAYnyB,EAAkBmI,KAAMmoB,GAAgCtwB,EAAkBmI,KAAMooB,GAAwB,IACzHpoB,KAAKiqB,YAAcpyB,EAAkBmI,KAAMqoB,GAA8BxwB,EAAkBmI,KAAMsoB,GAA0B,IAC3HtoB,KAAKkqB,WAAaryB,EAAkBmI,KAAMuoB,GAAgC1wB,EAAkBmI,KAAMwoB,GAAyB,IAC3HxoB,KAAKmqB,WAAatyB,EAAkBmI,KAAMyoB,GAA+B5wB,EAAkBmI,KAAM0oB,GAAyB,IAC1H1oB,KAAKoqB,MAAQvyB,EAAkBmI,KAAM2oB,IAA+B9wB,EAAkBmI,KAAM4oB,IAAoB,IAChH5oB,KAAKqqB,gBAAkBxyB,EAAkBmI,KAAM6oB,IAA0BhxB,EAAkBmI,KAAM8oB,GAA8B,MAE/H9oB,KAAKsqB,SAAWzyB,EAAkBmI,KAAM+oB,IAAoC,IAC5E/oB,KAAK0Y,KAAO,GACZ1Y,KAAKuqB,YAAc1yB,EAAkBmI,KAAMgpB,GAA2B,IAGtEhpB,KAAKwqB,YAAc3yB,EAAkBmI,KAAMipB,IAAiC,IAC5EjpB,KAAKyqB,SAAW5yB,EAAkBmI,KAAMkpB,GAAwB,IAChElpB,KAAK0qB,iBAAmB7yB,EAAkBmI,KAAMmpB,IAA8BtxB,EAAkBmI,KAAMopB,GAA+B,KACrIppB,KAAKiD,SAAWpL,EAAkBmI,KAAMqpB,IAAqCxxB,EAAkBmI,KAAMpC,IAAuB,IAC5HoC,KAAK2qB,cAAgB9yB,EAAkBmI,KAAMnC,IAA6BhG,EAAkBmI,KAAMspB,GAA4B,KAC9HtpB,KAAK4qB,OAAS/yB,EAAkBmI,KAAMupB,IAAkC1xB,EAAkBmI,KAAMwpB,QAAqB,IACrHxpB,KAAK6qB,OAAShzB,EAAkBmI,KAAMypB,IAA2B5xB,EAAkBmI,KAAM0pB,QAAqB,IAC9G1pB,KAAK8qB,OAASjzB,EAAkBmI,KAAM2pB,IAA2B9xB,EAAkBmI,KAAM4pB,QAAqB,IAC9G5pB,KAAK+qB,oBAAsBlzB,EAAkBmI,KAAM6pB,IAA2B,MAC9E7pB,KAAKgrB,YAAe/kB,IAChB,MAAMxP,EAASwP,EAAExP,OAEXw0B,EAAKx0B,EAAO+Z,QAAQ,eAC1B,GAAIya,EAAI,CACJ,MAAMC,EAAYD,EAAGhb,aAAa,YAIlC,YAHIib,GACAlrB,KAAKmrB,WAAWD,GAAW,GAGnC,CAEA,MAAME,EAAK30B,EAAO+Z,QAAQ,YAC1B,GAAI4a,EAAI,CAEJ,GAAI30B,EAAO40B,QAAQ,mDACf,OAEJ,MAAMC,EAAWC,SAASH,EAAGnb,aAAa,eAAiB,KACrDwC,EAAUzS,KAAK0Y,KAAK4S,GAE1B,GAAItrB,KAAKiqB,WAAY,CACjB,MAAMuB,EAAsBxrB,KAAK2qB,aAAajb,SAAS4b,GAEnDtrB,KAAK2qB,aADLa,EACoBxrB,KAAK2qB,aAAahmB,OAAO3N,GAAKA,IAAMs0B,GAGpC,IAAItrB,KAAK2qB,aAAcW,GAE/CtrB,KAAKyrB,0BACLzrB,KAAK0rB,uBACL1rB,KAAK2rB,4BAA4BL,GAAWE,EAChD,CAEIxrB,KAAKmqB,WACLnqB,KAAK4rB,cAAc,IAAIC,YAAY,cAAe,CAC9CC,OAAQ,CAAErZ,UAAS6Y,cAG/B,GAEJtrB,KAAKgF,aAAgBiB,IACjB,MAAMxP,EAASwP,EAAExP,OAEjB,GAAIA,EAAO40B,QAAQ,eAAgB,CAC/B,MAAMU,EAAWt1B,EACX60B,EAAWC,SAASQ,EAAS9b,aAAa,mBAAqB,KAYrE,OAXI8b,EAASC,QACJhsB,KAAK2qB,aAAajb,SAAS4b,KAC5BtrB,KAAK2qB,aAAe,IAAI3qB,KAAK2qB,aAAcW,IAI/CtrB,KAAK2qB,aAAe3qB,KAAK2qB,aAAahmB,OAAO3N,GAAKA,IAAMs0B,GAE5DtrB,KAAKyrB,0BACLzrB,KAAK0rB,4BACL1rB,KAAK2rB,4BAA4BL,EAAUS,EAASC,QAExD,CAEA,GAAIv1B,EAAO40B,QAAQ,eAAgB,CAC/B,MAAMU,EAAWt1B,EACbs1B,EAASC,QACThsB,KAAK2qB,aAAe3qB,KAAK0Y,KAAK3L,IAAI,CAACzW,EAAG2W,IAAUA,GAGhDjN,KAAK2qB,aAAe,GAExB3qB,KAAKyrB,0BACLzrB,KAAKisB,yBAAyBF,EAASC,QAC3C,GAEJhsB,KAAKksB,WAAa,KACdlsB,KAAKmsB,iBACLnsB,KAAKosB,gBAETpsB,KAAKqsB,sBAAwB,KAC7BrsB,KAAK6M,kBAAqB5G,IACtB,MACMlC,EADSkC,EAAExP,OAEjBuJ,KAAKwqB,WAAazmB,EAAMhM,MAEpBiI,KAAKqsB,uBACLC,aAAatsB,KAAKqsB,uBAEtBrsB,KAAKqsB,sBAAwBtb,WAAW,KACpC/Q,KAAKusB,wBACNvsB,KAAKqqB,iBAEZrqB,KAAKwsB,wBAA0B,KAC/BxsB,KAAKysB,qBAAwBxmB,IACzBjG,KAAKyqB,SAAW5a,MAAM8I,QAAQ1S,EAAE6lB,OAAO/zB,OAASkO,EAAE6lB,OAAO/zB,MAAM6M,KAAK,KAAOqB,EAAE6lB,OAAO/zB,MAEhFiI,KAAKwsB,yBACLF,aAAatsB,KAAKwsB,yBAEtBxsB,KAAKwsB,wBAA0Bzb,WAAW,KACtC/Q,KAAKusB,wBACN,KAEX,QAEI,MAAMtsB,GAA8B,mBAAXC,QAAyBA,OAAOC,SAAWvJ,OAAOwJ,OAAO/D,EAAY6D,OAAOC,WAAa,WAAQ,EAC1HimB,EAAsB,CAAC/lB,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,aAC5DwH,EAAyB,CAACzH,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,gBAC/D+lB,EAAyB,CAAChmB,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,gBAC/DgmB,EAAuB,CAACjmB,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,cAC7DimB,EAAyB,CAAClmB,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,gBAC/DkmB,EAAwB,CAACnmB,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,eAC9DmmB,EAAwB,CAACpmB,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,eAC9DomB,EAAmB,CAACrmB,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,UACzDqmB,EAA6B,CAACtmB,EAAAA,SAAS,CAAEE,KAAME,OAAQH,UAAW,qBAClEsmB,EAA0B,CAACvmB,EAAAA,SAAS,CAAEE,KAAMsP,MAAOvP,UAAW,kBAC9DumB,EAAuB,CAACxmB,EAAAA,SAAS,CAAEE,KAAM+F,OAAQhG,UAAW,cAC5DwmB,EAA8B,CAACzmB,EAAAA,SAAS,CAAEE,KAAMsP,MAAOvP,UAAW,sBAClE7G,EAAsB,CAAC4G,EAAAA,SAAS,CAAEE,KAAMC,QAASF,UAAW,aAC5DymB,EAA2B,CAAC1mB,EAAAA,SAAS,CAAEE,KAAMsP,MAAOvP,UAAW,mBAC/D0mB,EAAoB,CAACtmB,QAAM,UAC3BumB,EAAoB,CAACvmB,QAAM,UAC3BwmB,EAAoB,CAACxmB,QAAM,UAC3BymB,EAA6B,CAACuF,UAAQ,wBACtCtF,EAA2B,CAACsF,UAAQ,sBACpC9xB,EAAqB,CAACgG,EAAAA,UACtBjG,EAAqB,CAACgG,EAAAA,UACtB0mB,EAAyB,CAACxmB,EAAAA,SAC1BymB,EAA0C,CAACxmB,QAAM,qBACjDymB,EAAmC,CAACzmB,QAAM,aAC1C0mB,EAAqC,CAAC1mB,QAAM,eAC5C2mB,EAAkC,CAAC3mB,QAAM,YACzC4mB,EAA+B,CAAC5mB,EAAAA,MAAM,OAAQ,YAC9C6mB,EAAuC,CAAC7mB,QAAM,kBAC9C8mB,EAA+B,CAAC9mB,QAAM,iBACtC+mB,EAAmC,CAAC/mB,EAAAA,MAAM,aAAc,eACxDgnB,EAA0C,CAAC/mB,EAAAA,SAAS,8BAA+B,CAAEC,SAAS,EAAMC,UAAU,KAC9G8mB,EAAuC,CAAChnB,EAAAA,SAAS,2BAA4B,CAAEC,SAAS,EAAMC,UAAU,KACxGrL,EAAaoK,KAAM,KAAMmnB,EAA4B,CAAE5wB,KAAM,SAAUO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAI8qB,gBAAkBhsB,SAAUF,IAAa,KAAM1D,GAC5O3G,EAAaoK,KAAM,KAAMonB,EAA0B,CAAE7wB,KAAM,SAAUO,KAAM,eAAgBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,iBAAkBA,EAAK7J,IAAK6J,GAAOA,EAAI+qB,cAAgBjsB,SAAUF,IAAa,KAAM1D,GACpO3G,EAAaoK,KAAM,KAAMpF,EAAoB,CAAErE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIT,QAAUT,SAAUF,IAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMrF,EAAoB,CAAEpE,KAAM,SAAUO,KAAM,SAAUoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,WAAYA,EAAK7J,IAAK6J,GAAOA,EAAIV,QAAUR,SAAUF,IAAa,KAAM1D,GAC5M3G,EAAaoK,KAAM,KAAMqnB,EAAwB,CAAE9wB,KAAM,SAAUO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIsrB,YAAcxsB,SAAUF,IAAa,KAAM1D,GAC5N3G,EAAaoK,KAAM,KAAMsnB,EAAyC,CAAE/wB,KAAM,SAAUO,KAAM,8BAA+BoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gCAAiCA,EAAK7J,IAAK6J,GAAOA,EAAIurB,6BAA+BzsB,SAAUF,IAAa,KAAM1D,GAChS3G,EAAaoK,KAAM,KAAMunB,EAAkC,CAAEhxB,KAAM,SAAUO,KAAM,uBAAwBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,yBAA0BA,EAAK7J,IAAK6J,GAAOA,EAAIwrB,sBAAwB1sB,SAAUF,IAAa,KAAM1D,GACpQ3G,EAAaoK,KAAM,KAAMwnB,EAAoC,CAAEjxB,KAAM,SAAUO,KAAM,yBAA0BoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,2BAA4BA,EAAK7J,IAAK6J,GAAOA,EAAIyrB,wBAA0B3sB,SAAUF,IAAa,KAAM1D,GAC5Q3G,EAAaoK,KAAM,KAAMynB,EAAiC,CAAElxB,KAAM,SAAUO,KAAM,sBAAuBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,wBAAyBA,EAAK7J,IAAK6J,GAAOA,EAAI0rB,qBAAuB5sB,SAAUF,IAAa,KAAM1D,GAChQ3G,EAAaoK,KAAM,KAAM0nB,EAA8B,CAAEnxB,KAAM,SAAUO,KAAM,mBAAoBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,qBAAsBA,EAAK7J,IAAK6J,GAAOA,EAAI2rB,kBAAoB7sB,SAAUF,IAAa,KAAM1D,GACpP3G,EAAaoK,KAAM,KAAM2nB,EAAsC,CAAEpxB,KAAM,SAAUO,KAAM,2BAA4BoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,6BAA8BA,EAAK7J,IAAK6J,GAAOA,EAAI4rB,0BAA4B9sB,SAAUF,IAAa,KAAM1D,GACpR3G,EAAaoK,KAAM,KAAM4nB,EAA8B,CAAErxB,KAAM,SAAUO,KAAM,mBAAoBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,qBAAsBA,EAAK7J,IAAK6J,GAAOA,EAAI6rB,kBAAoB/sB,SAAUF,IAAa,KAAM1D,GACpP3G,EAAaoK,KAAM,KAAM6nB,EAAkC,CAAEtxB,KAAM,SAAUO,KAAM,uBAAwBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,yBAA0BA,EAAK7J,IAAK6J,GAAOA,EAAI8rB,sBAAwBhtB,SAAUF,IAAa,KAAM1D,GACpQ3G,EAAaoK,KAAM,KAAM8nB,EAAyC,CAAEvxB,KAAM,SAAUO,KAAM,8BAA+BoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gCAAiCA,EAAK7J,IAAK6J,GAAOA,EAAIsqB,6BAA+BxrB,SAAUF,IAAa,KAAM1D,GAChS3G,EAAaoK,KAAM,KAAM+nB,EAAsC,CAAExxB,KAAM,SAAUO,KAAM,2BAA4BoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,6BAA8BA,EAAK7J,IAAK6J,GAAOA,EAAI4qB,0BAA4B9rB,SAAUF,IAAa,KAAM1D,GACpR3G,EAAa,KAAM,KAAMwwB,EAAqB,CAAE7vB,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAIyoB,QAASryB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIyoB,QAAU/xB,IAAYoI,SAAUF,IAAa+nB,EAAuBC,GAC/QryB,EAAa,KAAM,KAAMkS,EAAwB,CAAEvR,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAIwJ,WAAYpT,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIwJ,WAAa9S,IAAYoI,SAAUF,IAAaiJ,EAA0BC,GACjSvT,EAAa,KAAM,KAAMywB,EAAwB,CAAE9vB,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAI0oB,WAAYtyB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI0oB,WAAahyB,IAAYoI,SAAUF,IAAaioB,EAA0BC,GACjSvyB,EAAa,KAAM,KAAM0wB,EAAsB,CAAE/vB,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAI2oB,SAAUvyB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI2oB,SAAWjyB,IAAYoI,SAAUF,IAAamoB,EAAwBC,GACrRzyB,EAAa,KAAM,KAAM2wB,EAAwB,CAAEhwB,KAAM,QAASO,KAAM,aAAcoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,eAAgBA,EAAK7J,IAAK6J,GAAOA,EAAI4oB,WAAYxyB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI4oB,WAAalyB,IAAYoI,SAAUF,IAAaqoB,EAA0BC,GACjS3yB,EAAa,KAAM,KAAM4wB,EAAuB,CAAEjwB,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAI6oB,UAAWzyB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI6oB,UAAYnyB,IAAYoI,SAAUF,IAAauoB,EAAyBC,GAC3R7yB,EAAa,KAAM,KAAM6wB,EAAuB,CAAElwB,KAAM,QAASO,KAAM,YAAaoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,cAAeA,EAAK7J,IAAK6J,GAAOA,EAAI8oB,UAAW1yB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI8oB,UAAYpyB,IAAYoI,SAAUF,IAAayoB,EAAyBC,IAC3R/yB,EAAa,KAAM,KAAM8wB,EAAkB,CAAEnwB,KAAM,QAASO,KAAM,OAAQoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,SAAUA,EAAK7J,IAAK6J,GAAOA,EAAI+oB,KAAM3yB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI+oB,KAAOryB,IAAYoI,SAAUF,IAAa2oB,GAAoBC,IAC7PjzB,EAAa,KAAM,KAAM+wB,EAA4B,CAAEpwB,KAAM,QAASO,KAAM,iBAAkBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,mBAAoBA,EAAK7J,IAAK6J,GAAOA,EAAIgpB,eAAgB5yB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIgpB,eAAiBtyB,IAAYoI,SAAUF,IAAa6oB,GAA8BC,IACzTnzB,EAAa,KAAM,KAAMgxB,EAAyB,CAAErwB,KAAM,QAASO,KAAM,cAAeoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,gBAAiBA,EAAK7J,IAAK6J,GAAOA,EAAIkpB,YAAa9yB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIkpB,YAAcxyB,IAAYoI,SAAUF,IAAa+oB,GAA2BC,IACvSrzB,EAAa,KAAM,KAAMixB,EAAsB,CAAEtwB,KAAM,QAASO,KAAM,WAAYoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,aAAcA,EAAK7J,IAAK6J,GAAOA,EAAIopB,SAAUhzB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIopB,SAAW1yB,IAAYoI,SAAUF,IAAaipB,GAAwBC,IACrRvzB,EAAa,KAAM,KAAMkxB,EAA6B,CAAEvwB,KAAM,QAASO,KAAM,kBAAmBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,oBAAqBA,EAAK7J,IAAK6J,GAAOA,EAAIqpB,gBAAiBjzB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIqpB,gBAAkB3yB,IAAYoI,SAAUF,IAAampB,GAA+BC,IAC/TzzB,EAAa,KAAM,KAAM6D,EAAqB,CAAElD,KAAM,QAASO,KAAM,UAAWoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,YAAaA,EAAK7J,IAAK6J,GAAOA,EAAI4B,QAASxL,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAI4B,QAAUlL,IAAYoI,SAAUF,IAAarC,GAAuBC,IAC/QjI,EAAa,KAAM,KAAMmxB,EAA0B,CAAExwB,KAAM,QAASO,KAAM,eAAgBoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,iBAAkBA,EAAK7J,IAAK6J,GAAOA,EAAIspB,aAAclzB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIspB,aAAe5yB,IAAYoI,SAAUF,IAAaqpB,GAA4BC,IAC7S3zB,EAAa,KAAM,KAAMoxB,EAAmB,CAAEzwB,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIupB,MAAOnzB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIupB,MAAQ7yB,IAAYoI,SAAUF,IAAaupB,GAAqBC,IACnQ7zB,EAAa,KAAM,KAAMqxB,EAAmB,CAAE1wB,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIwpB,MAAOpzB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIwpB,MAAQ9yB,IAAYoI,SAAUF,IAAaypB,GAAqBC,IACnQ/zB,EAAa,KAAM,KAAMsxB,EAAmB,CAAE3wB,KAAM,QAASO,KAAM,QAASoK,QAAQ,EAAOC,SAAS,EAAO/J,OAAQ,CAAEgK,IAAKC,GAAO,UAAWA,EAAK7J,IAAK6J,GAAOA,EAAIypB,MAAOrzB,IAAK,CAAC4J,EAAKtJ,KAAYsJ,EAAIypB,MAAQ/yB,IAAYoI,SAAUF,IAAa2pB,GAAqBC,IACnQj0B,EAAa,KAAMiD,EAAmB,CAAEd,MAAOe,GAAcmD,EAAkB,CAAE1F,KAAM,QAASO,KAAMgC,EAAWhC,KAAMqJ,SAAUF,IAAa,KAAM7D,GACpJtD,EAAaD,EAAiBd,MAC1BkI,IAAWrJ,OAAOgB,eAAekB,EAAYoH,OAAOC,SAAU,CAAE+D,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAMrM,MAAOkI,KACjIpI,EAAkBiB,EAAYsD,EAC1C,CACQ,OAAAgxB,CAAQ1U,GACJ1Y,KAAK0Y,KAAOA,EACZ1Y,KAAKW,QACT,CACA,UAAA0sB,CAAW/C,GACPtqB,KAAKsqB,QAAUA,EACftqB,KAAKW,QACT,CACA,oBAAOwrB,GACH,MAAMmB,aAAsB,IAO5B,OANAttB,KAAKsqB,QAAUgD,EAAOhD,SAAW,GACjCtqB,KAAK0qB,gBAAkB4C,EAAO5C,iBAAmB,SAE3C,IAAI6C,QAAQC,GAAWlgB,sBAAsBkgB,IACnDxtB,KAAKytB,eACLztB,KAAK0tB,iBACEJ,CACX,CACA,kBAAOlB,GACHpsB,KAAKiD,SAAU,EACfjD,KAAK2qB,aAAe,GACpB,IACI,MAAMgD,EAAS,CACXC,OAAQ5tB,KAAKwqB,WACbqD,KAAM7tB,KAAKuqB,YACXE,SAAUzqB,KAAKyqB,UAEbqD,cAAwBH,GAM9B,OALA3tB,KAAK0Y,KAAOoV,EAASpV,MAAQ,GAC7B1Y,KAAKiD,SAAU,QAET,IAAIsqB,QAAQC,GAAWlgB,sBAAsBkgB,IACnDxtB,KAAK+tB,aACED,CACX,CACA,MAAO7H,GACHC,QAAQD,MAAM,4BAA6BA,GAC3CjmB,KAAK0Y,KAAO,GACZ1Y,KAAKiD,SAAU,QAET,IAAIsqB,QAAQC,GAAWlgB,sBAAsBkgB,IACnDxtB,KAAK+tB,YACT,CACJ,CACA,oBAAAxB,GAESvsB,KAAKiD,UACNjD,KAAKiD,SAAU,GAEfjD,KAAK+qB,oBACLuB,aAAatsB,KAAK+qB,oBAEtB/qB,KAAK+qB,mBAAqBha,WAAW,KACjC/Q,KAAKosB,eACLpsB,KAAK+qB,mBAAqB,MAC3B,IACP,CACA,MAAAnqB,GACI,OAAOyE,KAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6OvB,CACA,MAAA1E,GAGI,OADuBX,KAAK+P,iBAAiB,0BAA0B9Y,OAAS,EAGrEqB,MAAc;+DAC0B0H,KAAKgrB,uBAAuBhrB,KAAKgF;;;;;;;;QAYzE1M,MAAc;0CACK0H,KAAKgrB,uBAAuBhrB,KAAKgF;;;;;;;OASnE,CACA,cAAA0oB,GACI,MAAMM,EAAYhuB,KAAKyG,YAAYL,cAAc,6BACjD,IAAK4nB,EACD,OAEJ,GADqBhuB,KAAK6K,YAAc7K,KAAK+pB,YAM7C,GAAkC,IAA9BiE,EAAUC,SAASh3B,OAAc,CACjC,MAAMi3B,EAActf,SAASsC,cAAc,OAG3C,GAFAgd,EAAY71B,UAAY,iBACxB61B,EAAYtoB,aAAa,OAAQ,YAC7B5F,KAAK6K,WAAY,CACjB,MAAMQ,EAAcuD,SAASsC,cAAc,eAC3C7F,EAAYhT,UAAY,eACxBgT,EAAYzF,aAAa,OAAQ,UACjCyF,EAAYzF,aAAa,cAAe,aACxCyF,EAAYzF,aAAa,OAAQ,UACjCyF,EAAYwD,iBAAiB,QAAS7O,KAAK6M,mBAC3CqhB,EAAY/c,YAAY9F,EAC5B,CACA,GAAIrL,KAAK+pB,WAAY,CACjB,MAAMhjB,EAAS6H,SAASsC,cAAc,gBACtCnK,EAAO1O,UAAY,iBACnB0O,EAAOnB,aAAa,WAAY,IAChCmB,EAAOnB,aAAa,aAAc,IAClCmB,EAAOnB,aAAa,YAAa,IACjCmB,EAAOnB,aAAa,cAAe,aACnCmB,EAAOnB,aAAa,OAAQ,UAC5B5F,KAAK0qB,gBAAgBra,QAAQrD,IACzB,MAAM0B,EAASE,SAASsC,cAAc,gBACtCxC,EAAO9I,aAAa,QAASoH,EAAIjV,OACjC2W,EAAOhI,YAAcsG,EAAIpK,MACzBmE,EAAOoK,YAAYzC,KAEvBwf,EAAY/c,YAAYpK,EAC5B,CACAinB,EAAU7c,YAAY+c,EAC1B,OAlCIF,EAAU/c,UAAY,EAmC9B,CACA,gBAAM0b,GAEF3sB,KAAK6O,iBAAiB,6BAA8B7O,KAAKksB,YAEzDlsB,KAAK6O,iBAAiB,gBAAiB7O,KAAKysB,4BAEtC0B,eAAeC,YAAY,sBAC3BD,eAAeC,YAAY,mBAE3BpuB,KAAKquB,wBAEXruB,KAAK0tB,gBACT,CACA,2BAAMW,GAEF,MAAMC,EAAiBze,MAAMC,KAAK9P,KAAK+P,iBAAiB,iCACxD,GAAIue,EAAer3B,OAAS,EAAG,CAE3B+I,KAAKsqB,QAAUgE,EAAevhB,IAAKwhB,GAAQA,EAAIC,uBAE3B3e,MAAMC,KAAK9P,KAAK+P,iBAAiB,2BACzCM,QAAQ,CAACoe,EAAKxhB,KACtBwhB,EAAInE,QAAUtqB,KAAKsqB,QACnBmE,EAAIxhB,MAAQA,EACZwhB,EAAIvE,UAAYlqB,KAAKkqB,UACrBuE,EAAItE,UAAYnqB,KAAKmqB,UACrBsE,EAAIxE,WAAajqB,KAAKiqB,aAG1B3c,sBAAsB,IAAMtN,KAAK0uB,sBACrC,CACJ,CACA,mBAAAA,GACI,MAAMC,EAAkB3uB,KAAKyG,YAAYL,cAAc,mBAClDuoB,GAA2C,IAAxB3uB,KAAKsqB,QAAQrzB,SAGrC03B,EAAgB1d,UAAYjR,KAAKsqB,QAAQvd,IAAIwhB,GAAO,4BAA4BA,EAAI3rB,eAAegC,KAAK,IAC5G,CACA,2BAAAgoB,GAEwC,IAAhC5sB,KAAK0qB,gBAAgBzzB,OACrB+I,KAAK0F,UAAUG,IAAI,0BAGnB7F,KAAK0F,UAAUa,OAAO,yBAE9B,CACA,oBAAAsmB,GACI7sB,KAAKytB,cACT,CACA,sBAAAX,GACI9sB,KAAKW,QACT,CACA,mBAAAosB,GACI/sB,KAAKytB,cACT,CACA,gBAAAT,GACIhtB,KAAK+tB,YACT,CACA,wBAAAd,GACIjtB,KAAKyrB,0BACLzrB,KAAK0rB,sBACT,CACA,gBAAAwB,GACIltB,KAAKytB,cACT,CACA,oBAAAN,GACIntB,KAAK0tB,gBACT,CACA,YAAAD,GACI,IAAKztB,KAAK6qB,MACN,OACJ,MAAM+D,EAAYhgB,SAASsC,cAAc,MACzC,GAAIlR,KAAKiqB,WAAY,CACjB,MAAM4E,EAAajgB,SAASsC,cAAc,MAC1C2d,EAAWx2B,UAAY,gBACvB,MAAMy2B,EAAc9uB,KAAK2qB,aAAa1zB,SAAW+I,KAAK0Y,KAAKzhB,QAAU+I,KAAK0Y,KAAKzhB,OAAS,EAClF83B,EAAe/uB,KAAK2qB,aAAa1zB,OAAS,GAAK+I,KAAK2qB,aAAa1zB,OAAS+I,KAAK0Y,KAAKzhB,OAC1F43B,EAAW5d,UAAY,6CAA6C6d,EAAc,UAAY,QAC9FF,EAAUzd,YAAY0d,GAEtB9d,WAAW,KACP,MAAMgb,EAAW8C,EAAWzoB,cAAc,eACtC2lB,IACAA,EAASiD,cAAgBD,IAE9B,EACP,CACA/uB,KAAKsqB,QAAQja,QAAQmC,IACjB,MAAMyY,EAAKrc,SAASsC,cAAc,MAClC+Z,EAAGrlB,aAAa,WAAY4M,EAAOhc,KAC/BwJ,KAAKgqB,WAAgC,IAApBxX,EAAOwX,UACxBiB,EAAGvlB,UAAUG,IAAI,YACjBolB,EAAGrlB,aAAa,OAAQ,UACxBqlB,EAAGha,UAAYjR,KAAKivB,qBAAqBzc,IAGzCyY,EAAGvkB,YAAc8L,EAAO5P,MAE5BgsB,EAAUzd,YAAY8Z,KAE1BjrB,KAAK6qB,MAAM5Z,UAAY,GACvBjR,KAAK6qB,MAAM1Z,YAAYyd,EAC3B,CACA,oBAAAK,CAAqBzc,GACjB,MAAM0c,EAAWlvB,KAAKuqB,YAAY3Z,KAAKwN,GAAKA,EAAE5L,SAAWA,EAAOhc,KAC1D24B,EAAYnvB,KAAKuqB,YAAY6E,UAAUhR,GAAKA,EAAE5L,SAAWA,EAAOhc,KAChE64B,IAAaH,EACnB,IAAII,EAAY,KACZC,EAAc,GACdL,IAC2B,QAAvBA,EAASM,UACTF,EAAY,IAEgB,SAAvBJ,EAASM,YACdF,EAAY,KAEZtvB,KAAKuqB,YAAYtzB,OAAS,IAC1Bs4B,EAAc,4BAA4BJ,EAAY,aAG9D,MAAMM,EAAmB,CAAC,iBAAkBJ,EAAW,SAAW,IAAI1qB,OAAOnE,SAASoE,KAAK,KAC3F,MAAO,oDAEH4N,EAAO5P,qCACD6sB,kBACVH,gBACAC,uCAIJ,CACA,UAAAxB,GACI,IAAK/tB,KAAK8qB,MACN,OAEJ,GADA9qB,KAAK8qB,MAAM7Z,UAAY,GACE,IAArBjR,KAAK0Y,KAAKzhB,QAAgB+I,KAAKsqB,QAAQrzB,OAAS,EAAG,CACnD,GAAI+I,KAAKiD,QAAS,CAEd,MAAMmoB,EAAKxc,SAASsC,cAAc,MAC5Bwe,EAAK9gB,SAASsC,cAAc,MAC5Bye,EAAU3vB,KAAKsqB,QAAQrzB,QAAU+I,KAAKiqB,WAAa,EAAI,GAM7D,OALAyF,EAAGC,QAAUA,EACbD,EAAGr3B,UAAY,UACfq3B,EAAGze,UAAY,kFACfma,EAAGja,YAAYue,QACf1vB,KAAK8qB,MAAM3Z,YAAYia,EAE3B,CACK,CAED,MAAMA,EAAKxc,SAASsC,cAAc,MAC5Bwe,EAAK9gB,SAASsC,cAAc,MAC5Bye,EAAU3vB,KAAKsqB,QAAQrzB,QAAU+I,KAAKiqB,WAAa,EAAI,GAM7D,OALAyF,EAAGC,QAAUA,EACbD,EAAGr3B,UAAY,UACfq3B,EAAGhpB,YAAc,UACjB0kB,EAAGja,YAAYue,QACf1vB,KAAK8qB,MAAM3Z,YAAYia,EAE3B,CACJ,CACA,MAAMwE,EAAWhhB,SAASihB,yBAC1B7vB,KAAK0Y,KAAKrI,QAAQ,CAACoC,EAASxF,KACxB,MAAMme,EAAKxc,SAASsC,cAAc,MAClCka,EAAGxlB,aAAa,aAAcU,OAAO2G,IAErC,MAAMC,EAAalN,KAAK2qB,aAAajb,SAASzC,GAE9C,GADAme,EAAGxlB,aAAa,gBAAiBU,OAAO4G,IACpClN,KAAKiqB,WAAY,CACjB,MAAM4E,EAAajgB,SAASsC,cAAc,MAC1C2d,EAAWx2B,UAAY,gBACvBw2B,EAAW5d,UAAY,6CAA6C/D,EAAa,UAAY,sBAAsBD,QACnHme,EAAGja,YAAY0d,EACnB,CACA7uB,KAAKsqB,QAAQja,QAAQmC,IACjB,MAAMkd,EAAK9gB,SAASsC,cAAc,MAC5BnZ,EAAQ0a,EAAQD,EAAOhc,KAEvBs5B,EAAc9vB,KAAK+vB,eAAevd,EAAOjS,MACzC+O,EAAatP,KAAKgwB,kBAAkBxd,EAAQza,GAClD23B,EAAGze,UAAY,IAAI6e,KAAexgB,OAAgBwgB,KAClD1E,EAAGja,YAAYue,KAEnBE,EAASze,YAAYia,KAEzBprB,KAAK8qB,MAAM3Z,YAAYye,EAC3B,CACA,iBAAAI,CAAkBxd,EAAQza,GACtB,MAAMuX,EAAa,CACf,SAASkD,EAAOjS,QAChB,UAAUiS,EAAOD,OAAS,UAC1B,UAAUjM,OAAOvO,GAAS,IAAIkd,QAAQ,KAAM,aAC5C,mBA6BJ,MA1BoB,WAAhBzC,EAAOjS,MAAqC,aAAhBiS,EAAOjS,YACXkT,IAApBjB,EAAOsC,UACPxF,EAAWhY,KAAK,aAAakb,EAAOsC,aACpCtC,EAAOuC,oBACPzF,EAAWhY,KAAK,8BAChBkb,EAAO2C,QACP7F,EAAWhY,KAAK,WAAWkb,EAAO2C,WAClC3C,EAAO4C,QACP9F,EAAWhY,KAAK,WAAWkb,EAAO4C,YAEtB,SAAhB5C,EAAOjS,MACHiS,EAAO+D,YACPjH,EAAWhY,KAAK,gBAAgBkb,EAAO+D,eAE3B,YAAhB/D,EAAOjS,OACHiS,EAAO8E,YACPhI,EAAWhY,KAAK,sBAChBkb,EAAO+E,YACPjI,EAAWhY,KAAK,gBAAgBkb,EAAO+E,eACvC/E,EAAOgF,aACPlI,EAAWhY,KAAK,iBAAiBkb,EAAOgF,gBACxChF,EAAOiF,WACPnI,EAAWhY,KAAK,eAAekb,EAAOiF,cACtCjF,EAAOkF,YACPpI,EAAWhY,KAAK,gBAAgBkb,EAAOkF,gBAExCpI,EAAW1K,KAAK,IAC3B,CACA,cAAAmrB,CAAexvB,GACX,OAAQA,GACJ,IAAK,OACD,MAAO,kBACX,IAAK,SACL,IAAK,WACD,MAAO,oBACX,IAAK,OACD,MAAO,kBACX,IAAK,UACD,MAAO,qBACX,IAAK,SACD,MAAO,oBACX,IAAK,WACD,MAAO,sBACX,IAAK,WACD,MAAO,sBACX,IAAK,WACD,MAAO,sBACX,IAAK,YACD,MAAO,uBACX,IAAK,QACD,MAAO,mBACX,QACI,MAAO,aAEnB,CACA,uBAAAkrB,GACI,IAAKzrB,KAAK8qB,MACN,OACS9qB,KAAK8qB,MAAM/a,iBAAiB,MACpCM,QAAQ,CAACoe,EAAKxhB,KACf,MAAMC,EAAalN,KAAK2qB,aAAajb,SAASzC,GAC9CwhB,EAAI7oB,aAAa,gBAAiBU,OAAO4G,IACzC,MAAM6e,EAAW0C,EAAIroB,cAAc,eAC/B2lB,IACAA,EAASC,QAAU9e,IAG/B,CACA,oBAAAwe,GACI,MAAMuE,EAAoBjwB,KAAK6qB,OAAOzkB,cAAc,eACpD,IAAK6pB,EACD,OACJ,MAAMnB,EAAc9uB,KAAK2qB,aAAa1zB,SAAW+I,KAAK0Y,KAAKzhB,OACrD83B,EAAe/uB,KAAK2qB,aAAa1zB,OAAS,GAAK+I,KAAK2qB,aAAa1zB,OAAS+I,KAAK0Y,KAAKzhB,OAC1Fg5B,EAAkBjE,QAAU8C,EAC5BmB,EAAkBjB,cAAgBD,CACtC,CACA,UAAA5D,CAAWD,EAAWgF,GAAY,GAC9B,GAAKA,EAaA,CAED,MAAMC,EAAoBnwB,KAAKuqB,YAAY6E,UAAUhR,GAAKA,EAAE5L,SAAW0Y,GACvE,IAA0B,IAAtBiF,EAEAnwB,KAAKuqB,YAAc,IAAIvqB,KAAKuqB,YAAa,CAAE/X,OAAQ0Y,EAAWsE,UAAW,YAExE,CAE8B,QADVxvB,KAAKuqB,YAAY4F,GACrBX,UAEbxvB,KAAKuqB,YAAcvqB,KAAKuqB,YAAYxd,IAAI,CAAC8gB,EAAM5gB,IAAUA,IAAUkjB,EAAoB,IAAKtC,EAAM2B,UAAW,QAAW3B,GAIxH7tB,KAAKuqB,YAAcvqB,KAAKuqB,YAAY5lB,OAAOyZ,GAAKA,EAAE5L,SAAW0Y,EAErE,CACJ,KA/BgB,CAEZ,MAAMkF,EAAepwB,KAAKuqB,YAAY3Z,KAAKwN,GAAKA,EAAE5L,SAAW0Y,GACxDkF,EAG+B,QAA3BA,EAAaZ,UAClBxvB,KAAKuqB,YAAc,CAAC,CAAE/X,OAAQ0Y,EAAWsE,UAAW,SAGpDxvB,KAAKuqB,YAAc,GANnBvqB,KAAKuqB,YAAc,CAAC,CAAE/X,OAAQ0Y,EAAWsE,UAAW,OAQ5D,CAoBAxvB,KAAKytB,eACLztB,KAAKusB,sBACT,CACA,2BAAAZ,CAA4BL,EAAU5jB,GAClC,MAAO,CACHijB,aAAc3qB,KAAK2qB,aACnBW,WACA5jB,WAER,CACA,wBAAAukB,CAAyB6C,GACrB,MAAO,CACHnE,aAAc3qB,KAAK2qB,aACnBmE,cAER,GAEGh2B,CACV,EAt8BgB","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"snice-table.min.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../components/utils.js","../../components/input/snice-input.js","../../components/select/snice-option.js","../../components/select/snice-select.js","../../components/snice-cell-D9dSe0d4.js","../../components/table/snice-cell.js","../../components/table/snice-cell-text.js","../../components/table/snice-cell-number.js","../../components/table/snice-cell-date.js","../../components/table/snice-cell-boolean.js","../../components/table/snice-rating.js","../../components/table/snice-cell-rating.js","../../components/table/snice-progress.js","../../components/table/snice-cell-progress.js","../../components/table/snice-cell-duration.js","../../components/table/snice-cell-filesize.js","../../components/table/snice-cell-sparkline.js","../../components/table/snice-column.js","../../components/table/snice-cell-link.js","../../components/table/snice-cell-actions.js","../../components/table/snice-cell-tag.js","../../components/table/snice-cell-image.js","../../components/table/snice-cell-email.js","../../components/table/snice-cell-phone.js","../../components/table/snice-cell-status.js","../../components/table/snice-cell-color.js","../../components/table/snice-cell-json.js","../../components/table/snice-cell-currency.js","../../components/table/snice-cell-percentage.js","../../components/table/snice-cell-location.js","../../components/table/snice-row.js","../../components/table/snice-table.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 { html } from 'snice';\n\n/**\n * Detects icon type and returns appropriate template\n *\n * Scheme overrides:\n * - img://path -> forces <img> element\n * - text://content -> forces text content\n *\n * Auto-detection (when no scheme):\n * - URLs (http://, https://, /, ./, ../, data:) -> <img>\n * - Image extensions (svg, png, jpg, jpeg, jfif, pjp, gif, webp, avif, jxl,\n * ico, cur, bmp, tif, tiff, heic, heif, apng) -> <img>\n * - Everything else -> span with text (emoji, font ligatures)\n *\n * Examples:\n * - \"/path/icon.svg\" -> <img>\n * - \"icon.png\" -> <img>\n * - \"img://filename\" -> <img> (forced)\n * - \"home\" -> <span> text (Material Symbols ligature)\n * - \"🏠\" -> <span> text (emoji)\n * - \"text:///not/a/path\" -> <span> text (forced)\n */\nfunction renderIcon(icon, className = 'icon') {\n if (!icon)\n return html ``;\n // Check for scheme overrides first\n if (icon.startsWith('img://')) {\n const src = icon.slice(6);\n return html `<img class=\"${className}\" src=\"${src}\" alt=\"\" part=\"icon\" />`;\n }\n if (icon.startsWith('text://')) {\n const content = icon.slice(7);\n return html `<span class=\"${className}\" part=\"icon\">${content}</span>`;\n }\n // Auto-detect: Check if it's a URL pattern\n if (/^(https?:\\/\\/|\\/|\\.\\/|\\.\\.\\/|data:)/.test(icon)) {\n return html `<img class=\"${className}\" src=\"${icon}\" alt=\"\" part=\"icon\" />`;\n }\n // Auto-detect: Check if it's a file with image extension\n // Must have at least one char before the dot, and no unsupported protocol prefix\n // Covers: SVG, PNG, JPEG variants, GIF, WebP, AVIF, JPEG XL, ICO, BMP, TIFF, HEIC/HEIF, APNG\n if (/^[^:]*\\w\\.(svg|png|jpe?g|jfif|pjp|gif|webp|avif|jxl|ico|cur|bmp|tiff?|heic|heif|apng)$/i.test(icon)) {\n return html `<img class=\"${className}\" src=\"${icon}\" alt=\"\" part=\"icon\" />`;\n }\n // Default: text content (emoji, font icon ligature names)\n // All content is escaped - no HTML injection possible\n return html `<span class=\"${className}\" part=\"icon\">${icon}</span>`;\n}\n\nexport { renderIcon };\n//# sourceMappingURL=utils.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, dispatch, html, css } from 'snice';\nimport { renderIcon } from '../utils.js';\n\nvar cssContent = \":host{display:inline-block;width:100%;max-width:100%;box-sizing:border-box;font-family:var(--snice-font-family);color-scheme:light dark}.input-wrapper{position:relative;width:100%;max-width:100%;height:100%;box-sizing:border-box}:host([align]) .input-wrapper{display:flex;flex-direction:column}:host([align=top]) .input-wrapper{justify-content:flex-start}:host([align=center]) .input-wrapper{justify-content:center}:host([align=bottom]) .input-wrapper{justify-content:flex-end}.input-container{position:relative;display:flex;align-items:center;width:100%;max-width:100%;box-sizing:border-box;transition:all var(--snice-transition-fast) ease}:host([stretch]) .input-wrapper{display:flex;flex-direction:column}:host([stretch]) .input-container{flex:1}:host([stretch]) .input{height:100%}.input{flex:1;min-width:0;box-sizing:border-box;font-family:inherit;font-size:var(--snice-font-size-md);background:var(--snice-color-background-input,rgb(248 247 245));color:var(--snice-color-text);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-md);box-shadow:var(--snice-shadow-inset-sm);transition:all var(--snice-transition-fast) ease;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus{border-color:var(--snice-color-primary);box-shadow:0 0 0 var(--snice-focus-ring-width) var(--snice-focus-ring-color),var(--snice-shadow-sm)}.input:disabled{background:var(--snice-color-background-secondary);color:var(--snice-color-text-secondary);cursor:not-allowed;opacity:.6}.input::placeholder{color:var(--snice-color-text-secondary);opacity:.7}.input--small{padding:.375rem .625rem;font-size:var(--snice-font-size-sm)}.input--medium{padding:.5rem .75rem;font-size:var(--snice-font-size-md)}.input--large{padding:.625rem .875rem;font-size:var(--snice-font-size-lg)}.input--outlined{background:var(--snice-color-background-input,rgb(248 247 245));border:1px solid var(--snice-color-border)}.input--filled{background:var(--snice-color-background-secondary);border:1px solid transparent;border-bottom-color:var(--snice-color-border);border-radius:var(--snice-border-radius-md) var(--snice-border-radius-md) 0 0}.input--filled:focus{background:var(--snice-color-background-hover);border-bottom-color:var(--snice-color-primary)}.input--underlined{background:0 0;border:none;border-bottom:1px solid var(--snice-color-border);border-radius:0;padding-left:0;padding-right:0}.input--underlined:focus{border-bottom-color:var(--snice-color-primary);box-shadow:none}.input--invalid{border-color:var(--snice-color-danger)}.input--invalid:focus{border-color:var(--snice-color-danger);box-shadow:0 0 0 var(--snice-focus-ring-width) var(--snice-color-danger-alpha,hsl(var(--snice-color-red-500) / .4)),var(--snice-shadow-sm)}.input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.input::-webkit-calendar-picker-indicator:hover{opacity:1}.input--with-prefix-icon{padding-left:2.25rem}.input--clearable,.input--with-suffix-icon{padding-right:2.25rem}.input--with-suffix-icon.input--clearable{padding-right:3.75rem}.label{display:block;margin-bottom:.375rem;font-size:var(--snice-font-size-sm);font-weight:500;color:var(--snice-color-text);text-align:left}:host([label-align=center]) .label{text-align:center}:host([label-align=right]) .label{text-align:right}.label--required::after{content:' *';color:var(--snice-color-danger)}.error-text,.helper-text{display:block;margin-top:.25rem;font-size:var(--snice-font-size-xs);min-height:1.125rem}.helper-text{color:var(--snice-color-text-secondary)}.error-text{color:var(--snice-color-danger)}.icon-slot{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:var(--snice-color-text-secondary);pointer-events:none;opacity:.7}.icon-slot:empty{display:none}.icon-slot--prefix{left:.625rem}.icon-slot--suffix{right:.625rem}.icon{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:var(--snice-color-text-secondary);pointer-events:none}.icon-slot ::slotted(*){display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:1.25rem;line-height:1}.icon-slot ::slotted(svg){width:1.25rem;height:1.25rem}.icon-slot ::slotted(img){width:1.25rem;height:1.25rem;object-fit:contain}.clear-button{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:.25rem;background:0 0;border:none;border-radius:var(--snice-border-radius-sm);color:var(--snice-color-text-secondary);cursor:pointer;transition:all var(--snice-transition-fast) ease;opacity:0;visibility:hidden}.clear-button:hover{background:var(--snice-color-background-hover);color:var(--snice-color-text)}.input-container:hover .clear-button--visible,.input:focus~.clear-button--visible{opacity:1;visibility:visible}.clear-button--with-suffix{right:2rem}.password-toggle{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:.25rem;background:0 0;border:none;border-radius:var(--snice-border-radius-sm);color:var(--snice-color-text-secondary);cursor:pointer;transition:all var(--snice-transition-fast) ease}.password-toggle:hover{background:var(--snice-color-background-hover);color:var(--snice-color-text)}.input[type=number]::-webkit-inner-spin-button,.input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input[type=number]{-moz-appearance:textfield}.input[type=search]::-webkit-search-cancel-button,.input[type=search]::-webkit-search-decoration,.input[type=search]::-webkit-search-results-button,.input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}.input-container:focus-within{z-index:1}.input--loading{cursor:wait}.spinner{position:absolute;right:.75rem;width:1em;height:1em;pointer-events:none}.input--with-suffix-icon .spinner{right:2.5rem}.spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}\";\n\nlet SniceInput = (() => {\n let _classDecorators = [element('snice-input', { formAssociated: true })];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _variant_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _placeholder_decorators;\n let _placeholder_initializers = [];\n let _placeholder_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _helperText_decorators;\n let _helperText_initializers = [];\n let _helperText_extraInitializers = [];\n let _errorText_decorators;\n let _errorText_initializers = [];\n let _errorText_extraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _readonly_decorators;\n let _readonly_initializers = [];\n let _readonly_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 _clearable_decorators;\n let _clearable_initializers = [];\n let _clearable_extraInitializers = [];\n let _password_decorators;\n let _password_initializers = [];\n let _password_extraInitializers = [];\n let _min_decorators;\n let _min_initializers = [];\n let _min_extraInitializers = [];\n let _max_decorators;\n let _max_initializers = [];\n let _max_extraInitializers = [];\n let _step_decorators;\n let _step_initializers = [];\n let _step_extraInitializers = [];\n let _pattern_decorators;\n let _pattern_initializers = [];\n let _pattern_extraInitializers = [];\n let _maxlength_decorators;\n let _maxlength_initializers = [];\n let _maxlength_extraInitializers = [];\n let _minlength_decorators;\n let _minlength_initializers = [];\n let _minlength_extraInitializers = [];\n let _autocomplete_decorators;\n let _autocomplete_initializers = [];\n let _autocomplete_extraInitializers = [];\n let _name_decorators;\n let _name_initializers = [];\n let _name_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _labelAlign_decorators;\n let _labelAlign_initializers = [];\n let _labelAlign_extraInitializers = [];\n let _stretch_decorators;\n let _stretch_initializers = [];\n let _stretch_extraInitializers = [];\n let _prefixIcon_decorators;\n let _prefixIcon_initializers = [];\n let _prefixIcon_extraInitializers = [];\n let _suffixIcon_decorators;\n let _suffixIcon_initializers = [];\n let _suffixIcon_extraInitializers = [];\n let _input_decorators;\n let _input_initializers = [];\n let _input_extraInitializers = [];\n let _clearButton_decorators;\n let _clearButton_initializers = [];\n let _clearButton_extraInitializers = [];\n let _passwordToggle_decorators;\n let _passwordToggle_initializers = [];\n let _passwordToggle_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _handleValueChange_decorators;\n let _handleInvalidChange_decorators;\n let _handleDisabledChange_decorators;\n let _handleLoadingChange_decorators;\n let _handleReadonlyChange_decorators;\n let _handlePlaceholderChange_decorators;\n let _handleMinChange_decorators;\n let _handleMaxChange_decorators;\n let _handleStepChange_decorators;\n let _handleMaxLengthChange_decorators;\n let _handleMinLengthChange_decorators;\n let _handlePatternChange_decorators;\n let _handleTypeChange_decorators;\n let _handleLabelChange_decorators;\n let _dispatchInputEvent_decorators;\n let _dispatchChangeEvent_decorators;\n let _dispatchFocusEvent_decorators;\n let _dispatchBlurEvent_decorators;\n let _dispatchClearEvent_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 _type_decorators = [property({})];\n _size_decorators = [property({})];\n _variant_decorators = [property({})];\n _value_decorators = [property({})];\n _placeholder_decorators = [property({})];\n _label_decorators = [property({})];\n _helperText_decorators = [property({ attribute: 'helper-text', })];\n _errorText_decorators = [property({ attribute: 'error-text', })];\n _disabled_decorators = [property({ type: Boolean, })];\n _readonly_decorators = [property({ type: Boolean, })];\n _loading_decorators = [property({ type: Boolean, })];\n _required_decorators = [property({ type: Boolean, })];\n _invalid_decorators = [property({ type: Boolean, })];\n _clearable_decorators = [property({ type: Boolean, })];\n _password_decorators = [property({ type: Boolean, })];\n _min_decorators = [property({})];\n _max_decorators = [property({})];\n _step_decorators = [property({})];\n _pattern_decorators = [property({})];\n _maxlength_decorators = [property({ type: Number, })];\n _minlength_decorators = [property({ type: Number, })];\n _autocomplete_decorators = [property({})];\n _name_decorators = [property({})];\n _align_decorators = [property({})];\n _labelAlign_decorators = [property({ attribute: 'label-align', })];\n _stretch_decorators = [property({ type: Boolean, })];\n _prefixIcon_decorators = [property({ attribute: 'prefix-icon', })];\n _suffixIcon_decorators = [property({ attribute: 'suffix-icon', })];\n _input_decorators = [query('.input')];\n _clearButton_decorators = [query('.clear-button')];\n _passwordToggle_decorators = [query('.password-toggle')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _handleValueChange_decorators = [watch('value')];\n _handleInvalidChange_decorators = [watch('invalid')];\n _handleDisabledChange_decorators = [watch('disabled')];\n _handleLoadingChange_decorators = [watch('loading')];\n _handleReadonlyChange_decorators = [watch('readonly')];\n _handlePlaceholderChange_decorators = [watch('placeholder')];\n _handleMinChange_decorators = [watch('min')];\n _handleMaxChange_decorators = [watch('max')];\n _handleStepChange_decorators = [watch('step')];\n _handleMaxLengthChange_decorators = [watch('maxlength')];\n _handleMinLengthChange_decorators = [watch('minlength')];\n _handlePatternChange_decorators = [watch('pattern')];\n _handleTypeChange_decorators = [watch('type')];\n _handleLabelChange_decorators = [watch('label')];\n _dispatchInputEvent_decorators = [dispatch('input-input', { bubbles: true, composed: true })];\n _dispatchChangeEvent_decorators = [dispatch('input-change', { bubbles: true, composed: true })];\n _dispatchFocusEvent_decorators = [dispatch('input-focus', { bubbles: true, composed: true })];\n _dispatchBlurEvent_decorators = [dispatch('input-blur', { bubbles: true, composed: true })];\n _dispatchClearEvent_decorators = [dispatch('input-clear', { bubbles: true, composed: true })];\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(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, _handleValueChange_decorators, { kind: \"method\", name: \"handleValueChange\", static: false, private: false, access: { has: obj => \"handleValueChange\" in obj, get: obj => obj.handleValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleInvalidChange_decorators, { kind: \"method\", name: \"handleInvalidChange\", static: false, private: false, access: { has: obj => \"handleInvalidChange\" in obj, get: obj => obj.handleInvalidChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDisabledChange_decorators, { kind: \"method\", name: \"handleDisabledChange\", static: false, private: false, access: { has: obj => \"handleDisabledChange\" in obj, get: obj => obj.handleDisabledChange }, 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, _handleReadonlyChange_decorators, { kind: \"method\", name: \"handleReadonlyChange\", static: false, private: false, access: { has: obj => \"handleReadonlyChange\" in obj, get: obj => obj.handleReadonlyChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handlePlaceholderChange_decorators, { kind: \"method\", name: \"handlePlaceholderChange\", static: false, private: false, access: { has: obj => \"handlePlaceholderChange\" in obj, get: obj => obj.handlePlaceholderChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMinChange_decorators, { kind: \"method\", name: \"handleMinChange\", static: false, private: false, access: { has: obj => \"handleMinChange\" in obj, get: obj => obj.handleMinChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMaxChange_decorators, { kind: \"method\", name: \"handleMaxChange\", static: false, private: false, access: { has: obj => \"handleMaxChange\" in obj, get: obj => obj.handleMaxChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleStepChange_decorators, { kind: \"method\", name: \"handleStepChange\", static: false, private: false, access: { has: obj => \"handleStepChange\" in obj, get: obj => obj.handleStepChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMaxLengthChange_decorators, { kind: \"method\", name: \"handleMaxLengthChange\", static: false, private: false, access: { has: obj => \"handleMaxLengthChange\" in obj, get: obj => obj.handleMaxLengthChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleMinLengthChange_decorators, { kind: \"method\", name: \"handleMinLengthChange\", static: false, private: false, access: { has: obj => \"handleMinLengthChange\" in obj, get: obj => obj.handleMinLengthChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handlePatternChange_decorators, { kind: \"method\", name: \"handlePatternChange\", static: false, private: false, access: { has: obj => \"handlePatternChange\" in obj, get: obj => obj.handlePatternChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleTypeChange_decorators, { kind: \"method\", name: \"handleTypeChange\", static: false, private: false, access: { has: obj => \"handleTypeChange\" in obj, get: obj => obj.handleTypeChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleLabelChange_decorators, { kind: \"method\", name: \"handleLabelChange\", static: false, private: false, access: { has: obj => \"handleLabelChange\" in obj, get: obj => obj.handleLabelChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchInputEvent_decorators, { kind: \"method\", name: \"dispatchInputEvent\", static: false, private: false, access: { has: obj => \"dispatchInputEvent\" in obj, get: obj => obj.dispatchInputEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchChangeEvent_decorators, { kind: \"method\", name: \"dispatchChangeEvent\", static: false, private: false, access: { has: obj => \"dispatchChangeEvent\" in obj, get: obj => obj.dispatchChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchFocusEvent_decorators, { kind: \"method\", name: \"dispatchFocusEvent\", static: false, private: false, access: { has: obj => \"dispatchFocusEvent\" in obj, get: obj => obj.dispatchFocusEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchBlurEvent_decorators, { kind: \"method\", name: \"dispatchBlurEvent\", static: false, private: false, access: { has: obj => \"dispatchBlurEvent\" in obj, get: obj => obj.dispatchBlurEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchClearEvent_decorators, { kind: \"method\", name: \"dispatchClearEvent\", static: false, private: false, access: { has: obj => \"dispatchClearEvent\" in obj, get: obj => obj.dispatchClearEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _variant_decorators, { kind: \"field\", name: \"variant\", static: false, private: false, access: { has: obj => \"variant\" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_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, _placeholder_decorators, { kind: \"field\", name: \"placeholder\", static: false, private: false, access: { has: obj => \"placeholder\" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_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, _helperText_decorators, { kind: \"field\", name: \"helperText\", static: false, private: false, access: { has: obj => \"helperText\" in obj, get: obj => obj.helperText, set: (obj, value) => { obj.helperText = value; } }, metadata: _metadata }, _helperText_initializers, _helperText_extraInitializers);\n __esDecorate(null, null, _errorText_decorators, { kind: \"field\", name: \"errorText\", static: false, private: false, access: { has: obj => \"errorText\" in obj, get: obj => obj.errorText, set: (obj, value) => { obj.errorText = value; } }, metadata: _metadata }, _errorText_initializers, _errorText_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, _readonly_decorators, { kind: \"field\", name: \"readonly\", static: false, private: false, access: { has: obj => \"readonly\" in obj, get: obj => obj.readonly, set: (obj, value) => { obj.readonly = value; } }, metadata: _metadata }, _readonly_initializers, _readonly_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, _clearable_decorators, { kind: \"field\", name: \"clearable\", static: false, private: false, access: { has: obj => \"clearable\" in obj, get: obj => obj.clearable, set: (obj, value) => { obj.clearable = value; } }, metadata: _metadata }, _clearable_initializers, _clearable_extraInitializers);\n __esDecorate(null, null, _password_decorators, { kind: \"field\", name: \"password\", static: false, private: false, access: { has: obj => \"password\" in obj, get: obj => obj.password, set: (obj, value) => { obj.password = value; } }, metadata: _metadata }, _password_initializers, _password_extraInitializers);\n __esDecorate(null, null, _min_decorators, { kind: \"field\", name: \"min\", static: false, private: false, access: { has: obj => \"min\" in obj, get: obj => obj.min, set: (obj, value) => { obj.min = value; } }, metadata: _metadata }, _min_initializers, _min_extraInitializers);\n __esDecorate(null, null, _max_decorators, { kind: \"field\", name: \"max\", static: false, private: false, access: { has: obj => \"max\" in obj, get: obj => obj.max, set: (obj, value) => { obj.max = value; } }, metadata: _metadata }, _max_initializers, _max_extraInitializers);\n __esDecorate(null, null, _step_decorators, { kind: \"field\", name: \"step\", static: false, private: false, access: { has: obj => \"step\" in obj, get: obj => obj.step, set: (obj, value) => { obj.step = value; } }, metadata: _metadata }, _step_initializers, _step_extraInitializers);\n __esDecorate(null, null, _pattern_decorators, { kind: \"field\", name: \"pattern\", static: false, private: false, access: { has: obj => \"pattern\" in obj, get: obj => obj.pattern, set: (obj, value) => { obj.pattern = value; } }, metadata: _metadata }, _pattern_initializers, _pattern_extraInitializers);\n __esDecorate(null, null, _maxlength_decorators, { kind: \"field\", name: \"maxlength\", static: false, private: false, access: { has: obj => \"maxlength\" in obj, get: obj => obj.maxlength, set: (obj, value) => { obj.maxlength = value; } }, metadata: _metadata }, _maxlength_initializers, _maxlength_extraInitializers);\n __esDecorate(null, null, _minlength_decorators, { kind: \"field\", name: \"minlength\", static: false, private: false, access: { has: obj => \"minlength\" in obj, get: obj => obj.minlength, set: (obj, value) => { obj.minlength = value; } }, metadata: _metadata }, _minlength_initializers, _minlength_extraInitializers);\n __esDecorate(null, null, _autocomplete_decorators, { kind: \"field\", name: \"autocomplete\", static: false, private: false, access: { has: obj => \"autocomplete\" in obj, get: obj => obj.autocomplete, set: (obj, value) => { obj.autocomplete = value; } }, metadata: _metadata }, _autocomplete_initializers, _autocomplete_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, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _labelAlign_decorators, { kind: \"field\", name: \"labelAlign\", static: false, private: false, access: { has: obj => \"labelAlign\" in obj, get: obj => obj.labelAlign, set: (obj, value) => { obj.labelAlign = value; } }, metadata: _metadata }, _labelAlign_initializers, _labelAlign_extraInitializers);\n __esDecorate(null, null, _stretch_decorators, { kind: \"field\", name: \"stretch\", static: false, private: false, access: { has: obj => \"stretch\" in obj, get: obj => obj.stretch, set: (obj, value) => { obj.stretch = value; } }, metadata: _metadata }, _stretch_initializers, _stretch_extraInitializers);\n __esDecorate(null, null, _prefixIcon_decorators, { kind: \"field\", name: \"prefixIcon\", static: false, private: false, access: { has: obj => \"prefixIcon\" in obj, get: obj => obj.prefixIcon, set: (obj, value) => { obj.prefixIcon = value; } }, metadata: _metadata }, _prefixIcon_initializers, _prefixIcon_extraInitializers);\n __esDecorate(null, null, _suffixIcon_decorators, { kind: \"field\", name: \"suffixIcon\", static: false, private: false, access: { has: obj => \"suffixIcon\" in obj, get: obj => obj.suffixIcon, set: (obj, value) => { obj.suffixIcon = value; } }, metadata: _metadata }, _suffixIcon_initializers, _suffixIcon_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, _clearButton_decorators, { kind: \"field\", name: \"clearButton\", static: false, private: false, access: { has: obj => \"clearButton\" in obj, get: obj => obj.clearButton, set: (obj, value) => { obj.clearButton = value; } }, metadata: _metadata }, _clearButton_initializers, _clearButton_extraInitializers);\n __esDecorate(null, null, _passwordToggle_decorators, { kind: \"field\", name: \"passwordToggle\", static: false, private: false, access: { has: obj => \"passwordToggle\" in obj, get: obj => obj.passwordToggle, set: (obj, value) => { obj.passwordToggle = value; } }, metadata: _metadata }, _passwordToggle_initializers, _passwordToggle_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 constructor() {\n super();\n this.internals = __runInitializers(this, _instanceExtraInitializers);\n this.type = __runInitializers(this, _type_initializers, 'text');\n this.size = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.variant = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _variant_initializers, 'outlined'));\n this.value = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.placeholder = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _placeholder_initializers, ''));\n this.label = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.helperText = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _helperText_initializers, ''));\n this.errorText = (__runInitializers(this, _helperText_extraInitializers), __runInitializers(this, _errorText_initializers, ''));\n this.disabled = (__runInitializers(this, _errorText_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.readonly = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _readonly_initializers, false));\n this.loading = (__runInitializers(this, _readonly_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.clearable = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _clearable_initializers, false));\n this.password = (__runInitializers(this, _clearable_extraInitializers), __runInitializers(this, _password_initializers, false));\n this.min = (__runInitializers(this, _password_extraInitializers), __runInitializers(this, _min_initializers, ''));\n this.max = (__runInitializers(this, _min_extraInitializers), __runInitializers(this, _max_initializers, ''));\n this.step = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _step_initializers, ''));\n this.pattern = (__runInitializers(this, _step_extraInitializers), __runInitializers(this, _pattern_initializers, ''));\n this.maxlength = (__runInitializers(this, _pattern_extraInitializers), __runInitializers(this, _maxlength_initializers, -1));\n this.minlength = (__runInitializers(this, _maxlength_extraInitializers), __runInitializers(this, _minlength_initializers, -1));\n this.autocomplete = (__runInitializers(this, _minlength_extraInitializers), __runInitializers(this, _autocomplete_initializers, ''));\n this.name = (__runInitializers(this, _autocomplete_extraInitializers), __runInitializers(this, _name_initializers, ''));\n this.align = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _align_initializers, ''));\n this.labelAlign = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _labelAlign_initializers, 'left'));\n this.stretch = (__runInitializers(this, _labelAlign_extraInitializers), __runInitializers(this, _stretch_initializers, false));\n this.prefixIcon = (__runInitializers(this, _stretch_extraInitializers), __runInitializers(this, _prefixIcon_initializers, ''));\n this.suffixIcon = (__runInitializers(this, _prefixIcon_extraInitializers), __runInitializers(this, _suffixIcon_initializers, ''));\n this.input = (__runInitializers(this, _suffixIcon_extraInitializers), __runInitializers(this, _input_initializers, void 0));\n this.clearButton = (__runInitializers(this, _input_extraInitializers), __runInitializers(this, _clearButton_initializers, void 0));\n this.passwordToggle = (__runInitializers(this, _clearButton_extraInitializers), __runInitializers(this, _passwordToggle_initializers, void 0));\n this.showPassword = (__runInitializers(this, _passwordToggle_extraInitializers), false);\n if (typeof this.attachInternals == 'function') {\n this.internals = this.attachInternals();\n }\n }\n render() {\n const inputClasses = [\n 'input',\n `input--${this.size}`,\n `input--${this.variant}`,\n this.invalid ? 'input--invalid' : '',\n this.loading ? 'input--loading' : '',\n this.prefixIcon ? 'input--with-prefix-icon' : '',\n this.suffixIcon || (this.type === 'password' && this.password) || this.loading ? 'input--with-suffix-icon' : '',\n this.clearable ? 'input--clearable' : ''\n ].filter(Boolean).join(' ');\n const labelClasses = ['label', this.required ? 'label--required' : ''].filter(Boolean).join(' ');\n const clearButtonClasses = ['clear-button', this.suffixIcon || (this.type === 'password' && this.password) ? 'clear-button--with-suffix' : ''].filter(Boolean).join(' ');\n return html /*html*/ `\n <div class=\"input-wrapper\">\n <if ${this.label}>\n <label class=\"${labelClasses}\">\n ${this.label}\n </label>\n </if>\n\n <div class=\"input-container\">\n <span class=\"icon-slot icon-slot--prefix\" part=\"prefix-icon\">\n <slot name=\"prefix-icon\">\n <if ${this.prefixIcon}>\n ${renderIcon(this.prefixIcon, 'icon icon--prefix')}\n </if>\n </slot>\n </span>\n\n <input\n class=\"${inputClasses}\"\n type=\"${this.type}\"\n value=\"${this.value}\"\n placeholder=\"${this.placeholder}\"\n ?disabled=\"${this.disabled || this.loading}\"\n ?readonly=\"${this.readonly}\"\n ?required=\"${this.required}\"\n min=\"${this.min || ''}\"\n max=\"${this.max || ''}\"\n step=\"${this.step || ''}\"\n pattern=\"${this.pattern || ''}\"\n maxlength=\"${this.maxlength > 0 ? this.maxlength : ''}\"\n minlength=\"${this.minlength > 0 ? this.minlength : ''}\"\n autocomplete=\"${this.autocomplete || ''}\"\n name=\"${this.name || ''}\"\n part=\"input\"\n @input=${this.handleInput}\n @change=${this.handleChange}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n <button\n class=\"${clearButtonClasses}\"\n type=\"button\"\n aria-label=\"Clear\"\n tabindex=\"-1\"\n part=\"clear\"\n style=\"display: none;\"\n @click=${this.handleClear}\n >\n <svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\">\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" fill=\"currentColor\"/>\n </svg>\n </button>\n\n <if ${this.loading}>\n <span class=\"spinner\" part=\"spinner\"></span>\n </if>\n\n <if ${this.type === 'password' && this.password}>\n <button\n class=\"password-toggle\"\n type=\"button\"\n aria-label=\"Show password\"\n tabindex=\"-1\"\n part=\"password-toggle\"\n @click=${this.handlePasswordToggle}\n >\n <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" class=\"password-icon password-icon--hidden\">\n <path d=\"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z\" fill=\"currentColor\"/>\n </svg>\n <svg viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" class=\"password-icon password-icon--visible\" style=\"display: none;\">\n <path d=\"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z\" fill=\"currentColor\"/>\n </svg>\n </button>\n </if>\n <if ${!(this.type === 'password' && this.password)}>\n <span class=\"icon-slot icon-slot--suffix\" part=\"suffix-icon\">\n <slot name=\"suffix-icon\">\n <if ${this.suffixIcon}>\n ${renderIcon(this.suffixIcon, 'icon icon--suffix')}\n </if>\n </slot>\n </span>\n </if>\n </div>\n\n <case ${this.errorText ? 'error' : this.helperText ? 'helper' : 'empty'}>\n <when value=\"error\">\n <span class=\"error-text\" part=\"error-text\">${this.errorText}</span>\n </when>\n <when value=\"helper\">\n <span class=\"helper-text\" part=\"helper-text\">${this.helperText}</span>\n </when>\n <default>\n <span class=\"helper-text\" part=\"helper-text\">&nbsp;</span>\n </default>\n </case>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n // Set initial form value\n if (this.internals) {\n this.internals.setFormValue(this.value);\n }\n // Set initial clear button visibility\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n // Set initial invalid state\n if (this.input && this.invalid) {\n this.input.setAttribute('aria-invalid', 'true');\n this.input.classList.add('input--invalid');\n }\n // Set initial input properties that may not be properly set via attributes\n if (this.input) {\n // Number input constraints\n if (this.type === 'number') {\n if (this.min)\n this.input.min = this.min;\n if (this.max)\n this.input.max = this.max;\n if (this.step)\n this.input.step = this.step;\n }\n // Text constraints\n if (this.maxlength > 0)\n this.input.maxLength = this.maxlength;\n if (this.minlength > 0)\n this.input.minLength = this.minlength;\n // Other properties\n if (this.pattern)\n this.input.pattern = this.pattern;\n if (this.placeholder)\n this.input.placeholder = this.placeholder;\n if (this.value)\n this.input.value = this.value;\n this.input.disabled = this.disabled;\n this.input.readOnly = this.readonly;\n this.input.required = this.required;\n }\n }\n handleInput(e) {\n const input = e.target;\n this.value = input.value;\n this.dispatchInputEvent();\n }\n handleChange(e) {\n const input = e.target;\n this.value = input.value;\n this.dispatchChangeEvent();\n }\n handleFocus(e) {\n this.dispatchFocusEvent();\n }\n handleBlur(e) {\n this.dispatchBlurEvent();\n }\n handleClear(e) {\n this.clear();\n }\n handlePasswordToggle(e) {\n this.showPassword = !this.showPassword;\n if (this.input) {\n this.input.type = this.showPassword ? 'text' : 'password';\n }\n if (this.passwordToggle) {\n const hiddenIcon = this.passwordToggle.querySelector('.password-icon--hidden');\n const visibleIcon = this.passwordToggle.querySelector('.password-icon--visible');\n if (hiddenIcon && visibleIcon) {\n hiddenIcon.style.display = this.showPassword ? 'none' : '';\n visibleIcon.style.display = this.showPassword ? '' : 'none';\n this.passwordToggle.setAttribute('aria-label', this.showPassword ? 'Hide password' : 'Show password');\n }\n }\n }\n handleValueChange() {\n // Only update input.value if it's different to avoid unnecessary DOM updates\n if (this.input && this.input.value !== this.value) {\n this.input.value = this.value;\n }\n // Update form value\n if (this.internals) {\n this.internals.setFormValue(this.value);\n }\n // Show/hide clear button based on value\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n }\n handleInvalidChange() {\n if (this.input) {\n this.input.setAttribute('aria-invalid', String(this.invalid));\n if (this.invalid) {\n this.input.classList.add('input--invalid');\n }\n else {\n this.input.classList.remove('input--invalid');\n }\n }\n }\n handleDisabledChange() {\n if (this.input) {\n this.input.disabled = this.disabled || this.loading;\n }\n // Update clear button visibility\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n }\n handleLoadingChange() {\n if (this.input) {\n this.input.disabled = this.disabled || this.loading;\n }\n // Update clear button visibility\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n }\n handleReadonlyChange() {\n if (this.input) {\n this.input.readOnly = this.readonly;\n }\n // Update clear button visibility\n if (this.clearButton && this.clearable) {\n const shouldShow = this.value && !this.disabled && !this.readonly && !this.loading;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n this.clearButton.classList.toggle('clear-button--visible', !!shouldShow);\n }\n }\n handlePlaceholderChange() {\n if (this.input) {\n this.input.placeholder = this.placeholder;\n }\n }\n handleMinChange() {\n if (this.input && this.type === 'number') {\n this.input.min = this.min;\n }\n }\n handleMaxChange() {\n if (this.input && this.type === 'number') {\n this.input.max = this.max;\n }\n }\n handleStepChange() {\n if (this.input && this.type === 'number') {\n this.input.step = this.step;\n }\n }\n handleMaxLengthChange() {\n if (this.input && this.maxlength > 0) {\n this.input.maxLength = this.maxlength;\n }\n }\n handleMinLengthChange() {\n if (this.input && this.minlength > 0) {\n this.input.minLength = this.minlength;\n }\n }\n handlePatternChange() {\n if (this.input) {\n this.input.pattern = this.pattern;\n }\n }\n handleTypeChange() {\n if (this.input && this.type !== 'password') {\n // Don't change type for password fields (handled by toggle)\n this.input.type = this.type;\n }\n }\n handleLabelChange() {\n const labelEl = this.shadowRoot?.querySelector('.label');\n if (labelEl) {\n labelEl.textContent = this.label;\n // Show/hide the label wrapper\n const wrapper = labelEl.parentElement;\n if (wrapper) {\n wrapper.style.display = this.label ? '' : 'none';\n }\n }\n }\n dispatchInputEvent() {\n return { value: this.value, input: this };\n }\n dispatchChangeEvent() {\n return { value: this.value, input: this };\n }\n dispatchFocusEvent() {\n return { input: this };\n }\n dispatchBlurEvent() {\n return { input: this };\n }\n dispatchClearEvent() {\n return { input: this };\n }\n // Public API\n focus() {\n this.input?.focus();\n }\n blur() {\n this.input?.blur();\n }\n select() {\n this.input?.select();\n }\n clear() {\n this.value = '';\n if (this.input) {\n this.input.value = '';\n }\n this.dispatchClearEvent();\n this.dispatchInputEvent();\n this.dispatchChangeEvent();\n this.focus();\n }\n checkValidity() {\n return this.input?.checkValidity() ?? true;\n }\n reportValidity() {\n return this.input?.reportValidity() ?? true;\n }\n setCustomValidity(message) {\n this.input?.setCustomValidity(message);\n }\n });\n return _classThis;\n})();\n\nexport { SniceInput };\n//# sourceMappingURL=snice-input.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, html, css } from 'snice';\n\nlet SniceOption = (() => {\n let _classDecorators = [element('snice-option')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\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 _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_extraInitializers = [];\n let _selected_decorators;\n let _selected_initializers = [];\n let _selected_extraInitializers = [];\n let _icon_decorators;\n let _icon_initializers = [];\n let _icon_extraInitializers = [];\n let _render_decorators;\n let _styles_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 _value_decorators = [property({})];\n _label_decorators = [property({})];\n _disabled_decorators = [property({ type: Boolean, })];\n _selected_decorators = [property({ type: Boolean, })];\n _icon_decorators = [property({})];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\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(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, _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, _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, _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, _icon_decorators, { kind: \"field\", name: \"icon\", static: false, private: false, access: { has: obj => \"icon\" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_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 // Options are data-only elements, no shadow DOM needed\n return html /*html*/ ``;\n }\n styles() {\n return css /*css*/ `:host { display: none; }`;\n }\n init() {\n // If no label is provided, use the text content\n if (!this.label && this.textContent) {\n this.label = this.textContent.trim();\n }\n // If no value is provided, use the label\n if (!this.value && this.label) {\n this.value = this.label;\n }\n }\n // Getter for the option data\n get optionData() {\n return {\n value: this.value,\n label: this.label || this.textContent?.trim() || this.value,\n disabled: this.disabled,\n selected: this.selected,\n icon: this.icon\n };\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.label = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.disabled = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _disabled_initializers, false));\n this.selected = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _selected_initializers, false));\n this.icon = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _icon_initializers, ''));\n __runInitializers(this, _icon_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceOption };\n//# sourceMappingURL=snice-option.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, queryAll, render, styles, ready, dispose, watch, dispatch, html, css } from 'snice';\nimport './snice-option.js';\n\nvar cssContent = \":host{display:inline-block;font-family:var(--snice-font-family);position:relative;width:100%;max-width:18.75rem}[hidden]{display:none!important}img[src=\\\"\\\"]{display:none}.select-wrapper{position:relative;width:100%}.select-label{display:block;margin-bottom:.25rem;color:var(--snice-color-text);font-weight:500}.select-label--small{font-size:var(--snice-font-size-sm)}.select-label--medium{font-size:var(--snice-font-size-md)}.select-label--large{font-size:var(--snice-font-size-lg)}.select-label--required::after{content:' *';color:var(--snice-color-danger)}.select-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--snice-color-background-input);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-md);cursor:pointer;transition:all var(--snice-transition-fast) ease;position:relative;text-align:left;font-family:inherit;color:var(--snice-color-text)}.select-trigger--small{padding:.375rem 2rem .375rem .625rem;font-size:var(--snice-font-size-sm);min-height:2rem}.select-trigger--medium{padding:.5rem 2.25rem .5rem .75rem;font-size:var(--snice-font-size-md);min-height:var(--snice-select-min-height,2.5rem)}.select-trigger--large{padding:.625rem 2.5rem .625rem .875rem;font-size:var(--snice-font-size-lg);min-height:3rem}.select-trigger:hover:not(.select-trigger--disabled){border-color:var(--snice-color-border-hover)}.select-trigger:focus-visible{outline:2px solid var(--snice-color-primary);outline-offset:2px;border-color:var(--snice-color-primary)}.select-trigger--open{border-color:var(--snice-color-primary)}.select-trigger--disabled{background:var(--snice-color-background-secondary);cursor:not-allowed;opacity:.6}.select-trigger--readonly{background:var(--snice-color-background-secondary);cursor:default}.select-trigger--invalid{border-color:var(--snice-color-danger)}.select-placeholder{color:var(--snice-color-text-secondary)}.select-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-value--single{display:flex;align-items:center;gap:.5rem}.select-value-icon{width:1rem;height:1rem;object-fit:contain;flex-shrink:0}.select-value--multiple{display:flex;gap:.25rem;flex-wrap:wrap}.select-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .375rem;background:var(--snice-color-primary-light);color:var(--snice-color-primary);border-radius:var(--snice-border-radius-sm);font-size:var(--snice-font-size-xs)}.select-tag-icon{width:.75rem;height:.75rem;object-fit:contain;flex-shrink:0}.select-tag-remove{cursor:pointer;padding:0;background:0 0;border:none;color:inherit;font-size:.75rem;line-height:1}.select-tag-remove:hover{opacity:.7}.select-icons{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.25rem;pointer-events:none;z-index:1}.select-clear{padding:2px;background:0 0;border:none;cursor:pointer;color:var(--snice-color-text-secondary);display:flex;align-items:center;justify-content:center;border-radius:var(--snice-border-radius-sm);pointer-events:auto}.select-clear:hover{background:var(--snice-color-background-secondary);color:var(--snice-color-text)}.select-arrow{transition:transform var(--snice-transition-fast) ease;color:var(--snice-color-text-secondary);pointer-events:none}.select-arrow--open{transform:rotate(180deg)}.select-dropdown{position:absolute;top:100%;margin-top:4px;left:0;right:0;background:var(--snice-color-background-element);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-md);box-shadow:var(--snice-shadow-lg);z-index:1000;opacity:0;transform:translateY(-8px) scaleY(.95);transform-origin:top;pointer-events:none;transition:opacity var(--snice-transition-fast) ease,transform var(--snice-transition-fast) ease;display:flex;flex-direction:column;overflow:hidden}.select-dropdown--open{opacity:1;transform:translateY(0) scaleY(1);pointer-events:auto}.select-search{padding:8px;border-bottom:1px solid var(--snice-color-border);flex-shrink:0}.select-search-input{width:100%;padding:6px 10px;background:var(--snice-color-background-input);border:1px solid var(--snice-color-border);border-radius:var(--snice-border-radius-sm);font-size:var(--snice-font-size-sm);font-family:inherit;color:var(--snice-color-text);box-sizing:border-box}.select-search-input:focus{outline:0;border-color:var(--snice-color-primary)}.select-options{max-height:200px;overflow-y:auto;overflow-x:hidden;padding:4px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--snice-color-border) var(--snice-color-background-secondary)}.select-options::-webkit-scrollbar-track{background:var(--snice-color-background-secondary);margin:4px 0}.select-options::-webkit-scrollbar-thumb{background:var(--snice-color-border);border:2px solid var(--snice-color-background)}.select-option{padding:8px 12px;cursor:pointer;border-radius:var(--snice-border-radius-sm);transition:background var(--snice-transition-fast) ease;display:flex;align-items:center;gap:8px}.select-option:hover:not(.select-option--disabled){background:var(--snice-color-background-secondary)}.select-option--selected{background:var(--snice-color-primary-light);color:var(--snice-color-primary);font-weight:500}.select-option--focused{background:var(--snice-color-background-secondary);outline:2px solid var(--snice-color-primary);outline-offset:-2px}.select-option--disabled{opacity:.5;cursor:not-allowed}.select-option-icon{width:16px;height:16px;object-fit:contain;flex-shrink:0}.select-option-check{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.select-option-label{flex:1}.select-no-options{padding:16px;text-align:center;color:var(--snice-color-text-secondary);font-size:var(--snice-font-size-sm)}.select-native{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:var(--snice-color-background-secondary);border-radius:3px}.select-options::-webkit-scrollbar-thumb{background:var(--snice-color-border);border-radius:3px}.select-options::-webkit-scrollbar-thumb:hover{background:var(--snice-color-border-hover)}.select-trigger--loading{cursor:wait;opacity:.7}.select-spinner{display:inline-block;width:14px;height:14px;margin-right:4px}.select-spinner::after{content:'';display:block;width:100%;height:100%;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}\";\n\nlet SniceSelect = (() => {\n let _classDecorators = [element('snice-select', { formAssociated: true })];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _disabled_decorators;\n let _disabled_initializers = [];\n let _disabled_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 _readonly_decorators;\n let _readonly_initializers = [];\n let _readonly_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _multiple_decorators;\n let _multiple_initializers = [];\n let _multiple_extraInitializers = [];\n let _searchable_decorators;\n let _searchable_initializers = [];\n let _searchable_extraInitializers = [];\n let _clearable_decorators;\n let _clearable_initializers = [];\n let _clearable_extraInitializers = [];\n let _open_decorators;\n let _open_initializers = [];\n let _open_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 _placeholder_decorators;\n let _placeholder_initializers = [];\n let _placeholder_extraInitializers = [];\n let _maxHeight_decorators;\n let _maxHeight_initializers = [];\n let _maxHeight_extraInitializers = [];\n let _trigger_decorators;\n let _trigger_initializers = [];\n let _trigger_extraInitializers = [];\n let _dropdown_decorators;\n let _dropdown_initializers = [];\n let _dropdown_extraInitializers = [];\n let _valueDisplay_decorators;\n let _valueDisplay_initializers = [];\n let _valueDisplay_extraInitializers = [];\n let _labelElement_decorators;\n let _labelElement_initializers = [];\n let _labelElement_extraInitializers = [];\n let _searchInput_decorators;\n let _searchInput_initializers = [];\n let _searchInput_extraInitializers = [];\n let _optionsList_decorators;\n let _optionsList_initializers = [];\n let _optionsList_extraInitializers = [];\n let _clearButton_decorators;\n let _clearButton_initializers = [];\n let _clearButton_extraInitializers = [];\n let _arrow_decorators;\n let _arrow_initializers = [];\n let _arrow_extraInitializers = [];\n let _searchContainer_decorators;\n let _searchContainer_initializers = [];\n let _searchContainer_extraInitializers = [];\n let _optionElements_decorators;\n let _optionElements_initializers = [];\n let _optionElements_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _cleanup_decorators;\n let _handleValueChange_decorators;\n let _handleDisabledChange_decorators;\n let _handleLoadingChange_decorators;\n let _handleOpenChange_decorators;\n let _dispatchChangeEvent_decorators;\n let _dispatchOpenEvent_decorators;\n let _dispatchCloseEvent_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 _disabled_decorators = [property({ type: Boolean, })];\n _required_decorators = [property({ type: Boolean, })];\n _invalid_decorators = [property({ type: Boolean, })];\n _readonly_decorators = [property({ type: Boolean, })];\n _loading_decorators = [property({ type: Boolean, })];\n _multiple_decorators = [property({ type: Boolean, })];\n _searchable_decorators = [property({ type: Boolean, })];\n _clearable_decorators = [property({ type: Boolean, })];\n _open_decorators = [property({ type: Boolean, })];\n _size_decorators = [property({})];\n _name_decorators = [property({})];\n _value_decorators = [property({})];\n _label_decorators = [property({})];\n _placeholder_decorators = [property({})];\n _maxHeight_decorators = [property({ attribute: 'max-height' })];\n _trigger_decorators = [query('.select-trigger')];\n _dropdown_decorators = [query('.select-dropdown')];\n _valueDisplay_decorators = [query('.select-value')];\n _labelElement_decorators = [query('.select-label')];\n _searchInput_decorators = [query('.select-search-input')];\n _optionsList_decorators = [query('.select-options')];\n _clearButton_decorators = [query('.select-clear')];\n _arrow_decorators = [query('.select-arrow')];\n _searchContainer_decorators = [query('.select-search')];\n _optionElements_decorators = [queryAll('.select-option')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _cleanup_decorators = [dispose()];\n _handleValueChange_decorators = [watch('value')];\n _handleDisabledChange_decorators = [watch('disabled')];\n _handleLoadingChange_decorators = [watch('loading')];\n _handleOpenChange_decorators = [watch('open')];\n _dispatchChangeEvent_decorators = [dispatch('select-change', { bubbles: true, composed: true })];\n _dispatchOpenEvent_decorators = [dispatch('select-open', { bubbles: true, composed: true })];\n _dispatchCloseEvent_decorators = [dispatch('select-close', { bubbles: true, composed: true })];\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(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, _cleanup_decorators, { kind: \"method\", name: \"cleanup\", static: false, private: false, access: { has: obj => \"cleanup\" in obj, get: obj => obj.cleanup }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleValueChange_decorators, { kind: \"method\", name: \"handleValueChange\", static: false, private: false, access: { has: obj => \"handleValueChange\" in obj, get: obj => obj.handleValueChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDisabledChange_decorators, { kind: \"method\", name: \"handleDisabledChange\", static: false, private: false, access: { has: obj => \"handleDisabledChange\" in obj, get: obj => obj.handleDisabledChange }, 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, _handleOpenChange_decorators, { kind: \"method\", name: \"handleOpenChange\", static: false, private: false, access: { has: obj => \"handleOpenChange\" in obj, get: obj => obj.handleOpenChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchChangeEvent_decorators, { kind: \"method\", name: \"dispatchChangeEvent\", static: false, private: false, access: { has: obj => \"dispatchChangeEvent\" in obj, get: obj => obj.dispatchChangeEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchOpenEvent_decorators, { kind: \"method\", name: \"dispatchOpenEvent\", static: false, private: false, access: { has: obj => \"dispatchOpenEvent\" in obj, get: obj => obj.dispatchOpenEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchCloseEvent_decorators, { kind: \"method\", name: \"dispatchCloseEvent\", static: false, private: false, access: { has: obj => \"dispatchCloseEvent\" in obj, get: obj => obj.dispatchCloseEvent }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _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, _readonly_decorators, { kind: \"field\", name: \"readonly\", static: false, private: false, access: { has: obj => \"readonly\" in obj, get: obj => obj.readonly, set: (obj, value) => { obj.readonly = value; } }, metadata: _metadata }, _readonly_initializers, _readonly_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, _multiple_decorators, { kind: \"field\", name: \"multiple\", static: false, private: false, access: { has: obj => \"multiple\" in obj, get: obj => obj.multiple, set: (obj, value) => { obj.multiple = value; } }, metadata: _metadata }, _multiple_initializers, _multiple_extraInitializers);\n __esDecorate(null, null, _searchable_decorators, { kind: \"field\", name: \"searchable\", static: false, private: false, access: { has: obj => \"searchable\" in obj, get: obj => obj.searchable, set: (obj, value) => { obj.searchable = value; } }, metadata: _metadata }, _searchable_initializers, _searchable_extraInitializers);\n __esDecorate(null, null, _clearable_decorators, { kind: \"field\", name: \"clearable\", static: false, private: false, access: { has: obj => \"clearable\" in obj, get: obj => obj.clearable, set: (obj, value) => { obj.clearable = value; } }, metadata: _metadata }, _clearable_initializers, _clearable_extraInitializers);\n __esDecorate(null, null, _open_decorators, { kind: \"field\", name: \"open\", static: false, private: false, access: { has: obj => \"open\" in obj, get: obj => obj.open, set: (obj, value) => { obj.open = value; } }, metadata: _metadata }, _open_initializers, _open_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, _placeholder_decorators, { kind: \"field\", name: \"placeholder\", static: false, private: false, access: { has: obj => \"placeholder\" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);\n __esDecorate(null, null, _maxHeight_decorators, { kind: \"field\", name: \"maxHeight\", static: false, private: false, access: { has: obj => \"maxHeight\" in obj, get: obj => obj.maxHeight, set: (obj, value) => { obj.maxHeight = value; } }, metadata: _metadata }, _maxHeight_initializers, _maxHeight_extraInitializers);\n __esDecorate(null, null, _trigger_decorators, { kind: \"field\", name: \"trigger\", static: false, private: false, access: { has: obj => \"trigger\" in obj, get: obj => obj.trigger, set: (obj, value) => { obj.trigger = value; } }, metadata: _metadata }, _trigger_initializers, _trigger_extraInitializers);\n __esDecorate(null, null, _dropdown_decorators, { kind: \"field\", name: \"dropdown\", static: false, private: false, access: { has: obj => \"dropdown\" in obj, get: obj => obj.dropdown, set: (obj, value) => { obj.dropdown = value; } }, metadata: _metadata }, _dropdown_initializers, _dropdown_extraInitializers);\n __esDecorate(null, null, _valueDisplay_decorators, { kind: \"field\", name: \"valueDisplay\", static: false, private: false, access: { has: obj => \"valueDisplay\" in obj, get: obj => obj.valueDisplay, set: (obj, value) => { obj.valueDisplay = value; } }, metadata: _metadata }, _valueDisplay_initializers, _valueDisplay_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, _searchInput_decorators, { kind: \"field\", name: \"searchInput\", static: false, private: false, access: { has: obj => \"searchInput\" in obj, get: obj => obj.searchInput, set: (obj, value) => { obj.searchInput = value; } }, metadata: _metadata }, _searchInput_initializers, _searchInput_extraInitializers);\n __esDecorate(null, null, _optionsList_decorators, { kind: \"field\", name: \"optionsList\", static: false, private: false, access: { has: obj => \"optionsList\" in obj, get: obj => obj.optionsList, set: (obj, value) => { obj.optionsList = value; } }, metadata: _metadata }, _optionsList_initializers, _optionsList_extraInitializers);\n __esDecorate(null, null, _clearButton_decorators, { kind: \"field\", name: \"clearButton\", static: false, private: false, access: { has: obj => \"clearButton\" in obj, get: obj => obj.clearButton, set: (obj, value) => { obj.clearButton = value; } }, metadata: _metadata }, _clearButton_initializers, _clearButton_extraInitializers);\n __esDecorate(null, null, _arrow_decorators, { kind: \"field\", name: \"arrow\", static: false, private: false, access: { has: obj => \"arrow\" in obj, get: obj => obj.arrow, set: (obj, value) => { obj.arrow = value; } }, metadata: _metadata }, _arrow_initializers, _arrow_extraInitializers);\n __esDecorate(null, null, _searchContainer_decorators, { kind: \"field\", name: \"searchContainer\", static: false, private: false, access: { has: obj => \"searchContainer\" in obj, get: obj => obj.searchContainer, set: (obj, value) => { obj.searchContainer = value; } }, metadata: _metadata }, _searchContainer_initializers, _searchContainer_extraInitializers);\n __esDecorate(null, null, _optionElements_decorators, { kind: \"field\", name: \"optionElements\", static: false, private: false, access: { has: obj => \"optionElements\" in obj, get: obj => obj.optionElements, set: (obj, value) => { obj.optionElements = value; } }, metadata: _metadata }, _optionElements_initializers, _optionElements_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 constructor() {\n super();\n this.internals = __runInitializers(this, _instanceExtraInitializers);\n this.disabled = __runInitializers(this, _disabled_initializers, false);\n this.required = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _required_initializers, false));\n this.invalid = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _invalid_initializers, false));\n this.readonly = (__runInitializers(this, _invalid_extraInitializers), __runInitializers(this, _readonly_initializers, false));\n this.loading = (__runInitializers(this, _readonly_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.multiple = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _multiple_initializers, false));\n this.searchable = (__runInitializers(this, _multiple_extraInitializers), __runInitializers(this, _searchable_initializers, false));\n this.clearable = (__runInitializers(this, _searchable_extraInitializers), __runInitializers(this, _clearable_initializers, false));\n this.open = (__runInitializers(this, _clearable_extraInitializers), __runInitializers(this, _open_initializers, false));\n this.size = (__runInitializers(this, _open_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, ''));\n this.label = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.placeholder = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _placeholder_initializers, 'Select an option'));\n this.maxHeight = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _maxHeight_initializers, '200px'));\n // Options will be read from child snice-option elements\n this.options = (__runInitializers(this, _maxHeight_extraInitializers), []);\n this.trigger = __runInitializers(this, _trigger_initializers, void 0);\n this.dropdown = (__runInitializers(this, _trigger_extraInitializers), __runInitializers(this, _dropdown_initializers, void 0));\n this.valueDisplay = (__runInitializers(this, _dropdown_extraInitializers), __runInitializers(this, _valueDisplay_initializers, void 0));\n this.labelElement = (__runInitializers(this, _valueDisplay_extraInitializers), __runInitializers(this, _labelElement_initializers, void 0));\n this.searchInput = (__runInitializers(this, _labelElement_extraInitializers), __runInitializers(this, _searchInput_initializers, void 0));\n this.optionsList = (__runInitializers(this, _searchInput_extraInitializers), __runInitializers(this, _optionsList_initializers, void 0));\n this.clearButton = (__runInitializers(this, _optionsList_extraInitializers), __runInitializers(this, _clearButton_initializers, void 0));\n this.arrow = (__runInitializers(this, _clearButton_extraInitializers), __runInitializers(this, _arrow_initializers, void 0));\n this.searchContainer = (__runInitializers(this, _arrow_extraInitializers), __runInitializers(this, _searchContainer_initializers, void 0));\n this.optionElements = (__runInitializers(this, _searchContainer_extraInitializers), __runInitializers(this, _optionElements_initializers, void 0));\n this.filteredOptions = (__runInitializers(this, _optionElements_extraInitializers), []);\n this.selectedValues = new Set();\n this.focusedIndex = -1;\n if (typeof this.attachInternals == 'function') {\n this.internals = this.attachInternals();\n }\n }\n render() {\n const labelClasses = `select-label select-label--${this.size} ${this.required ? 'select-label--required' : ''}`;\n const triggerClasses = `select-trigger select-trigger--${this.size} ${this.loading ? 'select-trigger--loading' : ''}`;\n const searchHidden = !this.searchable;\n return html /*html*/ `\n <div class=\"select-wrapper\">\n <label class=\"${labelClasses}\" part=\"label\" ?hidden=\"${!this.label}\">\n ${this.label}\n </label>\n\n <button\n type=\"button\"\n class=\"${triggerClasses}\"\n aria-haspopup=\"listbox\"\n aria-expanded=\"false\"\n aria-label=\"${this.label || 'Select'}\"\n part=\"trigger\"\n @keydown=\"${(e) => this.handleTriggerOpen(e)}\"\n @click=\"${(e) => this.handleTriggerClick(e)}\">\n\n <div class=\"select-value\" part=\"value\">\n <span class=\"select-placeholder\">${this.placeholder}</span>\n </div>\n\n <span class=\"select-icons\">\n <span class=\"select-clear\" aria-label=\"Clear selection\" style=\"display: none;\" @click=\"${(e) => this.handleClearClick(e)}\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"currentColor\">\n <path d=\"M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z\"/>\n </svg>\n </span>\n <if ${this.loading}>\n <span class=\"select-spinner\" part=\"spinner\"></span>\n </if>\n <if ${!this.loading}>\n <span class=\"select-arrow\">\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"currentColor\">\n <path d=\"M6 9L1 4h10L6 9z\"/>\n </svg>\n </span>\n </if>\n </span>\n </button>\n\n <div class=\"select-dropdown\"\n role=\"listbox\"\n aria-label=\"${this.label || 'Options'}\"\n part=\"dropdown\"\n @click=\"${(e) => this.handleOptionsClick(e)}\">\n\n <div class=\"select-search\" part=\"search\" ?hidden=\"${searchHidden}\">\n <input\n type=\"text\"\n class=\"select-search-input\"\n placeholder=\"Search...\"\n aria-label=\"Search options\"\n part=\"search-input\"\n @keydown=\"${(e) => this.handleSearchKeydown(e)}\"\n @input=\"${(e) => this.handleSearchInput(e)}\" />\n </div>\n\n <div class=\"select-options\" part=\"options\">\n <!-- Options will be rendered in @ready() -->\n </div>\n </div>\n\n </div>\n `;\n }\n renderOptions() {\n const options = this.searchable ? this.filteredOptions : this.options;\n if (options.length === 0) {\n return /*html*/ `\n <div class=\"select-no-options\">\n <span class=\"select-no-options-text\" data-search=\"true\" ${!this.searchable || this.filteredOptions.length > 0 ? 'hidden' : ''}>No matches found</span>\n <span class=\"select-no-options-text\" data-search=\"false\" ${this.searchable && this.filteredOptions.length === 0 ? 'hidden' : ''}>No options available</span>\n </div>\n `;\n }\n return options.map((opt, index) => {\n const isSelected = this.multiple ?\n this.selectedValues.has(opt.value) :\n opt.value === this.value;\n return /*html*/ `\n <div class=\"select-option \n ${isSelected ? 'select-option--selected' : ''}\n ${opt.disabled ? 'select-option--disabled' : ''}\n ${index === this.focusedIndex ? 'select-option--focused' : ''}\n ${opt.icon ? 'select-option--has-icon' : ''}\"\n data-value=\"${opt.value}\"\n role=\"option\"\n aria-selected=\"${isSelected}\"\n aria-disabled=\"${opt.disabled}\"\n part=\"option\">\n <span class=\"select-option-check\" ${!this.multiple ? 'hidden' : ''}>\n <span class=\"select-option-check-mark\" ${!isSelected ? 'hidden' : ''}>✓</span>\n </span>\n <img class=\"select-option-icon\" src=\"${opt.icon || ''}\" alt=\"\" ${!opt.icon ? 'hidden' : ''} />\n <span class=\"select-option-label\">${opt.label}</span>\n </div>\n `;\n }).join('');\n }\n styles() {\n return css `${cssContent}`;\n }\n init() {\n // Read options from child snice-option elements\n this.readOptionsFromChildren();\n // Initialize selected values\n if (this.multiple && this.value) {\n this.selectedValues = new Set(this.value.split(',').map(v => v.trim()));\n }\n // Initialize filtered options\n this.filteredOptions = [...this.options];\n // Set initial form value\n if (this.internals) {\n this.internals.setFormValue(this.value);\n }\n // Wait for @query decorators to populate shadow DOM elements\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n // Set initial imperative state\n this.updateTriggerState();\n this.updateDropdownState();\n // Now that we have options, update everything\n this.updateDropdownContent();\n this.updateValueDisplay();\n this.updateClearButton();\n });\n });\n // Watch for changes to child options\n this.observeChildren();\n // Setup global event listeners\n this.setupGlobalListeners();\n }\n cleanup() {\n this.removeGlobalListeners();\n this.childObserver?.disconnect();\n }\n setupGlobalListeners() {\n // Create bound handlers\n this.outsideClickHandler = (e) => {\n if (!this.contains(e.target) && this.open) {\n this.closeDropdown();\n }\n };\n this.globalKeyHandler = (e) => {\n if (!this.open)\n return;\n switch (e.key) {\n case 'Escape':\n this.closeDropdown();\n this.trigger?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNextOption();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this.focusPreviousOption();\n break;\n case 'Enter':\n case ' ':\n e.preventDefault();\n if (this.focusedIndex >= 0) {\n const options = this.searchable ? this.filteredOptions : this.options;\n const option = options[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n break;\n }\n };\n // Add listeners\n document.addEventListener('click', this.outsideClickHandler);\n document.addEventListener('keydown', this.globalKeyHandler);\n }\n removeGlobalListeners() {\n if (this.outsideClickHandler) {\n document.removeEventListener('click', this.outsideClickHandler);\n }\n if (this.globalKeyHandler) {\n document.removeEventListener('keydown', this.globalKeyHandler);\n }\n }\n // Manual observation of light DOM children (snice-option elements)\n observeChildren() {\n const observer = new MutationObserver((mutations) => {\n this.handleChildrenChange(mutations);\n });\n // Observe the host element (this) for changes to its light DOM children\n observer.observe(this, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['value', 'label', 'disabled', 'selected']\n });\n // Store for cleanup\n this.childObserver = observer;\n }\n handleChildrenChange(mutations) {\n // Check if any of the mutations are relevant (snice-option elements or their attributes)\n const relevant = mutations.some(m => {\n if (m.type === 'childList')\n return true;\n if (m.type === 'attributes' && ['value', 'label', 'disabled', 'selected'].includes(m.attributeName)) {\n return m.target.nodeName === 'SNICE-OPTION';\n }\n return false;\n });\n if (relevant) {\n this.readOptionsFromChildren();\n this.filteredOptions = [...this.options];\n this.updateValueDisplay();\n this.updateClearButton();\n this.updateDropdownContent();\n }\n }\n readOptionsFromChildren() {\n // Get all snice-option children from light DOM\n const optionElements = Array.from(this.querySelectorAll('snice-option'));\n this.options = optionElements.map(opt => {\n const sniceOption = opt;\n // Use the optionData getter if available, otherwise construct from properties\n if (sniceOption.optionData) {\n return sniceOption.optionData;\n }\n return {\n value: opt.getAttribute('value') || '',\n label: opt.getAttribute('label') || opt.textContent?.trim() || '',\n disabled: opt.hasAttribute('disabled'),\n selected: opt.hasAttribute('selected')\n };\n });\n }\n handleTriggerOpen(e) {\n if (['Enter', ' ', 'ArrowDown', 'ArrowUp'].includes(e.key)) {\n e.preventDefault();\n if (!this.open) {\n this.openDropdown();\n }\n }\n }\n handleSearchKeydown(e) {\n switch (e.key) {\n case 'Escape':\n this.closeDropdown();\n this.trigger?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n this.focusNextOption();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this.focusPreviousOption();\n break;\n case 'Enter':\n e.preventDefault();\n if (this.focusedIndex >= 0) {\n const options = this.searchable ? this.filteredOptions : this.options;\n const option = options[this.focusedIndex];\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n break;\n }\n }\n focusNextOption() {\n const options = this.searchable ? this.filteredOptions : this.options;\n const enabledOptions = options.filter(opt => !opt.disabled);\n if (enabledOptions.length === 0)\n return;\n this.focusedIndex++;\n if (this.focusedIndex >= options.length) {\n this.focusedIndex = 0;\n }\n while (options[this.focusedIndex]?.disabled) {\n this.focusedIndex++;\n if (this.focusedIndex >= options.length) {\n this.focusedIndex = 0;\n }\n }\n this.updateOptionFocus();\n }\n focusPreviousOption() {\n const options = this.searchable ? this.filteredOptions : this.options;\n const enabledOptions = options.filter(opt => !opt.disabled);\n if (enabledOptions.length === 0)\n return;\n this.focusedIndex--;\n if (this.focusedIndex < 0) {\n this.focusedIndex = options.length - 1;\n }\n while (options[this.focusedIndex]?.disabled) {\n this.focusedIndex--;\n if (this.focusedIndex < 0) {\n this.focusedIndex = options.length - 1;\n }\n }\n this.updateOptionFocus();\n }\n updateOptionFocus() {\n if (this.optionElements) {\n this.optionElements.forEach((el, index) => {\n el.classList.toggle('select-option--focused', index === this.focusedIndex);\n });\n }\n }\n handleClearClick(e) {\n e.preventDefault();\n e.stopPropagation();\n this.clear();\n }\n handleTriggerClick(e) {\n const target = e.target;\n // Don't toggle if clicking on the clear button\n if (target.closest('.select-clear')) {\n return;\n }\n e.stopPropagation();\n if (!this.disabled && !this.readonly) {\n this.toggleDropdown();\n }\n }\n handleOptionsClick(e) {\n const target = e.target;\n // Handle tag remove click\n if (target.closest('.select-tag-remove')) {\n e.stopPropagation();\n const removeBtn = target.closest('.select-tag-remove');\n const value = removeBtn.getAttribute('data-value');\n if (value && this.multiple) {\n this.selectedValues.delete(value);\n this.value = Array.from(this.selectedValues).join(',');\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent();\n }\n return;\n }\n const optionEl = target.closest('.select-option');\n if (!optionEl)\n return;\n e.stopPropagation();\n const value = optionEl.getAttribute('data-value');\n if (!value)\n return;\n const option = this.options.find(opt => opt.value === value);\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n handleSearchInput(e) {\n const input = e.target;\n const searchTerm = input.value.toLowerCase();\n if (searchTerm) {\n this.filteredOptions = this.options.filter(opt => opt.label.toLowerCase().includes(searchTerm));\n }\n else {\n this.filteredOptions = [...this.options];\n }\n this.focusedIndex = -1;\n this.updateDropdownContent();\n }\n handleOptionSelect(option) {\n if (this.multiple) {\n if (this.selectedValues.has(option.value)) {\n this.selectedValues.delete(option.value);\n }\n else {\n this.selectedValues.add(option.value);\n }\n this.value = Array.from(this.selectedValues).join(',');\n this.updateDropdownContent();\n }\n else {\n this.value = option.value;\n this.closeDropdown();\n }\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent(option);\n }\n handleValueChange() {\n if (this.multiple) {\n this.selectedValues = new Set(this.value ? this.value.split(',').map(v => v.trim()) : []);\n }\n this.updateValueDisplay();\n this.updateClearButton();\n if (this.internals) {\n this.internals.setFormValue(this.value);\n }\n }\n handleDisabledChange() {\n this.updateTriggerState();\n this.updateClearButton();\n // Side effect: close dropdown when disabled\n if (this.disabled && this.open) {\n this.closeDropdown();\n }\n }\n handleLoadingChange() {\n this.updateTriggerState();\n this.updateClearButton();\n // Side effect: close dropdown when loading\n if (this.loading && this.open) {\n this.closeDropdown();\n }\n }\n handleOpenChange() {\n this.updateDropdownState();\n this.updateTriggerState();\n // Side effect: focus search input when opened\n if (this.open && this.searchable && this.searchInput) {\n setTimeout(() => this.searchInput?.focus(), 100);\n }\n // Side effect: reset search when closed\n if (!this.open) {\n this.focusedIndex = -1;\n if (this.searchInput) {\n this.searchInput.value = '';\n this.filteredOptions = [...this.options];\n this.updateDropdownContent();\n }\n }\n }\n updateValueDisplay() {\n if (!this.valueDisplay)\n return;\n const selectedOptions = this.options.filter(opt => this.multiple ? this.selectedValues.has(opt.value) : opt.value === this.value);\n if (this.multiple && selectedOptions.length > 0) {\n this.valueDisplay.innerHTML = /*html*/ `\n <div class=\"select-value--multiple\">\n ${selectedOptions.map(opt => /*html*/ `\n <span class=\"select-tag\">\n <img class=\"select-tag-icon\" src=\"${opt.icon || ''}\" alt=\"\" ${!opt.icon ? 'hidden' : ''} />\n ${opt.label}\n <span class=\"select-tag-remove\" data-value=\"${opt.value}\" aria-label=\"Remove ${opt.label}\" ${this.disabled || this.readonly ? 'hidden' : ''}>×</span>\n </span>\n `).join('')}\n </div>\n `;\n }\n else if (selectedOptions.length > 0) {\n const selected = selectedOptions[0];\n this.valueDisplay.innerHTML = /*html*/ `\n <div class=\"select-value--single\">\n <img class=\"select-value-icon\" src=\"${selected.icon || ''}\" alt=\"\" ${!selected.icon ? 'hidden' : ''} />\n <span>${selected.label}</span>\n </div>\n `;\n }\n else {\n this.valueDisplay.innerHTML = /*html*/ `<span class=\"select-placeholder\">${this.placeholder}</span>`;\n }\n }\n updateClearButton() {\n if (!this.clearButton)\n return;\n const selectedOptions = this.options.filter(opt => this.multiple ? this.selectedValues.has(opt.value) : opt.value === this.value);\n const shouldShow = this.clearable && selectedOptions.length > 0 && !this.disabled && !this.readonly;\n this.clearButton.style.display = shouldShow ? '' : 'none';\n }\n updateDropdownContent() {\n if (!this.optionsList)\n return;\n this.optionsList.innerHTML = this.renderOptions();\n }\n dispatchChangeEvent(option) {\n return {\n value: this.multiple ? Array.from(this.selectedValues) : this.value,\n option,\n select: this\n };\n }\n dispatchOpenEvent() {\n return { select: this };\n }\n dispatchCloseEvent() {\n return { select: this };\n }\n // Public API\n focus() {\n this.trigger?.focus();\n }\n blur() {\n this.trigger?.blur();\n if (this.open) {\n this.closeDropdown();\n }\n }\n clear() {\n if (this.multiple) {\n this.selectedValues.clear();\n this.value = '';\n }\n else {\n this.value = '';\n }\n this.updateValueDisplay();\n this.updateClearButton();\n this.dispatchChangeEvent();\n }\n openDropdown() {\n if (!this.open && !this.disabled && !this.readonly) {\n this.open = true;\n this.dispatchOpenEvent();\n }\n }\n closeDropdown() {\n if (this.open) {\n this.open = false;\n this.dispatchCloseEvent();\n }\n }\n toggleDropdown() {\n if (this.open) {\n this.closeDropdown();\n }\n else {\n this.openDropdown();\n }\n }\n selectOption(value) {\n const option = this.options.find(opt => opt.value === value);\n if (option && !option.disabled) {\n this.handleOptionSelect(option);\n }\n }\n updateTriggerState() {\n if (!this.trigger)\n return;\n this.trigger.classList.toggle('select-trigger--open', this.open);\n this.trigger.classList.toggle('select-trigger--disabled', this.disabled);\n this.trigger.classList.toggle('select-trigger--readonly', this.readonly);\n this.trigger.classList.toggle('select-trigger--invalid', this.invalid);\n this.trigger.classList.toggle('select-trigger--loading', this.loading);\n this.trigger.setAttribute('aria-expanded', String(this.open));\n this.trigger.disabled = this.disabled || this.loading;\n }\n updateDropdownState() {\n if (!this.dropdown)\n return;\n this.dropdown.classList.toggle('select-dropdown--open', this.open);\n if (this.arrow) {\n this.arrow.classList.toggle('select-arrow--open', this.open);\n }\n }\n });\n return _classThis;\n})();\n\nexport { SniceSelect };\n//# sourceMappingURL=snice-select.js.map\n","var cssContent = \":host{display:flex;align-items:center;padding:0 var(--snice-table-cell-padding,var(--snice-spacing-md,.75rem));min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem;color:var(--snice-color-text)}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;word-wrap:break-word}:host([align=left]){text-align:left}:host([align=center]){text-align:center}:host([align=right]){text-align:right}:host([type=accounting]),:host([type=currency]),:host([type=fraction]),:host([type=number]),:host([type=percent]),:host([type=scientific]){font-variant-numeric:tabular-nums;text-align:right}:host([type=date]){font-variant-numeric:tabular-nums}:host([type=boolean]){text-align:center;font-size:1rem}:host([type=rating]){text-align:center}:host([type=sparkline]){text-align:center}.cell-content--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-content--text[data-multiline=true]{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.cell-content--date,.cell-content--number{font-feature-settings:'tnum'}:host([type=boolean]) .cell-content{display:inline-flex;align-items:center;justify-content:center}:host([type=rating]) .cell-content{display:inline-flex;align-items:center;justify-content:center;gap:.125rem}.cell-content--progress{width:100%;min-width:4rem}.cell-content--sparkline{display:flex;align-items:center;justify-content:center;min-width:3rem}:host(.positive){color:var(--snice-color-success)}:host(.negative){color:var(--snice-color-danger)}:host(.warning){color:var(--snice-color-warning);background-color:hsl(var(--snice-color-yellow-100))}:host(.danger){color:var(--snice-color-danger);background-color:hsl(var(--snice-color-red-100))}:host(.success){color:var(--snice-color-success);background-color:hsl(var(--snice-color-green-100))}:host(.info){color:var(--snice-color-primary);background-color:hsl(var(--snice-color-blue-100))}:host(.date--today){font-weight:var(--snice-font-weight-semibold);color:var(--snice-color-primary)}:host(.date--past){color:var(--snice-color-text-secondary)}:host(.date--future){color:var(--snice-color-success)}:host(.number--negative.number--negative-red){color:var(--snice-color-danger)}:host(.number--positive.number--highlighted){color:var(--snice-color-success);font-weight:var(--snice-font-weight-semibold)}:host(.number--zero){color:var(--snice-color-text-secondary)}:host([truncate]) .cell-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([wrap]) .cell-content{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}:host(:not([value])) .cell-content,:host([value=\\\"\\\"]) .cell-content{color:var(--snice-color-text-secondary)}:host(.loading){position:relative;overflow:hidden}:host(.loading) .cell-content{opacity:.6}:host(.loading)::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsl(0 0% 100% / .6),transparent);animation:1.5s infinite cell-shimmer}@keyframes cell-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}:host(:focus-within){outline:2px solid var(--snice-color-primary);outline-offset:-2px}.cell-content button,.cell-content input,.cell-content select{font-size:inherit;line-height:inherit}.cell-content a{color:var(--snice-color-primary);text-decoration:none}.cell-content a:hover{text-decoration:underline}@media (max-width:768px){:host{font-size:.75rem;line-height:1rem}:host([type=boolean]){font-size:.875rem}}@media (prefers-reduced-motion:reduce){:host(.loading)::after{animation:none}}@media (prefers-contrast:high){:host(.positive){background-color:hsl(var(--snice-color-green-100))}:host(.negative){background-color:hsl(var(--snice-color-red-100))}.cell-content a{text-decoration:underline}}@media print{:host{font-size:.75rem}:host(.loading)::after{display:none}.cell-content a{text-decoration:underline}}\";\n\nexport { cssContent as c };\n//# sourceMappingURL=snice-cell-D9dSe0d4.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCell = (() => {\n let _classDecorators = [element('snice-cell')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property()];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 return html /*html*/ `\n <div class=\"cell-content\" part=\"content\">\n ${this.formatValue()}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n this.applyConditionalFormatting();\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n this.contentElement.innerHTML = this.formatValue();\n }\n this.applyConditionalFormatting();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n applyConditionalFormatting() {\n if (!this.column || !this.column.conditionalFormats)\n return;\n // Reset any previous conditional formatting\n this.removeAttribute('style');\n this.className = 'snice-cell';\n this.applyAlignment();\n // Apply column base style if defined\n if (this.column.style) {\n this.applyStyle(this.column.style);\n }\n // Check and apply conditional formats\n for (const format of this.column.conditionalFormats) {\n if (format.condition(this.value, this.rowData)) {\n if (format.style) {\n this.applyStyle(format.style);\n }\n if (format.className) {\n this.classList.add(format.className);\n }\n break; // Apply only the first matching format\n }\n }\n }\n applyStyle(style) {\n if (style.backgroundColor)\n this.style.backgroundColor = style.backgroundColor;\n if (style.color)\n this.style.color = style.color;\n if (style.fontWeight)\n this.style.fontWeight = style.fontWeight;\n if (style.fontStyle)\n this.style.fontStyle = style.fontStyle;\n if (style.fontSize)\n this.style.fontSize = style.fontSize;\n if (style.textDecoration)\n this.style.textDecoration = style.textDecoration;\n }\n formatValue() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n // Apply type-specific formatting\n switch (this.type) {\n case 'text':\n return this.formatText();\n case 'number':\n return this.formatNumber();\n case 'currency':\n return this.formatCurrency();\n case 'percent':\n return this.formatPercent();\n case 'accounting':\n return this.formatAccounting();\n case 'scientific':\n return this.formatScientific();\n case 'fraction':\n return this.formatFraction();\n case 'date':\n return this.formatDate();\n case 'boolean':\n return this.formatBoolean();\n case 'rating':\n return this.formatRating();\n case 'progress':\n return this.formatProgress();\n case 'sparkline':\n return this.formatSparkline();\n case 'duration':\n return this.formatDuration();\n case 'filesize':\n return this.formatFilesize();\n case 'custom':\n return String(this.value);\n default:\n return String(this.value);\n }\n }\n formatText() {\n return String(this.value);\n }\n formatNumber() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n let formatted = num.toFixed(format.decimals ?? 0);\n if (format.thousandsSeparator) {\n const parts = formatted.split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n formatted = parts.join('.');\n }\n if (num < 0 && format.negativeStyle === 'parentheses') {\n formatted = `(${formatted.replace('-', '')})`;\n }\n if (format.prefix)\n formatted = format.prefix + formatted;\n if (format.suffix)\n formatted = formatted + format.suffix;\n return formatted;\n }\n formatCurrency() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n const currencyFormat = {\n style: 'currency',\n currency: 'USD',\n minimumFractionDigits: format.decimals ?? 2,\n maximumFractionDigits: format.decimals ?? 2\n };\n return new Intl.NumberFormat('en-US', currencyFormat).format(num);\n }\n formatPercent() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n const percentFormat = {\n style: 'percent',\n minimumFractionDigits: format.decimals ?? 1,\n maximumFractionDigits: format.decimals ?? 1\n };\n return new Intl.NumberFormat('en-US', percentFormat).format(num);\n }\n formatAccounting() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n let formatted = Math.abs(num).toFixed(format.decimals ?? 2);\n if (format.thousandsSeparator) {\n const parts = formatted.split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n formatted = parts.join('.');\n }\n if (num < 0) {\n formatted = `(${formatted})`;\n }\n else {\n formatted = ` ${formatted} `;\n }\n return formatted;\n }\n formatScientific() {\n const format = this.column.numberFormat || {};\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n return num.toExponential(format.decimals ?? 2);\n }\n formatFraction() {\n const num = Number(this.value);\n if (isNaN(num))\n return String(this.value);\n // Simple fraction conversion\n const tolerance = 1e-6;\n let h1 = 1, h2 = 0, k1 = 0, k2 = 1;\n let b = num;\n do {\n const a = Math.floor(b);\n let aux = h1;\n h1 = a * h1 + h2;\n h2 = aux;\n aux = k1;\n k1 = a * k1 + k2;\n k2 = aux;\n b = 1 / (b - a);\n } while (Math.abs(num - h1 / k1) > num * tolerance);\n return `${h1}/${k1}`;\n }\n formatDate() {\n const format = this.column.dateFormat || {};\n const date = new Date(this.value);\n if (isNaN(date.getTime()))\n return String(this.value);\n if (format.customFormat) {\n // Simple custom format implementation\n return format.customFormat\n .replace('YYYY', date.getFullYear().toString())\n .replace('MM', (date.getMonth() + 1).toString().padStart(2, '0'))\n .replace('DD', date.getDate().toString().padStart(2, '0'));\n }\n const options = {};\n switch (format.format) {\n case 'short':\n options.dateStyle = 'short';\n break;\n case 'medium':\n options.dateStyle = 'medium';\n break;\n case 'long':\n options.dateStyle = 'long';\n break;\n case 'full':\n options.dateStyle = 'full';\n break;\n default:\n options.dateStyle = 'short';\n }\n return new Intl.DateTimeFormat(format.locale || 'en-US', options).format(date);\n }\n formatBoolean() {\n const format = this.column.booleanFormat || {};\n const bool = Boolean(this.value);\n if (format.useSymbols) {\n return bool\n ? (format.trueSymbol || '✓')\n : (format.falseSymbol || '✗');\n }\n return bool\n ? (format.trueValue || 'true')\n : (format.falseValue || 'false');\n }\n formatRating() {\n const format = this.column.ratingFormat || {};\n const rating = Number(this.value);\n const max = format.max || 5;\n const symbol = format.symbol || '★';\n const emptySymbol = format.emptySymbol || '☆';\n if (isNaN(rating))\n return String(this.value);\n let html = '';\n const primaryColor = format.color || getComputedStyle(this).getPropertyValue('--snice-color-warning').trim();\n const emptyColor = getComputedStyle(this).getPropertyValue('--snice-color-border').trim();\n for (let i = 0; i < max; i++) {\n if (i < rating) {\n html += `<span style=\"color: ${primaryColor}\">${symbol}</span>`;\n }\n else {\n html += `<span style=\"color: ${emptyColor}\">${emptySymbol}</span>`;\n }\n }\n return html;\n }\n formatProgress() {\n const format = this.column.progressFormat || {};\n const value = Number(this.value);\n const max = format.max || 100;\n const percentage = Math.min(100, Math.max(0, (value / max) * 100));\n if (isNaN(value))\n return String(this.value);\n const color = format.color || getComputedStyle(this).getPropertyValue('--snice-color-primary').trim();\n const bgColor = format.backgroundColor || getComputedStyle(this).getPropertyValue('--snice-color-border').trim();\n const height = format.height || '1rem'; // Using rem for height\n let html = `\n <div style=\"\n width: 100%; \n height: ${height}; \n background-color: ${bgColor}; \n border-radius: 0.25rem; \n overflow: hidden;\n position: relative;\n \">\n <div style=\"\n width: ${percentage}%; \n height: 100%; \n background-color: ${color}; \n transition: width 0.3s ease;\n \"></div>\n `;\n if (format.showPercentage) {\n const textColor = percentage > 50\n ? getComputedStyle(this).getPropertyValue('--snice-color-text-inverse').trim()\n : getComputedStyle(this).getPropertyValue('--snice-color-text').trim();\n html += `\n <span style=\"\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n font-size: 0.75rem;\n font-weight: bold;\n color: ${textColor};\n \">${Math.round(percentage)}%</span>\n `;\n }\n html += '</div>';\n return html;\n }\n formatSparkline() {\n const format = this.column.sparklineFormat || {};\n const data = Array.isArray(this.value) ? this.value : [];\n if (data.length === 0)\n return '';\n const width = format.width || 60;\n const height = format.height || 20;\n const color = format.color || getComputedStyle(this).getPropertyValue('--snice-color-primary').trim();\n const type = format.type || 'line';\n const max = Math.max(...data);\n const min = Math.min(...data);\n const range = max - min || 1;\n if (type === 'line') {\n const points = data.map((val, i) => {\n const x = (i / (data.length - 1)) * width;\n const y = height - ((val - min) / range) * height;\n return `${x},${y}`;\n }).join(' ');\n return `\n <svg width=\"${width}\" height=\"${height}\" style=\"display: block;\">\n <polyline \n points=\"${points}\" \n fill=\"none\" \n stroke=\"${color}\" \n stroke-width=\"2\"\n />\n </svg>\n `;\n }\n else if (type === 'bar') {\n const barWidth = width / data.length;\n const bars = data.map((val, i) => {\n const barHeight = ((val - min) / range) * height;\n const x = i * barWidth;\n const y = height - barHeight;\n return `<rect x=\"${x}\" y=\"${y}\" width=\"${barWidth - 1}\" height=\"${barHeight}\" fill=\"${color}\" />`;\n }).join('');\n return `\n <svg width=\"${width}\" height=\"${height}\" style=\"display: block;\">\n ${bars}\n </svg>\n `;\n }\n return String(this.value);\n }\n formatDuration() {\n const seconds = Number(this.value);\n if (isNaN(seconds))\n return String(this.value);\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = seconds % 60;\n if (hours > 0) {\n return `${hours}:${minutes.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;\n }\n else {\n return `${minutes}:${secs.toString().padStart(2, '0')}`;\n }\n }\n formatFilesize() {\n const bytes = Number(this.value);\n if (isNaN(bytes))\n return String(this.value);\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n let size = bytes;\n let unitIndex = 0;\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex++;\n }\n return `${size.toFixed(unitIndex === 0 ? 0 : 1)} ${units[unitIndex]}`;\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'text'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'text',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCell };\n//# sourceMappingURL=snice-cell.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellText = (() => {\n let _classDecorators = [element('snice-cell-text')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _multiline_decorators;\n let _multiline_initializers = [];\n let _multiline_extraInitializers = [];\n let _maxLines_decorators;\n let _maxLines_initializers = [];\n let _maxLines_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _multiline_decorators = [property({ type: Boolean, })];\n _maxLines_decorators = [property({ type: Number, attribute: 'max-lines' })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _multiline_decorators, { kind: \"field\", name: \"multiline\", static: false, private: false, access: { has: obj => \"multiline\" in obj, get: obj => obj.multiline, set: (obj, value) => { obj.multiline = value; } }, metadata: _metadata }, _multiline_initializers, _multiline_extraInitializers);\n __esDecorate(null, null, _maxLines_decorators, { kind: \"field\", name: \"maxLines\", static: false, private: false, access: { has: obj => \"maxLines\" in obj, get: obj => obj.maxLines, set: (obj, value) => { obj.maxLines = value; } }, metadata: _metadata }, _maxLines_initializers, _maxLines_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 content = this.formatTextContent();\n const textStyles = this.getTextStyles();\n return html /*html*/ `\n <div class=\"cell-content cell-content--text\" part=\"content\" style=\"${textStyles}\">\n ${content}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const content = this.formatTextContent();\n const styles = this.getTextStyles();\n this.contentElement.innerHTML = content;\n this.contentElement.setAttribute('style', styles);\n }\n }\n formatTextContent() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n let text = String(this.value);\n // Apply custom formatter if provided\n if (this.column.formatter) {\n text = this.column.formatter(this.value, this.rowData);\n }\n // Handle multiline text\n if (this.multiline) {\n text = text.replace(/\\n/g, '<br>');\n }\n // Handle ellipsis for single line\n if (!this.multiline && this.column.ellipsis) ;\n return text;\n }\n getTextStyles() {\n let styles = [];\n if (!this.multiline) {\n styles.push('white-space: nowrap');\n if (this.column.ellipsis) {\n styles.push('overflow: hidden');\n styles.push('text-overflow: ellipsis');\n }\n }\n else {\n if (this.column.wrap) {\n styles.push('white-space: pre-wrap');\n styles.push('word-wrap: break-word');\n }\n if (this.maxLines) {\n styles.push('display: -webkit-box');\n styles.push('-webkit-box-orient: vertical');\n styles.push(`-webkit-line-clamp: ${this.maxLines}`);\n styles.push('overflow: hidden');\n }\n }\n return styles.join('; ');\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'text'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'text',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.multiline = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _multiline_initializers, false));\n this.maxLines = (__runInitializers(this, _multiline_extraInitializers), __runInitializers(this, _maxLines_initializers, void 0));\n __runInitializers(this, _maxLines_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellText };\n//# sourceMappingURL=snice-cell-text.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellNumber = (() => {\n let _classDecorators = [element('snice-cell-number')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _decimals_decorators;\n let _decimals_initializers = [];\n let _decimals_extraInitializers = [];\n let _thousandsSeparator_decorators;\n let _thousandsSeparator_initializers = [];\n let _thousandsSeparator_extraInitializers = [];\n let _prefix_decorators;\n let _prefix_initializers = [];\n let _prefix_extraInitializers = [];\n let _suffix_decorators;\n let _suffix_initializers = [];\n let _suffix_extraInitializers = [];\n let _negativeStyle_decorators;\n let _negativeStyle_initializers = [];\n let _negativeStyle_extraInitializers = [];\n let _highlight_decorators;\n let _highlight_initializers = [];\n let _highlight_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _decimals_decorators = [property({ type: Number, })];\n _thousandsSeparator_decorators = [property({ type: Boolean, attribute: 'thousands-separator' })];\n _prefix_decorators = [property({})];\n _suffix_decorators = [property({})];\n _negativeStyle_decorators = [property({ attribute: 'negative-style' })];\n _highlight_decorators = [property({ type: Boolean, })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _decimals_decorators, { kind: \"field\", name: \"decimals\", static: false, private: false, access: { has: obj => \"decimals\" in obj, get: obj => obj.decimals, set: (obj, value) => { obj.decimals = value; } }, metadata: _metadata }, _decimals_initializers, _decimals_extraInitializers);\n __esDecorate(null, null, _thousandsSeparator_decorators, { kind: \"field\", name: \"thousandsSeparator\", static: false, private: false, access: { has: obj => \"thousandsSeparator\" in obj, get: obj => obj.thousandsSeparator, set: (obj, value) => { obj.thousandsSeparator = value; } }, metadata: _metadata }, _thousandsSeparator_initializers, _thousandsSeparator_extraInitializers);\n __esDecorate(null, null, _prefix_decorators, { kind: \"field\", name: \"prefix\", static: false, private: false, access: { has: obj => \"prefix\" in obj, get: obj => obj.prefix, set: (obj, value) => { obj.prefix = value; } }, metadata: _metadata }, _prefix_initializers, _prefix_extraInitializers);\n __esDecorate(null, null, _suffix_decorators, { kind: \"field\", name: \"suffix\", static: false, private: false, access: { has: obj => \"suffix\" in obj, get: obj => obj.suffix, set: (obj, value) => { obj.suffix = value; } }, metadata: _metadata }, _suffix_initializers, _suffix_extraInitializers);\n __esDecorate(null, null, _negativeStyle_decorators, { kind: \"field\", name: \"negativeStyle\", static: false, private: false, access: { has: obj => \"negativeStyle\" in obj, get: obj => obj.negativeStyle, set: (obj, value) => { obj.negativeStyle = value; } }, metadata: _metadata }, _negativeStyle_initializers, _negativeStyle_extraInitializers);\n __esDecorate(null, null, _highlight_decorators, { kind: \"field\", name: \"highlight\", static: false, private: false, access: { has: obj => \"highlight\" in obj, get: obj => obj.highlight, set: (obj, value) => { obj.highlight = value; } }, metadata: _metadata }, _highlight_initializers, _highlight_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 formattedValue = this.formatNumberValue();\n const styles = this.getNumberStyles();\n return html /*html*/ `\n <div class=\"cell-content cell-content--number\" part=\"content\" style=\"${styles}\">\n ${formattedValue}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const formattedValue = this.formatNumberValue();\n const styles = this.getNumberStyles();\n this.contentElement.innerHTML = formattedValue;\n this.contentElement.setAttribute('style', styles);\n }\n }\n formatNumberValue() {\n if (this.value === null || this.value === undefined || this.value === '') {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n // Use column number format or component properties\n const format = this.column.numberFormat || {\n decimals: this.decimals,\n thousandsSeparator: this.thousandsSeparator,\n prefix: this.prefix,\n suffix: this.suffix,\n negativeStyle: this.negativeStyle\n };\n const num = Number(this.value);\n if (isNaN(num)) {\n return String(this.value);\n }\n let formatted = num.toFixed(format.decimals ?? this.decimals);\n // Add thousands separator\n if (format.thousandsSeparator ?? this.thousandsSeparator) {\n const parts = formatted.split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n formatted = parts.join('.');\n }\n // Handle negative numbers\n if (num < 0) {\n const negStyle = format.negativeStyle ?? this.negativeStyle;\n if (negStyle === 'parentheses') {\n formatted = `(${formatted.replace('-', '')})`;\n }\n else if (negStyle === 'red') {\n // Color will be handled in styles\n formatted = formatted.replace('-', '');\n }\n }\n // Add prefix and suffix\n const prefix = format.prefix ?? this.prefix;\n const suffix = format.suffix ?? this.suffix;\n if (prefix)\n formatted = prefix + formatted;\n if (suffix)\n formatted = formatted + suffix;\n return formatted;\n }\n getNumberStyles() {\n const num = Number(this.value);\n // Remove existing number classes\n this.classList.remove('number--negative', 'number--positive', 'number--zero', 'number--highlighted');\n // Apply CSS classes instead of direct styles\n if (num < 0) {\n this.classList.add('number--negative');\n const negStyle = this.column.numberFormat?.negativeStyle ?? this.negativeStyle;\n if (negStyle === 'red') {\n this.classList.add('number--negative-red');\n }\n }\n else if (num > 0) {\n this.classList.add('number--positive');\n if (this.highlight) {\n this.classList.add('number--highlighted');\n }\n }\n else if (num === 0) {\n this.classList.add('number--zero');\n }\n return 'text-align: right'; // Keep text alignment as style for now\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'right'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'number'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'number',\n align: 'right'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.decimals = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _decimals_initializers, 0));\n this.thousandsSeparator = (__runInitializers(this, _decimals_extraInitializers), __runInitializers(this, _thousandsSeparator_initializers, false));\n this.prefix = (__runInitializers(this, _thousandsSeparator_extraInitializers), __runInitializers(this, _prefix_initializers, ''));\n this.suffix = (__runInitializers(this, _prefix_extraInitializers), __runInitializers(this, _suffix_initializers, ''));\n this.negativeStyle = (__runInitializers(this, _suffix_extraInitializers), __runInitializers(this, _negativeStyle_initializers, 'minus'));\n this.highlight = (__runInitializers(this, _negativeStyle_extraInitializers), __runInitializers(this, _highlight_initializers, false));\n __runInitializers(this, _highlight_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellNumber };\n//# sourceMappingURL=snice-cell-number.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellDate = (() => {\n let _classDecorators = [element('snice-cell-date')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _dateFormat_decorators;\n let _dateFormat_initializers = [];\n let _dateFormat_extraInitializers = [];\n let _customFormat_decorators;\n let _customFormat_initializers = [];\n let _customFormat_extraInitializers = [];\n let _locale_decorators;\n let _locale_initializers = [];\n let _locale_extraInitializers = [];\n let _relativeTime_decorators;\n let _relativeTime_initializers = [];\n let _relativeTime_extraInitializers = [];\n let _showTime_decorators;\n let _showTime_initializers = [];\n let _showTime_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _dateFormat_decorators = [property({ attribute: 'date-format' })];\n _customFormat_decorators = [property({ attribute: 'custom-format' })];\n _locale_decorators = [property({})];\n _relativeTime_decorators = [property({ type: Boolean, attribute: 'relative-time' })];\n _showTime_decorators = [property({ type: Boolean, attribute: 'show-time' })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _dateFormat_decorators, { kind: \"field\", name: \"dateFormat\", static: false, private: false, access: { has: obj => \"dateFormat\" in obj, get: obj => obj.dateFormat, set: (obj, value) => { obj.dateFormat = value; } }, metadata: _metadata }, _dateFormat_initializers, _dateFormat_extraInitializers);\n __esDecorate(null, null, _customFormat_decorators, { kind: \"field\", name: \"customFormat\", static: false, private: false, access: { has: obj => \"customFormat\" in obj, get: obj => obj.customFormat, set: (obj, value) => { obj.customFormat = value; } }, metadata: _metadata }, _customFormat_initializers, _customFormat_extraInitializers);\n __esDecorate(null, null, _locale_decorators, { kind: \"field\", name: \"locale\", static: false, private: false, access: { has: obj => \"locale\" in obj, get: obj => obj.locale, set: (obj, value) => { obj.locale = value; } }, metadata: _metadata }, _locale_initializers, _locale_extraInitializers);\n __esDecorate(null, null, _relativeTime_decorators, { kind: \"field\", name: \"relativeTime\", static: false, private: false, access: { has: obj => \"relativeTime\" in obj, get: obj => obj.relativeTime, set: (obj, value) => { obj.relativeTime = value; } }, metadata: _metadata }, _relativeTime_initializers, _relativeTime_extraInitializers);\n __esDecorate(null, null, _showTime_decorators, { kind: \"field\", name: \"showTime\", static: false, private: false, access: { has: obj => \"showTime\" in obj, get: obj => obj.showTime, set: (obj, value) => { obj.showTime = value; } }, metadata: _metadata }, _showTime_initializers, _showTime_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 formattedValue = this.formatDateValue();\n const dateStyles = this.getDateStyles();\n return html /*html*/ `\n <div class=\"cell-content cell-content--date\" part=\"content\" style=\"${dateStyles}\">\n ${formattedValue}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const formattedValue = this.formatDateValue();\n const styles = this.getDateStyles();\n this.contentElement.innerHTML = formattedValue;\n this.contentElement.setAttribute('style', styles);\n }\n }\n formatDateValue() {\n if (this.value === null || this.value === undefined || this.value === '') {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n const date = new Date(this.value);\n if (isNaN(date.getTime())) {\n return String(this.value);\n }\n // Show relative time if enabled\n if (this.relativeTime) {\n return this.formatRelativeTime(date);\n }\n // Use column date format or component properties\n const format = this.column.dateFormat || {\n format: this.dateFormat,\n customFormat: this.customFormat,\n locale: this.locale\n };\n // Handle custom format\n if (format.customFormat || this.customFormat) {\n return this.formatCustomDate(date, format.customFormat || this.customFormat);\n }\n // Use Intl.DateTimeFormat\n const options = {};\n const formatType = format.format ?? this.dateFormat;\n switch (formatType) {\n case 'short':\n options.dateStyle = 'short';\n break;\n case 'medium':\n options.dateStyle = 'medium';\n break;\n case 'long':\n options.dateStyle = 'long';\n break;\n case 'full':\n options.dateStyle = 'full';\n break;\n }\n // Add time if requested\n if (this.showTime) {\n options.timeStyle = 'short';\n }\n const locale = format.locale ?? this.locale;\n return new Intl.DateTimeFormat(locale, options).format(date);\n }\n formatCustomDate(date, format) {\n const tokens = {\n 'YYYY': date.getFullYear().toString(),\n 'YY': date.getFullYear().toString().slice(-2),\n 'MM': (date.getMonth() + 1).toString().padStart(2, '0'),\n 'M': (date.getMonth() + 1).toString(),\n 'DD': date.getDate().toString().padStart(2, '0'),\n 'D': date.getDate().toString(),\n 'HH': date.getHours().toString().padStart(2, '0'),\n 'H': date.getHours().toString(),\n 'mm': date.getMinutes().toString().padStart(2, '0'),\n 'm': date.getMinutes().toString(),\n 'ss': date.getSeconds().toString().padStart(2, '0'),\n 's': date.getSeconds().toString()\n };\n let formatted = format;\n for (const [token, value] of Object.entries(tokens)) {\n formatted = formatted.replace(new RegExp(token, 'g'), value);\n }\n return formatted;\n }\n formatRelativeTime(date) {\n const now = new Date();\n const diffMs = now.getTime() - date.getTime();\n const diffSecs = Math.floor(diffMs / 1000);\n const diffMins = Math.floor(diffSecs / 60);\n const diffHours = Math.floor(diffMins / 60);\n const diffDays = Math.floor(diffHours / 24);\n if (diffSecs < 60) {\n return 'Just now';\n }\n else if (diffMins < 60) {\n return `${diffMins} minute${diffMins === 1 ? '' : 's'} ago`;\n }\n else if (diffHours < 24) {\n return `${diffHours} hour${diffHours === 1 ? '' : 's'} ago`;\n }\n else if (diffDays < 7) {\n return `${diffDays} day${diffDays === 1 ? '' : 's'} ago`;\n }\n else {\n // Fall back to formatted date for older dates\n return new Intl.DateTimeFormat(this.locale, { dateStyle: 'short' }).format(date);\n }\n }\n getDateStyles() {\n const date = new Date(this.value);\n const now = new Date();\n const isToday = date.toDateString() === now.toDateString();\n const isPast = date < now;\n const isFuture = date > now;\n // Apply CSS classes instead of direct styles\n this.classList.remove('date--today', 'date--past', 'date--future');\n if (isToday) {\n this.classList.add('date--today');\n }\n else if (isPast) {\n this.classList.add('date--past');\n }\n else if (isFuture) {\n this.classList.add('date--future');\n }\n return '';\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'date'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'date',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.dateFormat = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _dateFormat_initializers, 'short'));\n this.customFormat = (__runInitializers(this, _dateFormat_extraInitializers), __runInitializers(this, _customFormat_initializers, void 0));\n this.locale = (__runInitializers(this, _customFormat_extraInitializers), __runInitializers(this, _locale_initializers, 'en-US'));\n this.relativeTime = (__runInitializers(this, _locale_extraInitializers), __runInitializers(this, _relativeTime_initializers, false));\n this.showTime = (__runInitializers(this, _relativeTime_extraInitializers), __runInitializers(this, _showTime_initializers, false));\n __runInitializers(this, _showTime_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellDate };\n//# sourceMappingURL=snice-cell-date.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, unsafeHTML, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellBoolean = (() => {\n let _classDecorators = [element('snice-cell-boolean')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _trueValue_decorators;\n let _trueValue_initializers = [];\n let _trueValue_extraInitializers = [];\n let _falseValue_decorators;\n let _falseValue_initializers = [];\n let _falseValue_extraInitializers = [];\n let _useSymbols_decorators;\n let _useSymbols_initializers = [];\n let _useSymbols_extraInitializers = [];\n let _trueSymbol_decorators;\n let _trueSymbol_initializers = [];\n let _trueSymbol_extraInitializers = [];\n let _falseSymbol_decorators;\n let _falseSymbol_initializers = [];\n let _falseSymbol_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _trueValue_decorators = [property({ attribute: 'true-value' })];\n _falseValue_decorators = [property({ attribute: 'false-value' })];\n _useSymbols_decorators = [property({ type: Boolean, attribute: 'use-symbols' })];\n _trueSymbol_decorators = [property({ attribute: 'true-symbol' })];\n _falseSymbol_decorators = [property({ attribute: 'false-symbol' })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _trueValue_decorators, { kind: \"field\", name: \"trueValue\", static: false, private: false, access: { has: obj => \"trueValue\" in obj, get: obj => obj.trueValue, set: (obj, value) => { obj.trueValue = value; } }, metadata: _metadata }, _trueValue_initializers, _trueValue_extraInitializers);\n __esDecorate(null, null, _falseValue_decorators, { kind: \"field\", name: \"falseValue\", static: false, private: false, access: { has: obj => \"falseValue\" in obj, get: obj => obj.falseValue, set: (obj, value) => { obj.falseValue = value; } }, metadata: _metadata }, _falseValue_initializers, _falseValue_extraInitializers);\n __esDecorate(null, null, _useSymbols_decorators, { kind: \"field\", name: \"useSymbols\", static: false, private: false, access: { has: obj => \"useSymbols\" in obj, get: obj => obj.useSymbols, set: (obj, value) => { obj.useSymbols = value; } }, metadata: _metadata }, _useSymbols_initializers, _useSymbols_extraInitializers);\n __esDecorate(null, null, _trueSymbol_decorators, { kind: \"field\", name: \"trueSymbol\", static: false, private: false, access: { has: obj => \"trueSymbol\" in obj, get: obj => obj.trueSymbol, set: (obj, value) => { obj.trueSymbol = value; } }, metadata: _metadata }, _trueSymbol_initializers, _trueSymbol_extraInitializers);\n __esDecorate(null, null, _falseSymbol_decorators, { kind: \"field\", name: \"falseSymbol\", static: false, private: false, access: { has: obj => \"falseSymbol\" in obj, get: obj => obj.falseSymbol, set: (obj, value) => { obj.falseSymbol = value; } }, metadata: _metadata }, _falseSymbol_initializers, _falseSymbol_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 content = this.formatBooleanContent();\n return html /*html*/ `\n <div class=\"cell-content cell-content--boolean\" part=\"content\">\n ${unsafeHTML(content)}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const content = this.formatBooleanContent();\n this.contentElement.innerHTML = content;\n }\n }\n formatBooleanContent() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n // Use column boolean format or component properties\n const format = this.column.booleanFormat || {\n trueValue: this.trueValue,\n falseValue: this.falseValue,\n useSymbols: this.useSymbols,\n trueSymbol: this.trueSymbol,\n falseSymbol: this.falseSymbol\n };\n const isTrue = Boolean(this.value);\n if (format.useSymbols ?? this.useSymbols) {\n const symbol = isTrue ? (format.trueSymbol ?? this.trueSymbol) : (format.falseSymbol ?? this.falseSymbol);\n const colorClass = isTrue ? 'boolean--true' : 'boolean--false';\n return `<span class=\"${colorClass}\">${symbol}</span>`;\n }\n else {\n const text = isTrue ? (format.trueValue ?? this.trueValue) : (format.falseValue ?? this.falseValue);\n const colorClass = isTrue ? 'boolean--true' : 'boolean--false';\n return `<span class=\"${colorClass}\">${text}</span>`;\n }\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'center'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'boolean'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, false));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'boolean',\n align: 'center'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.trueValue = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _trueValue_initializers, 'true'));\n this.falseValue = (__runInitializers(this, _trueValue_extraInitializers), __runInitializers(this, _falseValue_initializers, 'false'));\n this.useSymbols = (__runInitializers(this, _falseValue_extraInitializers), __runInitializers(this, _useSymbols_initializers, true));\n this.trueSymbol = (__runInitializers(this, _useSymbols_extraInitializers), __runInitializers(this, _trueSymbol_initializers, '✓'));\n this.falseSymbol = (__runInitializers(this, _trueSymbol_extraInitializers), __runInitializers(this, _falseSymbol_initializers, '✗'));\n __runInitializers(this, _falseSymbol_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellBoolean };\n//# sourceMappingURL=snice-cell-boolean.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, html, css } from 'snice';\n\nlet SniceRating = (() => {\n let _classDecorators = [element('snice-rating')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _max_decorators;\n let _max_initializers = [];\n let _max_extraInitializers = [];\n let _symbol_decorators;\n let _symbol_initializers = [];\n let _symbol_extraInitializers = [];\n let _emptySymbol_decorators;\n let _emptySymbol_initializers = [];\n let _emptySymbol_extraInitializers = [];\n let _color_decorators;\n let _color_initializers = [];\n let _color_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 _value_decorators = [property({ type: Number })];\n _max_decorators = [property({ type: Number })];\n _symbol_decorators = [property()];\n _emptySymbol_decorators = [property()];\n _color_decorators = [property()];\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, _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, _max_decorators, { kind: \"field\", name: \"max\", static: false, private: false, access: { has: obj => \"max\" in obj, get: obj => obj.max, set: (obj, value) => { obj.max = value; } }, metadata: _metadata }, _max_initializers, _max_extraInitializers);\n __esDecorate(null, null, _symbol_decorators, { kind: \"field\", name: \"symbol\", static: false, private: false, access: { has: obj => \"symbol\" in obj, get: obj => obj.symbol, set: (obj, value) => { obj.symbol = value; } }, metadata: _metadata }, _symbol_initializers, _symbol_extraInitializers);\n __esDecorate(null, null, _emptySymbol_decorators, { kind: \"field\", name: \"emptySymbol\", static: false, private: false, access: { has: obj => \"emptySymbol\" in obj, get: obj => obj.emptySymbol, set: (obj, value) => { obj.emptySymbol = value; } }, metadata: _metadata }, _emptySymbol_initializers, _emptySymbol_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, _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 filled = Math.round(this.value);\n const empty = this.max - filled;\n return html /*html*/ `\n <span class=\"filled\">${this.symbol.repeat(filled)}</span><span class=\"empty\">${this.emptySymbol.repeat(empty)}</span>\n `;\n }\n styles() {\n return css /*css*/ `\n :host {\n display: inline-block;\n font-size: 1.2em;\n }\n\n .filled {\n color: ${this.color};\n }\n\n .empty {\n color: #d1d5db;\n }\n `;\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, 0));\n this.max = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _max_initializers, 5));\n this.symbol = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _symbol_initializers, '★'));\n this.emptySymbol = (__runInitializers(this, _symbol_extraInitializers), __runInitializers(this, _emptySymbol_initializers, '☆'));\n this.color = (__runInitializers(this, _emptySymbol_extraInitializers), __runInitializers(this, _color_initializers, '#facc15'));\n __runInitializers(this, _color_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceRating };\n//# sourceMappingURL=snice-rating.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\nimport './snice-rating.js';\n\nlet SniceCellRating = (() => {\n let _classDecorators = [element('snice-cell-rating')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 return html /*html*/ `\n <div class=\"cell-content cell-content--rating\" part=\"content\">\n <!-- Rating component will be created here -->\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n this.createRatingElement();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n this.createRatingElement();\n }\n createRatingElement() {\n if (!this.contentElement)\n return;\n // Clear existing content\n this.contentElement.innerHTML = '';\n // Create rating element\n const rating = document.createElement('snice-rating');\n rating.value = Number(this.value) || 0;\n // Apply format from column\n const format = this.column.ratingFormat || {};\n rating.max = format.max ?? 5;\n rating.symbol = format.symbol ?? '★';\n rating.emptySymbol = format.emptySymbol ?? '☆';\n rating.color = format.color ?? getComputedStyle(this).getPropertyValue('--snice-color-warning').trim();\n this.contentElement.appendChild(rating);\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'center'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'rating'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, 0));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'rating',\n align: 'center'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellRating };\n//# sourceMappingURL=snice-cell-rating.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, html, css } from 'snice';\n\nlet SniceProgress = (() => {\n let _classDecorators = [element('snice-progress')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _max_decorators;\n let _max_initializers = [];\n let _max_extraInitializers = [];\n let _color_decorators;\n let _color_initializers = [];\n let _color_extraInitializers = [];\n let _backgroundColor_decorators;\n let _backgroundColor_initializers = [];\n let _backgroundColor_extraInitializers = [];\n let _height_decorators;\n let _height_initializers = [];\n let _height_extraInitializers = [];\n let _showPercentage_decorators;\n let _showPercentage_initializers = [];\n let _showPercentage_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 _value_decorators = [property({ type: Number })];\n _max_decorators = [property({ type: Number })];\n _color_decorators = [property()];\n _backgroundColor_decorators = [property()];\n _height_decorators = [property()];\n _showPercentage_decorators = [property({ type: Boolean })];\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, _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, _max_decorators, { kind: \"field\", name: \"max\", static: false, private: false, access: { has: obj => \"max\" in obj, get: obj => obj.max, set: (obj, value) => { obj.max = value; } }, metadata: _metadata }, _max_initializers, _max_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, _backgroundColor_decorators, { kind: \"field\", name: \"backgroundColor\", static: false, private: false, access: { has: obj => \"backgroundColor\" in obj, get: obj => obj.backgroundColor, set: (obj, value) => { obj.backgroundColor = value; } }, metadata: _metadata }, _backgroundColor_initializers, _backgroundColor_extraInitializers);\n __esDecorate(null, null, _height_decorators, { kind: \"field\", name: \"height\", static: false, private: false, access: { has: obj => \"height\" in obj, get: obj => obj.height, set: (obj, value) => { obj.height = value; } }, metadata: _metadata }, _height_initializers, _height_extraInitializers);\n __esDecorate(null, null, _showPercentage_decorators, { kind: \"field\", name: \"showPercentage\", static: false, private: false, access: { has: obj => \"showPercentage\" in obj, get: obj => obj.showPercentage, set: (obj, value) => { obj.showPercentage = value; } }, metadata: _metadata }, _showPercentage_initializers, _showPercentage_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 percentage = Math.min(100, (this.value / this.max) * 100);\n return html /*html*/ `\n <div class=\"progress-container\">\n <div class=\"progress-bar\" style=\"width: ${percentage}%\"></div>\n </div>\n <if ${this.showPercentage}>\n <span class=\"percentage\">${percentage.toFixed(0)}%</span>\n </if>\n `;\n }\n styles() {\n return css /*css*/ `\n :host {\n display: inline-flex;\n align-items: center;\n width: 100%;\n gap: 0.5rem; /* 8px */\n }\n\n .progress-container {\n flex: 1;\n height: ${this.height};\n background: ${this.backgroundColor};\n border-radius: 0.25rem; /* 4px */\n overflow: hidden;\n }\n\n .progress-bar {\n height: 100%;\n background: ${this.color};\n transition: width 0.3s ease;\n }\n\n .percentage {\n font-size: 0.875rem; /* 14px */\n color: #6b7280;\n min-width: 2.1875rem; /* 35px */\n }\n `;\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, 0));\n this.max = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _max_initializers, 100));\n this.color = (__runInitializers(this, _max_extraInitializers), __runInitializers(this, _color_initializers, '#3b82f6'));\n this.backgroundColor = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _backgroundColor_initializers, '#e5e7eb'));\n this.height = (__runInitializers(this, _backgroundColor_extraInitializers), __runInitializers(this, _height_initializers, '0.5rem')); /* 8px */\n this.showPercentage = (__runInitializers(this, _height_extraInitializers), __runInitializers(this, _showPercentage_initializers, false));\n __runInitializers(this, _showPercentage_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceProgress };\n//# sourceMappingURL=snice-progress.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\nimport './snice-progress.js';\n\nlet SniceCellProgress = (() => {\n let _classDecorators = [element('snice-cell-progress')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 return html /*html*/ `\n <div class=\"cell-content cell-content--progress\" part=\"content\">\n <!-- Progress component will be created here -->\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n this.createProgressElement();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n this.createProgressElement();\n }\n createProgressElement() {\n if (!this.contentElement)\n return;\n // Clear existing content\n this.contentElement.innerHTML = '';\n // Create progress element\n const progress = document.createElement('snice-progress');\n progress.value = Number(this.value) || 0;\n // Apply format from column\n const format = this.column.progressFormat || {};\n progress.max = format.max ?? 100;\n progress.color = format.color ?? getComputedStyle(this).getPropertyValue('--snice-color-primary').trim();\n progress.backgroundColor = format.backgroundColor ?? getComputedStyle(this).getPropertyValue('--snice-color-border').trim();\n progress.height = format.height ?? '0.5rem';\n progress.showPercentage = format.showPercentage ?? false;\n this.contentElement.appendChild(progress);\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'progress'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, 0));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'progress',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellProgress };\n//# sourceMappingURL=snice-cell-progress.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellDuration = (() => {\n let _classDecorators = [element('snice-cell-duration')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 content = this.formatDuration();\n return html /*html*/ `\n <div class=\"cell-content cell-content--duration\" part=\"content\">\n ${content}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const content = this.formatDuration();\n this.contentElement.innerHTML = content;\n }\n }\n formatDuration() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n const seconds = Number(this.value);\n if (isNaN(seconds))\n return String(this.value);\n const hours = Math.floor(seconds / 3600);\n const minutes = Math.floor((seconds % 3600) / 60);\n const secs = Math.floor(seconds % 60);\n if (hours > 0) {\n return `${hours}h ${minutes}m ${secs}s`;\n }\n else if (minutes > 0) {\n return `${minutes}m ${secs}s`;\n }\n else {\n return `${secs}s`;\n }\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'right'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'duration'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, 0));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'duration',\n align: 'right'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellDuration };\n//# sourceMappingURL=snice-cell-duration.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellFilesize = (() => {\n let _classDecorators = [element('snice-cell-filesize')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_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 content = this.formatFileSize();\n return html /*html*/ `\n <div class=\"cell-content cell-content--filesize\" part=\"content\">\n ${content}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const content = this.formatFileSize();\n this.contentElement.innerHTML = content;\n }\n }\n formatFileSize() {\n if (this.value === null || this.value === undefined) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n const bytes = Number(this.value);\n if (isNaN(bytes))\n return String(this.value);\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n let size = bytes;\n let unitIndex = 0;\n while (size >= 1024 && unitIndex < units.length - 1) {\n size /= 1024;\n unitIndex++;\n }\n return `${size.toFixed(1)} ${units[unitIndex]}`;\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'right'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'filesize'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, 0));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'filesize',\n align: 'right'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n __runInitializers(this, _contentElement_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellFilesize };\n//# sourceMappingURL=snice-cell-filesize.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, SimpleArray, render, styles, ready, watch, unsafeHTML, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellSparkline = (() => {\n let _classDecorators = [element('snice-cell-sparkline')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _chartType_decorators;\n let _chartType_initializers = [];\n let _chartType_extraInitializers = [];\n let _color_decorators;\n let _color_initializers = [];\n let _color_extraInitializers = [];\n let _width_decorators;\n let _width_initializers = [];\n let _width_extraInitializers = [];\n let _height_decorators;\n let _height_initializers = [];\n let _height_extraInitializers = [];\n let _showDots_decorators;\n let _showDots_initializers = [];\n let _showDots_extraInitializers = [];\n let _showBaseline_decorators;\n let _showBaseline_initializers = [];\n let _showBaseline_extraInitializers = [];\n let _strokeWidth_decorators;\n let _strokeWidth_initializers = [];\n let _strokeWidth_extraInitializers = [];\n let _minValue_decorators;\n let _minValue_initializers = [];\n let _minValue_extraInitializers = [];\n let _maxValue_decorators;\n let _maxValue_initializers = [];\n let _maxValue_extraInitializers = [];\n let _data_decorators;\n let _data_initializers = [];\n let _data_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_decorators;\n let _updateSparkline_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 _align_decorators = [property({})];\n _type_decorators = [property({})];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _chartType_decorators = [property({ attribute: 'chart-type' })];\n _color_decorators = [property({})];\n _width_decorators = [property({ type: Number, })];\n _height_decorators = [property({ type: Number, })];\n _showDots_decorators = [property({ type: Boolean, attribute: 'show-dots' })];\n _showBaseline_decorators = [property({ type: Boolean, attribute: 'show-baseline' })];\n _strokeWidth_decorators = [property({ type: Number, attribute: 'stroke-width' })];\n _minValue_decorators = [property({ type: Number, attribute: 'min-value' })];\n _maxValue_decorators = [property({ type: Number, attribute: 'max-value' })];\n _data_decorators = [property({ type: SimpleArray, })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'data', 'column')];\n _updateSparkline_decorators = [watch('value', 'data', 'chartType', 'color', 'width', 'height', 'showDots', 'showBaseline', 'strokeWidth', 'minValue', 'maxValue')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateSparkline_decorators, { kind: \"method\", name: \"updateSparkline\", static: false, private: false, access: { has: obj => \"updateSparkline\" in obj, get: obj => obj.updateSparkline }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _chartType_decorators, { kind: \"field\", name: \"chartType\", static: false, private: false, access: { has: obj => \"chartType\" in obj, get: obj => obj.chartType, set: (obj, value) => { obj.chartType = value; } }, metadata: _metadata }, _chartType_initializers, _chartType_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, _width_decorators, { kind: \"field\", name: \"width\", static: false, private: false, access: { has: obj => \"width\" in obj, get: obj => obj.width, set: (obj, value) => { obj.width = value; } }, metadata: _metadata }, _width_initializers, _width_extraInitializers);\n __esDecorate(null, null, _height_decorators, { kind: \"field\", name: \"height\", static: false, private: false, access: { has: obj => \"height\" in obj, get: obj => obj.height, set: (obj, value) => { obj.height = value; } }, metadata: _metadata }, _height_initializers, _height_extraInitializers);\n __esDecorate(null, null, _showDots_decorators, { kind: \"field\", name: \"showDots\", static: false, private: false, access: { has: obj => \"showDots\" in obj, get: obj => obj.showDots, set: (obj, value) => { obj.showDots = value; } }, metadata: _metadata }, _showDots_initializers, _showDots_extraInitializers);\n __esDecorate(null, null, _showBaseline_decorators, { kind: \"field\", name: \"showBaseline\", static: false, private: false, access: { has: obj => \"showBaseline\" in obj, get: obj => obj.showBaseline, set: (obj, value) => { obj.showBaseline = value; } }, metadata: _metadata }, _showBaseline_initializers, _showBaseline_extraInitializers);\n __esDecorate(null, null, _strokeWidth_decorators, { kind: \"field\", name: \"strokeWidth\", static: false, private: false, access: { has: obj => \"strokeWidth\" in obj, get: obj => obj.strokeWidth, set: (obj, value) => { obj.strokeWidth = value; } }, metadata: _metadata }, _strokeWidth_initializers, _strokeWidth_extraInitializers);\n __esDecorate(null, null, _minValue_decorators, { kind: \"field\", name: \"minValue\", static: false, private: false, access: { has: obj => \"minValue\" in obj, get: obj => obj.minValue, set: (obj, value) => { obj.minValue = value; } }, metadata: _metadata }, _minValue_initializers, _minValue_extraInitializers);\n __esDecorate(null, null, _maxValue_decorators, { kind: \"field\", name: \"maxValue\", static: false, private: false, access: { has: obj => \"maxValue\" in obj, get: obj => obj.maxValue, set: (obj, value) => { obj.maxValue = value; } }, metadata: _metadata }, _maxValue_initializers, _maxValue_extraInitializers);\n __esDecorate(null, null, _data_decorators, { kind: \"field\", name: \"data\", static: false, private: false, access: { has: obj => \"data\" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_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 return html /*html*/ `\n <div class=\"cell-content cell-content--sparkline\" part=\"content\">\n ${unsafeHTML(this.renderSparkline())}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n this.updateSparkline();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n this.contentElement.innerHTML = this.renderSparkline();\n }\n }\n updateSparkline() {\n if (this.contentElement) {\n this.contentElement.innerHTML = this.renderSparkline();\n }\n }\n renderSparkline() {\n if ((this.value === null || this.value === undefined) && (!this.data || this.data.length === 0)) {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n const data = this.parseData();\n if (data.length === 0) {\n return `<span style=\"color: ${getComputedStyle(this).getPropertyValue('--snice-color-text-secondary').trim()}; font-style: italic;\">No data</span>`;\n }\n // Use column sparkline format or component properties\n const format = this.column.sparklineFormat || {\n type: this.chartType,\n color: this.color,\n width: this.width,\n height: this.height\n };\n const width = format.width ?? this.width;\n const height = format.height ?? this.height;\n const color = format.color ?? this.color;\n const type = format.type ?? this.chartType;\n return this.createCanvas(data, width, height, color, type);\n }\n parseData() {\n // First, try the dedicated data property (using SimpleArray)\n if (this.data && Array.isArray(this.data) && this.data.length > 0) {\n return this.data.map(v => Number(v)).filter(n => !isNaN(n));\n }\n // Fallback to value property for backwards compatibility\n if (Array.isArray(this.value)) {\n return this.value.map(v => Number(v)).filter(n => !isNaN(n));\n }\n if (typeof this.value === 'string') {\n // Try to parse as JSON array first (e.g., \"[1,2,3]\")\n if (this.value.startsWith('[') && this.value.endsWith(']')) {\n try {\n const parsed = JSON.parse(this.value);\n if (Array.isArray(parsed)) {\n return parsed.map(v => Number(v)).filter(n => !isNaN(n));\n }\n }\n catch {\n // Fall through to comma-separated parsing\n }\n }\n // Try to parse comma-separated values\n try {\n return this.value.split(',').map(v => Number(v.trim())).filter(n => !isNaN(n));\n }\n catch {\n return [];\n }\n }\n return [];\n }\n createCanvas(data, width, height, color, type) {\n if (data.length === 0)\n return '';\n // Create a canvas element\n const canvas = document.createElement('canvas');\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext('2d');\n if (!ctx)\n return '<div style=\"color: red;\">Canvas not supported</div>';\n const padding = 2;\n const chartWidth = width - (padding * 2);\n const chartHeight = height - (padding * 2);\n const min = this.minValue ?? Math.min(...data);\n const max = this.maxValue ?? Math.max(...data);\n const range = max - min || 1;\n // Clear canvas\n ctx.clearRect(0, 0, width, height);\n // Resolve CSS variables for canvas (canvas doesn't understand CSS vars)\n let resolvedColor = color;\n if (color.startsWith('var(')) {\n const match = color.match(/var\\(([^)]+)\\)/);\n if (match) {\n resolvedColor = getComputedStyle(this).getPropertyValue(match[1].split(',')[0].trim()).trim() || '#3b82f6';\n }\n }\n // Set color and line properties\n ctx.strokeStyle = resolvedColor;\n ctx.fillStyle = resolvedColor;\n ctx.lineWidth = this.strokeWidth;\n ctx.lineCap = 'round';\n ctx.lineJoin = 'round';\n if (type === 'line' || type === 'area') {\n const points = data.map((val, i) => {\n const x = padding + (i / (data.length - 1)) * chartWidth;\n const y = padding + chartHeight - ((val - min) / range) * chartHeight;\n return [x, y];\n });\n // Draw area fill if needed\n if (type === 'area') {\n ctx.beginPath();\n ctx.moveTo(points[0][0], points[0][1]);\n points.forEach(([x, y]) => ctx.lineTo(x, y));\n ctx.lineTo(points[points.length - 1][0], height - padding);\n ctx.lineTo(points[0][0], height - padding);\n ctx.closePath();\n ctx.globalAlpha = 0.3;\n ctx.fill();\n ctx.globalAlpha = 1;\n }\n // Draw line\n ctx.beginPath();\n ctx.moveTo(points[0][0], points[0][1]);\n points.forEach(([x, y]) => ctx.lineTo(x, y));\n ctx.stroke();\n // Draw dots if enabled\n if (this.showDots) {\n points.forEach(([x, y]) => {\n ctx.beginPath();\n ctx.arc(x, y, 1.5, 0, 2 * Math.PI);\n ctx.fill();\n });\n }\n }\n else if (type === 'bar') {\n const barWidth = (chartWidth / data.length) * 0.8;\n const barSpacing = (chartWidth / data.length) * 0.2;\n data.forEach((val, i) => {\n const barHeight = ((val - min) / range) * chartHeight;\n const x = padding + i * (barWidth + barSpacing);\n const y = padding + chartHeight - barHeight;\n ctx.fillRect(x, y, barWidth, barHeight);\n });\n }\n // Convert canvas to data URL\n try {\n const dataUrl = canvas.toDataURL('image/png');\n return `<img src=\"${dataUrl}\" width=\"${width}\" height=\"${height}\" alt=\"Sparkline chart\" style=\"display: block; vertical-align: middle;\">`;\n }\n catch (error) {\n console.error('Error creating canvas image:', error);\n return `<div style=\"color: red;\">Canvas error</div>`;\n }\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'sparkline'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'sparkline',\n align: 'left'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.chartType = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _chartType_initializers, 'line'));\n this.color = (__runInitializers(this, _chartType_extraInitializers), __runInitializers(this, _color_initializers, 'var(--snice-color-primary)'));\n this.width = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _width_initializers, 80));\n this.height = (__runInitializers(this, _width_extraInitializers), __runInitializers(this, _height_initializers, 24));\n this.showDots = (__runInitializers(this, _height_extraInitializers), __runInitializers(this, _showDots_initializers, false));\n this.showBaseline = (__runInitializers(this, _showDots_extraInitializers), __runInitializers(this, _showBaseline_initializers, false));\n this.strokeWidth = (__runInitializers(this, _showBaseline_extraInitializers), __runInitializers(this, _strokeWidth_initializers, 1.5));\n this.minValue = (__runInitializers(this, _strokeWidth_extraInitializers), __runInitializers(this, _minValue_initializers, void 0));\n this.maxValue = (__runInitializers(this, _minValue_extraInitializers), __runInitializers(this, _maxValue_initializers, void 0));\n this.data = (__runInitializers(this, _maxValue_extraInitializers), __runInitializers(this, _data_initializers, []));\n __runInitializers(this, _data_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellSparkline };\n//# sourceMappingURL=snice-cell-sparkline.js.map\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, render, watch, html } from 'snice';\n\nlet SniceColumn = (() => {\n let _classDecorators = [element('snice-column')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _key_decorators;\n let _key_initializers = [];\n let _key_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _width_decorators;\n let _width_initializers = [];\n let _width_extraInitializers = [];\n let _sortable_decorators;\n let _sortable_initializers = [];\n let _sortable_extraInitializers = [];\n let _filterable_decorators;\n let _filterable_initializers = [];\n let _filterable_extraInitializers = [];\n let _wrap_decorators;\n let _wrap_initializers = [];\n let _wrap_extraInitializers = [];\n let _ellipsis_decorators;\n let _ellipsis_initializers = [];\n let _ellipsis_extraInitializers = [];\n let _tooltip_decorators;\n let _tooltip_initializers = [];\n let _tooltip_extraInitializers = [];\n let _decimals_decorators;\n let _decimals_initializers = [];\n let _decimals_extraInitializers = [];\n let _thousandsSeparator_decorators;\n let _thousandsSeparator_initializers = [];\n let _thousandsSeparator_extraInitializers = [];\n let _numberPrefix_decorators;\n let _numberPrefix_initializers = [];\n let _numberPrefix_extraInitializers = [];\n let _numberSuffix_decorators;\n let _numberSuffix_initializers = [];\n let _numberSuffix_extraInitializers = [];\n let _negativeStyle_decorators;\n let _negativeStyle_initializers = [];\n let _negativeStyle_extraInitializers = [];\n let _dateFormat_decorators;\n let _dateFormat_initializers = [];\n let _dateFormat_extraInitializers = [];\n let _customDateFormat_decorators;\n let _customDateFormat_initializers = [];\n let _customDateFormat_extraInitializers = [];\n let _dateLocale_decorators;\n let _dateLocale_initializers = [];\n let _dateLocale_extraInitializers = [];\n let _trueValue_decorators;\n let _trueValue_initializers = [];\n let _trueValue_extraInitializers = [];\n let _falseValue_decorators;\n let _falseValue_initializers = [];\n let _falseValue_extraInitializers = [];\n let _useSymbols_decorators;\n let _useSymbols_initializers = [];\n let _useSymbols_extraInitializers = [];\n let _trueSymbol_decorators;\n let _trueSymbol_initializers = [];\n let _trueSymbol_extraInitializers = [];\n let _falseSymbol_decorators;\n let _falseSymbol_initializers = [];\n let _falseSymbol_extraInitializers = [];\n let _ratingMax_decorators;\n let _ratingMax_initializers = [];\n let _ratingMax_extraInitializers = [];\n let _ratingSymbol_decorators;\n let _ratingSymbol_initializers = [];\n let _ratingSymbol_extraInitializers = [];\n let _ratingEmptySymbol_decorators;\n let _ratingEmptySymbol_initializers = [];\n let _ratingEmptySymbol_extraInitializers = [];\n let _ratingColor_decorators;\n let _ratingColor_initializers = [];\n let _ratingColor_extraInitializers = [];\n let _progressMax_decorators;\n let _progressMax_initializers = [];\n let _progressMax_extraInitializers = [];\n let _showPercentage_decorators;\n let _showPercentage_initializers = [];\n let _showPercentage_extraInitializers = [];\n let _progressColor_decorators;\n let _progressColor_initializers = [];\n let _progressColor_extraInitializers = [];\n let _progressBgColor_decorators;\n let _progressBgColor_initializers = [];\n let _progressBgColor_extraInitializers = [];\n let _progressHeight_decorators;\n let _progressHeight_initializers = [];\n let _progressHeight_extraInitializers = [];\n let _sparklineType_decorators;\n let _sparklineType_initializers = [];\n let _sparklineType_extraInitializers = [];\n let _sparklineColor_decorators;\n let _sparklineColor_initializers = [];\n let _sparklineColor_extraInitializers = [];\n let _sparklineWidth_decorators;\n let _sparklineWidth_initializers = [];\n let _sparklineWidth_extraInitializers = [];\n let _sparklineHeight_decorators;\n let _sparklineHeight_initializers = [];\n let _sparklineHeight_extraInitializers = [];\n let _cellBgColor_decorators;\n let _cellBgColor_initializers = [];\n let _cellBgColor_extraInitializers = [];\n let _cellColor_decorators;\n let _cellColor_initializers = [];\n let _cellColor_extraInitializers = [];\n let _cellFontWeight_decorators;\n let _cellFontWeight_initializers = [];\n let _cellFontWeight_extraInitializers = [];\n let _cellFontStyle_decorators;\n let _cellFontStyle_initializers = [];\n let _cellFontStyle_extraInitializers = [];\n let _cellFontSize_decorators;\n let _cellFontSize_initializers = [];\n let _cellFontSize_extraInitializers = [];\n let _cellTextDecoration_decorators;\n let _cellTextDecoration_initializers = [];\n let _cellTextDecoration_extraInitializers = [];\n let _render_decorators;\n let _handleBasicPropsChange_decorators;\n let _handleNumberFormatChange_decorators;\n let _handleDateFormatChange_decorators;\n let _handleBooleanFormatChange_decorators;\n let _handleRatingFormatChange_decorators;\n let _handleProgressFormatChange_decorators;\n let _handleSparklineFormatChange_decorators;\n let _handleStyleChange_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.key = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _key_initializers, ''));\n this.label = (__runInitializers(this, _key_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.type = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _type_initializers, 'text'));\n this.align = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.width = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _width_initializers, ''));\n this.sortable = (__runInitializers(this, _width_extraInitializers), __runInitializers(this, _sortable_initializers, true));\n this.filterable = (__runInitializers(this, _sortable_extraInitializers), __runInitializers(this, _filterable_initializers, true));\n this.wrap = (__runInitializers(this, _filterable_extraInitializers), __runInitializers(this, _wrap_initializers, false));\n this.ellipsis = (__runInitializers(this, _wrap_extraInitializers), __runInitializers(this, _ellipsis_initializers, true));\n this.tooltip = (__runInitializers(this, _ellipsis_extraInitializers), __runInitializers(this, _tooltip_initializers, false));\n // Number formatting properties\n this.decimals = (__runInitializers(this, _tooltip_extraInitializers), __runInitializers(this, _decimals_initializers, void 0));\n this.thousandsSeparator = (__runInitializers(this, _decimals_extraInitializers), __runInitializers(this, _thousandsSeparator_initializers, void 0));\n this.numberPrefix = (__runInitializers(this, _thousandsSeparator_extraInitializers), __runInitializers(this, _numberPrefix_initializers, void 0));\n this.numberSuffix = (__runInitializers(this, _numberPrefix_extraInitializers), __runInitializers(this, _numberSuffix_initializers, void 0));\n this.negativeStyle = (__runInitializers(this, _numberSuffix_extraInitializers), __runInitializers(this, _negativeStyle_initializers, void 0));\n // Date formatting properties\n this.dateFormat = (__runInitializers(this, _negativeStyle_extraInitializers), __runInitializers(this, _dateFormat_initializers, void 0));\n this.customDateFormat = (__runInitializers(this, _dateFormat_extraInitializers), __runInitializers(this, _customDateFormat_initializers, void 0));\n this.dateLocale = (__runInitializers(this, _customDateFormat_extraInitializers), __runInitializers(this, _dateLocale_initializers, void 0));\n // Boolean formatting properties\n this.trueValue = (__runInitializers(this, _dateLocale_extraInitializers), __runInitializers(this, _trueValue_initializers, void 0));\n this.falseValue = (__runInitializers(this, _trueValue_extraInitializers), __runInitializers(this, _falseValue_initializers, void 0));\n this.useSymbols = (__runInitializers(this, _falseValue_extraInitializers), __runInitializers(this, _useSymbols_initializers, void 0));\n this.trueSymbol = (__runInitializers(this, _useSymbols_extraInitializers), __runInitializers(this, _trueSymbol_initializers, void 0));\n this.falseSymbol = (__runInitializers(this, _trueSymbol_extraInitializers), __runInitializers(this, _falseSymbol_initializers, void 0));\n // Rating formatting properties\n this.ratingMax = (__runInitializers(this, _falseSymbol_extraInitializers), __runInitializers(this, _ratingMax_initializers, void 0));\n this.ratingSymbol = (__runInitializers(this, _ratingMax_extraInitializers), __runInitializers(this, _ratingSymbol_initializers, void 0));\n this.ratingEmptySymbol = (__runInitializers(this, _ratingSymbol_extraInitializers), __runInitializers(this, _ratingEmptySymbol_initializers, void 0));\n this.ratingColor = (__runInitializers(this, _ratingEmptySymbol_extraInitializers), __runInitializers(this, _ratingColor_initializers, void 0));\n // Progress formatting properties\n this.progressMax = (__runInitializers(this, _ratingColor_extraInitializers), __runInitializers(this, _progressMax_initializers, void 0));\n this.showPercentage = (__runInitializers(this, _progressMax_extraInitializers), __runInitializers(this, _showPercentage_initializers, void 0));\n this.progressColor = (__runInitializers(this, _showPercentage_extraInitializers), __runInitializers(this, _progressColor_initializers, void 0));\n this.progressBgColor = (__runInitializers(this, _progressColor_extraInitializers), __runInitializers(this, _progressBgColor_initializers, void 0));\n this.progressHeight = (__runInitializers(this, _progressBgColor_extraInitializers), __runInitializers(this, _progressHeight_initializers, void 0));\n // Sparkline formatting properties\n this.sparklineType = (__runInitializers(this, _progressHeight_extraInitializers), __runInitializers(this, _sparklineType_initializers, void 0));\n this.sparklineColor = (__runInitializers(this, _sparklineType_extraInitializers), __runInitializers(this, _sparklineColor_initializers, void 0));\n this.sparklineWidth = (__runInitializers(this, _sparklineColor_extraInitializers), __runInitializers(this, _sparklineWidth_initializers, void 0));\n this.sparklineHeight = (__runInitializers(this, _sparklineWidth_extraInitializers), __runInitializers(this, _sparklineHeight_initializers, void 0));\n // Style properties\n this.cellBgColor = (__runInitializers(this, _sparklineHeight_extraInitializers), __runInitializers(this, _cellBgColor_initializers, void 0));\n this.cellColor = (__runInitializers(this, _cellBgColor_extraInitializers), __runInitializers(this, _cellColor_initializers, void 0));\n this.cellFontWeight = (__runInitializers(this, _cellColor_extraInitializers), __runInitializers(this, _cellFontWeight_initializers, void 0));\n this.cellFontStyle = (__runInitializers(this, _cellFontWeight_extraInitializers), __runInitializers(this, _cellFontStyle_initializers, void 0));\n this.cellFontSize = (__runInitializers(this, _cellFontStyle_extraInitializers), __runInitializers(this, _cellFontSize_initializers, void 0));\n this.cellTextDecoration = (__runInitializers(this, _cellFontSize_extraInitializers), __runInitializers(this, _cellTextDecoration_initializers, void 0));\n this.formatter = __runInitializers(this, _cellTextDecoration_extraInitializers);\n this.conditionalFormats = [];\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _key_decorators = [property({})];\n _label_decorators = [property({})];\n _type_decorators = [property({})];\n _align_decorators = [property({})];\n _width_decorators = [property({})];\n _sortable_decorators = [property({ type: Boolean, })];\n _filterable_decorators = [property({ type: Boolean, })];\n _wrap_decorators = [property({ type: Boolean, })];\n _ellipsis_decorators = [property({ type: Boolean, })];\n _tooltip_decorators = [property({ type: Boolean, })];\n _decimals_decorators = [property({ type: Number, attribute: 'decimals' })];\n _thousandsSeparator_decorators = [property({ type: Boolean, attribute: 'thousands-separator' })];\n _numberPrefix_decorators = [property({ attribute: 'number-prefix' })];\n _numberSuffix_decorators = [property({ attribute: 'number-suffix' })];\n _negativeStyle_decorators = [property({ attribute: 'negative-style' })];\n _dateFormat_decorators = [property({ attribute: 'date-format' })];\n _customDateFormat_decorators = [property({ attribute: 'custom-date-format' })];\n _dateLocale_decorators = [property({ attribute: 'date-locale' })];\n _trueValue_decorators = [property({ attribute: 'true-value' })];\n _falseValue_decorators = [property({ attribute: 'false-value' })];\n _useSymbols_decorators = [property({ type: Boolean, attribute: 'use-symbols' })];\n _trueSymbol_decorators = [property({ attribute: 'true-symbol' })];\n _falseSymbol_decorators = [property({ attribute: 'false-symbol' })];\n _ratingMax_decorators = [property({ type: Number, attribute: 'rating-max' })];\n _ratingSymbol_decorators = [property({ attribute: 'rating-symbol' })];\n _ratingEmptySymbol_decorators = [property({ attribute: 'rating-empty-symbol' })];\n _ratingColor_decorators = [property({ attribute: 'rating-color' })];\n _progressMax_decorators = [property({ type: Number, attribute: 'progress-max' })];\n _showPercentage_decorators = [property({ type: Boolean, attribute: 'show-percentage' })];\n _progressColor_decorators = [property({ attribute: 'progress-color' })];\n _progressBgColor_decorators = [property({ attribute: 'progress-bg-color' })];\n _progressHeight_decorators = [property({ attribute: 'progress-height' })];\n _sparklineType_decorators = [property({ attribute: 'sparkline-type' })];\n _sparklineColor_decorators = [property({ attribute: 'sparkline-color' })];\n _sparklineWidth_decorators = [property({ type: Number, attribute: 'sparkline-width' })];\n _sparklineHeight_decorators = [property({ type: Number, attribute: 'sparkline-height' })];\n _cellBgColor_decorators = [property({ attribute: 'cell-bg-color' })];\n _cellColor_decorators = [property({ attribute: 'cell-color' })];\n _cellFontWeight_decorators = [property({ attribute: 'cell-font-weight' })];\n _cellFontStyle_decorators = [property({ attribute: 'cell-font-style' })];\n _cellFontSize_decorators = [property({ attribute: 'cell-font-size' })];\n _cellTextDecoration_decorators = [property({ attribute: 'cell-text-decoration' })];\n _render_decorators = [render()];\n _handleBasicPropsChange_decorators = [watch('key', 'label', 'type', 'align', 'width', 'sortable', 'filterable', 'wrap', 'ellipsis', 'tooltip')];\n _handleNumberFormatChange_decorators = [watch('decimals', 'thousandsSeparator', 'numberPrefix', 'numberSuffix', 'negativeStyle')];\n _handleDateFormatChange_decorators = [watch('dateFormat', 'customDateFormat', 'dateLocale')];\n _handleBooleanFormatChange_decorators = [watch('trueValue', 'falseValue', 'useSymbols', 'trueSymbol', 'falseSymbol')];\n _handleRatingFormatChange_decorators = [watch('ratingMax', 'ratingSymbol', 'ratingEmptySymbol', 'ratingColor')];\n _handleProgressFormatChange_decorators = [watch('progressMax', 'showPercentage', 'progressColor', 'progressBgColor', 'progressHeight')];\n _handleSparklineFormatChange_decorators = [watch('sparklineType', 'sparklineColor', 'sparklineWidth', 'sparklineHeight')];\n _handleStyleChange_decorators = [watch('cellBgColor', 'cellColor', 'cellFontWeight', 'cellFontStyle', 'cellFontSize', 'cellTextDecoration')];\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, _handleBasicPropsChange_decorators, { kind: \"method\", name: \"handleBasicPropsChange\", static: false, private: false, access: { has: obj => \"handleBasicPropsChange\" in obj, get: obj => obj.handleBasicPropsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleNumberFormatChange_decorators, { kind: \"method\", name: \"handleNumberFormatChange\", static: false, private: false, access: { has: obj => \"handleNumberFormatChange\" in obj, get: obj => obj.handleNumberFormatChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDateFormatChange_decorators, { kind: \"method\", name: \"handleDateFormatChange\", static: false, private: false, access: { has: obj => \"handleDateFormatChange\" in obj, get: obj => obj.handleDateFormatChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleBooleanFormatChange_decorators, { kind: \"method\", name: \"handleBooleanFormatChange\", static: false, private: false, access: { has: obj => \"handleBooleanFormatChange\" in obj, get: obj => obj.handleBooleanFormatChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleRatingFormatChange_decorators, { kind: \"method\", name: \"handleRatingFormatChange\", static: false, private: false, access: { has: obj => \"handleRatingFormatChange\" in obj, get: obj => obj.handleRatingFormatChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleProgressFormatChange_decorators, { kind: \"method\", name: \"handleProgressFormatChange\", static: false, private: false, access: { has: obj => \"handleProgressFormatChange\" in obj, get: obj => obj.handleProgressFormatChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSparklineFormatChange_decorators, { kind: \"method\", name: \"handleSparklineFormatChange\", static: false, private: false, access: { has: obj => \"handleSparklineFormatChange\" in obj, get: obj => obj.handleSparklineFormatChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleStyleChange_decorators, { kind: \"method\", name: \"handleStyleChange\", static: false, private: false, access: { has: obj => \"handleStyleChange\" in obj, get: obj => obj.handleStyleChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _key_decorators, { kind: \"field\", name: \"key\", static: false, private: false, access: { has: obj => \"key\" in obj, get: obj => obj.key, set: (obj, value) => { obj.key = value; } }, metadata: _metadata }, _key_initializers, _key_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, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _width_decorators, { kind: \"field\", name: \"width\", static: false, private: false, access: { has: obj => \"width\" in obj, get: obj => obj.width, set: (obj, value) => { obj.width = value; } }, metadata: _metadata }, _width_initializers, _width_extraInitializers);\n __esDecorate(null, null, _sortable_decorators, { kind: \"field\", name: \"sortable\", static: false, private: false, access: { has: obj => \"sortable\" in obj, get: obj => obj.sortable, set: (obj, value) => { obj.sortable = value; } }, metadata: _metadata }, _sortable_initializers, _sortable_extraInitializers);\n __esDecorate(null, null, _filterable_decorators, { kind: \"field\", name: \"filterable\", static: false, private: false, access: { has: obj => \"filterable\" in obj, get: obj => obj.filterable, set: (obj, value) => { obj.filterable = value; } }, metadata: _metadata }, _filterable_initializers, _filterable_extraInitializers);\n __esDecorate(null, null, _wrap_decorators, { kind: \"field\", name: \"wrap\", static: false, private: false, access: { has: obj => \"wrap\" in obj, get: obj => obj.wrap, set: (obj, value) => { obj.wrap = value; } }, metadata: _metadata }, _wrap_initializers, _wrap_extraInitializers);\n __esDecorate(null, null, _ellipsis_decorators, { kind: \"field\", name: \"ellipsis\", static: false, private: false, access: { has: obj => \"ellipsis\" in obj, get: obj => obj.ellipsis, set: (obj, value) => { obj.ellipsis = value; } }, metadata: _metadata }, _ellipsis_initializers, _ellipsis_extraInitializers);\n __esDecorate(null, null, _tooltip_decorators, { kind: \"field\", name: \"tooltip\", static: false, private: false, access: { has: obj => \"tooltip\" in obj, get: obj => obj.tooltip, set: (obj, value) => { obj.tooltip = value; } }, metadata: _metadata }, _tooltip_initializers, _tooltip_extraInitializers);\n __esDecorate(null, null, _decimals_decorators, { kind: \"field\", name: \"decimals\", static: false, private: false, access: { has: obj => \"decimals\" in obj, get: obj => obj.decimals, set: (obj, value) => { obj.decimals = value; } }, metadata: _metadata }, _decimals_initializers, _decimals_extraInitializers);\n __esDecorate(null, null, _thousandsSeparator_decorators, { kind: \"field\", name: \"thousandsSeparator\", static: false, private: false, access: { has: obj => \"thousandsSeparator\" in obj, get: obj => obj.thousandsSeparator, set: (obj, value) => { obj.thousandsSeparator = value; } }, metadata: _metadata }, _thousandsSeparator_initializers, _thousandsSeparator_extraInitializers);\n __esDecorate(null, null, _numberPrefix_decorators, { kind: \"field\", name: \"numberPrefix\", static: false, private: false, access: { has: obj => \"numberPrefix\" in obj, get: obj => obj.numberPrefix, set: (obj, value) => { obj.numberPrefix = value; } }, metadata: _metadata }, _numberPrefix_initializers, _numberPrefix_extraInitializers);\n __esDecorate(null, null, _numberSuffix_decorators, { kind: \"field\", name: \"numberSuffix\", static: false, private: false, access: { has: obj => \"numberSuffix\" in obj, get: obj => obj.numberSuffix, set: (obj, value) => { obj.numberSuffix = value; } }, metadata: _metadata }, _numberSuffix_initializers, _numberSuffix_extraInitializers);\n __esDecorate(null, null, _negativeStyle_decorators, { kind: \"field\", name: \"negativeStyle\", static: false, private: false, access: { has: obj => \"negativeStyle\" in obj, get: obj => obj.negativeStyle, set: (obj, value) => { obj.negativeStyle = value; } }, metadata: _metadata }, _negativeStyle_initializers, _negativeStyle_extraInitializers);\n __esDecorate(null, null, _dateFormat_decorators, { kind: \"field\", name: \"dateFormat\", static: false, private: false, access: { has: obj => \"dateFormat\" in obj, get: obj => obj.dateFormat, set: (obj, value) => { obj.dateFormat = value; } }, metadata: _metadata }, _dateFormat_initializers, _dateFormat_extraInitializers);\n __esDecorate(null, null, _customDateFormat_decorators, { kind: \"field\", name: \"customDateFormat\", static: false, private: false, access: { has: obj => \"customDateFormat\" in obj, get: obj => obj.customDateFormat, set: (obj, value) => { obj.customDateFormat = value; } }, metadata: _metadata }, _customDateFormat_initializers, _customDateFormat_extraInitializers);\n __esDecorate(null, null, _dateLocale_decorators, { kind: \"field\", name: \"dateLocale\", static: false, private: false, access: { has: obj => \"dateLocale\" in obj, get: obj => obj.dateLocale, set: (obj, value) => { obj.dateLocale = value; } }, metadata: _metadata }, _dateLocale_initializers, _dateLocale_extraInitializers);\n __esDecorate(null, null, _trueValue_decorators, { kind: \"field\", name: \"trueValue\", static: false, private: false, access: { has: obj => \"trueValue\" in obj, get: obj => obj.trueValue, set: (obj, value) => { obj.trueValue = value; } }, metadata: _metadata }, _trueValue_initializers, _trueValue_extraInitializers);\n __esDecorate(null, null, _falseValue_decorators, { kind: \"field\", name: \"falseValue\", static: false, private: false, access: { has: obj => \"falseValue\" in obj, get: obj => obj.falseValue, set: (obj, value) => { obj.falseValue = value; } }, metadata: _metadata }, _falseValue_initializers, _falseValue_extraInitializers);\n __esDecorate(null, null, _useSymbols_decorators, { kind: \"field\", name: \"useSymbols\", static: false, private: false, access: { has: obj => \"useSymbols\" in obj, get: obj => obj.useSymbols, set: (obj, value) => { obj.useSymbols = value; } }, metadata: _metadata }, _useSymbols_initializers, _useSymbols_extraInitializers);\n __esDecorate(null, null, _trueSymbol_decorators, { kind: \"field\", name: \"trueSymbol\", static: false, private: false, access: { has: obj => \"trueSymbol\" in obj, get: obj => obj.trueSymbol, set: (obj, value) => { obj.trueSymbol = value; } }, metadata: _metadata }, _trueSymbol_initializers, _trueSymbol_extraInitializers);\n __esDecorate(null, null, _falseSymbol_decorators, { kind: \"field\", name: \"falseSymbol\", static: false, private: false, access: { has: obj => \"falseSymbol\" in obj, get: obj => obj.falseSymbol, set: (obj, value) => { obj.falseSymbol = value; } }, metadata: _metadata }, _falseSymbol_initializers, _falseSymbol_extraInitializers);\n __esDecorate(null, null, _ratingMax_decorators, { kind: \"field\", name: \"ratingMax\", static: false, private: false, access: { has: obj => \"ratingMax\" in obj, get: obj => obj.ratingMax, set: (obj, value) => { obj.ratingMax = value; } }, metadata: _metadata }, _ratingMax_initializers, _ratingMax_extraInitializers);\n __esDecorate(null, null, _ratingSymbol_decorators, { kind: \"field\", name: \"ratingSymbol\", static: false, private: false, access: { has: obj => \"ratingSymbol\" in obj, get: obj => obj.ratingSymbol, set: (obj, value) => { obj.ratingSymbol = value; } }, metadata: _metadata }, _ratingSymbol_initializers, _ratingSymbol_extraInitializers);\n __esDecorate(null, null, _ratingEmptySymbol_decorators, { kind: \"field\", name: \"ratingEmptySymbol\", static: false, private: false, access: { has: obj => \"ratingEmptySymbol\" in obj, get: obj => obj.ratingEmptySymbol, set: (obj, value) => { obj.ratingEmptySymbol = value; } }, metadata: _metadata }, _ratingEmptySymbol_initializers, _ratingEmptySymbol_extraInitializers);\n __esDecorate(null, null, _ratingColor_decorators, { kind: \"field\", name: \"ratingColor\", static: false, private: false, access: { has: obj => \"ratingColor\" in obj, get: obj => obj.ratingColor, set: (obj, value) => { obj.ratingColor = value; } }, metadata: _metadata }, _ratingColor_initializers, _ratingColor_extraInitializers);\n __esDecorate(null, null, _progressMax_decorators, { kind: \"field\", name: \"progressMax\", static: false, private: false, access: { has: obj => \"progressMax\" in obj, get: obj => obj.progressMax, set: (obj, value) => { obj.progressMax = value; } }, metadata: _metadata }, _progressMax_initializers, _progressMax_extraInitializers);\n __esDecorate(null, null, _showPercentage_decorators, { kind: \"field\", name: \"showPercentage\", static: false, private: false, access: { has: obj => \"showPercentage\" in obj, get: obj => obj.showPercentage, set: (obj, value) => { obj.showPercentage = value; } }, metadata: _metadata }, _showPercentage_initializers, _showPercentage_extraInitializers);\n __esDecorate(null, null, _progressColor_decorators, { kind: \"field\", name: \"progressColor\", static: false, private: false, access: { has: obj => \"progressColor\" in obj, get: obj => obj.progressColor, set: (obj, value) => { obj.progressColor = value; } }, metadata: _metadata }, _progressColor_initializers, _progressColor_extraInitializers);\n __esDecorate(null, null, _progressBgColor_decorators, { kind: \"field\", name: \"progressBgColor\", static: false, private: false, access: { has: obj => \"progressBgColor\" in obj, get: obj => obj.progressBgColor, set: (obj, value) => { obj.progressBgColor = value; } }, metadata: _metadata }, _progressBgColor_initializers, _progressBgColor_extraInitializers);\n __esDecorate(null, null, _progressHeight_decorators, { kind: \"field\", name: \"progressHeight\", static: false, private: false, access: { has: obj => \"progressHeight\" in obj, get: obj => obj.progressHeight, set: (obj, value) => { obj.progressHeight = value; } }, metadata: _metadata }, _progressHeight_initializers, _progressHeight_extraInitializers);\n __esDecorate(null, null, _sparklineType_decorators, { kind: \"field\", name: \"sparklineType\", static: false, private: false, access: { has: obj => \"sparklineType\" in obj, get: obj => obj.sparklineType, set: (obj, value) => { obj.sparklineType = value; } }, metadata: _metadata }, _sparklineType_initializers, _sparklineType_extraInitializers);\n __esDecorate(null, null, _sparklineColor_decorators, { kind: \"field\", name: \"sparklineColor\", static: false, private: false, access: { has: obj => \"sparklineColor\" in obj, get: obj => obj.sparklineColor, set: (obj, value) => { obj.sparklineColor = value; } }, metadata: _metadata }, _sparklineColor_initializers, _sparklineColor_extraInitializers);\n __esDecorate(null, null, _sparklineWidth_decorators, { kind: \"field\", name: \"sparklineWidth\", static: false, private: false, access: { has: obj => \"sparklineWidth\" in obj, get: obj => obj.sparklineWidth, set: (obj, value) => { obj.sparklineWidth = value; } }, metadata: _metadata }, _sparklineWidth_initializers, _sparklineWidth_extraInitializers);\n __esDecorate(null, null, _sparklineHeight_decorators, { kind: \"field\", name: \"sparklineHeight\", static: false, private: false, access: { has: obj => \"sparklineHeight\" in obj, get: obj => obj.sparklineHeight, set: (obj, value) => { obj.sparklineHeight = value; } }, metadata: _metadata }, _sparklineHeight_initializers, _sparklineHeight_extraInitializers);\n __esDecorate(null, null, _cellBgColor_decorators, { kind: \"field\", name: \"cellBgColor\", static: false, private: false, access: { has: obj => \"cellBgColor\" in obj, get: obj => obj.cellBgColor, set: (obj, value) => { obj.cellBgColor = value; } }, metadata: _metadata }, _cellBgColor_initializers, _cellBgColor_extraInitializers);\n __esDecorate(null, null, _cellColor_decorators, { kind: \"field\", name: \"cellColor\", static: false, private: false, access: { has: obj => \"cellColor\" in obj, get: obj => obj.cellColor, set: (obj, value) => { obj.cellColor = value; } }, metadata: _metadata }, _cellColor_initializers, _cellColor_extraInitializers);\n __esDecorate(null, null, _cellFontWeight_decorators, { kind: \"field\", name: \"cellFontWeight\", static: false, private: false, access: { has: obj => \"cellFontWeight\" in obj, get: obj => obj.cellFontWeight, set: (obj, value) => { obj.cellFontWeight = value; } }, metadata: _metadata }, _cellFontWeight_initializers, _cellFontWeight_extraInitializers);\n __esDecorate(null, null, _cellFontStyle_decorators, { kind: \"field\", name: \"cellFontStyle\", static: false, private: false, access: { has: obj => \"cellFontStyle\" in obj, get: obj => obj.cellFontStyle, set: (obj, value) => { obj.cellFontStyle = value; } }, metadata: _metadata }, _cellFontStyle_initializers, _cellFontStyle_extraInitializers);\n __esDecorate(null, null, _cellFontSize_decorators, { kind: \"field\", name: \"cellFontSize\", static: false, private: false, access: { has: obj => \"cellFontSize\" in obj, get: obj => obj.cellFontSize, set: (obj, value) => { obj.cellFontSize = value; } }, metadata: _metadata }, _cellFontSize_initializers, _cellFontSize_extraInitializers);\n __esDecorate(null, null, _cellTextDecoration_decorators, { kind: \"field\", name: \"cellTextDecoration\", static: false, private: false, access: { has: obj => \"cellTextDecoration\" in obj, get: obj => obj.cellTextDecoration, set: (obj, value) => { obj.cellTextDecoration = value; } }, metadata: _metadata }, _cellTextDecoration_initializers, _cellTextDecoration_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 return html /*html*/ `<slot></slot>`;\n }\n // Set custom formatter function\n setFormatter(formatter) {\n this.formatter = formatter;\n this.notifyTableOfChange();\n }\n // Add conditional formatting rule\n addConditionalFormat(format) {\n this.conditionalFormats.push(format);\n this.notifyTableOfChange();\n }\n // Remove conditional formatting rule\n removeConditionalFormat(index) {\n this.conditionalFormats.splice(index, 1);\n this.notifyTableOfChange();\n }\n // Clear all conditional formatting\n clearConditionalFormats() {\n this.conditionalFormats = [];\n this.notifyTableOfChange();\n }\n // Get the complete column definition for the table\n getColumnDefinition() {\n const definition = {\n key: this.key,\n label: this.label,\n type: this.type,\n align: this.align,\n width: this.width,\n sortable: this.sortable,\n filterable: this.filterable,\n wrap: this.wrap,\n ellipsis: this.ellipsis,\n tooltip: this.tooltip,\n formatter: this.formatter,\n conditionalFormats: this.conditionalFormats\n };\n // Add type-specific formatting\n if (this.type === 'number' || this.type === 'currency' || this.type === 'percent' ||\n this.type === 'accounting' || this.type === 'scientific' || this.type === 'fraction') {\n const numberFormat = {};\n if (this.decimals !== undefined)\n numberFormat.decimals = this.decimals;\n if (this.thousandsSeparator !== undefined)\n numberFormat.thousandsSeparator = this.thousandsSeparator;\n if (this.numberPrefix)\n numberFormat.prefix = this.numberPrefix;\n if (this.numberSuffix)\n numberFormat.suffix = this.numberSuffix;\n if (this.negativeStyle)\n numberFormat.negativeStyle = this.negativeStyle;\n if (Object.keys(numberFormat).length > 0) {\n definition.numberFormat = numberFormat;\n }\n }\n if (this.type === 'date') {\n const dateFormat = {};\n if (this.dateFormat)\n dateFormat.format = this.dateFormat;\n if (this.customDateFormat)\n dateFormat.customFormat = this.customDateFormat;\n if (this.dateLocale)\n dateFormat.locale = this.dateLocale;\n if (Object.keys(dateFormat).length > 0) {\n definition.dateFormat = dateFormat;\n }\n }\n if (this.type === 'boolean') {\n const booleanFormat = {};\n if (this.trueValue)\n booleanFormat.trueValue = this.trueValue;\n if (this.falseValue)\n booleanFormat.falseValue = this.falseValue;\n if (this.useSymbols !== undefined)\n booleanFormat.useSymbols = this.useSymbols;\n if (this.trueSymbol)\n booleanFormat.trueSymbol = this.trueSymbol;\n if (this.falseSymbol)\n booleanFormat.falseSymbol = this.falseSymbol;\n if (Object.keys(booleanFormat).length > 0) {\n definition.booleanFormat = booleanFormat;\n }\n }\n if (this.type === 'rating') {\n const ratingFormat = {};\n if (this.ratingMax !== undefined)\n ratingFormat.max = this.ratingMax;\n if (this.ratingSymbol)\n ratingFormat.symbol = this.ratingSymbol;\n if (this.ratingEmptySymbol)\n ratingFormat.emptySymbol = this.ratingEmptySymbol;\n if (this.ratingColor)\n ratingFormat.color = this.ratingColor;\n if (Object.keys(ratingFormat).length > 0) {\n definition.ratingFormat = ratingFormat;\n }\n }\n if (this.type === 'progress') {\n const progressFormat = {};\n if (this.progressMax !== undefined)\n progressFormat.max = this.progressMax;\n if (this.showPercentage !== undefined)\n progressFormat.showPercentage = this.showPercentage;\n if (this.progressColor)\n progressFormat.color = this.progressColor;\n if (this.progressBgColor)\n progressFormat.backgroundColor = this.progressBgColor;\n if (this.progressHeight)\n progressFormat.height = this.progressHeight;\n if (Object.keys(progressFormat).length > 0) {\n definition.progressFormat = progressFormat;\n }\n }\n if (this.type === 'sparkline') {\n const sparklineFormat = {};\n if (this.sparklineType)\n sparklineFormat.type = this.sparklineType;\n if (this.sparklineColor)\n sparklineFormat.color = this.sparklineColor;\n if (this.sparklineWidth !== undefined)\n sparklineFormat.width = this.sparklineWidth;\n if (this.sparklineHeight !== undefined)\n sparklineFormat.height = this.sparklineHeight;\n if (Object.keys(sparklineFormat).length > 0) {\n definition.sparklineFormat = sparklineFormat;\n }\n }\n // Add cell style if any style properties are set\n const cellStyle = {};\n if (this.cellBgColor)\n cellStyle.backgroundColor = this.cellBgColor;\n if (this.cellColor)\n cellStyle.color = this.cellColor;\n if (this.cellFontWeight)\n cellStyle.fontWeight = this.cellFontWeight;\n if (this.cellFontStyle)\n cellStyle.fontStyle = this.cellFontStyle;\n if (this.cellFontSize)\n cellStyle.fontSize = this.cellFontSize;\n if (this.cellTextDecoration)\n cellStyle.textDecoration = this.cellTextDecoration;\n if (Object.keys(cellStyle).length > 0) {\n definition.style = cellStyle;\n }\n return definition;\n }\n handleBasicPropsChange() {\n this.notifyTableOfChange();\n }\n handleNumberFormatChange() {\n if (this.type === 'number' || this.type === 'currency' || this.type === 'percent' ||\n this.type === 'accounting' || this.type === 'scientific' || this.type === 'fraction') {\n this.notifyTableOfChange();\n }\n }\n handleDateFormatChange() {\n if (this.type === 'date') {\n this.notifyTableOfChange();\n }\n }\n handleBooleanFormatChange() {\n if (this.type === 'boolean') {\n this.notifyTableOfChange();\n }\n }\n handleRatingFormatChange() {\n if (this.type === 'rating') {\n this.notifyTableOfChange();\n }\n }\n handleProgressFormatChange() {\n if (this.type === 'progress') {\n this.notifyTableOfChange();\n }\n }\n handleSparklineFormatChange() {\n if (this.type === 'sparkline') {\n this.notifyTableOfChange();\n }\n }\n handleStyleChange() {\n this.notifyTableOfChange();\n }\n notifyTableOfChange() {\n // Dispatch event to parent table to notify of column definition change\n this.dispatchEvent(new CustomEvent('column-changed', {\n detail: { column: this.getColumnDefinition() },\n bubbles: true,\n composed: true\n }));\n }\n });\n return _classThis;\n})();\n\nexport { SniceColumn };\n//# sourceMappingURL=snice-column.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, unsafeHTML, html, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem}.cell-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--snice-color-primary);text-decoration:none;transition:color .2s}.cell-link:hover{color:var(--snice-color-primary-dark);text-decoration:underline}.cell-link:focus{outline:2px solid var(--snice-color-primary);outline-offset:2px;border-radius:2px}.cell-link:visited{color:var(--snice-color-secondary)}.link-icon{display:inline-flex;align-items:center;font-size:1rem}.link-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.external-icon{display:inline-flex;align-items:center;font-size:.75rem;opacity:.7}:host([align=left]){text-align:left;justify-content:flex-start}:host([align=center]){text-align:center;justify-content:center}:host([align=right]){text-align:right;justify-content:flex-end}@media (max-width:768px){:host{color:var(--snice-color-text);font-size:.75rem;line-height:1rem}}@media print{.cell-link{text-decoration:underline}.cell-link::after{content:\\\" (\\\" attr(href) \\\")\\\";font-size:.75rem;color:var(--snice-color-text-secondary)}}\";\n\nlet SniceCellLink = (() => {\n let _classDecorators = [element('snice-cell-link')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _href_decorators;\n let _href_initializers = [];\n let _href_extraInitializers = [];\n let _target_decorators;\n let _target_initializers = [];\n let _target_extraInitializers = [];\n let _external_decorators;\n let _external_initializers = [];\n let _external_extraInitializers = [];\n let _icon_decorators;\n let _icon_initializers = [];\n let _icon_extraInitializers = [];\n let _text_decorators;\n let _text_initializers = [];\n let _text_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateCellAttributes_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 _value_decorators = [property({ type: String })];\n _href_decorators = [property({ type: String })];\n _target_decorators = [property({ type: String })];\n _external_decorators = [property({ type: Boolean, attribute: 'external' })];\n _icon_decorators = [property({ type: String })];\n _text_decorators = [property({ type: String })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateCellAttributes_decorators = [watch('value', 'column')];\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(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, _updateCellAttributes_decorators, { kind: \"method\", name: \"updateCellAttributes\", static: false, private: false, access: { has: obj => \"updateCellAttributes\" in obj, get: obj => obj.updateCellAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _href_decorators, { kind: \"field\", name: \"href\", static: false, private: false, access: { has: obj => \"href\" in obj, get: obj => obj.href, set: (obj, value) => { obj.href = value; } }, metadata: _metadata }, _href_initializers, _href_extraInitializers);\n __esDecorate(null, null, _target_decorators, { kind: \"field\", name: \"target\", static: false, private: false, access: { has: obj => \"target\" in obj, get: obj => obj.target, set: (obj, value) => { obj.target = value; } }, metadata: _metadata }, _target_initializers, _target_extraInitializers);\n __esDecorate(null, null, _external_decorators, { kind: \"field\", name: \"external\", static: false, private: false, access: { has: obj => \"external\" in obj, get: obj => obj.external, set: (obj, value) => { obj.external = value; } }, metadata: _metadata }, _external_initializers, _external_extraInitializers);\n __esDecorate(null, null, _icon_decorators, { kind: \"field\", name: \"icon\", static: false, private: false, access: { has: obj => \"icon\" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);\n __esDecorate(null, null, _text_decorators, { kind: \"field\", name: \"text\", static: false, private: false, access: { has: obj => \"text\" in obj, get: obj => obj.text, set: (obj, value) => { obj.text = value; } }, metadata: _metadata }, _text_initializers, _text_extraInitializers);\n __esDecorate(null, null, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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 linkHref = this.href || this.value;\n const linkText = this.text || this.value;\n const isExternal = this.external || this.target === '_blank' || linkHref.startsWith('http');\n const iconHTML = this.icon ? `<span class=\"link-icon\">${this.icon}</span>` : '';\n const externalIcon = isExternal ? '<span class=\"external-icon\">↗</span>' : '';\n return html /*html*/ `\n <div class=\"cell-content cell-content--link\" part=\"content\">\n <a\n href=\"${linkHref}\"\n target=\"${isExternal ? '_blank' : this.target}\"\n rel=\"${isExternal ? 'noopener noreferrer' : ''}\"\n class=\"cell-link\"\n part=\"link\"\n >\n ${unsafeHTML(iconHTML)}\n <span class=\"link-text\">${linkText}</span>\n ${unsafeHTML(externalIcon)}\n </a>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.updateCellAttributes();\n }\n updateCellAttributes() {\n // Extract link properties from column config\n if (this.column?.linkFormat) {\n const format = this.column.linkFormat;\n this.href = format.href || this.value;\n this.target = format.target || '_self';\n this.external = format.external || false;\n this.icon = format.icon || '';\n this.text = format.text || this.value;\n }\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.href = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _href_initializers, ''));\n this.target = (__runInitializers(this, _href_extraInitializers), __runInitializers(this, _target_initializers, '_self'));\n this.external = (__runInitializers(this, _target_extraInitializers), __runInitializers(this, _external_initializers, false));\n this.icon = (__runInitializers(this, _external_extraInitializers), __runInitializers(this, _icon_initializers, ''));\n this.text = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _text_initializers, ''));\n this.column = (__runInitializers(this, _text_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.align = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'link'));\n __runInitializers(this, _type_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellLink };\n//# sourceMappingURL=snice-cell-link.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, dispatch, html, css, unsafeHTML } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem}.actions-container{display:inline-flex;gap:.5rem;align-items:center}.action-button{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border:1px solid transparent;border-radius:.25rem;background:0 0;cursor:pointer;transition:.2s;font-size:.875rem;line-height:1}.action-button:hover{background:hsl(0 0% 0% / .05)}.action-button:focus{outline:2px solid var(--snice-color-primary);outline-offset:2px}.action-button:active{transform:scale(.95)}.action-button:disabled{opacity:.5;cursor:not-allowed}.action-button:disabled:hover{background:0 0}.action-button--primary{color:var(--snice-color-primary)}.action-button--primary:hover:not(:disabled){background:hsl(var(--snice-color-blue-500) / .1)}.action-button--secondary{color:var(--snice-color-text)}.action-button--danger{color:var(--snice-color-danger)}.action-button--danger:hover:not(:disabled){background:hsl(var(--snice-color-red-500) / .1)}.action-button--success{color:var(--snice-color-success)}.action-button--success:hover:not(:disabled){background:hsl(var(--snice-color-green-500) / .1)}.action-icon{display:inline-flex;align-items:center;font-size:1rem}.action-icon--image{width:1rem;height:1rem}.action-icon--image img{width:100%;height:100%;object-fit:contain}.action-label{font-weight:500}:host([align=left]){justify-content:flex-start}:host([align=center]){justify-content:center}:host([align=right]){justify-content:flex-end}@media (max-width:768px){.action-button{padding:.25rem}.action-label{display:none}}@media print{.actions-container{display:none}}\";\n\nlet SniceCellActions = (() => {\n let _classDecorators = [element('snice-cell-actions')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _actions_decorators;\n let _actions_initializers = [];\n let _actions_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _extractActionsFromColumn_decorators;\n let _dispatchAction_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 _actions_decorators = [property({ type: Array })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _value_decorators = [property({ type: String })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _extractActionsFromColumn_decorators = [watch('column')];\n _dispatchAction_decorators = [dispatch('cell-action', { bubbles: true, composed: true })];\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(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, _extractActionsFromColumn_decorators, { kind: \"method\", name: \"extractActionsFromColumn\", static: false, private: false, access: { has: obj => \"extractActionsFromColumn\" in obj, get: obj => obj.extractActionsFromColumn }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchAction_decorators, { kind: \"method\", name: \"dispatchAction\", static: false, private: false, access: { has: obj => \"dispatchAction\" in obj, get: obj => obj.dispatchAction }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _actions_decorators, { kind: \"field\", name: \"actions\", static: false, private: false, access: { has: obj => \"actions\" in obj, get: obj => obj.actions, set: (obj, value) => { obj.actions = value; } }, metadata: _metadata }, _actions_initializers, _actions_extraInitializers);\n __esDecorate(null, null, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_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, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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 if (this.actions.length === 0) {\n return html /*html*/ `\n <div class=\"cell-content cell-content--actions\" part=\"content\">\n <div class=\"actions-container\"></div>\n </div>\n `;\n }\n return html /*html*/ `\n <div class=\"cell-content cell-content--actions\" part=\"content\">\n <div class=\"actions-container\">\n ${this.actions.map(action => this.renderActionButton(action))}\n </div>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.extractActionsFromColumn();\n }\n extractActionsFromColumn() {\n if (this.column?.actionsFormat?.actions) {\n this.actions = this.column.actionsFormat.actions;\n }\n }\n renderActionButton(action) {\n const icon = action.icon || '';\n const label = action.label || '';\n const variant = action.variant || 'secondary';\n const disabled = action.disabled || false;\n // Determine if icon is an image URL or text/emoji\n const isImageUrl = icon && (icon.startsWith('http://') || icon.startsWith('https://') || icon.startsWith('/') || icon.startsWith('./'));\n let iconHTML = '';\n if (icon) {\n if (isImageUrl) {\n iconHTML = `<span class=\"action-icon action-icon--image\"><img src=\"${icon}\" alt=\"\" /></span>`;\n }\n else {\n iconHTML = `<span class=\"action-icon\">${icon}</span>`;\n }\n }\n return html /*html*/ `\n <button\n class=\"action-button action-button--${variant}\"\n part=\"action-button\"\n title=\"${action.title || action.action}\"\n ?disabled=${disabled}\n @click=${(e) => this.handleActionClick(e, action.action)}\n >\n ${unsafeHTML(iconHTML)}\n ${label ? html /*html*/ `<span class=\"action-label\">${label}</span>` : ''}\n </button>\n `;\n }\n handleActionClick(e, action) {\n e.stopPropagation();\n this.dispatchAction(action);\n }\n dispatchAction(action) {\n return {\n action,\n rowData: this.rowData,\n column: this.column\n };\n }\n constructor() {\n super(...arguments);\n this.actions = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _actions_initializers, []));\n this.column = (__runInitializers(this, _actions_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.value = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.align = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'actions'));\n __runInitializers(this, _type_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellActions };\n//# sourceMappingURL=snice-cell-actions.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, html, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem}.tags-container{display:inline-flex;flex-wrap:wrap;gap:.25rem;align-items:center}.tag{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:.75rem;font-size:.75rem;font-weight:500;line-height:1.25;white-space:nowrap}.tag--default{background:hsl(0 0% 0% / .08);color:var(--snice-color-text)}.tag--primary{background:hsl(var(--snice-color-blue-500) / .1);color:var(--snice-color-primary)}.tag--success{background:hsl(var(--snice-color-green-500) / .1);color:var(--snice-color-success)}.tag--danger{background:hsl(var(--snice-color-red-500) / .1);color:var(--snice-color-danger)}.tag--warning{background:hsl(var(--snice-color-yellow-500) / .1);color:var(--snice-color-warning)}.tag--info{background:hsl(var(--snice-color-blue-400) / .1);color:var(--snice-color-primary)}:host([align=left]){justify-content:flex-start}:host([align=center]){justify-content:center}:host([align=right]){justify-content:flex-end}@media (max-width:768px){.tag{font-size:.6875rem;padding:.0625rem .375rem}}@media print{.tag{border:1px solid currentColor}}\";\n\nlet SniceCellTag = (() => {\n let _classDecorators = [element('snice-cell-tag')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _tags_decorators;\n let _tags_initializers = [];\n let _tags_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _variant_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _extractTagsFromColumn_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 _tags_decorators = [property({ type: Array })];\n _value_decorators = [property({ type: String })];\n _variant_decorators = [property({ type: String })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _extractTagsFromColumn_decorators = [watch('value', 'column')];\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(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, _extractTagsFromColumn_decorators, { kind: \"method\", name: \"extractTagsFromColumn\", static: false, private: false, access: { has: obj => \"extractTagsFromColumn\" in obj, get: obj => obj.extractTagsFromColumn }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _tags_decorators, { kind: \"field\", name: \"tags\", static: false, private: false, access: { has: obj => \"tags\" in obj, get: obj => obj.tags, set: (obj, value) => { obj.tags = value; } }, metadata: _metadata }, _tags_initializers, _tags_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, _variant_decorators, { kind: \"field\", name: \"variant\", static: false, private: false, access: { has: obj => \"variant\" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);\n __esDecorate(null, null, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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 tagList = this.tags.length > 0 ? this.tags : this.parseValue();\n return html /*html*/ `\n <div class=\"cell-content cell-content--tag\" part=\"content\">\n <div class=\"tags-container\">\n ${tagList.map(tag => this.renderTag(tag))}\n </div>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.extractTagsFromColumn();\n }\n extractTagsFromColumn() {\n if (this.column?.tagFormat) {\n this.variant = this.column.tagFormat.variant || 'default';\n }\n }\n parseValue() {\n if (!this.value)\n return [];\n if (Array.isArray(this.value))\n return this.value;\n if (typeof this.value === 'string') {\n // Try parsing as JSON array first\n try {\n const parsed = JSON.parse(this.value);\n if (Array.isArray(parsed))\n return parsed;\n }\n catch { }\n // Otherwise split by comma\n return this.value.split(',').map(t => t.trim()).filter(t => t);\n }\n return [String(this.value)];\n }\n renderTag(tag) {\n return html /*html*/ `\n <span class=\"tag tag--${this.variant}\" part=\"tag\">\n ${tag}\n </span>\n `;\n }\n constructor() {\n super(...arguments);\n this.tags = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _tags_initializers, []));\n this.value = (__runInitializers(this, _tags_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.variant = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _variant_initializers, 'default'));\n this.column = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.align = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'tag'));\n __runInitializers(this, _type_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellTag };\n//# sourceMappingURL=snice-cell-tag.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, html, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;display:flex;align-items:center}.cell-image{display:block;object-fit:cover;background-color:hsl(var(--snice-color-gray-100))}.image--small{width:1.5rem;height:1.5rem}.image--medium{width:2rem;height:2rem}.image--large{width:3rem;height:3rem}.image--rounded{border-radius:.25rem}.image--square{border-radius:0}.image--circle{border-radius:50%}.cell-image--placeholder{background:linear-gradient(135deg,hsl(var(--snice-color-gray-200)) 0,hsl(var(--snice-color-gray-300)) 100%);border:1px solid hsl(var(--snice-color-gray-300));position:relative}.cell-image--placeholder::after{content:'📷';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;opacity:.5}:host([align=left]) .cell-content{justify-content:flex-start}:host([align=center]) .cell-content{justify-content:center}:host([align=right]) .cell-content{justify-content:flex-end}:host(.loading) .cell-image{opacity:.6;animation:1.5s ease-in-out infinite image-pulse}@keyframes image-pulse{0%,100%{opacity:.6}50%{opacity:.3}}@media (max-width:768px){.image--small{width:1.25rem;height:1.25rem}.image--medium{width:1.75rem;height:1.75rem}.image--large{width:2.5rem;height:2.5rem}}@media (prefers-reduced-motion:reduce){:host(.loading) .cell-image{animation:none}}@media print{.cell-image{max-width:2rem;max-height:2rem}}\";\n\nlet SniceCellImage = (() => {\n let _classDecorators = [element('snice-cell-image')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _src_decorators;\n let _src_initializers = [];\n let _src_extraInitializers = [];\n let _alt_decorators;\n let _alt_initializers = [];\n let _alt_extraInitializers = [];\n let _fallback_decorators;\n let _fallback_initializers = [];\n let _fallback_extraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _variant_extraInitializers = [];\n let _size_decorators;\n let _size_initializers = [];\n let _size_extraInitializers = [];\n let _lazy_decorators;\n let _lazy_initializers = [];\n let _lazy_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _imageError_decorators;\n let _imageError_initializers = [];\n let _imageError_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateImageAttributes_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 _value_decorators = [property({ type: String })];\n _src_decorators = [property({ type: String })];\n _alt_decorators = [property({ type: String })];\n _fallback_decorators = [property({ type: String })];\n _variant_decorators = [property({ type: String })];\n _size_decorators = [property({ type: String })];\n _lazy_decorators = [property({ type: Boolean })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _imageError_decorators = [property({ type: Boolean })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateImageAttributes_decorators = [watch('column')];\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(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, _updateImageAttributes_decorators, { kind: \"method\", name: \"updateImageAttributes\", static: false, private: false, access: { has: obj => \"updateImageAttributes\" in obj, get: obj => obj.updateImageAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _src_decorators, { kind: \"field\", name: \"src\", static: false, private: false, access: { has: obj => \"src\" in obj, get: obj => obj.src, set: (obj, value) => { obj.src = value; } }, metadata: _metadata }, _src_initializers, _src_extraInitializers);\n __esDecorate(null, null, _alt_decorators, { kind: \"field\", name: \"alt\", static: false, private: false, access: { has: obj => \"alt\" in obj, get: obj => obj.alt, set: (obj, value) => { obj.alt = value; } }, metadata: _metadata }, _alt_initializers, _alt_extraInitializers);\n __esDecorate(null, null, _fallback_decorators, { kind: \"field\", name: \"fallback\", static: false, private: false, access: { has: obj => \"fallback\" in obj, get: obj => obj.fallback, set: (obj, value) => { obj.fallback = value; } }, metadata: _metadata }, _fallback_initializers, _fallback_extraInitializers);\n __esDecorate(null, null, _variant_decorators, { kind: \"field\", name: \"variant\", static: false, private: false, access: { has: obj => \"variant\" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_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, _lazy_decorators, { kind: \"field\", name: \"lazy\", static: false, private: false, access: { has: obj => \"lazy\" in obj, get: obj => obj.lazy, set: (obj, value) => { obj.lazy = value; } }, metadata: _metadata }, _lazy_initializers, _lazy_extraInitializers);\n __esDecorate(null, null, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_extraInitializers);\n __esDecorate(null, null, _imageError_decorators, { kind: \"field\", name: \"imageError\", static: false, private: false, access: { has: obj => \"imageError\" in obj, get: obj => obj.imageError, set: (obj, value) => { obj.imageError = value; } }, metadata: _metadata }, _imageError_initializers, _imageError_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 imageSrc = this.src || this.value;\n const imageAlt = this.alt || 'Image';\n const loadingAttr = this.lazy ? 'lazy' : 'eager';\n const variantClass = `image--${this.variant}`;\n const sizeClass = `image--${this.size}`;\n const classes = `cell-image ${variantClass} ${sizeClass}`;\n if (this.imageError && this.fallback) {\n return html /*html*/ `\n <div class=\"cell-content cell-content--image\" part=\"content\">\n <img src=\"${this.fallback}\" alt=\"${imageAlt}\" class=\"${classes}\" />\n </div>\n `;\n }\n if (imageSrc) {\n return html /*html*/ `\n <div class=\"cell-content cell-content--image\" part=\"content\">\n <img src=\"${imageSrc}\" alt=\"${imageAlt}\" loading=\"${loadingAttr}\" class=\"${classes}\" @error=${this.handleImageError} />\n </div>\n `;\n }\n return html /*html*/ `\n <div class=\"cell-content cell-content--image\" part=\"content\">\n <div class=\"${classes} cell-image--placeholder\"></div>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.updateImageAttributes();\n }\n updateImageAttributes() {\n if (this.column?.imageFormat) {\n const format = this.column.imageFormat;\n this.src = format.src || this.value;\n this.alt = format.alt || '';\n this.fallback = format.fallback || '';\n this.variant = format.variant || 'rounded';\n this.size = format.size || 'medium';\n this.lazy = format.lazy ?? true;\n }\n }\n handleImageError() {\n this.imageError = true;\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.src = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _src_initializers, ''));\n this.alt = (__runInitializers(this, _src_extraInitializers), __runInitializers(this, _alt_initializers, ''));\n this.fallback = (__runInitializers(this, _alt_extraInitializers), __runInitializers(this, _fallback_initializers, ''));\n this.variant = (__runInitializers(this, _fallback_extraInitializers), __runInitializers(this, _variant_initializers, 'rounded'));\n this.size = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _size_initializers, 'medium'));\n this.lazy = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _lazy_initializers, true));\n this.column = (__runInitializers(this, _lazy_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.align = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _align_initializers, 'center'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'image'));\n this.imageError = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _imageError_initializers, false));\n __runInitializers(this, _imageError_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellImage };\n//# sourceMappingURL=snice-cell-image.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, html, unsafeHTML, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;display:flex;align-items:center;gap:.375rem}.email-icon{display:inline-flex;align-items:center;font-size:.875rem;opacity:.7;flex-shrink:0}.email-link{color:var(--snice-color-primary);text-decoration:none;transition:color .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-link:hover{color:var(--snice-color-primary-dark);text-decoration:underline}.email-link:focus{outline:2px solid var(--snice-color-primary);outline-offset:2px;border-radius:2px}.email-link:visited{color:var(--snice-color-secondary)}.email-empty{color:var(--snice-color-text-secondary);font-style:italic}:host([align=left]) .cell-content{justify-content:flex-start}:host([align=center]) .cell-content{justify-content:center}:host([align=right]) .cell-content{justify-content:flex-end}@media (max-width:768px){:host{color:var(--snice-color-text);font-size:.75rem;line-height:1rem}.email-icon{font-size:.75rem}}@media print{.email-link{text-decoration:underline}.email-link::after{content:\\\" (\\\" attr(href) \\\")\\\";font-size:.75rem;color:var(--snice-color-text-secondary)}.email-icon{display:none}}\";\n\nlet SniceCellEmail = (() => {\n let _classDecorators = [element('snice-cell-email')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _email_decorators;\n let _email_initializers = [];\n let _email_extraInitializers = [];\n let _displayText_decorators;\n let _displayText_initializers = [];\n let _displayText_extraInitializers = [];\n let _showIcon_decorators;\n let _showIcon_initializers = [];\n let _showIcon_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateEmailAttributes_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 _value_decorators = [property({ type: String })];\n _email_decorators = [property({ type: String })];\n _displayText_decorators = [property({ type: String })];\n _showIcon_decorators = [property({ type: Boolean })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateEmailAttributes_decorators = [watch('value', 'column')];\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(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, _updateEmailAttributes_decorators, { kind: \"method\", name: \"updateEmailAttributes\", static: false, private: false, access: { has: obj => \"updateEmailAttributes\" in obj, get: obj => obj.updateEmailAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _email_decorators, { kind: \"field\", name: \"email\", static: false, private: false, access: { has: obj => \"email\" in obj, get: obj => obj.email, set: (obj, value) => { obj.email = value; } }, metadata: _metadata }, _email_initializers, _email_extraInitializers);\n __esDecorate(null, null, _displayText_decorators, { kind: \"field\", name: \"displayText\", static: false, private: false, access: { has: obj => \"displayText\" in obj, get: obj => obj.displayText, set: (obj, value) => { obj.displayText = value; } }, metadata: _metadata }, _displayText_initializers, _displayText_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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 emailAddress = this.email || this.value;\n const displayName = this.displayText || emailAddress;\n const iconHTML = this.showIcon ? '<span class=\"email-icon\">✉</span>' : '';\n if (!emailAddress) {\n return html /*html*/ `\n <div class=\"cell-content cell-content--email\" part=\"content\">\n <span class=\"email-empty\"></span>\n </div>\n `;\n }\n return html /*html*/ `\n <div class=\"cell-content cell-content--email\" part=\"content\">\n ${unsafeHTML(iconHTML)}\n <a href=\"mailto:${emailAddress}\" class=\"email-link\" part=\"link\">\n ${displayName}\n </a>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.updateEmailAttributes();\n }\n updateEmailAttributes() {\n if (this.column?.emailFormat) {\n const format = this.column.emailFormat;\n this.email = format.email || this.value;\n this.displayText = format.displayText || '';\n this.showIcon = format.showIcon ?? true;\n }\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.email = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _email_initializers, ''));\n this.displayText = (__runInitializers(this, _email_extraInitializers), __runInitializers(this, _displayText_initializers, ''));\n this.showIcon = (__runInitializers(this, _displayText_extraInitializers), __runInitializers(this, _showIcon_initializers, true));\n this.column = (__runInitializers(this, _showIcon_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.align = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'email'));\n __runInitializers(this, _type_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellEmail };\n//# sourceMappingURL=snice-cell-email.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, html, unsafeHTML, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;display:flex;align-items:center;gap:.375rem}.phone-icon{display:inline-flex;align-items:center;font-size:.875rem;opacity:.7;flex-shrink:0}.phone-link{color:var(--snice-color-primary);text-decoration:none;transition:color .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}.phone-link:hover{color:var(--snice-color-primary-dark);text-decoration:underline}.phone-link:focus{outline:2px solid var(--snice-color-primary);outline-offset:2px;border-radius:2px}.phone-link:visited{color:var(--snice-color-secondary)}.phone-empty{color:var(--snice-color-text-secondary);font-style:italic}:host([align=left]) .cell-content{justify-content:flex-start}:host([align=center]) .cell-content{justify-content:center}:host([align=right]) .cell-content{justify-content:flex-end}@media (max-width:768px){:host{color:var(--snice-color-text);font-size:.75rem;line-height:1rem}.phone-icon{font-size:.75rem}}@media print{.phone-link{text-decoration:underline}.phone-link::after{content:\\\" (\\\" attr(href) \\\")\\\";font-size:.75rem;color:var(--snice-color-text-secondary)}.phone-icon{display:none}}\";\n\nlet SniceCellPhone = (() => {\n let _classDecorators = [element('snice-cell-phone')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _phone_decorators;\n let _phone_initializers = [];\n let _phone_extraInitializers = [];\n let _displayText_decorators;\n let _displayText_initializers = [];\n let _displayText_extraInitializers = [];\n let _showIcon_decorators;\n let _showIcon_initializers = [];\n let _showIcon_extraInitializers = [];\n let _format_decorators;\n let _format_initializers = [];\n let _format_extraInitializers = [];\n let _country_decorators;\n let _country_initializers = [];\n let _country_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updatePhoneAttributes_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 _value_decorators = [property({ type: String })];\n _phone_decorators = [property({ type: String })];\n _displayText_decorators = [property({ type: String })];\n _showIcon_decorators = [property({ type: Boolean })];\n _format_decorators = [property({ type: Boolean })];\n _country_decorators = [property({ type: String })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updatePhoneAttributes_decorators = [watch('value', 'column')];\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(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, _updatePhoneAttributes_decorators, { kind: \"method\", name: \"updatePhoneAttributes\", static: false, private: false, access: { has: obj => \"updatePhoneAttributes\" in obj, get: obj => obj.updatePhoneAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _phone_decorators, { kind: \"field\", name: \"phone\", static: false, private: false, access: { has: obj => \"phone\" in obj, get: obj => obj.phone, set: (obj, value) => { obj.phone = value; } }, metadata: _metadata }, _phone_initializers, _phone_extraInitializers);\n __esDecorate(null, null, _displayText_decorators, { kind: \"field\", name: \"displayText\", static: false, private: false, access: { has: obj => \"displayText\" in obj, get: obj => obj.displayText, set: (obj, value) => { obj.displayText = value; } }, metadata: _metadata }, _displayText_initializers, _displayText_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, _format_decorators, { kind: \"field\", name: \"format\", static: false, private: false, access: { has: obj => \"format\" in obj, get: obj => obj.format, set: (obj, value) => { obj.format = value; } }, metadata: _metadata }, _format_initializers, _format_extraInitializers);\n __esDecorate(null, null, _country_decorators, { kind: \"field\", name: \"country\", static: false, private: false, access: { has: obj => \"country\" in obj, get: obj => obj.country, set: (obj, value) => { obj.country = value; } }, metadata: _metadata }, _country_initializers, _country_extraInitializers);\n __esDecorate(null, null, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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 phoneNumber = this.phone || this.value;\n const displayText = this.displayText || (this.format ? this.formatPhoneNumber(phoneNumber) : phoneNumber);\n const iconHTML = this.showIcon ? '<span class=\"phone-icon\">📞</span>' : '';\n if (!phoneNumber) {\n return html /*html*/ `\n <div class=\"cell-content cell-content--phone\" part=\"content\">\n <span class=\"phone-empty\"></span>\n </div>\n `;\n }\n return html /*html*/ `\n <div class=\"cell-content cell-content--phone\" part=\"content\">\n ${unsafeHTML(iconHTML)}\n <a href=\"tel:${phoneNumber}\" class=\"phone-link\" part=\"link\">\n ${displayText}\n </a>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.updatePhoneAttributes();\n }\n updatePhoneAttributes() {\n if (this.column?.phoneFormat) {\n const format = this.column.phoneFormat;\n this.phone = format.phone || this.value;\n this.displayText = format.displayText || '';\n this.showIcon = format.showIcon ?? true;\n this.format = format.format ?? true;\n this.country = format.country || 'US';\n }\n }\n formatPhoneNumber(phone) {\n // Remove all non-numeric characters\n const cleaned = phone.replace(/\\D/g, '');\n // Format US phone numbers (10 digits)\n if (this.country === 'US' && cleaned.length === 10) {\n return `(${cleaned.slice(0, 3)}) ${cleaned.slice(3, 6)}-${cleaned.slice(6)}`;\n }\n // Format US phone numbers with country code (11 digits starting with 1)\n if (this.country === 'US' && cleaned.length === 11 && cleaned[0] === '1') {\n return `+1 (${cleaned.slice(1, 4)}) ${cleaned.slice(4, 7)}-${cleaned.slice(7)}`;\n }\n // For other formats, just return the original value\n return phone;\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.phone = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _phone_initializers, ''));\n this.displayText = (__runInitializers(this, _phone_extraInitializers), __runInitializers(this, _displayText_initializers, ''));\n this.showIcon = (__runInitializers(this, _displayText_extraInitializers), __runInitializers(this, _showIcon_initializers, true));\n this.format = (__runInitializers(this, _showIcon_extraInitializers), __runInitializers(this, _format_initializers, true));\n this.country = (__runInitializers(this, _format_extraInitializers), __runInitializers(this, _country_initializers, 'US'));\n this.column = (__runInitializers(this, _country_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.align = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'phone'));\n __runInitializers(this, _type_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellPhone };\n//# sourceMappingURL=snice-cell-phone.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, unsafeHTML, html, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;display:flex;align-items:center;gap:.5rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;position:relative}.status-dot--online{background-color:var(--snice-color-success);box-shadow:0 0 0 2px hsl(var(--snice-color-green-500) / .2)}.status-dot--offline{background-color:hsl(var(--snice-color-gray-400));box-shadow:0 0 0 2px hsl(var(--snice-color-gray-500) / .2)}.status-dot--busy{background-color:var(--snice-color-danger);box-shadow:0 0 0 2px hsl(var(--snice-color-red-500) / .2)}.status-dot--away{background-color:var(--snice-color-warning);box-shadow:0 0 0 2px hsl(var(--snice-color-yellow-500) / .2)}.status-dot--custom{background-color:var(--snice-color-primary);box-shadow:0 0 0 2px hsl(var(--snice-color-blue-500) / .2)}.status-dot--online::after{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:50%;border:2px solid var(--snice-color-success);animation:2s ease-in-out infinite status-pulse;opacity:0}@keyframes status-pulse{0%{transform:scale(1);opacity:1}100%{transform:scale(1.5);opacity:0}}.status-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-label--online{color:var(--snice-color-success)}.status-label--offline{color:var(--snice-color-text-secondary)}.status-label--busy{color:var(--snice-color-danger)}.status-label--away{color:var(--snice-color-warning)}.status-label--custom{color:var(--snice-color-text)}:host([align=left]) .cell-content{justify-content:flex-start}:host([align=center]) .cell-content{justify-content:center}:host([align=right]) .cell-content{justify-content:flex-end}@media (max-width:768px){:host{color:var(--snice-color-text);font-size:.75rem;line-height:1rem}.status-dot{width:.375rem;height:.375rem}}@media (prefers-reduced-motion:reduce){.status-dot--online::after{animation:none}}@media print{.status-dot{border:1px solid var(--snice-color-text)}.status-dot--online{background-color:var(--snice-color-background);border-color:var(--snice-color-success)}.status-dot--offline{background-color:var(--snice-color-background);border-color:var(--snice-color-neutral)}.status-dot--busy{background-color:var(--snice-color-background);border-color:var(--snice-color-danger)}.status-dot--away{background-color:var(--snice-color-background);border-color:var(--snice-color-warning)}}\";\n\nlet SniceCellStatus = (() => {\n let _classDecorators = [element('snice-cell-status')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _status_decorators;\n let _status_initializers = [];\n let _status_extraInitializers = [];\n let _label_decorators;\n let _label_initializers = [];\n let _label_extraInitializers = [];\n let _showDot_decorators;\n let _showDot_initializers = [];\n let _showDot_extraInitializers = [];\n let _variant_decorators;\n let _variant_initializers = [];\n let _variant_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateStatusAttributes_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 _value_decorators = [property({ type: String })];\n _status_decorators = [property({ type: String })];\n _label_decorators = [property({ type: String })];\n _showDot_decorators = [property({ type: Boolean })];\n _variant_decorators = [property({ type: String })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateStatusAttributes_decorators = [watch('value', 'column')];\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(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, _updateStatusAttributes_decorators, { kind: \"method\", name: \"updateStatusAttributes\", static: false, private: false, access: { has: obj => \"updateStatusAttributes\" in obj, get: obj => obj.updateStatusAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _status_decorators, { kind: \"field\", name: \"status\", static: false, private: false, access: { has: obj => \"status\" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_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, _showDot_decorators, { kind: \"field\", name: \"showDot\", static: false, private: false, access: { has: obj => \"showDot\" in obj, get: obj => obj.showDot, set: (obj, value) => { obj.showDot = value; } }, metadata: _metadata }, _showDot_initializers, _showDot_extraInitializers);\n __esDecorate(null, null, _variant_decorators, { kind: \"field\", name: \"variant\", static: false, private: false, access: { has: obj => \"variant\" in obj, get: obj => obj.variant, set: (obj, value) => { obj.variant = value; } }, metadata: _metadata }, _variant_initializers, _variant_extraInitializers);\n __esDecorate(null, null, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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 statusValue = this.status || this.value;\n const statusLabel = this.label || statusValue;\n const statusVariant = this.getStatusVariant(statusValue);\n const dotHTML = this.showDot ? `<span class=\"status-dot status-dot--${statusVariant}\"></span>` : '';\n return html /*html*/ `\n <div class=\"cell-content cell-content--status\" part=\"content\">\n ${unsafeHTML(dotHTML)}\n <span class=\"status-label status-label--${statusVariant}\">${statusLabel}</span>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.updateStatusAttributes();\n }\n updateStatusAttributes() {\n if (this.column?.statusFormat) {\n const format = this.column.statusFormat;\n this.status = format.status || this.value;\n this.label = format.label || this.value;\n this.showDot = format.showDot ?? true;\n this.variant = format.variant || 'custom';\n }\n }\n getStatusVariant(status) {\n if (this.variant !== 'custom') {\n return this.variant;\n }\n // Auto-detect common status values\n const lowerStatus = status.toLowerCase();\n if (lowerStatus === 'online' || lowerStatus === 'active' || lowerStatus === 'available') {\n return 'online';\n }\n if (lowerStatus === 'offline' || lowerStatus === 'inactive' || lowerStatus === 'unavailable') {\n return 'offline';\n }\n if (lowerStatus === 'busy' || lowerStatus === 'dnd' || lowerStatus === 'do not disturb') {\n return 'busy';\n }\n if (lowerStatus === 'away' || lowerStatus === 'idle') {\n return 'away';\n }\n return 'custom';\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.status = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _status_initializers, ''));\n this.label = (__runInitializers(this, _status_extraInitializers), __runInitializers(this, _label_initializers, ''));\n this.showDot = (__runInitializers(this, _label_extraInitializers), __runInitializers(this, _showDot_initializers, true));\n this.variant = (__runInitializers(this, _showDot_extraInitializers), __runInitializers(this, _variant_initializers, 'custom'));\n this.column = (__runInitializers(this, _variant_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.align = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'status'));\n __runInitializers(this, _type_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellStatus };\n//# sourceMappingURL=snice-cell-status.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, unsafeHTML, html, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;display:flex;align-items:center;gap:.5rem}.color-swatch{border:1px solid var(--snice-color-border);border-radius:.25rem;flex-shrink:0;box-shadow:var(--snice-shadow-xs)}.color-swatch--small{width:1rem;height:1rem}.color-swatch--medium{width:1.5rem;height:1.5rem}.color-swatch--large{width:2rem;height:2rem}.color-text{font-family:monospace;font-size:.875rem;color:var(--snice-color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host([align=left]) .cell-content{justify-content:flex-start}:host([align=center]) .cell-content{justify-content:center}:host([align=right]) .cell-content{justify-content:flex-end}@media (max-width:768px){:host{color:var(--snice-color-text);font-size:.75rem;line-height:1rem}.color-swatch--small{width:.875rem;height:.875rem}.color-swatch--medium{width:1.25rem;height:1.25rem}.color-swatch--large{width:1.75rem;height:1.75rem}.color-text{font-size:.75rem}}@media print{.color-swatch{border:2px solid var(--snice-color-text)}.color-text{font-size:.75rem}}\";\n\nlet SniceCellColor = (() => {\n let _classDecorators = [element('snice-cell-color')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _color_decorators;\n let _color_initializers = [];\n let _color_extraInitializers = [];\n let _showSwatch_decorators;\n let _showSwatch_initializers = [];\n let _showSwatch_extraInitializers = [];\n let _showHex_decorators;\n let _showHex_initializers = [];\n let _showHex_extraInitializers = [];\n let _showRgb_decorators;\n let _showRgb_initializers = [];\n let _showRgb_extraInitializers = [];\n let _swatchSize_decorators;\n let _swatchSize_initializers = [];\n let _swatchSize_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateColorAttributes_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 _value_decorators = [property({ type: String })];\n _color_decorators = [property({ type: String })];\n _showSwatch_decorators = [property({ type: Boolean })];\n _showHex_decorators = [property({ type: Boolean })];\n _showRgb_decorators = [property({ type: Boolean })];\n _swatchSize_decorators = [property({ type: String })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateColorAttributes_decorators = [watch('value', 'column')];\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(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, _updateColorAttributes_decorators, { kind: \"method\", name: \"updateColorAttributes\", static: false, private: false, access: { has: obj => \"updateColorAttributes\" in obj, get: obj => obj.updateColorAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _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, _showSwatch_decorators, { kind: \"field\", name: \"showSwatch\", static: false, private: false, access: { has: obj => \"showSwatch\" in obj, get: obj => obj.showSwatch, set: (obj, value) => { obj.showSwatch = value; } }, metadata: _metadata }, _showSwatch_initializers, _showSwatch_extraInitializers);\n __esDecorate(null, null, _showHex_decorators, { kind: \"field\", name: \"showHex\", static: false, private: false, access: { has: obj => \"showHex\" in obj, get: obj => obj.showHex, set: (obj, value) => { obj.showHex = value; } }, metadata: _metadata }, _showHex_initializers, _showHex_extraInitializers);\n __esDecorate(null, null, _showRgb_decorators, { kind: \"field\", name: \"showRgb\", static: false, private: false, access: { has: obj => \"showRgb\" in obj, get: obj => obj.showRgb, set: (obj, value) => { obj.showRgb = value; } }, metadata: _metadata }, _showRgb_initializers, _showRgb_extraInitializers);\n __esDecorate(null, null, _swatchSize_decorators, { kind: \"field\", name: \"swatchSize\", static: false, private: false, access: { has: obj => \"swatchSize\" in obj, get: obj => obj.swatchSize, set: (obj, value) => { obj.swatchSize = value; } }, metadata: _metadata }, _swatchSize_initializers, _swatchSize_extraInitializers);\n __esDecorate(null, null, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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 colorValue = this.color || this.value;\n const swatchHTML = this.showSwatch\n ? `<span class=\"color-swatch color-swatch--${this.swatchSize}\" style=\"background-color: ${colorValue};\"></span>`\n : '';\n let textDisplay = '';\n if (this.showHex) {\n textDisplay = colorValue;\n }\n if (this.showRgb && colorValue.startsWith('#')) {\n const rgb = this.hexToRgb(colorValue);\n textDisplay = rgb ? `rgb(${rgb.r}, ${rgb.g}, ${rgb.b})` : colorValue;\n }\n return html /*html*/ `\n <div class=\"cell-content cell-content--color\" part=\"content\">\n ${unsafeHTML(swatchHTML)}\n ${textDisplay ? html `<span class=\"color-text\">${textDisplay}</span>` : ''}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.updateColorAttributes();\n }\n updateColorAttributes() {\n if (this.column?.colorFormat) {\n const format = this.column.colorFormat;\n this.color = format.color || this.value;\n this.showSwatch = format.showSwatch ?? true;\n this.showHex = format.showHex ?? true;\n this.showRgb = format.showRgb ?? false;\n this.swatchSize = format.swatchSize || 'medium';\n }\n }\n hexToRgb(hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.color = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _color_initializers, ''));\n this.showSwatch = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _showSwatch_initializers, true));\n this.showHex = (__runInitializers(this, _showSwatch_extraInitializers), __runInitializers(this, _showHex_initializers, true));\n this.showRgb = (__runInitializers(this, _showHex_extraInitializers), __runInitializers(this, _showRgb_initializers, false));\n this.swatchSize = (__runInitializers(this, _showRgb_extraInitializers), __runInitializers(this, _swatchSize_initializers, 'medium'));\n this.column = (__runInitializers(this, _swatchSize_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.align = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'color'));\n __runInitializers(this, _type_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellColor };\n//# sourceMappingURL=snice-cell-color.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, on, html, unsafeHTML, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:auto;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0}.json-toggle{background:0 0;border:none;color:var(--snice-color-text-secondary);cursor:pointer;padding:.125rem .25rem;font-size:.75rem;line-height:1;border-radius:.25rem;transition:background-color .2s;flex-shrink:0}.json-toggle:hover{background-color:var(--snice-color-background-hover)}.json-toggle:focus{outline:2px solid var(--snice-color-primary);outline-offset:2px}.json-viewer{font-family:'Courier New',Consolas,monospace;font-size:.8125rem;overflow:hidden;flex:1}.json-viewer--collapsed{white-space:nowrap;text-overflow:ellipsis}.json-viewer--expanded{white-space:pre-wrap;word-break:break-word}.json-preview{color:var(--snice-color-text-secondary);font-style:italic}.json-object{padding-left:1rem}.json-line{margin:.125rem 0}.json-key{color:var(--snice-color-primary);font-weight:500;margin-right:.25rem}.json-string{color:var(--snice-color-success)}.json-number{color:var(--snice-color-info)}.json-boolean{color:var(--snice-color-warning)}.json-empty,.json-null,.json-undefined{color:var(--snice-color-text-secondary);font-style:italic}:host([align=left]) .cell-content{justify-content:flex-start}:host([align=center]) .cell-content{justify-content:center}:host([align=right]) .cell-content{justify-content:flex-end}@media (max-width:768px){:host{color:var(--snice-color-text);font-size:.75rem;line-height:1rem}.json-viewer{font-size:.75rem}.json-toggle{font-size:.625rem}}@media print{.json-toggle{display:none}.json-viewer--collapsed{white-space:normal}.json-viewer{font-size:.625rem}}\";\n\nlet SniceCellJson = (() => {\n let _classDecorators = [element('snice-cell-json')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _collapsed_decorators;\n let _collapsed_initializers = [];\n let _collapsed_extraInitializers = [];\n let _maxDepth_decorators;\n let _maxDepth_initializers = [];\n let _maxDepth_extraInitializers = [];\n let _showToggle_decorators;\n let _showToggle_initializers = [];\n let _showToggle_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateJsonAttributes_decorators;\n let _handleToggle_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 _value_decorators = [property({ type: String })];\n _collapsed_decorators = [property({ type: Boolean })];\n _maxDepth_decorators = [property({ type: Number })];\n _showToggle_decorators = [property({ type: Boolean })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateJsonAttributes_decorators = [watch('value', 'column')];\n _handleToggle_decorators = [on('click', '.json-toggle')];\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(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, _updateJsonAttributes_decorators, { kind: \"method\", name: \"updateJsonAttributes\", static: false, private: false, access: { has: obj => \"updateJsonAttributes\" in obj, get: obj => obj.updateJsonAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleToggle_decorators, { kind: \"method\", name: \"handleToggle\", static: false, private: false, access: { has: obj => \"handleToggle\" in obj, get: obj => obj.handleToggle }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _collapsed_decorators, { kind: \"field\", name: \"collapsed\", static: false, private: false, access: { has: obj => \"collapsed\" in obj, get: obj => obj.collapsed, set: (obj, value) => { obj.collapsed = value; } }, metadata: _metadata }, _collapsed_initializers, _collapsed_extraInitializers);\n __esDecorate(null, null, _maxDepth_decorators, { kind: \"field\", name: \"maxDepth\", static: false, private: false, access: { has: obj => \"maxDepth\" in obj, get: obj => obj.maxDepth, set: (obj, value) => { obj.maxDepth = value; } }, metadata: _metadata }, _maxDepth_initializers, _maxDepth_extraInitializers);\n __esDecorate(null, null, _showToggle_decorators, { kind: \"field\", name: \"showToggle\", static: false, private: false, access: { has: obj => \"showToggle\" in obj, get: obj => obj.showToggle, set: (obj, value) => { obj.showToggle = value; } }, metadata: _metadata }, _showToggle_initializers, _showToggle_extraInitializers);\n __esDecorate(null, null, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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 jsonValue = typeof this.value === 'string' ? this.tryParseJson(this.value) : this.value;\n if (jsonValue === null || jsonValue === undefined) {\n return html /*html*/ `\n <div class=\"cell-content cell-content--json\" part=\"content\">\n <span class=\"json-empty\">null</span>\n </div>\n `;\n }\n const toggleHTML = this.showToggle\n ? `<button class=\"json-toggle\" part=\"toggle\" aria-label=\"${this.collapsed ? 'Expand' : 'Collapse'}\">${this.collapsed ? '▶' : '▼'}</button>`\n : '';\n const jsonHTML = this.collapsed\n ? this.renderCollapsed(jsonValue)\n : this.renderExpanded(jsonValue);\n return html /*html*/ `\n <div class=\"cell-content cell-content--json\" part=\"content\">\n ${unsafeHTML(toggleHTML)}\n <div class=\"json-viewer ${this.collapsed ? 'json-viewer--collapsed' : 'json-viewer--expanded'}\">\n ${unsafeHTML(jsonHTML)}\n </div>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.updateJsonAttributes();\n }\n updateJsonAttributes() {\n if (this.column?.jsonFormat) {\n const format = this.column.jsonFormat;\n this.collapsed = format.collapsed ?? true;\n this.maxDepth = format.maxDepth ?? 3;\n this.showToggle = format.showToggle ?? true;\n }\n }\n handleToggle() {\n this.collapsed = !this.collapsed;\n }\n tryParseJson(str) {\n try {\n return JSON.parse(str);\n }\n catch {\n return str;\n }\n }\n renderCollapsed(json) {\n if (typeof json === 'object' && json !== null) {\n if (Array.isArray(json)) {\n return `<span class=\"json-preview\">[${json.length} items]</span>`;\n }\n const keys = Object.keys(json);\n return `<span class=\"json-preview\">{${keys.length} keys}</span>`;\n }\n return this.renderValue(json);\n }\n renderExpanded(json, depth = 0) {\n if (depth >= this.maxDepth) {\n return this.renderCollapsed(json);\n }\n if (typeof json === 'object' && json !== null) {\n if (Array.isArray(json)) {\n const items = json.map((item, i) => {\n const value = this.renderExpanded(item, depth + 1);\n return `<div class=\"json-line\"><span class=\"json-key\">${i}:</span> ${value}</div>`;\n }).join('');\n return `<div class=\"json-object\">[${items}]</div>`;\n }\n const entries = Object.entries(json).map(([key, value]) => {\n const renderedValue = this.renderExpanded(value, depth + 1);\n return `<div class=\"json-line\"><span class=\"json-key\">${key}:</span> ${renderedValue}</div>`;\n }).join('');\n return `<div class=\"json-object\">{${entries}}</div>`;\n }\n return this.renderValue(json);\n }\n renderValue(value) {\n if (value === null)\n return '<span class=\"json-null\">null</span>';\n if (value === undefined)\n return '<span class=\"json-undefined\">undefined</span>';\n if (typeof value === 'boolean')\n return `<span class=\"json-boolean\">${value}</span>`;\n if (typeof value === 'number')\n return `<span class=\"json-number\">${value}</span>`;\n if (typeof value === 'string')\n return `<span class=\"json-string\">\"${value}\"</span>`;\n return String(value);\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, null));\n this.collapsed = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _collapsed_initializers, true));\n this.maxDepth = (__runInitializers(this, _collapsed_extraInitializers), __runInitializers(this, _maxDepth_initializers, 3));\n this.showToggle = (__runInitializers(this, _maxDepth_extraInitializers), __runInitializers(this, _showToggle_initializers, true));\n this.column = (__runInitializers(this, _showToggle_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.align = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'json'));\n __runInitializers(this, _type_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellJson };\n//# sourceMappingURL=snice-cell-json.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, html, css } from 'snice';\nimport { c as cssContent } from '../snice-cell-D9dSe0d4.js';\n\nlet SniceCellCurrency = (() => {\n let _classDecorators = [element('snice-cell-currency')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _decimals_decorators;\n let _decimals_initializers = [];\n let _decimals_extraInitializers = [];\n let _thousandsSeparator_decorators;\n let _thousandsSeparator_initializers = [];\n let _thousandsSeparator_extraInitializers = [];\n let _currency_decorators;\n let _currency_initializers = [];\n let _currency_extraInitializers = [];\n let _currencyDisplay_decorators;\n let _currencyDisplay_initializers = [];\n let _currencyDisplay_extraInitializers = [];\n let _locale_decorators;\n let _locale_initializers = [];\n let _locale_extraInitializers = [];\n let _negativeStyle_decorators;\n let _negativeStyle_initializers = [];\n let _negativeStyle_extraInitializers = [];\n let _highlight_decorators;\n let _highlight_initializers = [];\n let _highlight_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _decimals_decorators = [property({ type: Number })];\n _thousandsSeparator_decorators = [property({ type: Boolean, attribute: 'thousands-separator' })];\n _currency_decorators = [property({ type: String })];\n _currencyDisplay_decorators = [property({ type: String })];\n _locale_decorators = [property({ type: String })];\n _negativeStyle_decorators = [property({ type: String, attribute: 'negative-style' })];\n _highlight_decorators = [property({ type: Boolean })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _decimals_decorators, { kind: \"field\", name: \"decimals\", static: false, private: false, access: { has: obj => \"decimals\" in obj, get: obj => obj.decimals, set: (obj, value) => { obj.decimals = value; } }, metadata: _metadata }, _decimals_initializers, _decimals_extraInitializers);\n __esDecorate(null, null, _thousandsSeparator_decorators, { kind: \"field\", name: \"thousandsSeparator\", static: false, private: false, access: { has: obj => \"thousandsSeparator\" in obj, get: obj => obj.thousandsSeparator, set: (obj, value) => { obj.thousandsSeparator = value; } }, metadata: _metadata }, _thousandsSeparator_initializers, _thousandsSeparator_extraInitializers);\n __esDecorate(null, null, _currency_decorators, { kind: \"field\", name: \"currency\", static: false, private: false, access: { has: obj => \"currency\" in obj, get: obj => obj.currency, set: (obj, value) => { obj.currency = value; } }, metadata: _metadata }, _currency_initializers, _currency_extraInitializers);\n __esDecorate(null, null, _currencyDisplay_decorators, { kind: \"field\", name: \"currencyDisplay\", static: false, private: false, access: { has: obj => \"currencyDisplay\" in obj, get: obj => obj.currencyDisplay, set: (obj, value) => { obj.currencyDisplay = value; } }, metadata: _metadata }, _currencyDisplay_initializers, _currencyDisplay_extraInitializers);\n __esDecorate(null, null, _locale_decorators, { kind: \"field\", name: \"locale\", static: false, private: false, access: { has: obj => \"locale\" in obj, get: obj => obj.locale, set: (obj, value) => { obj.locale = value; } }, metadata: _metadata }, _locale_initializers, _locale_extraInitializers);\n __esDecorate(null, null, _negativeStyle_decorators, { kind: \"field\", name: \"negativeStyle\", static: false, private: false, access: { has: obj => \"negativeStyle\" in obj, get: obj => obj.negativeStyle, set: (obj, value) => { obj.negativeStyle = value; } }, metadata: _metadata }, _negativeStyle_initializers, _negativeStyle_extraInitializers);\n __esDecorate(null, null, _highlight_decorators, { kind: \"field\", name: \"highlight\", static: false, private: false, access: { has: obj => \"highlight\" in obj, get: obj => obj.highlight, set: (obj, value) => { obj.highlight = value; } }, metadata: _metadata }, _highlight_initializers, _highlight_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 formattedValue = this.formatCurrencyValue();\n const styles = this.getCurrencyStyles();\n return html /*html*/ `\n <div class=\"cell-content cell-content--number\" part=\"content\" style=\"${styles}\">\n ${formattedValue}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const formattedValue = this.formatCurrencyValue();\n const styles = this.getCurrencyStyles();\n this.contentElement.innerHTML = formattedValue;\n this.contentElement.setAttribute('style', styles);\n }\n }\n formatCurrencyValue() {\n if (this.value === null || this.value === undefined || this.value === '') {\n return '';\n }\n // Use custom formatter if provided\n if (this.column.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n // Use column currency format or component properties\n const format = this.column.currencyFormat || {\n decimals: this.decimals,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n locale: this.locale,\n negativeStyle: this.negativeStyle\n };\n const num = Number(this.value);\n if (isNaN(num)) {\n return String(this.value);\n }\n try {\n const formatter = new Intl.NumberFormat(format.locale || this.locale, {\n style: 'currency',\n currency: format.currency || this.currency,\n currencyDisplay: format.currencyDisplay || this.currencyDisplay,\n minimumFractionDigits: format.decimals ?? this.decimals,\n maximumFractionDigits: format.decimals ?? this.decimals\n });\n let formatted = formatter.format(Math.abs(num));\n // Handle negative numbers\n if (num < 0) {\n const negStyle = format.negativeStyle ?? this.negativeStyle;\n if (negStyle === 'parentheses') {\n formatted = `(${formatted})`;\n }\n else if (negStyle === 'red') {\n formatted = `-${formatted}`;\n }\n else {\n formatted = `-${formatted}`;\n }\n }\n return formatted;\n }\n catch (error) {\n // Fallback to basic formatting if Intl.NumberFormat fails\n let formatted = num.toFixed(format.decimals ?? this.decimals);\n if (this.thousandsSeparator) {\n const parts = formatted.split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n formatted = parts.join('.');\n }\n return `$${formatted}`;\n }\n }\n getCurrencyStyles() {\n const num = Number(this.value);\n // Remove existing number classes\n this.classList.remove('number--negative', 'number--positive', 'number--zero', 'number--highlighted');\n // Apply CSS classes instead of direct styles\n if (num < 0) {\n this.classList.add('number--negative');\n const negStyle = this.column.currencyFormat?.negativeStyle ?? this.negativeStyle;\n if (negStyle === 'red') {\n this.classList.add('number--negative-red');\n }\n }\n else if (num > 0) {\n this.classList.add('number--positive');\n if (this.highlight) {\n this.classList.add('number--highlighted');\n }\n }\n else if (num === 0) {\n this.classList.add('number--zero');\n }\n return 'text-align: right';\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'right'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'currency'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, {\n key: '',\n label: '',\n type: 'currency',\n align: 'right'\n }));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.decimals = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _decimals_initializers, 2));\n this.thousandsSeparator = (__runInitializers(this, _decimals_extraInitializers), __runInitializers(this, _thousandsSeparator_initializers, true));\n this.currency = (__runInitializers(this, _thousandsSeparator_extraInitializers), __runInitializers(this, _currency_initializers, 'USD'));\n this.currencyDisplay = (__runInitializers(this, _currency_extraInitializers), __runInitializers(this, _currencyDisplay_initializers, 'symbol'));\n this.locale = (__runInitializers(this, _currencyDisplay_extraInitializers), __runInitializers(this, _locale_initializers, 'en-US'));\n this.negativeStyle = (__runInitializers(this, _locale_extraInitializers), __runInitializers(this, _negativeStyle_initializers, 'red'));\n this.highlight = (__runInitializers(this, _negativeStyle_extraInitializers), __runInitializers(this, _highlight_initializers, false));\n __runInitializers(this, _highlight_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellCurrency };\n//# sourceMappingURL=snice-cell-currency.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, query, render, styles, ready, watch, unsafeHTML, html, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem;font-variant-numeric:tabular-nums}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;word-wrap:break-word;display:flex;align-items:center;justify-content:flex-end;gap:.375rem}.cell-content--percentage{font-feature-settings:'tnum'}.percentage-trend{display:inline-flex;align-items:center;font-size:1rem;margin-left:.25rem}:host(.percentage--positive){color:var(--snice-color-success)}:host(.percentage--negative){color:var(--snice-color-danger)}:host(.percentage--zero){color:var(--snice-color-text-secondary)}:host(.percentage--trend-up) .percentage-trend{color:var(--snice-color-success)}:host(.percentage--trend-down) .percentage-trend{color:var(--snice-color-danger)}:host(.percentage--trend-neutral) .percentage-trend{color:var(--snice-color-text-secondary)}:host([align=left]) .cell-content{justify-content:flex-start}:host([align=center]) .cell-content{justify-content:center}:host([align=right]) .cell-content{justify-content:flex-end}@media (max-width:768px){:host{color:var(--snice-color-text);font-size:.75rem;line-height:1rem}.percentage-trend{font-size:.875rem}}@media print{:host{color:var(--snice-color-text);font-size:.75rem}.percentage-trend{font-size:.875rem}}\";\n\nlet SniceCellPercentage = (() => {\n let _classDecorators = [element('snice-cell-percentage')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _contentElement_decorators;\n let _contentElement_initializers = [];\n let _contentElement_extraInitializers = [];\n let _decimals_decorators;\n let _decimals_initializers = [];\n let _decimals_extraInitializers = [];\n let _showTrend_decorators;\n let _showTrend_initializers = [];\n let _showTrend_extraInitializers = [];\n let _trendValue_decorators;\n let _trendValue_initializers = [];\n let _trendValue_extraInitializers = [];\n let _colorize_decorators;\n let _colorize_initializers = [];\n let _colorize_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateAlignment_decorators;\n let _updateContent_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 _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _value_decorators = [property({})];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _contentElement_decorators = [query('.cell-content')];\n _decimals_decorators = [property({ type: Number })];\n _showTrend_decorators = [property({ type: Boolean })];\n _trendValue_decorators = [property({ type: Number })];\n _colorize_decorators = [property({ type: Boolean })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateAlignment_decorators = [watch('align')];\n _updateContent_decorators = [watch('value', 'column')];\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(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, _updateAlignment_decorators, { kind: \"method\", name: \"updateAlignment\", static: false, private: false, access: { has: obj => \"updateAlignment\" in obj, get: obj => obj.updateAlignment }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateContent_decorators, { kind: \"method\", name: \"updateContent\", static: false, private: false, access: { has: obj => \"updateContent\" in obj, get: obj => obj.updateContent }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _contentElement_decorators, { kind: \"field\", name: \"contentElement\", static: false, private: false, access: { has: obj => \"contentElement\" in obj, get: obj => obj.contentElement, set: (obj, value) => { obj.contentElement = value; } }, metadata: _metadata }, _contentElement_initializers, _contentElement_extraInitializers);\n __esDecorate(null, null, _decimals_decorators, { kind: \"field\", name: \"decimals\", static: false, private: false, access: { has: obj => \"decimals\" in obj, get: obj => obj.decimals, set: (obj, value) => { obj.decimals = value; } }, metadata: _metadata }, _decimals_initializers, _decimals_extraInitializers);\n __esDecorate(null, null, _showTrend_decorators, { kind: \"field\", name: \"showTrend\", static: false, private: false, access: { has: obj => \"showTrend\" in obj, get: obj => obj.showTrend, set: (obj, value) => { obj.showTrend = value; } }, metadata: _metadata }, _showTrend_initializers, _showTrend_extraInitializers);\n __esDecorate(null, null, _trendValue_decorators, { kind: \"field\", name: \"trendValue\", static: false, private: false, access: { has: obj => \"trendValue\" in obj, get: obj => obj.trendValue, set: (obj, value) => { obj.trendValue = value; } }, metadata: _metadata }, _trendValue_initializers, _trendValue_extraInitializers);\n __esDecorate(null, null, _colorize_decorators, { kind: \"field\", name: \"colorize\", static: false, private: false, access: { has: obj => \"colorize\" in obj, get: obj => obj.colorize, set: (obj, value) => { obj.colorize = value; } }, metadata: _metadata }, _colorize_initializers, _colorize_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 formattedValue = this.formatPercentageValue();\n const trendArrow = this.getTrendArrow();\n const styles = this.getPercentageStyles();\n return html /*html*/ `\n <div class=\"cell-content cell-content--percentage\" part=\"content\" style=\"${styles}\">\n ${formattedValue}\n ${this.showTrend && trendArrow ? unsafeHTML(`<span class=\"percentage-trend\">${trendArrow}</span>`) : ''}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.applyAlignment();\n }\n applyAlignment() {\n this.style.textAlign = this.align;\n }\n updateAlignment() {\n this.applyAlignment();\n }\n updateContent() {\n if (this.contentElement) {\n const formattedValue = this.formatPercentageValue();\n const trendArrow = this.getTrendArrow();\n const styles = this.getPercentageStyles();\n const trendHTML = this.showTrend && trendArrow\n ? `<span class=\"percentage-trend\">${trendArrow}</span>`\n : '';\n this.contentElement.innerHTML = formattedValue + trendHTML;\n this.contentElement.setAttribute('style', styles);\n }\n }\n formatPercentageValue() {\n if (this.value === null || this.value === undefined || this.value === '') {\n return '';\n }\n // Use custom formatter if provided\n if (this.column?.formatter) {\n return this.column.formatter(this.value, this.rowData);\n }\n // Use column percentage format or component properties\n const format = this.column?.percentageFormat || {\n decimals: this.decimals,\n showTrend: this.showTrend,\n trendValue: this.trendValue,\n colorize: this.colorize\n };\n const num = Number(this.value);\n if (isNaN(num)) {\n return String(this.value);\n }\n const formatted = num.toFixed(format.decimals ?? this.decimals);\n return `${formatted}%`;\n }\n getTrendArrow() {\n const trend = this.column?.percentageFormat?.trendValue ?? this.trendValue;\n if (trend === null || trend === undefined) {\n return '';\n }\n if (trend > 0) {\n return '↑';\n }\n else if (trend < 0) {\n return '↓';\n }\n return '→';\n }\n getPercentageStyles() {\n const num = Number(this.value);\n const shouldColorize = this.column?.percentageFormat?.colorize ?? this.colorize;\n // Remove existing classes\n this.classList.remove('percentage--positive', 'percentage--negative', 'percentage--zero');\n if (shouldColorize) {\n if (num > 0) {\n this.classList.add('percentage--positive');\n }\n else if (num < 0) {\n this.classList.add('percentage--negative');\n }\n else if (num === 0) {\n this.classList.add('percentage--zero');\n }\n }\n // Apply trend arrow color\n const trend = this.column?.percentageFormat?.trendValue ?? this.trendValue;\n this.classList.remove('percentage--trend-up', 'percentage--trend-down', 'percentage--trend-neutral');\n if (trend !== null && trend !== undefined) {\n if (trend > 0) {\n this.classList.add('percentage--trend-up');\n }\n else if (trend < 0) {\n this.classList.add('percentage--trend-down');\n }\n else {\n this.classList.add('percentage--trend-neutral');\n }\n }\n return 'text-align: right';\n }\n constructor() {\n super(...arguments);\n this.align = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _align_initializers, 'right'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'percentage'));\n this.value = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _value_initializers, ''));\n this.column = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.contentElement = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _contentElement_initializers, void 0));\n this.decimals = (__runInitializers(this, _contentElement_extraInitializers), __runInitializers(this, _decimals_initializers, 2));\n this.showTrend = (__runInitializers(this, _decimals_extraInitializers), __runInitializers(this, _showTrend_initializers, false));\n this.trendValue = (__runInitializers(this, _showTrend_extraInitializers), __runInitializers(this, _trendValue_initializers, null));\n this.colorize = (__runInitializers(this, _trendValue_extraInitializers), __runInitializers(this, _colorize_initializers, true));\n __runInitializers(this, _colorize_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellPercentage };\n//# sourceMappingURL=snice-cell-percentage.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, html, unsafeHTML, css } from 'snice';\n\nvar cssContent = \":host{color:var(--snice-color-text);display:flex;align-items:center;min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;font-size:.875rem;line-height:1.25rem}.cell-content{width:100%;min-width:6.25rem;min-height:1.25rem;display:flex;align-items:center;gap:.375rem}.location-icon{display:inline-flex;align-items:center;font-size:.875rem;opacity:.7;flex-shrink:0}.location-link{color:var(--snice-color-primary);text-decoration:none;transition:color .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.location-link:hover{color:var(--snice-color-primary-dark);text-decoration:underline}.location-link:focus{outline:2px solid var(--snice-color-primary);outline-offset:2px;border-radius:2px}.location-link:visited{color:var(--snice-color-secondary)}.location-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--snice-color-text)}.location-empty{color:var(--snice-color-text-secondary);font-style:italic}:host([align=left]) .cell-content{justify-content:flex-start}:host([align=center]) .cell-content{justify-content:center}:host([align=right]) .cell-content{justify-content:flex-end}@media (max-width:768px){:host{color:var(--snice-color-text);font-size:.75rem;line-height:1rem}.location-icon{font-size:.75rem}}@media print{.location-link{text-decoration:underline}.location-link::after{content:\\\" (\\\" attr(href) \\\")\\\";font-size:.75rem;color:var(--snice-color-text-secondary)}.location-icon{display:none}}\";\n\nlet SniceCellLocation = (() => {\n let _classDecorators = [element('snice-cell-location')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _value_decorators;\n let _value_initializers = [];\n let _value_extraInitializers = [];\n let _address_decorators;\n let _address_initializers = [];\n let _address_extraInitializers = [];\n let _latitude_decorators;\n let _latitude_initializers = [];\n let _latitude_extraInitializers = [];\n let _longitude_decorators;\n let _longitude_initializers = [];\n let _longitude_extraInitializers = [];\n let _showMapLink_decorators;\n let _showMapLink_initializers = [];\n let _showMapLink_extraInitializers = [];\n let _mapProvider_decorators;\n let _mapProvider_initializers = [];\n let _mapProvider_extraInitializers = [];\n let _showIcon_decorators;\n let _showIcon_initializers = [];\n let _showIcon_extraInitializers = [];\n let _column_decorators;\n let _column_initializers = [];\n let _column_extraInitializers = [];\n let _rowData_decorators;\n let _rowData_initializers = [];\n let _rowData_extraInitializers = [];\n let _align_decorators;\n let _align_initializers = [];\n let _align_extraInitializers = [];\n let _type_decorators;\n let _type_initializers = [];\n let _type_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateLocationAttributes_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 _value_decorators = [property({ type: String })];\n _address_decorators = [property({ type: String })];\n _latitude_decorators = [property({ type: String })];\n _longitude_decorators = [property({ type: String })];\n _showMapLink_decorators = [property({ type: Boolean })];\n _mapProvider_decorators = [property({ type: String })];\n _showIcon_decorators = [property({ type: Boolean })];\n _column_decorators = [property({ type: Object })];\n _rowData_decorators = [property({ type: Object })];\n _align_decorators = [property({ type: String })];\n _type_decorators = [property({ type: String })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateLocationAttributes_decorators = [watch('value', 'column')];\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(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, _updateLocationAttributes_decorators, { kind: \"method\", name: \"updateLocationAttributes\", static: false, private: false, access: { has: obj => \"updateLocationAttributes\" in obj, get: obj => obj.updateLocationAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _address_decorators, { kind: \"field\", name: \"address\", static: false, private: false, access: { has: obj => \"address\" in obj, get: obj => obj.address, set: (obj, value) => { obj.address = value; } }, metadata: _metadata }, _address_initializers, _address_extraInitializers);\n __esDecorate(null, null, _latitude_decorators, { kind: \"field\", name: \"latitude\", static: false, private: false, access: { has: obj => \"latitude\" in obj, get: obj => obj.latitude, set: (obj, value) => { obj.latitude = value; } }, metadata: _metadata }, _latitude_initializers, _latitude_extraInitializers);\n __esDecorate(null, null, _longitude_decorators, { kind: \"field\", name: \"longitude\", static: false, private: false, access: { has: obj => \"longitude\" in obj, get: obj => obj.longitude, set: (obj, value) => { obj.longitude = value; } }, metadata: _metadata }, _longitude_initializers, _longitude_extraInitializers);\n __esDecorate(null, null, _showMapLink_decorators, { kind: \"field\", name: \"showMapLink\", static: false, private: false, access: { has: obj => \"showMapLink\" in obj, get: obj => obj.showMapLink, set: (obj, value) => { obj.showMapLink = value; } }, metadata: _metadata }, _showMapLink_initializers, _showMapLink_extraInitializers);\n __esDecorate(null, null, _mapProvider_decorators, { kind: \"field\", name: \"mapProvider\", static: false, private: false, access: { has: obj => \"mapProvider\" in obj, get: obj => obj.mapProvider, set: (obj, value) => { obj.mapProvider = value; } }, metadata: _metadata }, _mapProvider_initializers, _mapProvider_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, _column_decorators, { kind: \"field\", name: \"column\", static: false, private: false, access: { has: obj => \"column\" in obj, get: obj => obj.column, set: (obj, value) => { obj.column = value; } }, metadata: _metadata }, _column_initializers, _column_extraInitializers);\n __esDecorate(null, null, _rowData_decorators, { kind: \"field\", name: \"rowData\", static: false, private: false, access: { has: obj => \"rowData\" in obj, get: obj => obj.rowData, set: (obj, value) => { obj.rowData = value; } }, metadata: _metadata }, _rowData_initializers, _rowData_extraInitializers);\n __esDecorate(null, null, _align_decorators, { kind: \"field\", name: \"align\", static: false, private: false, access: { has: obj => \"align\" in obj, get: obj => obj.align, set: (obj, value) => { obj.align = value; } }, metadata: _metadata }, _align_initializers, _align_extraInitializers);\n __esDecorate(null, null, _type_decorators, { kind: \"field\", name: \"type\", static: false, private: false, access: { has: obj => \"type\" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_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 locationValue = this.address || this.value;\n const iconHTML = this.showIcon ? '<span class=\"location-icon\">📍</span>' : '';\n const mapLink = this.getMapLink();\n if (!locationValue && !this.latitude && !this.longitude) {\n return html /*html*/ `\n <div class=\"cell-content cell-content--location\" part=\"content\">\n <span class=\"location-empty\"></span>\n </div>\n `;\n }\n const displayText = locationValue || `${this.latitude}, ${this.longitude}`;\n return html /*html*/ `\n <div class=\"cell-content cell-content--location\" part=\"content\">\n ${unsafeHTML(iconHTML)}\n ${this.showMapLink && mapLink\n ? html `<a href=\"${mapLink}\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"location-link\" part=\"link\">\n ${displayText}\n </a>`\n : html `<span class=\"location-text\">${displayText}</span>`}\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n this.updateLocationAttributes();\n }\n updateLocationAttributes() {\n if (this.column?.locationFormat) {\n const format = this.column.locationFormat;\n this.address = format.address || this.value;\n this.latitude = format.latitude ? String(format.latitude) : '';\n this.longitude = format.longitude ? String(format.longitude) : '';\n this.showMapLink = format.showMapLink ?? true;\n this.mapProvider = format.mapProvider || 'google';\n this.showIcon = format.showIcon ?? true;\n }\n }\n getMapLink() {\n if (!this.showMapLink) {\n return '';\n }\n const address = this.address || this.value;\n const lat = this.latitude;\n const lon = this.longitude;\n switch (this.mapProvider) {\n case 'google':\n if (lat && lon) {\n return `https://www.google.com/maps?q=${lat},${lon}`;\n }\n if (address) {\n return `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(address)}`;\n }\n return '';\n case 'openstreetmap':\n if (lat && lon) {\n return `https://www.openstreetmap.org/?mlat=${lat}&mlon=${lon}&zoom=15`;\n }\n if (address) {\n return `https://www.openstreetmap.org/search?query=${encodeURIComponent(address)}`;\n }\n return '';\n case 'apple':\n if (lat && lon) {\n return `https://maps.apple.com/?ll=${lat},${lon}`;\n }\n if (address) {\n return `https://maps.apple.com/?address=${encodeURIComponent(address)}`;\n }\n return '';\n default:\n return '';\n }\n }\n constructor() {\n super(...arguments);\n this.value = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _value_initializers, ''));\n this.address = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _address_initializers, ''));\n this.latitude = (__runInitializers(this, _address_extraInitializers), __runInitializers(this, _latitude_initializers, ''));\n this.longitude = (__runInitializers(this, _latitude_extraInitializers), __runInitializers(this, _longitude_initializers, ''));\n this.showMapLink = (__runInitializers(this, _longitude_extraInitializers), __runInitializers(this, _showMapLink_initializers, true));\n this.mapProvider = (__runInitializers(this, _showMapLink_extraInitializers), __runInitializers(this, _mapProvider_initializers, 'google'));\n this.showIcon = (__runInitializers(this, _mapProvider_extraInitializers), __runInitializers(this, _showIcon_initializers, true));\n this.column = (__runInitializers(this, _showIcon_extraInitializers), __runInitializers(this, _column_initializers, null));\n this.rowData = (__runInitializers(this, _column_extraInitializers), __runInitializers(this, _rowData_initializers, null));\n this.align = (__runInitializers(this, _rowData_extraInitializers), __runInitializers(this, _align_initializers, 'left'));\n this.type = (__runInitializers(this, _align_extraInitializers), __runInitializers(this, _type_initializers, 'location'));\n __runInitializers(this, _type_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceCellLocation };\n//# sourceMappingURL=snice-cell-location.js.map\n","import { __esDecorate, __runInitializers } from 'tslib';\nimport { element, property, render, styles, ready, watch, dispatch, html, css, unsafeHTML } from 'snice';\nimport './snice-cell.js';\nimport './snice-cell-text.js';\nimport './snice-cell-number.js';\nimport './snice-cell-date.js';\nimport './snice-cell-sparkline.js';\nimport './snice-cell-link.js';\nimport './snice-cell-actions.js';\nimport './snice-cell-tag.js';\nimport './snice-cell-image.js';\nimport './snice-cell-email.js';\nimport './snice-cell-phone.js';\nimport './snice-cell-status.js';\nimport './snice-cell-color.js';\nimport './snice-cell-json.js';\nimport './snice-cell-currency.js';\nimport './snice-cell-percentage.js';\nimport './snice-cell-location.js';\nimport '../snice-cell-D9dSe0d4.js';\n\nvar cssContent = \":host{display:block;width:100%;min-height:2.5rem}.row-container{display:flex;align-items:stretch;width:100%;min-height:2.5rem;height:2.5rem;background:0 0;color:var(--snice-color-text);border-bottom:1px solid var(--snice-color-border);transition:background-color .15s}.cell{display:flex;align-items:center;border-right:1px solid var(--snice-color-border);min-height:2.5rem;height:2.5rem;min-width:6.25rem;flex:1;word-wrap:break-word;overflow:hidden;color:var(--snice-color-text)}.cell:last-child{border-right:none}.cell--checkbox{width:3rem;min-width:3rem;max-width:3rem;padding:.75rem;justify-content:center}.row-checkbox{width:1rem;height:1rem;cursor:pointer}.cells-container{display:flex;flex:1;align-items:stretch}.cell--text{text-align:left}.cell--accounting,.cell--currency,.cell--fraction,.cell--number,.cell--percent,.cell--scientific{text-align:right;font-variant-numeric:tabular-nums}.cell--date{min-width:8rem;font-variant-numeric:tabular-nums}.cell--boolean{text-align:center;font-size:1rem}.cell--rating{text-align:center;min-width:6rem}.cell--progress{min-width:8rem}.cell--sparkline{text-align:center;min-width:6rem}.cell--duration,.cell--filesize{text-align:right;font-variant-numeric:tabular-nums}:host(.row--hoverable) .row-container:hover{background-color:var(--snice-color-background-secondary)}:host(.row--clickable) .row-container{cursor:pointer}:host(.row--clickable) .row-container:hover{background-color:var(--snice-color-background-tertiary)}:host(.row--selected) .row-container{background-color:var(--snice-color-primary-light)}:host(.row--selected.row--hoverable) .row-container:hover{background-color:var(--snice-color-primary-lighter)}:host(.row--highlighted) .row-container{background-color:var(--snice-color-warning-light)!important;animation:2s ease-out row-highlight-fade}@keyframes row-highlight-fade{0%{background-color:var(--snice-color-warning-lighter)}100%{background-color:var(--snice-color-warning-light)}}:host(:focus) .row-container{outline:2px solid var(--snice-color-primary);outline-offset:-2px}:host(.row--selectable){tabindex:0}:host(.row--striped) .row-container{background-color:var(--snice-color-background-secondary)}:host(.row--bordered) .row-container{border-bottom:1px solid var(--snice-color-border)}:host(.row--small) .cell{padding:.5rem .75rem;min-height:2rem;font-size:.75rem}:host(.row--small) .row-container{min-height:2rem}:host(.row--large) .cell{padding:1rem 1.25rem;min-height:3.5rem;font-size:1rem}:host(.row--large) .row-container{min-height:3.5rem}@media (max-width:768px){.cell{padding:.5rem .75rem;font-size:.875rem}.cell--checkbox{width:2.5rem;min-width:2.5rem;max-width:2.5rem;padding:.5rem}.row-checkbox{width:.875rem;height:.875rem}}:host(.row--loading) .row-container{opacity:.6;pointer-events:none}:host(.row--loading) .row-container::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsl(0 0% 100% / .6),transparent);animation:1.5s infinite loading-shimmer}@keyframes loading-shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.row-container{transition:none}:host(.row--highlighted) .row-container{animation:none;background-color:var(--snice-color-warning-light)!important}:host(.row--loading) .row-container::after{animation:none}}@media (prefers-contrast:high){.cell{border-right:1px solid}.row-container{border-bottom:1px solid}:host(.row--selected) .row-container{border:2px solid}}\";\n\nlet SniceRow = (() => {\n let _classDecorators = [element('snice-row')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _selected_decorators;\n let _selected_initializers = [];\n let _selected_extraInitializers = [];\n let _hoverable_decorators;\n let _hoverable_initializers = [];\n let _hoverable_extraInitializers = [];\n let _clickable_decorators;\n let _clickable_initializers = [];\n let _clickable_extraInitializers = [];\n let _selectable_decorators;\n let _selectable_initializers = [];\n let _selectable_extraInitializers = [];\n let _data_decorators;\n let _data_initializers = [];\n let _data_extraInitializers = [];\n let _index_decorators;\n let _index_initializers = [];\n let _index_extraInitializers = [];\n let _columns_decorators;\n let _columns_initializers = [];\n let _columns_extraInitializers = [];\n let _render_decorators;\n let _styles_decorators;\n let _init_decorators;\n let _updateSelection_decorators;\n let _updateRowAttributes_decorators;\n let _updateCells_decorators;\n let _dispatchRowClick_decorators;\n let _dispatchRowSelect_decorators;\n let _dispatchRowHover_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 _selected_decorators = [property({ type: Boolean, })];\n _hoverable_decorators = [property({ type: Boolean, })];\n _clickable_decorators = [property({ type: Boolean, })];\n _selectable_decorators = [property({ type: Boolean, })];\n _data_decorators = [property({ type: Object })];\n _index_decorators = [property({ type: Number, })];\n _columns_decorators = [property({ type: Array })];\n _render_decorators = [render()];\n _styles_decorators = [styles()];\n _init_decorators = [ready()];\n _updateSelection_decorators = [watch('selected')];\n _updateRowAttributes_decorators = [watch('hoverable', 'clickable', 'selectable')];\n _updateCells_decorators = [watch('data', 'columns')];\n _dispatchRowClick_decorators = [dispatch('row-click', { bubbles: true, composed: true })];\n _dispatchRowSelect_decorators = [dispatch('row-select', { bubbles: true, composed: true })];\n _dispatchRowHover_decorators = [dispatch('row-hover', { bubbles: true, composed: true })];\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(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, _updateSelection_decorators, { kind: \"method\", name: \"updateSelection\", static: false, private: false, access: { has: obj => \"updateSelection\" in obj, get: obj => obj.updateSelection }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateRowAttributes_decorators, { kind: \"method\", name: \"updateRowAttributes\", static: false, private: false, access: { has: obj => \"updateRowAttributes\" in obj, get: obj => obj.updateRowAttributes }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _updateCells_decorators, { kind: \"method\", name: \"updateCells\", static: false, private: false, access: { has: obj => \"updateCells\" in obj, get: obj => obj.updateCells }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchRowClick_decorators, { kind: \"method\", name: \"dispatchRowClick\", static: false, private: false, access: { has: obj => \"dispatchRowClick\" in obj, get: obj => obj.dispatchRowClick }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchRowSelect_decorators, { kind: \"method\", name: \"dispatchRowSelect\", static: false, private: false, access: { has: obj => \"dispatchRowSelect\" in obj, get: obj => obj.dispatchRowSelect }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchRowHover_decorators, { kind: \"method\", name: \"dispatchRowHover\", static: false, private: false, access: { has: obj => \"dispatchRowHover\" in obj, get: obj => obj.dispatchRowHover }, metadata: _metadata }, null, _instanceExtraInitializers);\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, _hoverable_decorators, { kind: \"field\", name: \"hoverable\", static: false, private: false, access: { has: obj => \"hoverable\" in obj, get: obj => obj.hoverable, set: (obj, value) => { obj.hoverable = value; } }, metadata: _metadata }, _hoverable_initializers, _hoverable_extraInitializers);\n __esDecorate(null, null, _clickable_decorators, { kind: \"field\", name: \"clickable\", static: false, private: false, access: { has: obj => \"clickable\" in obj, get: obj => obj.clickable, set: (obj, value) => { obj.clickable = value; } }, metadata: _metadata }, _clickable_initializers, _clickable_extraInitializers);\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, _data_decorators, { kind: \"field\", name: \"data\", static: false, private: false, access: { has: obj => \"data\" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_extraInitializers);\n __esDecorate(null, null, _index_decorators, { kind: \"field\", name: \"index\", static: false, private: false, access: { has: obj => \"index\" in obj, get: obj => obj.index, set: (obj, value) => { obj.index = value; } }, metadata: _metadata }, _index_initializers, _index_extraInitializers);\n __esDecorate(null, null, _columns_decorators, { kind: \"field\", name: \"columns\", static: false, private: false, access: { has: obj => \"columns\" in obj, get: obj => obj.columns, set: (obj, value) => { obj.columns = value; } }, metadata: _metadata }, _columns_initializers, _columns_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 // Extract data from data-* attributes - pass raw values, let cells handle conversion\n extractDataFromAttributes() {\n const data = {};\n // Get all attribute names that start with data-\n const attrNames = this.getAttributeNames().filter(name => name.startsWith('data-') && name !== 'data-column-index');\n attrNames.forEach(attrName => {\n const key = attrName.slice(5); // Remove 'data-' prefix\n const value = this.getAttribute(attrName);\n if (value !== null) {\n data[key] = value; // Keep as raw string, let cells convert\n }\n });\n return data;\n }\n render() {\n return html /*html*/ `\n <div class=\"row-container\" part=\"container\" @click=${(e) => this.handleRowClick(e)} @keydown=${(e) => this.handleKeyDown(e)}>\n <if ${this.selectable}>\n ${this.renderCheckbox()}\n </if>\n <div class=\"cells-container\">\n <if ${this.columns && this.columns.length}>\n ${this.columns.map((column, columnIndex) => this.renderCell(column, columnIndex))}\n </if>\n <if ${!this.columns || !this.columns.length}>\n <!-- No columns set yet -->\n </if>\n </div>\n </div>\n `;\n }\n styles() {\n return css /*css*/ `${cssContent}`;\n }\n init() {\n // Extract data from data-* attributes if data object is empty\n if (!this.data || Object.keys(this.data).length === 0) {\n this.data = this.extractDataFromAttributes();\n }\n this.updateRowAttributes();\n this.configureCells();\n }\n configureCells() {\n if (!this.columns) {\n return;\n }\n this.columns.forEach((column, index) => {\n const cellElement = this.shadowRoot?.querySelector(`[data-column-index=\"${index}\"]`);\n if (cellElement) {\n const value = this.data[column.key];\n cellElement.value = value;\n cellElement.column = column;\n cellElement.rowData = this.data;\n // For sparkline cells, also set the data property if value is an array\n if (column.type === 'sparkline' && Array.isArray(value)) {\n cellElement.data = value;\n }\n }\n });\n }\n updateSelection() {\n this.updateRowAttributes();\n const checkbox = this.shadowRoot?.querySelector('.row-checkbox');\n if (checkbox) {\n checkbox.checked = this.selected;\n }\n }\n updateRowAttributes() {\n this.classList.toggle('row--hoverable', this.hoverable);\n this.classList.toggle('row--clickable', this.clickable);\n this.classList.toggle('row--selectable', this.selectable);\n this.classList.toggle('row--selected', this.selected);\n }\n updateCells() {\n // Re-render is handled automatically by @render decorator\n // Just need to reconfigure cells after the template updates\n setTimeout(() => this.configureCells(), 0);\n }\n handleRowClick(e) {\n const target = e.target;\n // Handle checkbox change separately\n if (target.matches('.row-checkbox')) {\n return; // Let the change event handle this\n }\n // Don't trigger row click if clicking on other interactive elements\n if (target.matches('button, a, .interactive')) {\n return;\n }\n if (this.clickable) {\n this.dispatchRowClick();\n }\n if (this.selectable) {\n this.toggleSelection();\n }\n }\n handleChange(e) {\n const target = e.target;\n if (!target.matches('.row-checkbox'))\n return;\n const checkbox = target;\n this.selected = checkbox.checked;\n this.dispatchRowSelect();\n }\n handleKeyDown(e) {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (this.selectable) {\n this.toggleSelection();\n }\n else if (this.clickable) {\n this.dispatchRowClick();\n }\n }\n }\n renderCheckbox() {\n return html /*html*/ `\n <div class=\"cell cell--checkbox\" part=\"checkbox-cell\">\n <input\n type=\"checkbox\"\n class=\"row-checkbox\"\n ?checked=${this.selected}\n tabindex=\"-1\"\n @change=${(e) => this.handleChange(e)}\n />\n </div>\n `;\n }\n renderCell(column, columnIndex) {\n this.data[column.key];\n const cellComponent = this.getCellComponent(column.type);\n return html /*html*/ `\n <div class=\"cell cell--${column.type}\" part=\"cell\" style=\"${this.getCellStyles(column)}\">\n ${unsafeHTML(`<${cellComponent}\n type=\"${column.type}\"\n align=\"${column.align || 'left'}\"\n data-column-index=\"${columnIndex}\"\n ></${cellComponent}>`)}\n </div>\n `;\n }\n getCellComponent(type) {\n switch (type) {\n case 'text':\n return 'snice-cell-text';\n case 'number':\n case 'accounting':\n case 'scientific':\n case 'fraction':\n return 'snice-cell-number';\n case 'date':\n return 'snice-cell-date';\n case 'boolean':\n return 'snice-cell-boolean';\n case 'sparkline':\n return 'snice-cell-sparkline';\n case 'rating':\n return 'snice-cell-rating';\n case 'progress':\n return 'snice-cell-progress';\n case 'duration':\n return 'snice-cell-duration';\n case 'filesize':\n return 'snice-cell-filesize';\n case 'link':\n case 'url':\n return 'snice-cell-link';\n case 'actions':\n return 'snice-cell-actions';\n case 'tag':\n case 'tags':\n case 'badge':\n case 'badges':\n return 'snice-cell-tag';\n case 'image':\n case 'avatar':\n case 'thumbnail':\n return 'snice-cell-image';\n case 'email':\n return 'snice-cell-email';\n case 'phone':\n case 'tel':\n case 'telephone':\n return 'snice-cell-phone';\n case 'status':\n return 'snice-cell-status';\n case 'color':\n return 'snice-cell-color';\n case 'json':\n case 'object':\n return 'snice-cell-json';\n case 'currency':\n case 'money':\n return 'snice-cell-currency';\n case 'percent':\n case 'percentage':\n return 'snice-cell-percentage';\n case 'location':\n case 'address':\n case 'coordinates':\n return 'snice-cell-location';\n case 'custom':\n default:\n return 'snice-cell';\n }\n }\n getCellStyles(column) {\n let styles = [];\n if (column.width) {\n styles.push(`width: ${column.width}`);\n styles.push(`min-width: ${column.width}`);\n styles.push(`max-width: ${column.width}`);\n }\n if (column.align) {\n styles.push(`text-align: ${column.align}`);\n }\n return styles.join('; ');\n }\n escapeHtml(value) {\n if (value === null || value === undefined) {\n return '';\n }\n const str = String(value);\n const div = document.createElement('div');\n div.textContent = str;\n return div.innerHTML;\n }\n toggleSelection() {\n this.selected = !this.selected;\n this.dispatchRowSelect();\n }\n dispatchRowClick() {\n return {\n data: this.data,\n index: this.index,\n element: this\n };\n }\n dispatchRowSelect() {\n return {\n selected: this.selected,\n data: this.data,\n index: this.index,\n element: this\n };\n }\n dispatchRowHover() {\n return {\n data: this.data,\n index: this.index,\n element: this\n };\n }\n // Public API methods\n select() {\n this.selected = true;\n this.dispatchRowSelect();\n }\n deselect() {\n this.selected = false;\n this.dispatchRowSelect();\n }\n focusRow() {\n super.focus();\n this.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n getCellValue(columnKey) {\n return this.data[columnKey];\n }\n setCellValue(columnKey, value) {\n this.data = { ...this.data, [columnKey]: value };\n this.updateCells();\n }\n getCellElement(columnKey) {\n const column = this.columns.find(col => col.key === columnKey);\n if (!column)\n return null;\n const columnIndex = this.columns.indexOf(column);\n return this.shadowRoot?.querySelector(`[data-column-index=\"${columnIndex}\"]`) || null;\n }\n // Highlight row temporarily (useful for showing updates)\n highlight(duration = 2000) {\n this.classList.add('row--highlighted');\n setTimeout(() => {\n this.classList.remove('row--highlighted');\n }, duration);\n }\n constructor() {\n super(...arguments);\n this.selected = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _selected_initializers, false));\n this.hoverable = (__runInitializers(this, _selected_extraInitializers), __runInitializers(this, _hoverable_initializers, true));\n this.clickable = (__runInitializers(this, _hoverable_extraInitializers), __runInitializers(this, _clickable_initializers, false));\n this.selectable = (__runInitializers(this, _clickable_extraInitializers), __runInitializers(this, _selectable_initializers, false));\n this.data = (__runInitializers(this, _selectable_extraInitializers), __runInitializers(this, _data_initializers, {}));\n this.index = (__runInitializers(this, _data_extraInitializers), __runInitializers(this, _index_initializers, 0));\n this.columns = (__runInitializers(this, _index_extraInitializers), __runInitializers(this, _columns_initializers, []));\n __runInitializers(this, _columns_extraInitializers);\n }\n });\n return _classThis;\n})();\n\nexport { SniceRow };\n//# sourceMappingURL=snice-row.js.map\n","import { __runInitializers, __esDecorate } from 'tslib';\nimport { element, property, query, request, styles, render, ready, watch, dispatch, css, html } from 'snice';\nimport '../input/snice-input.js';\nimport '../select/snice-select.js';\nimport './snice-cell.js';\nimport './snice-cell-text.js';\nimport './snice-cell-number.js';\nimport './snice-cell-date.js';\nimport './snice-cell-boolean.js';\nimport './snice-cell-rating.js';\nimport './snice-cell-progress.js';\nimport './snice-cell-duration.js';\nimport './snice-cell-filesize.js';\nimport './snice-cell-sparkline.js';\nimport './snice-column.js';\nimport './snice-row.js';\nimport '../utils.js';\nimport '../select/snice-option.js';\nimport '../snice-cell-D9dSe0d4.js';\nimport './snice-rating.js';\nimport './snice-progress.js';\nimport './snice-cell-link.js';\nimport './snice-cell-actions.js';\nimport './snice-cell-tag.js';\nimport './snice-cell-image.js';\nimport './snice-cell-email.js';\nimport './snice-cell-phone.js';\nimport './snice-cell-status.js';\nimport './snice-cell-color.js';\nimport './snice-cell-json.js';\nimport './snice-cell-currency.js';\nimport './snice-cell-percentage.js';\nimport './snice-cell-location.js';\n\nlet SniceTable = (() => {\n let _classDecorators = [element('snice-table')];\n let _classDescriptor;\n let _classExtraInitializers = [];\n let _classThis;\n let _classSuper = HTMLElement;\n let _instanceExtraInitializers = [];\n let _striped_decorators;\n let _striped_initializers = [];\n let _striped_extraInitializers = [];\n let _searchable_decorators;\n let _searchable_initializers = [];\n let _searchable_extraInitializers = [];\n let _filterable_decorators;\n let _filterable_initializers = [];\n let _filterable_extraInitializers = [];\n let _sortable_decorators;\n let _sortable_initializers = [];\n let _sortable_extraInitializers = [];\n let _selectable_decorators;\n let _selectable_initializers = [];\n let _selectable_extraInitializers = [];\n let _hoverable_decorators;\n let _hoverable_initializers = [];\n let _hoverable_extraInitializers = [];\n let _clickable_decorators;\n let _clickable_initializers = [];\n let _clickable_extraInitializers = [];\n let _list_decorators;\n let _list_initializers = [];\n let _list_extraInitializers = [];\n let _searchDebounce_decorators;\n let _searchDebounce_initializers = [];\n let _searchDebounce_extraInitializers = [];\n let _currentSort_decorators;\n let _currentSort_initializers = [];\n let _currentSort_extraInitializers = [];\n let _selector_decorators;\n let _selector_initializers = [];\n let _selector_extraInitializers = [];\n let _selectorOptions_decorators;\n let _selectorOptions_initializers = [];\n let _selectorOptions_extraInitializers = [];\n let _loading_decorators;\n let _loading_initializers = [];\n let _loading_extraInitializers = [];\n let _selectedRows_decorators;\n let _selectedRows_initializers = [];\n let _selectedRows_extraInitializers = [];\n let _table_decorators;\n let _table_initializers = [];\n let _table_extraInitializers = [];\n let _thead_decorators;\n let _thead_initializers = [];\n let _thead_extraInitializers = [];\n let _tbody_decorators;\n let _tbody_initializers = [];\n let _tbody_extraInitializers = [];\n let _getTableConfig_decorators;\n let _getTableData_decorators;\n let _styles_decorators;\n let _render_decorators;\n let _initialize_decorators;\n let _handleSelectorOptionsChange_decorators;\n let _handleSortableChange_decorators;\n let _handleSelectableChange_decorators;\n let _handleColumnsChange_decorators;\n let _handleDataChange_decorators;\n let _handleSelectedRowsChange_decorators;\n let _handleSortChange_decorators;\n let _handleControlsChange_decorators;\n let _dispatchRowSelectionChanged_decorators;\n let _dispatchSelectAllChanged_decorators;\n (class extends _classSuper {\n static { _classThis = this; }\n constructor() {\n super(...arguments);\n this.striped = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _striped_initializers, false));\n this.searchable = (__runInitializers(this, _striped_extraInitializers), __runInitializers(this, _searchable_initializers, false));\n this.filterable = (__runInitializers(this, _searchable_extraInitializers), __runInitializers(this, _filterable_initializers, false));\n this.sortable = (__runInitializers(this, _filterable_extraInitializers), __runInitializers(this, _sortable_initializers, false));\n this.selectable = (__runInitializers(this, _sortable_extraInitializers), __runInitializers(this, _selectable_initializers, false));\n this.hoverable = (__runInitializers(this, _selectable_extraInitializers), __runInitializers(this, _hoverable_initializers, true));\n this.clickable = (__runInitializers(this, _hoverable_extraInitializers), __runInitializers(this, _clickable_initializers, false));\n this.list = (__runInitializers(this, _clickable_extraInitializers), __runInitializers(this, _list_initializers, false));\n this.searchDebounce = (__runInitializers(this, _list_extraInitializers), __runInitializers(this, _searchDebounce_initializers, 500));\n // Plain properties - no reflection to attributes\n this.columns = (__runInitializers(this, _searchDebounce_extraInitializers), []);\n this.data = [];\n this.currentSort = __runInitializers(this, _currentSort_initializers, []);\n // Don't use @property decorator to avoid auto-rendering on searchText change\n // This would cause the input to lose focus while typing\n this.searchText = (__runInitializers(this, _currentSort_extraInitializers), '');\n this.selector = __runInitializers(this, _selector_initializers, '');\n this.selectorOptions = (__runInitializers(this, _selector_extraInitializers), __runInitializers(this, _selectorOptions_initializers, []));\n this.loading = (__runInitializers(this, _selectorOptions_extraInitializers), __runInitializers(this, _loading_initializers, false));\n this.selectedRows = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _selectedRows_initializers, []));\n this.table = (__runInitializers(this, _selectedRows_extraInitializers), __runInitializers(this, _table_initializers, void 0));\n this.thead = (__runInitializers(this, _table_extraInitializers), __runInitializers(this, _thead_initializers, void 0));\n this.tbody = (__runInitializers(this, _thead_extraInitializers), __runInitializers(this, _tbody_initializers, void 0));\n this.dataRequestTimeout = (__runInitializers(this, _tbody_extraInitializers), null);\n this.handleClick = (e) => {\n const target = e.target;\n // Handle sortable header click\n const th = target.closest('th.sortable');\n if (th) {\n const columnKey = th.getAttribute('data-key');\n if (columnKey) {\n this.toggleSort(columnKey, true); // Always multi-sort\n }\n return;\n }\n // Handle row click\n const tr = target.closest('tbody tr');\n if (tr) {\n // Don't trigger if clicking on checkbox or other interactive elements\n if (target.matches('input[type=\"checkbox\"], button, a, .interactive')) {\n return;\n }\n const rowIndex = parseInt(tr.getAttribute('data-index') || '0');\n const rowData = this.data[rowIndex];\n // Handle row selection if selectable\n if (this.selectable) {\n const isCurrentlySelected = this.selectedRows.includes(rowIndex);\n if (isCurrentlySelected) {\n this.selectedRows = this.selectedRows.filter(i => i !== rowIndex);\n }\n else {\n this.selectedRows = [...this.selectedRows, rowIndex];\n }\n this.updateRowSelectionState();\n this.updateSelectAllState();\n this.dispatchRowSelectionChanged(rowIndex, !isCurrentlySelected);\n }\n // Handle clickable row event\n if (this.clickable) {\n this.dispatchEvent(new CustomEvent('row-clicked', {\n detail: { rowData, rowIndex }\n }));\n }\n }\n };\n this.handleChange = (e) => {\n const target = e.target;\n // Handle row select checkbox\n if (target.matches('.row-select')) {\n const checkbox = target;\n const rowIndex = parseInt(checkbox.getAttribute('data-row-index') || '0');\n if (checkbox.checked) {\n if (!this.selectedRows.includes(rowIndex)) {\n this.selectedRows = [...this.selectedRows, rowIndex];\n }\n }\n else {\n this.selectedRows = this.selectedRows.filter(i => i !== rowIndex);\n }\n this.updateRowSelectionState();\n this.updateSelectAllState();\n this.dispatchRowSelectionChanged(rowIndex, checkbox.checked);\n return;\n }\n // Handle select all checkbox\n if (target.matches('.select-all')) {\n const checkbox = target;\n if (checkbox.checked) {\n this.selectedRows = this.data.map((_, index) => index);\n }\n else {\n this.selectedRows = [];\n }\n this.updateRowSelectionState();\n this.dispatchSelectAllChanged(checkbox.checked);\n }\n };\n this.onAttached = () => {\n this.getTableConfig();\n this.getTableData();\n };\n this.searchDebounceTimeout = null;\n this.handleSearchInput = (e) => {\n const target = e.target;\n const input = target;\n this.searchText = input.value;\n // Manual debounce implementation\n if (this.searchDebounceTimeout) {\n clearTimeout(this.searchDebounceTimeout);\n }\n this.searchDebounceTimeout = setTimeout(() => {\n this.debouncedDataRequest();\n }, this.searchDebounce);\n };\n this.selectorDebounceTimeout = null;\n this.handleSelectorChange = (e) => {\n this.selector = Array.isArray(e.detail.value) ? e.detail.value.join(',') : e.detail.value;\n // Manual debounce implementation\n if (this.selectorDebounceTimeout) {\n clearTimeout(this.selectorDebounceTimeout);\n }\n this.selectorDebounceTimeout = setTimeout(() => {\n this.debouncedDataRequest();\n }, 150);\n };\n }\n static {\n const _metadata = typeof Symbol === \"function\" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;\n _striped_decorators = [property({ type: Boolean, attribute: 'striped' })];\n _searchable_decorators = [property({ type: Boolean, attribute: 'searchable' })];\n _filterable_decorators = [property({ type: Boolean, attribute: 'filterable' })];\n _sortable_decorators = [property({ type: Boolean, attribute: 'sortable' })];\n _selectable_decorators = [property({ type: Boolean, attribute: 'selectable' })];\n _hoverable_decorators = [property({ type: Boolean, attribute: 'hoverable' })];\n _clickable_decorators = [property({ type: Boolean, attribute: 'clickable' })];\n _list_decorators = [property({ type: Boolean, attribute: 'list' })];\n _searchDebounce_decorators = [property({ type: Number, attribute: 'search-debounce' })];\n _currentSort_decorators = [property({ type: Array, attribute: 'current-sort' })];\n _selector_decorators = [property({ type: String, attribute: 'selector' })];\n _selectorOptions_decorators = [property({ type: Array, attribute: 'selector-options' })];\n _loading_decorators = [property({ type: Boolean, attribute: 'loading' })];\n _selectedRows_decorators = [property({ type: Array, attribute: 'selected-rows' })];\n _table_decorators = [query('table')];\n _thead_decorators = [query('thead')];\n _tbody_decorators = [query('tbody')];\n _getTableConfig_decorators = [request('table/config')];\n _getTableData_decorators = [request('table/data')];\n _styles_decorators = [styles()];\n _render_decorators = [render()];\n _initialize_decorators = [ready()];\n _handleSelectorOptionsChange_decorators = [watch('selector-options')];\n _handleSortableChange_decorators = [watch('sortable')];\n _handleSelectableChange_decorators = [watch('selectable')];\n _handleColumnsChange_decorators = [watch('columns')];\n _handleDataChange_decorators = [watch('data', 'loading')];\n _handleSelectedRowsChange_decorators = [watch('selected-rows')];\n _handleSortChange_decorators = [watch('current-sort')];\n _handleControlsChange_decorators = [watch('searchable', 'filterable')];\n _dispatchRowSelectionChanged_decorators = [dispatch('table-row-selection-changed', { bubbles: true, composed: true })];\n _dispatchSelectAllChanged_decorators = [dispatch('table-select-all-changed', { bubbles: true, composed: true })];\n __esDecorate(this, null, _getTableConfig_decorators, { kind: \"method\", name: \"getTableConfig\", static: false, private: false, access: { has: obj => \"getTableConfig\" in obj, get: obj => obj.getTableConfig }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _getTableData_decorators, { kind: \"method\", name: \"getTableData\", static: false, private: false, access: { has: obj => \"getTableData\" in obj, get: obj => obj.getTableData }, 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(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, _initialize_decorators, { kind: \"method\", name: \"initialize\", static: false, private: false, access: { has: obj => \"initialize\" in obj, get: obj => obj.initialize }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectorOptionsChange_decorators, { kind: \"method\", name: \"handleSelectorOptionsChange\", static: false, private: false, access: { has: obj => \"handleSelectorOptionsChange\" in obj, get: obj => obj.handleSelectorOptionsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSortableChange_decorators, { kind: \"method\", name: \"handleSortableChange\", static: false, private: false, access: { has: obj => \"handleSortableChange\" in obj, get: obj => obj.handleSortableChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectableChange_decorators, { kind: \"method\", name: \"handleSelectableChange\", static: false, private: false, access: { has: obj => \"handleSelectableChange\" in obj, get: obj => obj.handleSelectableChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleColumnsChange_decorators, { kind: \"method\", name: \"handleColumnsChange\", static: false, private: false, access: { has: obj => \"handleColumnsChange\" in obj, get: obj => obj.handleColumnsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleDataChange_decorators, { kind: \"method\", name: \"handleDataChange\", static: false, private: false, access: { has: obj => \"handleDataChange\" in obj, get: obj => obj.handleDataChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSelectedRowsChange_decorators, { kind: \"method\", name: \"handleSelectedRowsChange\", static: false, private: false, access: { has: obj => \"handleSelectedRowsChange\" in obj, get: obj => obj.handleSelectedRowsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleSortChange_decorators, { kind: \"method\", name: \"handleSortChange\", static: false, private: false, access: { has: obj => \"handleSortChange\" in obj, get: obj => obj.handleSortChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _handleControlsChange_decorators, { kind: \"method\", name: \"handleControlsChange\", static: false, private: false, access: { has: obj => \"handleControlsChange\" in obj, get: obj => obj.handleControlsChange }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchRowSelectionChanged_decorators, { kind: \"method\", name: \"dispatchRowSelectionChanged\", static: false, private: false, access: { has: obj => \"dispatchRowSelectionChanged\" in obj, get: obj => obj.dispatchRowSelectionChanged }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(this, null, _dispatchSelectAllChanged_decorators, { kind: \"method\", name: \"dispatchSelectAllChanged\", static: false, private: false, access: { has: obj => \"dispatchSelectAllChanged\" in obj, get: obj => obj.dispatchSelectAllChanged }, metadata: _metadata }, null, _instanceExtraInitializers);\n __esDecorate(null, null, _striped_decorators, { kind: \"field\", name: \"striped\", static: false, private: false, access: { has: obj => \"striped\" in obj, get: obj => obj.striped, set: (obj, value) => { obj.striped = value; } }, metadata: _metadata }, _striped_initializers, _striped_extraInitializers);\n __esDecorate(null, null, _searchable_decorators, { kind: \"field\", name: \"searchable\", static: false, private: false, access: { has: obj => \"searchable\" in obj, get: obj => obj.searchable, set: (obj, value) => { obj.searchable = value; } }, metadata: _metadata }, _searchable_initializers, _searchable_extraInitializers);\n __esDecorate(null, null, _filterable_decorators, { kind: \"field\", name: \"filterable\", static: false, private: false, access: { has: obj => \"filterable\" in obj, get: obj => obj.filterable, set: (obj, value) => { obj.filterable = value; } }, metadata: _metadata }, _filterable_initializers, _filterable_extraInitializers);\n __esDecorate(null, null, _sortable_decorators, { kind: \"field\", name: \"sortable\", static: false, private: false, access: { has: obj => \"sortable\" in obj, get: obj => obj.sortable, set: (obj, value) => { obj.sortable = value; } }, metadata: _metadata }, _sortable_initializers, _sortable_extraInitializers);\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, _hoverable_decorators, { kind: \"field\", name: \"hoverable\", static: false, private: false, access: { has: obj => \"hoverable\" in obj, get: obj => obj.hoverable, set: (obj, value) => { obj.hoverable = value; } }, metadata: _metadata }, _hoverable_initializers, _hoverable_extraInitializers);\n __esDecorate(null, null, _clickable_decorators, { kind: \"field\", name: \"clickable\", static: false, private: false, access: { has: obj => \"clickable\" in obj, get: obj => obj.clickable, set: (obj, value) => { obj.clickable = value; } }, metadata: _metadata }, _clickable_initializers, _clickable_extraInitializers);\n __esDecorate(null, null, _list_decorators, { kind: \"field\", name: \"list\", static: false, private: false, access: { has: obj => \"list\" in obj, get: obj => obj.list, set: (obj, value) => { obj.list = value; } }, metadata: _metadata }, _list_initializers, _list_extraInitializers);\n __esDecorate(null, null, _searchDebounce_decorators, { kind: \"field\", name: \"searchDebounce\", static: false, private: false, access: { has: obj => \"searchDebounce\" in obj, get: obj => obj.searchDebounce, set: (obj, value) => { obj.searchDebounce = value; } }, metadata: _metadata }, _searchDebounce_initializers, _searchDebounce_extraInitializers);\n __esDecorate(null, null, _currentSort_decorators, { kind: \"field\", name: \"currentSort\", static: false, private: false, access: { has: obj => \"currentSort\" in obj, get: obj => obj.currentSort, set: (obj, value) => { obj.currentSort = value; } }, metadata: _metadata }, _currentSort_initializers, _currentSort_extraInitializers);\n __esDecorate(null, null, _selector_decorators, { kind: \"field\", name: \"selector\", static: false, private: false, access: { has: obj => \"selector\" in obj, get: obj => obj.selector, set: (obj, value) => { obj.selector = value; } }, metadata: _metadata }, _selector_initializers, _selector_extraInitializers);\n __esDecorate(null, null, _selectorOptions_decorators, { kind: \"field\", name: \"selectorOptions\", static: false, private: false, access: { has: obj => \"selectorOptions\" in obj, get: obj => obj.selectorOptions, set: (obj, value) => { obj.selectorOptions = value; } }, metadata: _metadata }, _selectorOptions_initializers, _selectorOptions_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, _selectedRows_decorators, { kind: \"field\", name: \"selectedRows\", static: false, private: false, access: { has: obj => \"selectedRows\" in obj, get: obj => obj.selectedRows, set: (obj, value) => { obj.selectedRows = value; } }, metadata: _metadata }, _selectedRows_initializers, _selectedRows_extraInitializers);\n __esDecorate(null, null, _table_decorators, { kind: \"field\", name: \"table\", static: false, private: false, access: { has: obj => \"table\" in obj, get: obj => obj.table, set: (obj, value) => { obj.table = value; } }, metadata: _metadata }, _table_initializers, _table_extraInitializers);\n __esDecorate(null, null, _thead_decorators, { kind: \"field\", name: \"thead\", static: false, private: false, access: { has: obj => \"thead\" in obj, get: obj => obj.thead, set: (obj, value) => { obj.thead = value; } }, metadata: _metadata }, _thead_initializers, _thead_extraInitializers);\n __esDecorate(null, null, _tbody_decorators, { kind: \"field\", name: \"tbody\", static: false, private: false, access: { has: obj => \"tbody\" in obj, get: obj => obj.tbody, set: (obj, value) => { obj.tbody = value; } }, metadata: _metadata }, _tbody_initializers, _tbody_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 setData(data) {\n this.data = data;\n this.render();\n }\n setColumns(columns) {\n this.columns = columns;\n this.render();\n }\n async *getTableConfig() {\n const config = await (yield {});\n this.columns = config.columns || [];\n this.selectorOptions = config.selectorOptions || [];\n // Wait for next frame to ensure DOM is updated\n await new Promise(resolve => requestAnimationFrame(resolve));\n this.renderHeader();\n this.renderControls();\n return config;\n }\n async *getTableData() {\n this.loading = true;\n this.selectedRows = []; // Clear selections when loading new data\n try {\n const params = {\n search: this.searchText,\n sort: this.currentSort,\n selector: this.selector\n };\n const response = await (yield params);\n this.data = response.data || [];\n this.loading = false;\n // Wait for next frame to ensure DOM is updated\n await new Promise(resolve => requestAnimationFrame(resolve));\n this.renderBody();\n return response;\n }\n catch (error) {\n console.error('Error loading table data:', error);\n this.data = [];\n this.loading = false;\n // Wait for next frame to ensure DOM is updated\n await new Promise(resolve => requestAnimationFrame(resolve));\n this.renderBody();\n }\n }\n debouncedDataRequest() {\n // Set loading immediately for instant feedback\n if (!this.loading) {\n this.loading = true;\n }\n if (this.dataRequestTimeout) {\n clearTimeout(this.dataRequestTimeout);\n }\n this.dataRequestTimeout = setTimeout(() => {\n this.getTableData();\n this.dataRequestTimeout = null;\n }, 150);\n }\n styles() {\n return css /*css*/ `\n :host {\n display: block;\n }\n\n .snice-table {\n width: 100%;\n overflow: auto;\n }\n\n table {\n width: 100%;\n border-collapse: separate;\n border-spacing: 0;\n border-radius: var(--snice-border-radius-lg);\n border: 1px solid var(--snice-color-border);\n }\n\n th, td {\n padding: var(--snice-spacing-xsm) var(--snice-spacing-xsm);\n border: 1px solid var(--snice-color-border);\n text-align: left;\n color: var(--snice-color-text);\n max-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n th {\n padding: var(--snice-spacing-sm) var(--snice-spacing-sm);\n }\n\n th.select-column,\n td.select-column {\n width: 2.5rem;\n max-width: 2.5rem;\n text-align: center;\n padding: var(--snice-spacing-xs);\n }\n\n th {\n background-color: var(--snice-color-background-secondary);\n color: var(--snice-color-text);\n font-weight: var(--snice-font-weight-semibold);\n border-bottom: 2px solid var(--snice-color-border);\n }\n\n th.sortable {\n cursor: pointer;\n user-select: none;\n }\n\n th.sortable:hover {\n background-color: var(--snice-color-background-tertiary);\n }\n\n /* Row styling */\n :host([striped]) tbody tr:nth-child(even) {\n background-color: var(--snice-color-background-secondary);\n }\n\n :host([hoverable]) tbody tr:hover {\n background-color: var(--snice-color-background-tertiary);\n }\n\n :host([clickable]) tbody tr {\n cursor: pointer;\n }\n\n :host([selectable]) tbody tr {\n cursor: pointer;\n }\n\n tbody tr[data-selected=\"true\"] {\n background-color: var(--snice-color-background-tertiary);\n border-left: 3px solid var(--snice-color-primary);\n }\n\n tbody tr[data-selected=\"true\"]:hover {\n background-color: var(--snice-color-background-tertiary);\n }\n\n /* List mode - hide vertical borders */\n :host([list]) th,\n :host([list]) td {\n border-left: none;\n border-right: none;\n }\n\n :host([list]) th:first-child,\n :host([list]) td:first-child {\n border-left: none;\n }\n\n :host([list]) th:last-child,\n :host([list]) td:last-child {\n border-right: none;\n }\n\n :host([list]) table {\n border-left: none;\n border-right: none;\n }\n\n [part=\"header\"] {\n background-color: var(--snice-color-background);\n }\n\n [part=\"body\"] {\n background-color: var(--snice-table-body-bg, --snice-color-background);\n display: block;\n }\n\n .table-controls {\n display: flex;\n gap: var(--snice-spacing-md);\n align-items: center;\n flex-wrap: wrap;\n }\n\n :host(:not([searchable])) .search-input {\n display: none;\n }\n\n :host(.selector-options-empty) .selector-input {\n display: none;\n }\n\n .search-input,\n .selector-input {\n height: 2.5rem;\n }\n\n .search-input {\n min-width: 12.5rem;\n flex: 1;\n }\n\n .selector-input {\n min-width: 9.375rem;\n --snice-select-min-height: 2rem;\n }\n\n /* Sort indicators */\n .sort-header {\n display: flex;\n align-items: center;\n gap: var(--snice-spacing-xs);\n justify-content: space-between;\n }\n\n\n .sort-indicator {\n display: flex;\n flex-direction: column;\n font-size: 0.7em;\n line-height: 1;\n opacity: 0.3;\n transition: opacity var(--snice-transition-fast);\n }\n\n .sort-indicator.active {\n opacity: 1;\n }\n\n .sort-order {\n font-size: 0.6em;\n background: var(--snice-color-primary);\n color: var(--snice-color-text-inverse);\n border-radius: var(--snice-border-radius-sm);\n padding: 1px 3px;\n min-width: 12px;\n text-align: center;\n }\n\n /* Loading fade */\n tbody {\n transition: opacity var(--snice-transition-normal);\n }\n\n :host([loading]) tbody {\n opacity: 0.5;\n }\n\n .no-data {\n text-align: center;\n padding: var(--snice-spacing-lg);\n color: var(--snice-color-text-secondary);\n }\n\n /* Slotted table layout */\n .snice-table--slotted {\n border: 1px solid var(--snice-color-border);\n border-radius: var(--snice-border-radius-lg);\n overflow: hidden;\n }\n\n .snice-table--slotted .table-header {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: 1fr;\n background-color: var(--snice-color-background-secondary);\n border-bottom: 2px solid var(--snice-color-border);\n padding: var(--snice-spacing-sm);\n font-weight: var(--snice-font-weight-semibold);\n color: var(--snice-color-text);\n }\n\n .snice-table--slotted .header-cell {\n color: var(--snice-color-text);\n }\n\n .snice-table--slotted .table-header::slotted(snice-column) {\n padding: var(--snice-spacing-sm);\n }\n\n .snice-table--slotted .table-body {\n display: flex;\n flex-direction: column;\n }\n\n .snice-table--slotted .table-body::slotted(snice-row) {\n border-bottom: 1px solid var(--snice-color-border);\n }\n\n .snice-table--slotted .table-body::slotted(snice-row:last-child) {\n border-bottom: none;\n }\n\n :host([striped]) .snice-table--slotted .table-body::slotted(snice-row:nth-child(even)) {\n background-color: var(--snice-color-background-secondary);\n }\n\n :host([hoverable]) .snice-table--slotted .table-body::slotted(snice-row:hover) {\n background-color: var(--snice-color-background-tertiary);\n }\n `;\n }\n render() {\n // Check if we have slotted rows\n const hasSlottedRows = this.querySelectorAll('snice-row[slot=\"rows\"]').length > 0;\n if (hasSlottedRows) {\n // Use slotted rows layout\n return html /*html*/ `\n <div class=\"snice-table snice-table--slotted\" @click=${this.handleClick} @change=${this.handleChange}>\n <div class=\"table-controls-container\"></div>\n <div class=\"table-header\" id=\"slotted-header\"></div>\n <div class=\"table-body\">\n <slot name=\"rows\"></slot>\n </div>\n <slot name=\"columns\" style=\"display: none;\"></slot>\n </div>\n `;\n }\n else {\n // Use traditional table layout\n return html /*html*/ `\n <div class=\"snice-table\" @click=${this.handleClick} @change=${this.handleChange}>\n <div class=\"table-controls-container\"></div>\n <table>\n <thead></thead>\n <tbody></tbody>\n </table>\n </div>\n `;\n }\n }\n renderControls() {\n const container = this.shadowRoot?.querySelector('.table-controls-container');\n if (!container)\n return;\n const showControls = this.searchable || this.filterable;\n if (!showControls) {\n container.innerHTML = '';\n return;\n }\n // Only render if container is empty (first time)\n if (container.children.length === 0) {\n const controlsDiv = document.createElement('div');\n controlsDiv.className = 'table-controls';\n controlsDiv.setAttribute('part', 'controls');\n if (this.searchable) {\n const searchInput = document.createElement('snice-input');\n searchInput.className = 'search-input';\n searchInput.setAttribute('type', 'search');\n searchInput.setAttribute('placeholder', 'Search...');\n searchInput.setAttribute('size', 'medium');\n searchInput.addEventListener('input', this.handleSearchInput);\n controlsDiv.appendChild(searchInput);\n }\n if (this.filterable) {\n const select = document.createElement('snice-select');\n select.className = 'selector-input';\n select.setAttribute('multiple', '');\n select.setAttribute('searchable', '');\n select.setAttribute('clearable', '');\n select.setAttribute('placeholder', 'Filter...');\n select.setAttribute('size', 'medium');\n this.selectorOptions.forEach(opt => {\n const option = document.createElement('snice-option');\n option.setAttribute('value', opt.value);\n option.textContent = opt.label;\n select.appendChild(option);\n });\n controlsDiv.appendChild(select);\n }\n container.appendChild(controlsDiv);\n }\n }\n async initialize() {\n // Listen for controller attached event\n this.addEventListener('controller-attached', this.onAttached);\n // Listen for select change events from the filter dropdown\n this.addEventListener('select-change', this.handleSelectorChange);\n // Wait for snice-column to be defined\n await customElements.whenDefined('snice-column');\n await customElements.whenDefined('snice-row');\n // Process slotted columns and rows\n await this.processSlottedContent();\n // Render controls after initial setup\n this.renderControls();\n }\n async processSlottedContent() {\n // Get slotted column elements\n const columnElements = Array.from(this.querySelectorAll('snice-column[slot=\"columns\"]'));\n if (columnElements.length > 0) {\n // Extract column definitions from snice-column elements\n this.columns = columnElements.map((col) => col.getColumnDefinition());\n // Pass column definitions to slotted rows\n const rowElements = Array.from(this.querySelectorAll('snice-row[slot=\"rows\"]'));\n rowElements.forEach((row, index) => {\n row.columns = this.columns;\n row.index = index;\n row.hoverable = this.hoverable;\n row.clickable = this.clickable;\n row.selectable = this.selectable;\n });\n // Render the header for slotted mode (after next tick to ensure DOM is updated)\n requestAnimationFrame(() => this.renderSlottedHeader());\n }\n }\n renderSlottedHeader() {\n const headerContainer = this.shadowRoot?.querySelector('#slotted-header');\n if (!headerContainer || this.columns.length === 0)\n return;\n // Render column headers\n headerContainer.innerHTML = this.columns.map(col => `<div class=\"header-cell\">${col.label}</div>`).join('');\n }\n handleSelectorOptionsChange() {\n // Update CSS class to show/hide selector\n if (this.selectorOptions.length === 0) {\n this.classList.add('selector-options-empty');\n }\n else {\n this.classList.remove('selector-options-empty');\n }\n }\n handleSortableChange() {\n this.renderHeader(); // Re-render header to show/hide sort indicators\n }\n handleSelectableChange() {\n this.render(); // Re-render both header and body for checkbox columns\n }\n handleColumnsChange() {\n this.renderHeader();\n }\n handleDataChange() {\n this.renderBody();\n }\n handleSelectedRowsChange() {\n this.updateRowSelectionState();\n this.updateSelectAllState();\n }\n handleSortChange() {\n this.renderHeader();\n }\n handleControlsChange() {\n this.renderControls();\n }\n renderHeader() {\n if (!this.thead)\n return;\n const headerRow = document.createElement('tr');\n if (this.selectable) {\n const selectCell = document.createElement('th');\n selectCell.className = 'select-column';\n const allSelected = this.selectedRows.length === this.data.length && this.data.length > 0;\n const someSelected = this.selectedRows.length > 0 && this.selectedRows.length < this.data.length;\n selectCell.innerHTML = `<input type=\"checkbox\" class=\"select-all\" ${allSelected ? 'checked' : ''} />`;\n headerRow.appendChild(selectCell);\n // Set indeterminate after insertion\n setTimeout(() => {\n const checkbox = selectCell.querySelector('.select-all');\n if (checkbox) {\n checkbox.indeterminate = someSelected;\n }\n }, 0);\n }\n this.columns.forEach(column => {\n const th = document.createElement('th');\n th.setAttribute('data-key', column.key);\n if (this.sortable && column.sortable !== false) {\n th.classList.add('sortable');\n th.setAttribute('role', 'button');\n th.innerHTML = this.renderSortableHeader(column);\n }\n else {\n th.textContent = column.label;\n }\n headerRow.appendChild(th);\n });\n this.thead.innerHTML = '';\n this.thead.appendChild(headerRow);\n }\n renderSortableHeader(column) {\n const sortItem = this.currentSort.find(s => s.column === column.key);\n const sortIndex = this.currentSort.findIndex(s => s.column === column.key);\n const isActive = !!sortItem;\n let indicator = '▲▼'; // Default unsorted state\n let orderNumber = '';\n if (sortItem) {\n if (sortItem.direction === 'asc') {\n indicator = '▲';\n }\n else if (sortItem.direction === 'desc') {\n indicator = '▼';\n }\n if (this.currentSort.length > 1) {\n orderNumber = `<span class=\"sort-order\">${sortIndex + 1}</span>`;\n }\n }\n const indicatorClasses = ['sort-indicator', isActive ? 'active' : ''].filter(Boolean).join(' ');\n return `\n <div class=\"sort-header\">\n <span>${column.label}</span>\n <div class=\"${indicatorClasses}\">\n ${indicator}\n ${orderNumber}\n </div>\n </div>\n `;\n }\n renderBody() {\n if (!this.tbody)\n return;\n this.tbody.innerHTML = '';\n if (this.data.length === 0 && this.columns.length > 0) {\n if (this.loading) {\n // Show loading spinner\n const tr = document.createElement('tr');\n const td = document.createElement('td');\n const colSpan = this.columns.length + (this.selectable ? 1 : 0);\n td.colSpan = colSpan;\n td.className = 'no-data';\n td.innerHTML = '<snice-progress variant=\"circular\" indeterminate size=\"small\"></snice-progress>';\n tr.appendChild(td);\n this.tbody.appendChild(tr);\n return;\n }\n else {\n // Show \"No Data\" message\n const tr = document.createElement('tr');\n const td = document.createElement('td');\n const colSpan = this.columns.length + (this.selectable ? 1 : 0);\n td.colSpan = colSpan;\n td.className = 'no-data';\n td.textContent = 'No Data';\n tr.appendChild(td);\n this.tbody.appendChild(tr);\n return;\n }\n }\n const fragment = document.createDocumentFragment();\n this.data.forEach((rowData, index) => {\n const tr = document.createElement('tr');\n tr.setAttribute('data-index', String(index));\n // Set row selection state\n const isSelected = this.selectedRows.includes(index);\n tr.setAttribute('data-selected', String(isSelected));\n if (this.selectable) {\n const selectCell = document.createElement('td');\n selectCell.className = 'select-column';\n selectCell.innerHTML = `<input type=\"checkbox\" class=\"row-select\" ${isSelected ? 'checked' : ''} data-row-index=\"${index}\" />`;\n tr.appendChild(selectCell);\n }\n this.columns.forEach(column => {\n const td = document.createElement('td');\n const value = rowData[column.key];\n // Create cell component as HTML string\n const cellTagName = this.getCellTagName(column.type);\n const attributes = this.getCellAttributes(column, value);\n td.innerHTML = `<${cellTagName} ${attributes}></${cellTagName}>`;\n tr.appendChild(td);\n });\n fragment.appendChild(tr);\n });\n this.tbody.appendChild(fragment);\n }\n getCellAttributes(column, value) {\n const attributes = [\n `type=\"${column.type}\"`,\n `align=\"${column.align || 'left'}\"`,\n `value=\"${String(value || '').replace(/\"/g, '&quot;')}\"`,\n `in-table=\"true\"`\n ];\n // Add type-specific attributes\n if (column.type === 'number' || column.type === 'currency') {\n if (column.decimals !== undefined)\n attributes.push(`decimals=\"${column.decimals}\"`);\n if (column.thousandsSeparator)\n attributes.push(`thousands-separator=\"true\"`);\n if (column.prefix)\n attributes.push(`prefix=\"${column.prefix}\"`);\n if (column.suffix)\n attributes.push(`suffix=\"${column.suffix}\"`);\n }\n if (column.type === 'date') {\n if (column.dateFormat)\n attributes.push(`date-format=\"${column.dateFormat}\"`);\n }\n if (column.type === 'boolean') {\n if (column.useSymbols)\n attributes.push(`use-symbols=\"true\"`);\n if (column.trueSymbol)\n attributes.push(`true-symbol=\"${column.trueSymbol}\"`);\n if (column.falseSymbol)\n attributes.push(`false-symbol=\"${column.falseSymbol}\"`);\n if (column.trueValue)\n attributes.push(`true-value=\"${column.trueValue}\"`);\n if (column.falseValue)\n attributes.push(`false-value=\"${column.falseValue}\"`);\n }\n return attributes.join(' ');\n }\n getCellTagName(type) {\n switch (type) {\n case 'text':\n return 'snice-cell-text';\n case 'number':\n case 'currency':\n return 'snice-cell-number';\n case 'date':\n return 'snice-cell-date';\n case 'boolean':\n return 'snice-cell-boolean';\n case 'rating':\n return 'snice-cell-rating';\n case 'progress':\n return 'snice-cell-progress';\n case 'duration':\n return 'snice-cell-duration';\n case 'filesize':\n return 'snice-cell-filesize';\n case 'sparkline':\n return 'snice-cell-sparkline';\n case 'image':\n return 'snice-cell-image';\n default:\n return 'snice-cell';\n }\n }\n updateRowSelectionState() {\n if (!this.tbody)\n return;\n const rows = this.tbody.querySelectorAll('tr');\n rows.forEach((row, index) => {\n const isSelected = this.selectedRows.includes(index);\n row.setAttribute('data-selected', String(isSelected));\n const checkbox = row.querySelector('.row-select');\n if (checkbox) {\n checkbox.checked = isSelected;\n }\n });\n }\n updateSelectAllState() {\n const selectAllCheckbox = this.thead?.querySelector('.select-all');\n if (!selectAllCheckbox)\n return;\n const allSelected = this.selectedRows.length === this.data.length;\n const someSelected = this.selectedRows.length > 0 && this.selectedRows.length < this.data.length;\n selectAllCheckbox.checked = allSelected;\n selectAllCheckbox.indeterminate = someSelected;\n }\n toggleSort(columnKey, multiSort = false) {\n if (!multiSort) {\n // Single column sort - clear all other sorts\n const existingSort = this.currentSort.find(s => s.column === columnKey);\n if (!existingSort) {\n this.currentSort = [{ column: columnKey, direction: 'asc' }];\n }\n else if (existingSort.direction === 'asc') {\n this.currentSort = [{ column: columnKey, direction: 'desc' }];\n }\n else {\n this.currentSort = [];\n }\n }\n else {\n // Multi column sort - modify existing or add new\n const existingSortIndex = this.currentSort.findIndex(s => s.column === columnKey);\n if (existingSortIndex === -1) {\n // Add new sort\n this.currentSort = [...this.currentSort, { column: columnKey, direction: 'asc' }];\n }\n else {\n const existingSort = this.currentSort[existingSortIndex];\n if (existingSort.direction === 'asc') {\n // Change to desc - create new array to trigger reactivity\n this.currentSort = this.currentSort.map((sort, index) => index === existingSortIndex ? { ...sort, direction: 'desc' } : sort);\n }\n else {\n // Remove this sort\n this.currentSort = this.currentSort.filter(s => s.column !== columnKey);\n }\n }\n }\n this.renderHeader(); // Update sort indicators immediately\n this.debouncedDataRequest(); // Show loading immediately, debounce the actual request\n }\n dispatchRowSelectionChanged(rowIndex, selected) {\n return {\n selectedRows: this.selectedRows,\n rowIndex,\n selected\n };\n }\n dispatchSelectAllChanged(allSelected) {\n return {\n selectedRows: this.selectedRows,\n allSelected\n };\n }\n });\n return _classThis;\n})();\n\nexport { SniceTable };\n//# sourceMappingURL=snice-table.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","renderIcon","icon","className","html","startsWith","src","slice","content","test","SuppressedError","_classDescriptor","_classThis","_type_decorators","_size_decorators","_variant_decorators","_value_decorators","_placeholder_decorators","_label_decorators","_helperText_decorators","_errorText_decorators","_disabled_decorators","_readonly_decorators","_loading_decorators","_required_decorators","_invalid_decorators","_clearable_decorators","_password_decorators","_min_decorators","_max_decorators","_step_decorators","_pattern_decorators","_maxlength_decorators","_minlength_decorators","_autocomplete_decorators","_name_decorators","_align_decorators","_labelAlign_decorators","_stretch_decorators","_prefixIcon_decorators","_suffixIcon_decorators","_input_decorators","_clearButton_decorators","_passwordToggle_decorators","_render_decorators","_styles_decorators","_init_decorators","_handleValueChange_decorators","_handleInvalidChange_decorators","_handleDisabledChange_decorators","_handleLoadingChange_decorators","_handleReadonlyChange_decorators","_handlePlaceholderChange_decorators","_handleMinChange_decorators","_handleMaxChange_decorators","_handleStepChange_decorators","_handleMaxLengthChange_decorators","_handleMinLengthChange_decorators","_handlePatternChange_decorators","_handleTypeChange_decorators","_handleLabelChange_decorators","_dispatchInputEvent_decorators","_dispatchChangeEvent_decorators","_dispatchFocusEvent_decorators","_dispatchBlurEvent_decorators","_dispatchClearEvent_decorators","_classDecorators","element","formAssociated","_classExtraInitializers","_classSuper","HTMLElement","_instanceExtraInitializers","_type_initializers","_type_extraInitializers","_size_initializers","_size_extraInitializers","_variant_initializers","_variant_extraInitializers","_value_initializers","_value_extraInitializers","_placeholder_initializers","_placeholder_extraInitializers","_label_initializers","_label_extraInitializers","_helperText_initializers","_helperText_extraInitializers","_errorText_initializers","_errorText_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_readonly_initializers","_readonly_extraInitializers","_loading_initializers","_loading_extraInitializers","_required_initializers","_required_extraInitializers","_invalid_initializers","_invalid_extraInitializers","_clearable_initializers","_clearable_extraInitializers","_password_initializers","_password_extraInitializers","_min_initializers","_min_extraInitializers","_max_initializers","_max_extraInitializers","_step_initializers","_step_extraInitializers","_pattern_initializers","_pattern_extraInitializers","_maxlength_initializers","_maxlength_extraInitializers","_minlength_initializers","_minlength_extraInitializers","_autocomplete_initializers","_autocomplete_extraInitializers","_name_initializers","_name_extraInitializers","_align_initializers","_align_extraInitializers","_labelAlign_initializers","_labelAlign_extraInitializers","_stretch_initializers","_stretch_extraInitializers","_prefixIcon_initializers","_prefixIcon_extraInitializers","_suffixIcon_initializers","_suffixIcon_extraInitializers","_input_initializers","_input_extraInitializers","_clearButton_initializers","_clearButton_extraInitializers","_passwordToggle_initializers","_passwordToggle_extraInitializers","this","_metadata","Symbol","metadata","create","property","attribute","type","Boolean","Number","query","render","styles","ready","watch","dispatch","bubbles","composed","static","private","has","obj","handleValueChange","handleInvalidChange","handleDisabledChange","handleLoadingChange","handleReadonlyChange","handlePlaceholderChange","handleMinChange","handleMaxChange","handleStepChange","handleMaxLengthChange","handleMinLengthChange","handlePatternChange","handleTypeChange","handleLabelChange","dispatchInputEvent","dispatchChangeEvent","dispatchFocusEvent","dispatchBlurEvent","dispatchClearEvent","size","variant","placeholder","label","helperText","errorText","disabled","readonly","loading","required","invalid","clearable","password","min","max","step","pattern","maxlength","minlength","autocomplete","align","labelAlign","stretch","prefixIcon","suffixIcon","input","clearButton","passwordToggle","enumerable","configurable","writable","constructor","super","internals","showPassword","attachInternals","inputClasses","filter","join","labelClasses","clearButtonClasses","handleInput","handleChange","handleFocus","handleBlur","handleClear","handlePasswordToggle","css","setFormValue","shouldShow","style","display","classList","toggle","setAttribute","add","maxLength","minLength","readOnly","e","clear","hiddenIcon","querySelector","visibleIcon","String","remove","labelEl","shadowRoot","textContent","wrapper","parentElement","focus","blur","select","checkValidity","reportValidity","setCustomValidity","message","_selected_decorators","_icon_decorators","_selected_initializers","_selected_extraInitializers","_icon_initializers","_icon_extraInitializers","selected","trim","optionData","_multiple_decorators","_searchable_decorators","_open_decorators","_maxHeight_decorators","_trigger_decorators","_dropdown_decorators","_valueDisplay_decorators","_labelElement_decorators","_searchInput_decorators","_optionsList_decorators","_arrow_decorators","_searchContainer_decorators","_optionElements_decorators","_cleanup_decorators","_handleOpenChange_decorators","_dispatchOpenEvent_decorators","_dispatchCloseEvent_decorators","_multiple_initializers","_multiple_extraInitializers","_searchable_initializers","_searchable_extraInitializers","_open_initializers","_open_extraInitializers","_maxHeight_initializers","_maxHeight_extraInitializers","_trigger_initializers","_trigger_extraInitializers","_dropdown_initializers","_dropdown_extraInitializers","_valueDisplay_initializers","_valueDisplay_extraInitializers","_labelElement_initializers","_labelElement_extraInitializers","_searchInput_initializers","_searchInput_extraInitializers","_optionsList_initializers","_optionsList_extraInitializers","_arrow_initializers","_arrow_extraInitializers","_searchContainer_initializers","_searchContainer_extraInitializers","_optionElements_initializers","_optionElements_extraInitializers","queryAll","dispose","cleanup","handleOpenChange","dispatchOpenEvent","dispatchCloseEvent","multiple","searchable","open","maxHeight","trigger","dropdown","valueDisplay","labelElement","searchInput","optionsList","arrow","searchContainer","optionElements","options","filteredOptions","selectedValues","Set","focusedIndex","triggerClasses","searchHidden","handleTriggerOpen","handleTriggerClick","handleClearClick","handleOptionsClick","handleSearchKeydown","handleSearchInput","renderOptions","map","opt","index","isSelected","readOptionsFromChildren","split","v","requestAnimationFrame","updateTriggerState","updateDropdownState","updateDropdownContent","updateValueDisplay","updateClearButton","observeChildren","setupGlobalListeners","removeGlobalListeners","childObserver","disconnect","outsideClickHandler","contains","closeDropdown","globalKeyHandler","preventDefault","focusNextOption","focusPreviousOption","option","handleOptionSelect","document","addEventListener","removeEventListener","observer","MutationObserver","mutations","handleChildrenChange","observe","childList","subtree","attributes","attributeFilter","some","m","includes","attributeName","nodeName","Array","from","querySelectorAll","sniceOption","getAttribute","hasAttribute","openDropdown","updateOptionFocus","forEach","el","stopPropagation","closest","toggleDropdown","delete","optionEl","find","searchTerm","toLowerCase","setTimeout","selectedOptions","innerHTML","selectOption","cssContent","_column_decorators","_rowData_decorators","_contentElement_decorators","_updateAlignment_decorators","_updateContent_decorators","_column_initializers","_column_extraInitializers","_rowData_initializers","_rowData_extraInitializers","_contentElement_initializers","_contentElement_extraInitializers","updateAlignment","updateContent","column","rowData","contentElement","formatValue","applyAlignment","applyConditionalFormatting","textAlign","conditionalFormats","removeAttribute","applyStyle","format","condition","backgroundColor","color","fontWeight","fontStyle","fontSize","textDecoration","undefined","formatter","formatText","formatNumber","formatCurrency","formatPercent","formatAccounting","formatScientific","formatFraction","formatDate","formatBoolean","formatRating","formatProgress","formatSparkline","formatDuration","formatFilesize","numberFormat","num","isNaN","formatted","toFixed","decimals","thousandsSeparator","parts","replace","negativeStyle","prefix","suffix","currencyFormat","currency","minimumFractionDigits","maximumFractionDigits","Intl","NumberFormat","percentFormat","Math","abs","toExponential","h1","h2","k1","k2","b","a","floor","aux","dateFormat","date","Date","getTime","customFormat","getFullYear","toString","getMonth","padStart","getDate","dateStyle","DateTimeFormat","locale","booleanFormat","bool","useSymbols","trueSymbol","falseSymbol","trueValue","falseValue","ratingFormat","rating","symbol","emptySymbol","primaryColor","getComputedStyle","getPropertyValue","emptyColor","progressFormat","percentage","bgColor","height","showPercentage","round","sparklineFormat","data","isArray","width","range","points","val","barWidth","bars","barHeight","seconds","hours","minutes","secs","bytes","units","unitIndex","_multiline_decorators","_maxLines_decorators","_multiline_initializers","_multiline_extraInitializers","_maxLines_initializers","_maxLines_extraInitializers","multiline","maxLines","formatTextContent","textStyles","getTextStyles","text","ellipsis","wrap","_decimals_decorators","_thousandsSeparator_decorators","_prefix_decorators","_suffix_decorators","_negativeStyle_decorators","_highlight_decorators","_decimals_initializers","_decimals_extraInitializers","_thousandsSeparator_initializers","_thousandsSeparator_extraInitializers","_prefix_initializers","_prefix_extraInitializers","_suffix_initializers","_suffix_extraInitializers","_negativeStyle_initializers","_negativeStyle_extraInitializers","_highlight_initializers","_highlight_extraInitializers","highlight","formattedValue","formatNumberValue","getNumberStyles","negStyle","_dateFormat_decorators","_customFormat_decorators","_locale_decorators","_relativeTime_decorators","_showTime_decorators","_dateFormat_initializers","_dateFormat_extraInitializers","_customFormat_initializers","_customFormat_extraInitializers","_locale_initializers","_locale_extraInitializers","_relativeTime_initializers","_relativeTime_extraInitializers","_showTime_initializers","_showTime_extraInitializers","relativeTime","showTime","formatDateValue","dateStyles","getDateStyles","formatRelativeTime","formatCustomDate","timeStyle","tokens","YYYY","YY","MM","M","DD","D","HH","getHours","H","mm","getMinutes","ss","getSeconds","s","token","entries","RegExp","diffMs","diffSecs","diffMins","diffHours","diffDays","now","isToday","toDateString","isPast","isFuture","_trueValue_decorators","_falseValue_decorators","_useSymbols_decorators","_trueSymbol_decorators","_falseSymbol_decorators","_trueValue_initializers","_trueValue_extraInitializers","_falseValue_initializers","_falseValue_extraInitializers","_useSymbols_initializers","_useSymbols_extraInitializers","_trueSymbol_initializers","_trueSymbol_extraInitializers","_falseSymbol_initializers","_falseSymbol_extraInitializers","formatBooleanContent","unsafeHTML","isTrue","_symbol_decorators","_emptySymbol_decorators","_color_decorators","_symbol_initializers","_symbol_extraInitializers","_emptySymbol_initializers","_emptySymbol_extraInitializers","_color_initializers","_color_extraInitializers","filled","empty","repeat","createRatingElement","createElement","appendChild","_backgroundColor_decorators","_height_decorators","_showPercentage_decorators","_backgroundColor_initializers","_backgroundColor_extraInitializers","_height_initializers","_height_extraInitializers","_showPercentage_initializers","_showPercentage_extraInitializers","createProgressElement","progress","formatFileSize","_chartType_decorators","_width_decorators","_showDots_decorators","_showBaseline_decorators","_strokeWidth_decorators","_minValue_decorators","_maxValue_decorators","_data_decorators","_updateSparkline_decorators","_chartType_initializers","_chartType_extraInitializers","_width_initializers","_width_extraInitializers","_showDots_initializers","_showDots_extraInitializers","_showBaseline_initializers","_showBaseline_extraInitializers","_strokeWidth_initializers","_strokeWidth_extraInitializers","_minValue_initializers","_minValue_extraInitializers","_maxValue_initializers","_maxValue_extraInitializers","_data_initializers","_data_extraInitializers","SimpleArray","updateSparkline","chartType","showDots","showBaseline","strokeWidth","minValue","maxValue","renderSparkline","parseData","createCanvas","n","endsWith","parsed","JSON","parse","canvas","ctx","getContext","chartWidth","chartHeight","clearRect","resolvedColor","match","strokeStyle","fillStyle","lineWidth","lineCap","lineJoin","beginPath","moveTo","x","y","lineTo","closePath","globalAlpha","fill","stroke","arc","PI","barSpacing","fillRect","toDataURL","error","console","_key_decorators","_sortable_decorators","_filterable_decorators","_wrap_decorators","_ellipsis_decorators","_tooltip_decorators","_numberPrefix_decorators","_numberSuffix_decorators","_customDateFormat_decorators","_dateLocale_decorators","_ratingMax_decorators","_ratingSymbol_decorators","_ratingEmptySymbol_decorators","_ratingColor_decorators","_progressMax_decorators","_progressColor_decorators","_progressBgColor_decorators","_progressHeight_decorators","_sparklineType_decorators","_sparklineColor_decorators","_sparklineWidth_decorators","_sparklineHeight_decorators","_cellBgColor_decorators","_cellColor_decorators","_cellFontWeight_decorators","_cellFontStyle_decorators","_cellFontSize_decorators","_cellTextDecoration_decorators","_handleBasicPropsChange_decorators","_handleNumberFormatChange_decorators","_handleDateFormatChange_decorators","_handleBooleanFormatChange_decorators","_handleRatingFormatChange_decorators","_handleProgressFormatChange_decorators","_handleSparklineFormatChange_decorators","_handleStyleChange_decorators","_key_initializers","_key_extraInitializers","_sortable_initializers","_sortable_extraInitializers","_filterable_initializers","_filterable_extraInitializers","_wrap_initializers","_wrap_extraInitializers","_ellipsis_initializers","_ellipsis_extraInitializers","_tooltip_initializers","_tooltip_extraInitializers","_numberPrefix_initializers","_numberPrefix_extraInitializers","_numberSuffix_initializers","_numberSuffix_extraInitializers","_customDateFormat_initializers","_customDateFormat_extraInitializers","_dateLocale_initializers","_dateLocale_extraInitializers","_ratingMax_initializers","_ratingMax_extraInitializers","_ratingSymbol_initializers","_ratingSymbol_extraInitializers","_ratingEmptySymbol_initializers","_ratingEmptySymbol_extraInitializers","_ratingColor_initializers","_ratingColor_extraInitializers","_progressMax_initializers","_progressMax_extraInitializers","_progressColor_initializers","_progressColor_extraInitializers","_progressBgColor_initializers","_progressBgColor_extraInitializers","_progressHeight_initializers","_progressHeight_extraInitializers","_sparklineType_initializers","_sparklineType_extraInitializers","_sparklineColor_initializers","_sparklineColor_extraInitializers","_sparklineWidth_initializers","_sparklineWidth_extraInitializers","_sparklineHeight_initializers","_sparklineHeight_extraInitializers","_cellBgColor_initializers","_cellBgColor_extraInitializers","_cellColor_initializers","_cellColor_extraInitializers","_cellFontWeight_initializers","_cellFontWeight_extraInitializers","_cellFontStyle_initializers","_cellFontStyle_extraInitializers","_cellFontSize_initializers","_cellFontSize_extraInitializers","_cellTextDecoration_initializers","_cellTextDecoration_extraInitializers","sortable","filterable","tooltip","numberPrefix","numberSuffix","customDateFormat","dateLocale","ratingMax","ratingSymbol","ratingEmptySymbol","ratingColor","progressMax","progressColor","progressBgColor","progressHeight","sparklineType","sparklineColor","sparklineWidth","sparklineHeight","cellBgColor","cellColor","cellFontWeight","cellFontStyle","cellFontSize","cellTextDecoration","handleBasicPropsChange","handleNumberFormatChange","handleDateFormatChange","handleBooleanFormatChange","handleRatingFormatChange","handleProgressFormatChange","handleSparklineFormatChange","handleStyleChange","setFormatter","notifyTableOfChange","addConditionalFormat","removeConditionalFormat","splice","clearConditionalFormats","getColumnDefinition","definition","keys","cellStyle","dispatchEvent","CustomEvent","detail","_href_decorators","_target_decorators","_external_decorators","_text_decorators","_updateCellAttributes_decorators","_href_initializers","_href_extraInitializers","_target_initializers","_target_extraInitializers","_external_initializers","_external_extraInitializers","_text_initializers","_text_extraInitializers","updateCellAttributes","href","external","linkHref","linkText","isExternal","iconHTML","externalIcon","linkFormat","_actions_decorators","_extractActionsFromColumn_decorators","_dispatchAction_decorators","_actions_initializers","_actions_extraInitializers","extractActionsFromColumn","dispatchAction","actions","action","renderActionButton","actionsFormat","isImageUrl","title","handleActionClick","_tags_decorators","_extractTagsFromColumn_decorators","_tags_initializers","_tags_extraInitializers","extractTagsFromColumn","tags","tagList","parseValue","tag","renderTag","tagFormat","t","_src_decorators","_alt_decorators","_fallback_decorators","_lazy_decorators","_imageError_decorators","_updateImageAttributes_decorators","_src_initializers","_src_extraInitializers","_alt_initializers","_alt_extraInitializers","_fallback_initializers","_fallback_extraInitializers","_lazy_initializers","_lazy_extraInitializers","_imageError_initializers","_imageError_extraInitializers","updateImageAttributes","alt","fallback","lazy","imageError","imageSrc","imageAlt","loadingAttr","classes","handleImageError","imageFormat","_email_decorators","_displayText_decorators","_showIcon_decorators","_updateEmailAttributes_decorators","_email_initializers","_email_extraInitializers","_displayText_initializers","_displayText_extraInitializers","_showIcon_initializers","_showIcon_extraInitializers","updateEmailAttributes","email","displayText","showIcon","emailAddress","displayName","emailFormat","_phone_decorators","_format_decorators","_country_decorators","_updatePhoneAttributes_decorators","_phone_initializers","_phone_extraInitializers","_format_initializers","_format_extraInitializers","_country_initializers","_country_extraInitializers","updatePhoneAttributes","phone","country","phoneNumber","formatPhoneNumber","phoneFormat","cleaned","_status_decorators","_showDot_decorators","_updateStatusAttributes_decorators","_status_initializers","_status_extraInitializers","_showDot_initializers","_showDot_extraInitializers","updateStatusAttributes","status","showDot","statusValue","statusLabel","statusVariant","getStatusVariant","dotHTML","statusFormat","lowerStatus","_showSwatch_decorators","_showHex_decorators","_showRgb_decorators","_swatchSize_decorators","_updateColorAttributes_decorators","_showSwatch_initializers","_showSwatch_extraInitializers","_showHex_initializers","_showHex_extraInitializers","_showRgb_initializers","_showRgb_extraInitializers","_swatchSize_initializers","_swatchSize_extraInitializers","updateColorAttributes","showSwatch","showHex","showRgb","swatchSize","colorValue","swatchHTML","textDisplay","rgb","hexToRgb","r","g","colorFormat","hex","exec","parseInt","_collapsed_decorators","_maxDepth_decorators","_showToggle_decorators","_updateJsonAttributes_decorators","_handleToggle_decorators","_collapsed_initializers","_collapsed_extraInitializers","_maxDepth_initializers","_maxDepth_extraInitializers","_showToggle_initializers","_showToggle_extraInitializers","on","updateJsonAttributes","handleToggle","collapsed","maxDepth","showToggle","jsonValue","tryParseJson","toggleHTML","jsonHTML","renderCollapsed","renderExpanded","jsonFormat","str","json","renderValue","depth","item","_currency_decorators","_currencyDisplay_decorators","_currency_initializers","_currency_extraInitializers","_currencyDisplay_initializers","_currencyDisplay_extraInitializers","currencyDisplay","formatCurrencyValue","getCurrencyStyles","_showTrend_decorators","_trendValue_decorators","_colorize_decorators","_showTrend_initializers","_showTrend_extraInitializers","_trendValue_initializers","_trendValue_extraInitializers","_colorize_initializers","_colorize_extraInitializers","showTrend","trendValue","colorize","formatPercentageValue","trendArrow","getTrendArrow","getPercentageStyles","trendHTML","percentageFormat","trend","shouldColorize","_address_decorators","_latitude_decorators","_longitude_decorators","_showMapLink_decorators","_mapProvider_decorators","_updateLocationAttributes_decorators","_address_initializers","_address_extraInitializers","_latitude_initializers","_latitude_extraInitializers","_longitude_initializers","_longitude_extraInitializers","_showMapLink_initializers","_showMapLink_extraInitializers","_mapProvider_initializers","_mapProvider_extraInitializers","updateLocationAttributes","address","latitude","longitude","showMapLink","mapProvider","locationValue","mapLink","getMapLink","locationFormat","lat","lon","encodeURIComponent","_hoverable_decorators","_clickable_decorators","_selectable_decorators","_index_decorators","_columns_decorators","_updateSelection_decorators","_updateRowAttributes_decorators","_updateCells_decorators","_dispatchRowClick_decorators","_dispatchRowSelect_decorators","_dispatchRowHover_decorators","_hoverable_initializers","_hoverable_extraInitializers","_clickable_initializers","_clickable_extraInitializers","_selectable_initializers","_selectable_extraInitializers","_index_initializers","_index_extraInitializers","_columns_initializers","_columns_extraInitializers","updateSelection","updateRowAttributes","updateCells","dispatchRowClick","dispatchRowSelect","dispatchRowHover","hoverable","clickable","selectable","columns","extractDataFromAttributes","getAttributeNames","attrName","handleRowClick","handleKeyDown","renderCheckbox","columnIndex","renderCell","configureCells","cellElement","checkbox","checked","matches","toggleSelection","cellComponent","getCellComponent","getCellStyles","escapeHtml","div","deselect","focusRow","scrollIntoView","behavior","block","getCellValue","columnKey","setCellValue","getCellElement","col","indexOf","duration","SniceTable","_striped_decorators","_list_decorators","_searchDebounce_decorators","_currentSort_decorators","_selector_decorators","_selectorOptions_decorators","_selectedRows_decorators","_table_decorators","_thead_decorators","_tbody_decorators","_getTableConfig_decorators","_getTableData_decorators","_initialize_decorators","_handleSelectorOptionsChange_decorators","_handleSortableChange_decorators","_handleSelectableChange_decorators","_handleColumnsChange_decorators","_handleDataChange_decorators","_handleSelectedRowsChange_decorators","_handleSortChange_decorators","_handleControlsChange_decorators","_dispatchRowSelectionChanged_decorators","_dispatchSelectAllChanged_decorators","_striped_initializers","_striped_extraInitializers","_list_initializers","_list_extraInitializers","_searchDebounce_initializers","_searchDebounce_extraInitializers","_currentSort_initializers","_currentSort_extraInitializers","_selector_initializers","_selector_extraInitializers","_selectorOptions_initializers","_selectorOptions_extraInitializers","_selectedRows_initializers","_selectedRows_extraInitializers","_table_initializers","_table_extraInitializers","_thead_initializers","_thead_extraInitializers","_tbody_initializers","_tbody_extraInitializers","striped","list","searchDebounce","currentSort","searchText","selector","selectorOptions","selectedRows","table","thead","tbody","dataRequestTimeout","handleClick","th","toggleSort","tr","rowIndex","isCurrentlySelected","updateRowSelectionState","updateSelectAllState","dispatchRowSelectionChanged","dispatchSelectAllChanged","onAttached","getTableConfig","getTableData","searchDebounceTimeout","clearTimeout","debouncedDataRequest","selectorDebounceTimeout","handleSelectorChange","request","initialize","handleSelectorOptionsChange","handleSortableChange","handleSelectableChange","handleColumnsChange","handleDataChange","handleSelectedRowsChange","handleSortChange","handleControlsChange","setData","setColumns","config","Promise","resolve","renderHeader","renderControls","params","search","sort","response","renderBody","container","children","controlsDiv","customElements","whenDefined","processSlottedContent","columnElements","row","renderSlottedHeader","headerContainer","headerRow","selectCell","allSelected","someSelected","indeterminate","renderSortableHeader","sortItem","sortIndex","findIndex","isActive","indicator","orderNumber","direction","indicatorClasses","td","colSpan","fragment","createDocumentFragment","cellTagName","getCellTagName","getCellAttributes","selectAllCheckbox","multiSort","existingSortIndex","existingSort"],"mappings":"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","x_google_ignoreList":[0]}