@eunomia/elements 1.0.0-beta.5 → 1.0.0-beta.7

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 (516) hide show
  1. package/README.md +2 -2
  2. package/dist/breakpoints.d.ts +37 -10
  3. package/dist/breakpoints.js +38 -10
  4. package/dist/cdn/components/chunks/{chunk-MMLIPCOY.js → chunk-22D3SRFR.js} +1 -1
  5. package/dist/cdn/components/chunks/chunk-36KLGY6U.js +209 -0
  6. package/dist/cdn/components/chunks/chunk-3BMACIDO.js +1 -0
  7. package/dist/cdn/components/chunks/{chunk-IDKZKLJR.js → chunk-3PNGQEG4.js} +24 -11
  8. package/dist/cdn/components/chunks/{chunk-NBIENHLV.js → chunk-5XPOGBPL.js} +18 -18
  9. package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
  10. package/dist/cdn/components/chunks/chunk-62RLISRD.js +1 -0
  11. package/dist/cdn/components/chunks/{chunk-6ETDXUH2.js → chunk-6FYW5TQU.js} +7 -7
  12. package/dist/cdn/components/chunks/chunk-AK2DIJX7.js +1 -0
  13. package/dist/cdn/components/chunks/chunk-B5XMGWM7.js +10 -0
  14. package/dist/cdn/components/chunks/chunk-BKZGTCMF.js +1 -0
  15. package/dist/cdn/components/chunks/{chunk-GW3VP2L7.js → chunk-BO3JOEWM.js} +1 -1
  16. package/dist/cdn/components/chunks/chunk-BVASCT2V.js +109 -0
  17. package/dist/cdn/components/chunks/{chunk-DKOPI7QA.js → chunk-DGI7TKCU.js} +83 -68
  18. package/dist/cdn/components/chunks/chunk-EUWUDCBZ.js +1 -0
  19. package/dist/cdn/components/chunks/{chunk-P32B7BFD.js → chunk-FF3I7C3C.js} +15 -15
  20. package/dist/cdn/components/chunks/{chunk-74AOAB4X.js → chunk-FOILAXLL.js} +6 -5
  21. package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
  22. package/dist/cdn/components/chunks/chunk-GVS6IUKC.js +1 -0
  23. package/dist/cdn/components/chunks/chunk-GWLD2I3P.js +8 -0
  24. package/dist/cdn/components/chunks/{chunk-JRGM3W7I.js → chunk-I4ERDXSM.js} +9 -4
  25. package/dist/cdn/components/chunks/{chunk-AIS3UICU.js → chunk-J3SZBXM6.js} +11 -7
  26. package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-LVKMAHMU.js} +11 -1
  27. package/dist/cdn/components/chunks/{chunk-SD2WHGPF.js → chunk-MQQJ6DID.js} +1 -1
  28. package/dist/cdn/components/chunks/{chunk-A4EQSU36.js → chunk-O7PHBLH2.js} +1 -1
  29. package/dist/cdn/components/chunks/chunk-PD62MBOJ.js +1 -0
  30. package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
  31. package/dist/cdn/components/chunks/{chunk-MPQP4R54.js → chunk-PXF554MD.js} +10 -9
  32. package/dist/cdn/components/chunks/chunk-QL5GSW2A.js +1 -0
  33. package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-QXQ25SQS.js} +24 -20
  34. package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
  35. package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-SVGWCKWT.js} +2 -2
  36. package/dist/cdn/components/chunks/{chunk-2XASWWKR.js → chunk-TFTRCIIK.js} +9 -8
  37. package/dist/cdn/components/chunks/chunk-TLBXTBMM.js +46 -0
  38. package/dist/cdn/components/chunks/chunk-UVHVQRPT.js +1 -0
  39. package/dist/cdn/components/chunks/{chunk-L65WUTXM.js → chunk-UYZR4JXZ.js} +12 -7
  40. package/dist/cdn/components/chunks/chunk-VG6NAAIV.js +1 -0
  41. package/dist/cdn/components/chunks/chunk-VJCNHMQZ.js +10 -0
  42. package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +1 -0
  43. package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
  44. package/dist/cdn/components/chunks/{chunk-OW7XKDCH.js → chunk-Z3OFIE7S.js} +16 -16
  45. package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
  46. package/dist/cdn/components/eun-alert.js +33 -18
  47. package/dist/cdn/components/eun-animate.js +14 -10
  48. package/dist/cdn/components/eun-badge.js +2 -2
  49. package/dist/cdn/components/eun-breadcrumb.js +25 -41
  50. package/dist/cdn/components/eun-button.js +1 -1
  51. package/dist/cdn/components/eun-calendar.js +67 -65
  52. package/dist/cdn/components/eun-card.js +34 -19
  53. package/dist/cdn/components/eun-carousel.js +76 -42
  54. package/dist/cdn/components/eun-check-card.js +13 -6
  55. package/dist/cdn/components/eun-checkbox-list.js +11 -8
  56. package/dist/cdn/components/eun-checkbox.js +1 -1
  57. package/dist/cdn/components/eun-chip.js +3 -3
  58. package/dist/cdn/components/eun-collapse.js +56 -27
  59. package/dist/cdn/components/eun-color-picker.js +79 -86
  60. package/dist/cdn/components/eun-counter.js +16 -15
  61. package/dist/cdn/components/eun-date-picker.js +71 -67
  62. package/dist/cdn/components/eun-description-list.js +152 -0
  63. package/dist/cdn/components/eun-divider.js +3 -3
  64. package/dist/cdn/components/eun-drawer.js +34 -20
  65. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  66. package/dist/cdn/components/eun-dropdown-item.js +6 -5
  67. package/dist/cdn/components/eun-fab.js +17 -16
  68. package/dist/cdn/components/eun-icon.js +1 -1
  69. package/dist/cdn/components/eun-image-card.js +79 -22
  70. package/dist/cdn/components/eun-image-carousel.js +92 -47
  71. package/dist/cdn/components/eun-infinite-list.js +23 -11
  72. package/dist/cdn/components/eun-input-file.js +20 -19
  73. package/dist/cdn/components/eun-input-phone.js +17 -16
  74. package/dist/cdn/components/eun-input.js +1 -1
  75. package/dist/cdn/components/eun-label.js +4 -4
  76. package/dist/cdn/components/eun-link.js +78 -29
  77. package/dist/cdn/components/eun-loader.js +1 -1
  78. package/dist/cdn/components/eun-modal.js +27 -20
  79. package/dist/cdn/components/eun-pagination.js +24 -19
  80. package/dist/cdn/components/eun-password-strength.js +19 -11
  81. package/dist/cdn/components/eun-progress-bar.js +13 -5
  82. package/dist/cdn/components/eun-radio-card.js +16 -9
  83. package/dist/cdn/components/eun-radio-list.js +12 -9
  84. package/dist/cdn/components/eun-radio.js +1 -1
  85. package/dist/cdn/components/eun-rating.js +276 -0
  86. package/dist/cdn/components/eun-scheduler-event-editor.js +10 -10
  87. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  88. package/dist/cdn/components/eun-scheduler.js +27 -27
  89. package/dist/cdn/components/eun-search.js +24 -25
  90. package/dist/cdn/components/eun-select.js +32 -31
  91. package/dist/cdn/components/eun-sidebar.js +40 -24
  92. package/dist/cdn/components/eun-skeleton.js +1 -1
  93. package/dist/cdn/components/eun-slider.js +15 -14
  94. package/dist/cdn/components/eun-sliding-card.js +8 -4
  95. package/dist/cdn/components/eun-step.js +22 -10
  96. package/dist/cdn/components/eun-stepper.js +41 -30
  97. package/dist/cdn/components/eun-switch.js +10 -8
  98. package/dist/cdn/components/eun-tab-group.js +24 -19
  99. package/dist/cdn/components/eun-tab-panel.js +11 -3
  100. package/dist/cdn/components/eun-tab.js +1 -1
  101. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  102. package/dist/cdn/components/eun-table.js +572 -31
  103. package/dist/cdn/components/eun-tag.js +13 -7
  104. package/dist/cdn/components/eun-textarea.js +34 -29
  105. package/dist/cdn/components/eun-time-picker.js +24 -21
  106. package/dist/cdn/components/eun-toast.js +51 -22
  107. package/dist/cdn/components/eun-toggle-group.js +57 -36
  108. package/dist/cdn/components/eun-toggle-item.js +16 -15
  109. package/dist/cdn/components/eun-toggle.js +12 -10
  110. package/dist/cdn/components/eun-toolbar.js +64 -54
  111. package/dist/cdn/components/eun-tooltip.js +30 -14
  112. package/dist/cdn/styles/breakpoints.scss +8 -0
  113. package/dist/cdn/styles/eunomia-grid.scss +6 -0
  114. package/dist/cdn/styles/eunomia-themes.css +1 -1
  115. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  116. package/dist/cdn/styles/themes/eunomia-theme.scss +4 -3
  117. package/dist/cdn/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  118. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  119. package/dist/cdn/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  120. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  121. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  122. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  123. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  124. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  125. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  126. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  127. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  128. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  129. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  130. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  131. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  132. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  133. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  134. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  135. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  136. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  137. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  138. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  139. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  140. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  141. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  142. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  143. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  144. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  145. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  146. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  147. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  148. package/dist/cdn/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  149. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  150. package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  151. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  152. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  153. package/dist/cdn/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  154. package/dist/cdn/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  155. package/dist/components/action/button/button.d.ts +9 -3
  156. package/dist/components/action/button/button.js +10 -4
  157. package/dist/components/action/button/button.styles.js +61 -41
  158. package/dist/components/action/dropdown-button/dropdown-button.d.ts +2 -2
  159. package/dist/components/action/dropdown-button/dropdown-button.js +21 -15
  160. package/dist/components/action/dropdown-button/dropdown-button.styles.js +3 -2
  161. package/dist/components/action/dropdown-button/dropdown-item.js +5 -6
  162. package/dist/components/action/dropdown-button/dropdown-item.styles.js +3 -2
  163. package/dist/components/action/fab/fab.styles.js +14 -13
  164. package/dist/components/action/link/link.d.ts +7 -3
  165. package/dist/components/action/link/link.js +11 -7
  166. package/dist/components/action/link/link.styles.js +66 -15
  167. package/dist/components/action/shared-styles/button-palette.styles.js +15 -15
  168. package/dist/components/action/toggle/toggle-group.d.ts +2 -0
  169. package/dist/components/action/toggle/toggle-group.js +6 -4
  170. package/dist/components/action/toggle/toggle-group.styles.d.ts +2 -0
  171. package/dist/components/action/toggle/toggle-group.styles.js +46 -23
  172. package/dist/components/action/toggle/toggle-item.styles.js +13 -12
  173. package/dist/components/action/toggle/toggle.d.ts +2 -0
  174. package/dist/components/action/toggle/toggle.js +3 -1
  175. package/dist/components/action/toggle/toggle.styles.d.ts +2 -0
  176. package/dist/components/action/toggle/toggle.styles.js +12 -8
  177. package/dist/components/alert/alert/alert.d.ts +11 -7
  178. package/dist/components/alert/alert/alert.js +13 -14
  179. package/dist/components/alert/alert/alert.styles.js +32 -15
  180. package/dist/components/alert/drawer/drawer.d.ts +8 -6
  181. package/dist/components/alert/drawer/drawer.js +12 -14
  182. package/dist/components/alert/drawer/drawer.styles.js +26 -10
  183. package/dist/components/alert/modal/modal.d.ts +13 -11
  184. package/dist/components/alert/modal/modal.js +17 -27
  185. package/dist/components/alert/modal/modal.styles.js +16 -7
  186. package/dist/components/alert/toast/toast.d.ts +9 -5
  187. package/dist/components/alert/toast/toast.js +11 -13
  188. package/dist/components/alert/toast/toast.styles.js +49 -18
  189. package/dist/components/content/badge/badge.js +2 -2
  190. package/dist/components/content/card/card.d.ts +7 -3
  191. package/dist/components/content/card/card.js +8 -4
  192. package/dist/components/content/card/card.styles.js +28 -13
  193. package/dist/components/content/card/image-card.d.ts +60 -6
  194. package/dist/components/content/card/image-card.js +120 -11
  195. package/dist/components/content/card/image-card.styles.js +66 -15
  196. package/dist/components/content/card/sliding-card.d.ts +2 -0
  197. package/dist/components/content/card/sliding-card.js +2 -0
  198. package/dist/components/content/card/sliding-card.styles.js +5 -1
  199. package/dist/components/content/chip/chip.d.ts +4 -4
  200. package/dist/components/content/chip/chip.js +8 -8
  201. package/dist/components/content/collapse/collapse.d.ts +10 -1
  202. package/dist/components/content/collapse/collapse.js +12 -2
  203. package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
  204. package/dist/components/content/collapse/collapse.styles.js +56 -18
  205. package/dist/components/content/description-list/description-list.d.ts +87 -0
  206. package/dist/components/content/description-list/description-list.js +107 -0
  207. package/dist/components/content/description-list/description-list.styles.d.ts +1 -0
  208. package/dist/components/content/description-list/description-list.styles.js +185 -0
  209. package/dist/components/content/icon/icon.d.ts +5 -0
  210. package/dist/components/content/icon/icon.js +5 -0
  211. package/dist/components/content/icon/icon.style.d.ts +2 -0
  212. package/dist/components/content/icon/icon.style.js +8 -1
  213. package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
  214. package/dist/components/content/image-carousel/image-carousel.js +58 -55
  215. package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
  216. package/dist/components/content/password-strength/password-strength.d.ts +21 -6
  217. package/dist/components/content/password-strength/password-strength.js +37 -16
  218. package/dist/components/content/password-strength/password-strength.styles.js +9 -1
  219. package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
  220. package/dist/components/content/shared-styles/card-link.styles.js +4 -3
  221. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +5 -0
  222. package/dist/components/content/shared-styles/tone-surface.styles.js +19 -14
  223. package/dist/components/content/tag/tag.d.ts +4 -0
  224. package/dist/components/content/tag/tag.js +6 -2
  225. package/dist/components/content/tag/tag.styles.js +14 -4
  226. package/dist/components/content/tooltip/tooltip.d.ts +3 -2
  227. package/dist/components/content/tooltip/tooltip.js +12 -19
  228. package/dist/components/content/tooltip/tooltip.styles.js +25 -7
  229. package/dist/components/form/checkbox/check-card.d.ts +5 -1
  230. package/dist/components/form/checkbox/check-card.js +5 -1
  231. package/dist/components/form/checkbox/check-card.styles.js +13 -4
  232. package/dist/components/form/checkbox/checkbox-list.d.ts +21 -1
  233. package/dist/components/form/checkbox/checkbox-list.js +50 -17
  234. package/dist/components/form/checkbox/checkbox.d.ts +5 -1
  235. package/dist/components/form/checkbox/checkbox.js +7 -2
  236. package/dist/components/form/checkbox/checkbox.styles.js +5 -4
  237. package/dist/components/form/color-picker/color-picker.d.ts +48 -29
  238. package/dist/components/form/color-picker/color-picker.js +85 -71
  239. package/dist/components/form/color-picker/color-picker.styles.js +7 -6
  240. package/dist/components/form/counter/counter.d.ts +26 -19
  241. package/dist/components/form/counter/counter.js +64 -63
  242. package/dist/components/form/counter/counter.styles.js +5 -4
  243. package/dist/components/form/date-picker/date-picker.d.ts +64 -39
  244. package/dist/components/form/date-picker/date-picker.js +107 -96
  245. package/dist/components/form/date-picker/date-picker.styles.js +8 -5
  246. package/dist/components/form/input/input.d.ts +45 -40
  247. package/dist/components/form/input/input.js +93 -111
  248. package/dist/components/form/input-file/input-file.d.ts +30 -14
  249. package/dist/components/form/input-file/input-file.js +43 -40
  250. package/dist/components/form/input-file/input-file.styles.js +7 -6
  251. package/dist/components/form/input-phone/input-phone.d.ts +30 -7
  252. package/dist/components/form/input-phone/input-phone.js +54 -30
  253. package/dist/components/form/input-phone/input-phone.styles.js +4 -4
  254. package/dist/components/form/label/label.styles.js +3 -3
  255. package/dist/components/form/radio/radio-card.d.ts +6 -2
  256. package/dist/components/form/radio/radio-card.js +6 -2
  257. package/dist/components/form/radio/radio-card.styles.js +14 -5
  258. package/dist/components/form/radio/radio-list.d.ts +28 -9
  259. package/dist/components/form/radio/radio-list.js +61 -32
  260. package/dist/components/form/radio/radio.d.ts +6 -2
  261. package/dist/components/form/radio/radio.js +6 -2
  262. package/dist/components/form/radio/radio.styles.js +4 -4
  263. package/dist/components/form/rating/rating.d.ts +349 -0
  264. package/dist/components/form/rating/rating.js +665 -0
  265. package/dist/components/form/rating/rating.styles.d.ts +1 -0
  266. package/dist/components/form/rating/rating.styles.js +213 -0
  267. package/dist/components/form/search/search.d.ts +10 -9
  268. package/dist/components/form/search/search.js +29 -56
  269. package/dist/components/form/search/search.styles.js +5 -4
  270. package/dist/components/form/select/select.d.ts +32 -12
  271. package/dist/components/form/select/select.js +74 -59
  272. package/dist/components/form/select/select.styles.js +3 -2
  273. package/dist/components/form/shared-styles/card.styles.js +5 -4
  274. package/dist/components/form/shared-styles/field.styles.js +16 -6
  275. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  276. package/dist/components/form/shared-styles/listbox.styles.js +10 -0
  277. package/dist/components/form/slider/slider.d.ts +11 -9
  278. package/dist/components/form/slider/slider.js +14 -14
  279. package/dist/components/form/slider/slider.styles.js +8 -7
  280. package/dist/components/form/switch/switch.d.ts +5 -1
  281. package/dist/components/form/switch/switch.js +5 -1
  282. package/dist/components/form/switch/switch.styles.js +7 -5
  283. package/dist/components/form/textarea/textarea.d.ts +96 -24
  284. package/dist/components/form/textarea/textarea.js +206 -51
  285. package/dist/components/form/time-picker/time-picker-columns.d.ts +2 -2
  286. package/dist/components/form/time-picker/time-picker-columns.js +8 -8
  287. package/dist/components/form/time-picker/time-picker-columns.styles.js +4 -2
  288. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -1
  289. package/dist/components/form/time-picker/time-picker.d.ts +30 -10
  290. package/dist/components/form/time-picker/time-picker.js +81 -64
  291. package/dist/components/form/time-picker/time-picker.styles.js +4 -3
  292. package/dist/components/layout/animate/animate.d.ts +37 -15
  293. package/dist/components/layout/animate/animate.js +36 -16
  294. package/dist/components/layout/animate/animate.styles.js +11 -18
  295. package/dist/components/layout/divider/divider.js +1 -1
  296. package/dist/components/layout/divider/divider.styles.js +1 -1
  297. package/dist/components/layout/infinite-list/infinite-list.d.ts +33 -10
  298. package/dist/components/layout/infinite-list/infinite-list.js +115 -18
  299. package/dist/components/layout/infinite-list/infinite-list.styles.d.ts +3 -0
  300. package/dist/components/layout/infinite-list/infinite-list.styles.js +17 -5
  301. package/dist/components/loader/loader/loader.js +2 -2
  302. package/dist/components/loader/loader/loader.styles.js +17 -13
  303. package/dist/components/loader/skeleton/skeleton.js +1 -1
  304. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +31 -45
  305. package/dist/components/navigation/breadcrumb/breadcrumb.js +111 -77
  306. package/dist/components/navigation/breadcrumb/breadcrumb.styles.d.ts +3 -0
  307. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +22 -26
  308. package/dist/components/navigation/carousel/carousel.d.ts +55 -11
  309. package/dist/components/navigation/carousel/carousel.js +101 -43
  310. package/dist/components/navigation/carousel/carousel.styles.js +65 -22
  311. package/dist/components/navigation/pagination/pagination.d.ts +23 -21
  312. package/dist/components/navigation/pagination/pagination.js +30 -53
  313. package/dist/components/navigation/pagination/pagination.styles.js +8 -3
  314. package/dist/components/navigation/sidebar/sidebar.d.ts +17 -13
  315. package/dist/components/navigation/sidebar/sidebar.js +23 -33
  316. package/dist/components/navigation/sidebar/sidebar.styles.js +32 -14
  317. package/dist/components/navigation/stepper/step.js +9 -8
  318. package/dist/components/navigation/stepper/step.styles.js +16 -5
  319. package/dist/components/navigation/stepper/stepper.js +12 -5
  320. package/dist/components/navigation/stepper/stepper.styles.js +16 -5
  321. package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
  322. package/dist/components/navigation/tabs/tab/tab.js +11 -0
  323. package/dist/components/navigation/tabs/tab/tab.styles.js +22 -16
  324. package/dist/components/navigation/tabs/tab-group/tab-group.js +9 -10
  325. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +21 -16
  326. package/dist/components/navigation/tabs/tab-panel/tab-panel.d.ts +4 -0
  327. package/dist/components/navigation/tabs/tab-panel/tab-panel.js +4 -0
  328. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +18 -1
  329. package/dist/components/navigation/toolbar/toolbar.d.ts +30 -62
  330. package/dist/components/navigation/toolbar/toolbar.js +43 -105
  331. package/dist/components/navigation/toolbar/toolbar.styles.js +59 -36
  332. package/dist/events/table-row-click.event.d.ts +5 -4
  333. package/dist/events/table-row-click.event.js +10 -5
  334. package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
  335. package/dist/features/scheduler/calendar/calendar.js +7 -6
  336. package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
  337. package/dist/features/scheduler/scheduler/scheduler.d.ts +8 -8
  338. package/dist/features/scheduler/scheduler/scheduler.js +24 -47
  339. package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
  340. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +2 -0
  341. package/dist/features/scheduler/scheduler-event/scheduler-event.js +5 -3
  342. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +11 -5
  343. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +6 -4
  344. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +6 -7
  345. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
  346. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +2 -2
  347. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +2 -2
  348. package/dist/features/table/table/table-native.styles.d.ts +28 -0
  349. package/dist/features/table/table/table-native.styles.js +502 -0
  350. package/dist/features/table/table/table.d.ts +342 -294
  351. package/dist/features/table/table/table.js +820 -546
  352. package/dist/features/table/table/table.styles.js +31 -17
  353. package/dist/features/table/table/table.types.d.ts +11 -20
  354. package/dist/features/table/table/table.utils.d.ts +6 -36
  355. package/dist/features/table/table/table.utils.js +16 -65
  356. package/dist/features/table/table-action-bar/table-action-bar.d.ts +33 -16
  357. package/dist/features/table/table-action-bar/table-action-bar.js +15 -22
  358. package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
  359. package/dist/i18n/en.d.ts +99 -0
  360. package/dist/i18n/en.js +99 -0
  361. package/dist/i18n/fr.js +103 -2
  362. package/dist/index.d.ts +6 -10
  363. package/dist/index.js +7 -10
  364. package/dist/mixins/button.mixin.js +3 -2
  365. package/dist/mixins/check.mixin.js +15 -15
  366. package/dist/mixins/disabled.mixin.d.ts +5 -0
  367. package/dist/mixins/disabled.mixin.js +21 -1
  368. package/dist/mixins/editable.mixin.js +28 -5
  369. package/dist/mixins/field-appearance.mixin.js +3 -2
  370. package/dist/mixins/form.mixin.d.ts +21 -1
  371. package/dist/mixins/form.mixin.js +156 -27
  372. package/dist/mixins/localizable.mixin.d.ts +1 -1
  373. package/dist/mixins/localizable.mixin.js +1 -1
  374. package/dist/mixins/radio.mixin.js +15 -15
  375. package/dist/mixins/readonly.mixin.d.ts +2 -1
  376. package/dist/mixins/readonly.mixin.js +10 -3
  377. package/dist/mixins/validators.mixin.d.ts +7 -1
  378. package/dist/mixins/validators.mixin.js +36 -17
  379. package/dist/ssr/alert-ssr.css +187 -0
  380. package/dist/ssr/animate-ssr.css +3 -2
  381. package/dist/ssr/badge-ssr.css +67 -0
  382. package/dist/ssr/breadcrumb-ssr.css +41 -0
  383. package/dist/ssr/button-ssr.css +319 -0
  384. package/dist/ssr/card-ssr.css +196 -0
  385. package/dist/ssr/carousel-ssr.css +238 -0
  386. package/dist/ssr/checkbox-ssr.css +67 -0
  387. package/dist/ssr/chip-ssr.css +242 -0
  388. package/dist/ssr/collapse-ssr.css +151 -0
  389. package/dist/ssr/description-list-ssr.css +150 -0
  390. package/dist/ssr/field-ssr.css +163 -0
  391. package/dist/ssr/icon-ssr.css +266 -0
  392. package/dist/ssr/image-carousel-ssr.css +24 -0
  393. package/dist/ssr/links-ssr.css +8 -2
  394. package/dist/ssr/pagination-ssr.css +4 -0
  395. package/dist/ssr/rating-ssr.css +254 -0
  396. package/dist/ssr/sidebar-ssr.css +9 -1
  397. package/dist/ssr/skeleton-ssr.css +63 -0
  398. package/dist/ssr/table-ssr.css +472 -0
  399. package/dist/ssr/tabs-ssr.css +129 -0
  400. package/dist/ssr/tag-ssr.css +197 -0
  401. package/dist/ssr/toggle-group-ssr.css +182 -0
  402. package/dist/ssr/toolbar-ssr.css +34 -1
  403. package/dist/utils/drag-drop.utils.js +18 -2
  404. package/dist/utils/dropdown-menu.utils.d.ts +2 -2
  405. package/dist/utils/dropdown-menu.utils.js +4 -14
  406. package/dist/utils/implicit-submission.utils.d.ts +18 -0
  407. package/dist/utils/implicit-submission.utils.js +79 -0
  408. package/dist/utils/light-dom-styles.utils.d.ts +14 -0
  409. package/dist/utils/light-dom-styles.utils.js +37 -0
  410. package/dist/utils/listbox-options.utils.d.ts +11 -0
  411. package/dist/utils/listbox-options.utils.js +41 -3
  412. package/dist/utils/media.styles.d.ts +19 -0
  413. package/dist/utils/media.styles.js +23 -0
  414. package/dist/utils/motion.utils.d.ts +40 -0
  415. package/dist/utils/motion.utils.js +51 -0
  416. package/dist/utils/theme-generator.utils.d.ts +6 -1
  417. package/dist/utils/theme-generator.utils.js +59 -20
  418. package/package.json +39 -31
  419. package/styles/breakpoints.scss +8 -0
  420. package/styles/eunomia-grid.scss +6 -0
  421. package/styles/themes/eunomia-theme.scss +4 -3
  422. package/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
  423. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
  424. package/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
  425. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
  426. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
  427. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
  428. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
  429. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
  430. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
  431. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
  432. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
  433. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
  434. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
  435. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
  436. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
  437. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
  438. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
  439. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
  440. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
  441. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
  442. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
  443. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
  444. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
  445. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
  446. package/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
  447. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  448. package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
  449. package/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
  450. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
  451. package/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
  452. package/styles/tools/variables/eunomia.breakpoints.scss +4 -0
  453. package/dist/cdn/components/chunks/chunk-32DTNR52.js +0 -1
  454. package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
  455. package/dist/cdn/components/chunks/chunk-CEDHJUUH.js +0 -1
  456. package/dist/cdn/components/chunks/chunk-D2M4BV5Y.js +0 -328
  457. package/dist/cdn/components/chunks/chunk-E4IS25H7.js +0 -1
  458. package/dist/cdn/components/chunks/chunk-E74CM7UG.js +0 -66
  459. package/dist/cdn/components/chunks/chunk-EAKYD33D.js +0 -110
  460. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +0 -1
  461. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +0 -1
  462. package/dist/cdn/components/chunks/chunk-KBH5PCUO.js +0 -3
  463. package/dist/cdn/components/chunks/chunk-KVYUNKUO.js +0 -27
  464. package/dist/cdn/components/chunks/chunk-LFCXUVDO.js +0 -1
  465. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +0 -38
  466. package/dist/cdn/components/chunks/chunk-PCM7D3YF.js +0 -84
  467. package/dist/cdn/components/chunks/chunk-S2UCEWNG.js +0 -207
  468. package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +0 -1
  469. package/dist/cdn/components/chunks/chunk-T4PTHUYF.js +0 -10
  470. package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
  471. package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
  472. package/dist/cdn/components/eun-breadcrumb-item.js +0 -93
  473. package/dist/cdn/components/eun-table-cell.js +0 -1
  474. package/dist/cdn/components/eun-table-column.js +0 -1
  475. package/dist/cdn/components/eun-table-header.js +0 -1
  476. package/dist/cdn/components/eun-table-item.js +0 -1
  477. package/dist/cdn/components/eun-table-skeleton-row.js +0 -1
  478. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  479. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  480. package/dist/cdn/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
  481. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +0 -77
  482. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +0 -130
  483. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.d.ts +0 -6
  484. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +0 -78
  485. package/dist/features/table/native-table.css +0 -276
  486. package/dist/features/table/shared-styles/table-row.styles.d.ts +0 -7
  487. package/dist/features/table/shared-styles/table-row.styles.js +0 -47
  488. package/dist/features/table/shared-styles/table-shared.styles.d.ts +0 -23
  489. package/dist/features/table/shared-styles/table-shared.styles.js +0 -33
  490. package/dist/features/table/table-cell/table-cell.d.ts +0 -59
  491. package/dist/features/table/table-cell/table-cell.js +0 -73
  492. package/dist/features/table/table-cell/table-cell.styles.d.ts +0 -1
  493. package/dist/features/table/table-cell/table-cell.styles.js +0 -46
  494. package/dist/features/table/table-column/table-column.d.ts +0 -73
  495. package/dist/features/table/table-column/table-column.js +0 -89
  496. package/dist/features/table/table-column/table-column.styles.d.ts +0 -1
  497. package/dist/features/table/table-column/table-column.styles.js +0 -51
  498. package/dist/features/table/table-header/table-header.d.ts +0 -102
  499. package/dist/features/table/table-header/table-header.js +0 -165
  500. package/dist/features/table/table-header/table-header.styles.d.ts +0 -1
  501. package/dist/features/table/table-header/table-header.styles.js +0 -147
  502. package/dist/features/table/table-item/table-item.d.ts +0 -179
  503. package/dist/features/table/table-item/table-item.js +0 -291
  504. package/dist/features/table/table-item/table-item.styles.d.ts +0 -1
  505. package/dist/features/table/table-item/table-item.styles.js +0 -404
  506. package/dist/features/table/table-managed/table-managed.d.ts +0 -19
  507. package/dist/features/table/table-managed/table-managed.js +0 -128
  508. package/dist/features/table/table-skeleton-row/table-skeleton-row.d.ts +0 -46
  509. package/dist/features/table/table-skeleton-row/table-skeleton-row.js +0 -110
  510. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.d.ts +0 -12
  511. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +0 -65
  512. package/dist/mixins/table-row.mixin.d.ts +0 -37
  513. package/dist/mixins/table-row.mixin.js +0 -103
  514. package/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
  515. package/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
  516. package/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
@@ -1,29 +1,30 @@
1
- import{a as F}from"./chunks/chunk-KVYUNKUO.js";import{a as O}from"./chunks/chunk-X2AUBZD2.js";import{a as p}from"./chunks/chunk-A6KGFALA.js";import{a as f}from"./chunks/chunk-D2M4BV5Y.js";import{b as x,c as m}from"./chunks/chunk-E74CM7UG.js";import"./chunks/chunk-PCM7D3YF.js";import{a as g,b as H}from"./chunks/chunk-IDKZKLJR.js";import"./chunks/chunk-PED5ATYN.js";import{a as z,b as M}from"./chunks/chunk-ZYC7DHES.js";import"./chunks/chunk-5XJLIHAU.js";import{a as B}from"./chunks/chunk-MPQP4R54.js";import"./chunks/chunk-CEDHJUUH.js";import{a as P}from"./chunks/chunk-JRGM3W7I.js";import{a as k}from"./chunks/chunk-DKOPI7QA.js";import"./chunks/chunk-OW7XKDCH.js";import"./chunks/chunk-32DTNR52.js";import"./chunks/chunk-UP4M7TER.js";import"./chunks/chunk-VRGRCYIO.js";import"./chunks/chunk-MMLIPCOY.js";import"./chunks/chunk-A4EQSU36.js";import"./chunks/chunk-SGM2X2TC.js";import"./chunks/chunk-3MTUVMM5.js";import"./chunks/chunk-SJWRE6PW.js";import"./chunks/chunk-5EVP7YNE.js";import"./chunks/chunk-5GKM5DIB.js";import{a as l,f as T,g as C,h as r,i as w,j as L,l as A,n as b,p as E,r as R,s as I}from"./chunks/chunk-XH6NREVZ.js";function N(n){let c=document.createElement(p);for(let e of n){let t=document.createElement(O);t.textContent=e.label,e.width&&(t.width=e.width),e.sort&&(t.sort=e.sort),c.appendChild(t)}return c}function D(n,c,e,t,i){let s=document.createElement(f);s.rowKey=t?t(n,c):m(void 0,c);for(let o of e)s.appendChild($(o,n,c));return i&&s.appendChild(j(i,n,c)),s}function $(n,c,e){let t=document.createElement(F);n.align&&t.style.setProperty("--table-cell-align",K(n.align));let i=c[n.key];return R(n.render?n.render(i,c,e):V(i),t),t}function K(n){switch(n){case"center":return"center";case"right":return"flex-end";default:return"flex-start"}}function V(n){return n==null?"":String(n)}function j(n,c,e){if(n.type==="dropdown"){let i=document.createElement(B);return i.setAttribute("slot","action"),i.size="xs",i.appearance="ghost",n.icon?i.icon=n.icon:n.label&&(i.label=n.label),i.ariaLabel=n.label??"Row actions",i.options=n.options(c),i.disabledKeys=n.disabledKeys?.(c)??[],i.disabled=n.disabled?.(c)??!1,i.addEventListener("eunselect",s=>{n.onSelect(s.key,c,e)}),i}let t=document.createElement(k);if(t.setAttribute("slot","action"),t.size="xs",n.color?(t.color=n.color,t.appearance="default"):t.appearance="ghost",t.ariaLabel=n.label,t.disabled=n.disabled?.(c)??!1,n.icon){let i=document.createElement(P);i.name=n.icon,i.size="16",t.appendChild(i)}else t.textContent=n.label;return t.addEventListener("click",()=>n.onClick(c,e)),t}var v=class n extends Event{static{this.eventName="euntableselectionchange"}constructor(c){super(n.eventName,{bubbles:!0,composed:!1}),this.selectedKeys=c,this.selectedCount=c.length}};var _=C`
1
+ import{a as C,b as J}from"./chunks/chunk-3PNGQEG4.js";import"./chunks/chunk-SVGWCKWT.js";import{a as Y,b as X}from"./chunks/chunk-ZYC7DHES.js";import"./chunks/chunk-QXQ25SQS.js";import{a as G}from"./chunks/chunk-VG6NAAIV.js";import"./chunks/chunk-PXF554MD.js";import"./chunks/chunk-EUWUDCBZ.js";import"./chunks/chunk-I4ERDXSM.js";import"./chunks/chunk-TFTRCIIK.js";import"./chunks/chunk-AK2DIJX7.js";import{b as x,c as k,d as U,e as W,f as T}from"./chunks/chunk-VJCNHMQZ.js";import"./chunks/chunk-624VJYNA.js";import"./chunks/chunk-TLBXTBMM.js";import"./chunks/chunk-YYCEPZUN.js";import"./chunks/chunk-DGI7TKCU.js";import"./chunks/chunk-Z3OFIE7S.js";import"./chunks/chunk-3BMACIDO.js";import"./chunks/chunk-UP4M7TER.js";import"./chunks/chunk-22D3SRFR.js";import"./chunks/chunk-PD62MBOJ.js";import"./chunks/chunk-BKZGTCMF.js";import"./chunks/chunk-3MTUVMM5.js";import"./chunks/chunk-5GKM5DIB.js";import{a as A}from"./chunks/chunk-PPCHQG7P.js";import"./chunks/chunk-O7PHBLH2.js";import{a as q,b as V,c as I}from"./chunks/chunk-SGM2X2TC.js";import{a as j}from"./chunks/chunk-62RLISRD.js";import"./chunks/chunk-QL5GSW2A.js";import{a as o,f as _,h as S,j as s,k as K,l as L,p as m,q as N,r as R,t as D,u as F}from"./chunks/chunk-YITWLCD3.js";var Q=(b,v,e)=>{let t=new Map;for(let a=v;a<=e;a++)t.set(b[a],a);return t},Z=V(class extends I{constructor(b){if(super(b),b.type!==q.CHILD)throw Error("repeat() can only be used in text expressions")}dt(b,v,e){let t;e===void 0?e=v:v!==void 0&&(t=v);let a=[],r=[],i=0;for(let c of b)a[i]=t?t(c,i):i,r[i]=e(c,i),i++;return{values:r,keys:a}}render(b,v,e){return this.dt(b,v,e).values}update(b,[v,e,t]){let a=W(b),{values:r,keys:i}=this.dt(v,e,t);if(!Array.isArray(a))return this.ut=i,r;let c=this.ut??=[],l=[],u,f,d=0,h=a.length-1,p=0,g=r.length-1;for(;d<=h&&p<=g;)if(a[d]===null)d++;else if(a[h]===null)h--;else if(c[d]===i[p])l[p]=k(a[d],r[p]),d++,p++;else if(c[h]===i[g])l[g]=k(a[h],r[g]),h--,g--;else if(c[d]===i[g])l[g]=k(a[d],r[g]),x(b,l[g+1],a[d]),d++,g--;else if(c[h]===i[p])l[p]=k(a[h],r[p]),x(b,a[d],a[h]),h--,p++;else if(u===void 0&&(u=Q(i,p,g),f=Q(c,d,h)),u.has(c[d]))if(u.has(c[h])){let y=f.get(i[p]),B=y!==void 0?a[y]:null;if(B===null){let $=x(b,a[d]);k($,r[p]),l[p]=$}else l[p]=k(B,r[p]),x(b,a[d],B),a[y]=null;p++}else T(a[h]),h--;else T(a[d]),d++;for(;p<=g;){let y=x(b,l[g+1]);k(y,r[p]),l[p++]=y}for(;d<=h;){let y=a[d++];y!==null&&T(y)}return this.ut=i,U(b,l),N}});function O(b,v){return b?.length?b:`__row-${v}`}function ee(b){switch(b){case"center":return"center";case"right":return"end";case"left":return"start";default:return}}var M=class b extends Event{static{this.eventName="euntableselectionchange"}constructor(v){super(b.eventName,{bubbles:!0,composed:!1}),this.selectedKeys=v,this.selectedCount=v.length}};var z=class b extends Event{static{this.eventName="euntablerowclick"}constructor(v){super(b.eventName,{bubbles:!0,cancelable:!0,composed:!1}),this.rowKey=v}};var re=S`
2
2
  :host {
3
- display: grid;
4
- grid-template-columns: var(--_columns, none);
5
- align-items: stretch;
3
+ display: flex;
4
+ flex-direction: column;
5
+ position: relative;
6
+ box-sizing: border-box;
7
+ max-height: var(--table-max-height, none);
8
+ padding-top: var(--_table-caption-height, 0px);
9
+ font-family: var(--eun-font-family, "Mulish", sans-serif);
10
+ }
11
+
12
+ #frame {
13
+ flex: 1 1 auto;
14
+ min-height: 0;
6
15
  box-sizing: border-box;
7
16
  border: var(--eun-border-width-s, 1px) solid
8
17
  var(--table-border-color, var(--eun-border-color, #dee0e7));
9
18
  border-radius: var(--eun-border-radius-m, 10px);
10
19
  background: var(--table-background, var(--eun-surface-color, #ffffff));
11
20
  overflow: auto;
12
- max-height: var(--table-max-height, none);
13
- font-family: var(--eun-font-family, "Mulish", sans-serif);
14
- }
15
-
16
- :host([loading]) ::slotted(eun-table-item) {
17
- display: none;
18
21
  }
19
22
 
20
23
  #table-sentinel {
21
- grid-column: 1 / -1;
22
24
  block-size: 1px;
23
25
  }
24
26
 
25
27
  #table-loading-row {
26
- grid-column: 1 / -1;
27
28
  display: flex;
28
29
  align-items: center;
29
30
  justify-content: center;
@@ -34,22 +35,562 @@ import{a as F}from"./chunks/chunk-KVYUNKUO.js";import{a as O}from"./chunks/chunk
34
35
  #table-loading-row[hidden] {
35
36
  display: none;
36
37
  }
37
- `,q=_;var S="eun-table-row-spacer",G=44,U="eun-table",a=class extends M(I){constructor(){super(...arguments);this.selectable=!1;this.checkboxAlwaysVisible=!1;this.actionAlwaysVisible=!1;this.stickyHeader=!1;this.stickyFirstColumn=!1;this.stickyLastColumn=!1;this.clearOnEscape=!1;this.loading=!1;this.skeletonRows=6;this.syncing=!1;this.clickable=!1;this.infinite=!1;this.virtualize=!1;this.pageSize=20;this.virtualizeThreshold=100;this.bufferPages=1;this.hasMore=!1;this.loadingMore=!1;this.rootMargin="400px";this.loadingMoreLabel="Loading more rows\u2026";this.actions=[];this.selectedLabel="selected";this.selectAllLabel="Select all";this.deselectAllLabel="Deselect all";this.selectAllAriaLabel="Select all rows";this.deselectAllAriaLabel="Deselect all rows";this.selectRowAriaLabel="Select row";this.toolbarAriaLabel="Selection actions";this.closeActionBarAriaLabel="Clear selection";this.data=[];this.internalSelection=new Set;this.hasAction=!1;this.logicalItems=[];this.mountedPages=new Set;this.detachedByPage=new Map;this.pageHeights=[];this.avgRowHeight=G;this.mutatingSlot=!1;this.requestedPages=0;this.lastFocusedRowIndex=-1;this.handleFocusIn=e=>{let t=e.target.closest(`${p}, ${f}`);if(!t)return;let i=this.rowIndexOf(t);i<0||(this.lastFocusedRow=t,this.lastFocusedRowIndex=i)};this.handleSlotChange=()=>{this.mutatingSlot||(this.virtualize&&this.syncLogicalItems(),this.syncChildren(),this.restoreFocusIfLost(),this.virtualize&&this.scheduleAnimationFrame(()=>this.syncPages()),this.infinite&&this.reobserveSentinel(this.sentinelEl))};this.handlePortaledAction=e=>{let t=e;this.dispatchEvent(new g(t.key,t.optionKey))};this.handleEscapeClear=e=>{e.key==="Escape"&&this.setSelection(new Set)};this.handleTableScroll=()=>{this.scheduleAnimationFrame(()=>this.syncPages())}}connectedCallback(){super.connectedCallback?.(),this.hasAttribute("role")||this.setAttribute("role","grid"),this.addEventListener("focusin",this.handleFocusIn)}disconnectedCallback(){this.removeEventListener("focusin",this.handleFocusIn),this.headerObserver?.disconnect(),this.teardownActionBar(),this.teardownLoadMoreSentinel(),this.resizeObserver?.disconnect(),super.disconnectedCallback?.()}firstUpdated(e){super.firstUpdated(e),this.virtualize&&this.syncLogicalItems(),this.syncChildren(),this.ensureVirtualizeObservers(),this.infinite&&this.setupTableLoadObserver()}updated(e){super.updated(e),e.has("selectable")&&(this.selectable?this.setAttribute("aria-multiselectable","true"):this.removeAttribute("aria-multiselectable")),e.has("syncing")&&(this.syncing?this.setAttribute("aria-busy","true"):this.removeAttribute("aria-busy")),["columns","data","rowAction","rowKey"].some(s=>e.has(s))&&this.regenerateManagedChildren(),["selectable","checkboxAlwaysVisible","actionAlwaysVisible","stickyHeader","stickyFirstColumn","stickyLastColumn","internalSelection","actions","selectedLabel","selectAllLabel","deselectAllLabel","selectAllAriaLabel","deselectAllAriaLabel","selectRowAriaLabel","toolbarAriaLabel","closeActionBarAriaLabel","loading","clickable","syncing"].some(s=>e.has(s))&&this.syncChildren(),e.has("virtualize")&&this.ensureVirtualizeObservers(),this.virtualize&&(e.has("pageSize")||e.has("virtualizeThreshold")||e.has("bufferPages"))&&this.scheduleAnimationFrame(()=>this.syncPages()),(e.has("infinite")||e.has("rootMargin"))&&(this.infinite?this.setupTableLoadObserver():(this.loadObserver?.disconnect(),this.loadObserver=void 0))}get selectedKeys(){return Array.from(this.internalSelection)}set selectedKeys(e){this.setSelection(new Set(e))}regenerateManagedChildren(){let e=this.columns;if(!e)return;let t=N(e),i=this.data.map((h,u)=>D(h,u,e,this.rowKey,this.rowAction));this.detachedByPage.clear(),this.pageHeights=[],this.mutatingSlot=!0,this.replaceChildren(t,...i),queueMicrotask(()=>{this.mutatingSlot=!1});let s=new Set(i.map(h=>h.rowKey)),o=new Set([...this.internalSelection].filter(h=>s.has(h)));o.size!==this.internalSelection.size&&(this.internalSelection=o),this.virtualize&&this.syncLogicalItems(),this.syncChildren(),this.restoreFocusIfLost(),this.virtualize&&this.scheduleAnimationFrame(()=>this.syncPages()),this.infinite&&this.reobserveSentinel(this.sentinelEl)}currentItems(){return this.virtualize?this.logicalItems:this.itemEls}restoreFocusIfLost(){if(!this.lastFocusedRow||this.lastFocusedRow.isConnected)return;let e=this.lastFocusedRowIndex;this.lastFocusedRow=void 0,this.lastFocusedRowIndex=-1,this.ownerDocument.activeElement===this.ownerDocument.body&&this.focusRowAt(e)}syncChildren(){let e=this.headerEls[0],t=this.currentItems();this.watchHeaderColumns(e),this.updateColumnsTemplate(e,t),this.wireHeader(e),this.wireItems(t),this.syncActionBar()}watchHeaderColumns(e){this.observedHeader!==e&&(this.headerObserver?.disconnect(),this.observedHeader=e,e&&(this.headerObserver=new MutationObserver(()=>this.syncChildren()),this.headerObserver.observe(e,{childList:!0,attributes:!0,attributeFilter:["width"],subtree:!0})))}updateColumnsTemplate(e,t){let s=(e?Array.from(e.querySelectorAll(":scope > eun-table-column")):[]).map(h=>h.width);this.hasAction=t.some(h=>!!h.querySelector(':scope > [slot="action"]'));let o=x(s,{selectable:this.selectable,hasAction:this.hasAction});this.style.setProperty("--_columns",o)}wireHeader(e){e&&(e.selectable=this.selectable,e.hasAction=this.hasAction,e.sticky=this.stickyHeader,e.stickyFirstColumn=this.stickyFirstColumn,e.stickyLastColumn=this.stickyLastColumn,e.selectedCount=this.internalSelection.size,e.totalCount=this.currentItems().length,e.selectAllAriaLabel=this.selectAllAriaLabel,e.deselectAllAriaLabel=this.deselectAllAriaLabel,e.onSelectAllToggle=()=>this.toggleSelectAll(),e.requestAdjacentRow=t=>this.moveFocus(this.rowIndexOf(e),t),e.requestGridEdge=t=>this.moveToGridEdge(t))}wireItems(e){e.forEach((t,i)=>{let s=m(t.rowKey,i);t.resolvedKey=s,t.selectable=this.selectable,t.hasAction=this.hasAction,t.checkboxAlwaysVisible=this.checkboxAlwaysVisible,t.actionAlwaysVisible=this.actionAlwaysVisible,t.stickyFirstColumn=this.stickyFirstColumn,t.stickyLastColumn=this.stickyLastColumn,t.clickable=this.clickable,t.syncing=this.syncing,t.selected=this.internalSelection.has(s),t.selectionActive=this.selectable&&this.internalSelection.size>0,t.selectCheckboxLabel=`${this.selectRowAriaLabel} ${i+1}`,t.onToggleSelected=()=>this.toggleRow(s),t.requestAdjacentRow=o=>this.moveFocus(this.rowIndexOf(t),o),t.requestGridEdge=o=>this.moveToGridEdge(o)})}allRows(){let e=this.headerEls[0];if(this.loading)return e?[e]:[];let t=this.currentItems();return e?[e,...t]:[...t]}rowIndexOf(e){return this.allRows().indexOf(e)}moveFocus(e,t){this.focusRowAt(e+t)}moveToGridEdge(e){let t=this.allRows();t.length&&this.focusRowAt(e==="start"?0:t.length-1)}focusRowAt(e){let t=this.allRows();if(!t.length)return;let i=Math.max(0,Math.min(e,t.length-1));this.ensureRowMounted(t,i),this.allRows()[i]?.focus()}ensureRowMounted(e,t){if(!this.virtualize)return;let i=e[t];if(!i||i.isConnected)return;let s=this.logicalItems.indexOf(i);if(s<0)return;let o=Math.floor(s/this.pageSize);this.mountPage(o)&&this.syncChildren()}toggleRow(e){let t=new Set(this.internalSelection);t.has(e)?t.delete(e):t.add(e),this.setSelection(t)}toggleSelectAll(){let e=this.currentItems();if(e.length>0&&this.internalSelection.size===e.length){this.setSelection(new Set);return}this.setSelection(new Set(e.map((i,s)=>m(i.rowKey,s))))}setSelection(e){this.internalSelection=e,this.dispatchEvent(new v(Array.from(e)))}ensureActionBar(){return this.actionBarEl||(this.actionBarEl=document.createElement(H),this.actionBarEl.addEventListener(g.eventName,this.handlePortaledAction),document.body.appendChild(this.actionBarEl)),this.actionBarEl}teardownActionBar(){if(!this.actionBarEl)return;let e=this.actionBarEl.contains(this.ownerDocument.activeElement);this.actionBarEl.removeEventListener(g.eventName,this.handlePortaledAction),document.removeEventListener("keydown",this.handleEscapeClear),this.actionBarEl.remove(),this.actionBarEl=void 0,e&&this.focusRowAt(0)}syncActionBar(){if(!this.selectable||this.internalSelection.size===0){this.teardownActionBar();return}let e=!!this.actionBarEl,t=this.ensureActionBar();!e&&this.clearOnEscape&&document.addEventListener("keydown",this.handleEscapeClear),t.selectedCount=this.internalSelection.size,t.totalCount=this.currentItems().length,t.actions=this.actions,t.toolbarAriaLabel=this.toolbarAriaLabel,t.selectedLabel=this.selectedLabel,t.selectAllLabel=this.selectAllLabel,t.deselectAllLabel=this.deselectAllLabel,t.closeAriaLabel=this.closeActionBarAriaLabel,t.onSelectAll=()=>this.toggleSelectAll(),t.onClose=()=>this.setSelection(new Set)}syncLogicalItems(){let e=[];for(let s of Array.from(this.children))if(s instanceof HTMLElement){if(s.classList.contains(S)){let o=Number(s.dataset.eunPage);e.push(...this.detachedByPage.get(o)??[]);continue}s.tagName.toLowerCase()===f&&e.push(s)}this.logicalItems=e;let t=Math.ceil(e.length/this.pageSize),i=new Set;for(let s=0;s<t;s++)this.detachedByPage.has(s)||i.add(s);this.mountedPages=i}syncPages(){let e=this.logicalItems.length;if(e===0)return;let t=Math.ceil(e/this.pageSize),i=!1;if(e<=this.virtualizeThreshold)for(let s=0;s<t;s++)i=this.mountPage(s)||i;else{if(this.clientHeight===0)return;let s=this.estimateCenterPage(t),o=Math.max(0,s-this.bufferPages),h=Math.min(t-1,s+this.bufferPages);for(let u=0;u<t;u++)u>=o&&u<=h?i=this.mountPage(u)||i:i=this.unmountPage(u)||i}i&&this.syncChildren()}estimateCenterPage(e){let t=this.scrollTop+this.clientHeight/2,i=0;for(let s=0;s<e;s++){let o=this.pageHeights[s]??this.estimatePageHeight(s);if(t<i+o)return s;i+=o}return Math.max(0,e-1)}estimatePageHeight(e){let t=Math.ceil(this.logicalItems.length/this.pageSize);return(e===t-1?this.logicalItems.length-e*this.pageSize:this.pageSize)*this.avgRowHeight}mountPage(e){if(this.mountedPages.has(e))return!1;let t=this.detachedByPage.get(e);if(!t||t.length===0)return!1;let i=this.querySelector(`.${S}[data-eun-page="${e}"]`);if(this.mutatingSlot=!0,i){for(let s of t)i.before(s);i.remove()}else for(let s of t)this.append(s);return queueMicrotask(()=>{this.mutatingSlot=!1}),this.detachedByPage.delete(e),this.mountedPages.add(e),!0}unmountPage(e){if(!this.mountedPages.has(e))return!1;let t=e*this.pageSize,i=Math.min(t+this.pageSize,this.logicalItems.length),s=this.logicalItems.slice(t,i).filter(y=>y.isConnected);if(s.length===0)return!1;let o=s[0],u=s[s.length-1].getBoundingClientRect().bottom-o.getBoundingClientRect().top;if(u<=0)return!1;this.pageHeights[e]=u,this.avgRowHeight=(this.avgRowHeight+u/s.length)/2;let d=document.createElement("div");d.className=S,d.dataset.eunPage=String(e),d.style.gridColumn="1 / -1",d.style.blockSize=`${u}px`,d.setAttribute("aria-hidden","true"),this.mutatingSlot=!0,o.before(d);for(let y of s)y.remove();return queueMicrotask(()=>{this.mutatingSlot=!1}),this.detachedByPage.set(e,s),this.mountedPages.delete(e),!0}ensureVirtualizeObservers(){if(!this.virtualize){this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.removeEventListener("scroll",this.handleTableScroll),this.syncHandle&&(cancelAnimationFrame(this.syncHandle),this.syncHandle=void 0);return}this.resizeObserver||(this.resizeObserver=new ResizeObserver(()=>this.scheduleAnimationFrame(()=>this.syncPages())),this.resizeObserver.observe(this),this.addEventListener("scroll",this.handleTableScroll,{passive:!0})),this.scheduleAnimationFrame(()=>this.syncPages())}setupTableLoadObserver(){this.setupLoadObserver(this.sentinelEl,this,this.rootMargin,()=>this.maybeLoadMore())}maybeLoadMore(){this.loadingMore||!this.hasMore||(this.loadingMore=!0,this.requestedPages+=1,this.dispatchEvent(new z(this.requestedPages,this.pageSize)))}renderSkeletonRows(){let e=this.querySelector(":scope > eun-table-header"),t=this.columns?.length??e?.querySelectorAll(":scope > eun-table-column").length??0;return b`
38
- ${Array.from({length:this.skeletonRows},(i,s)=>b`
39
- <eun-table-skeleton-row
40
- ?selectable=${this.selectable}
41
- ?has-action=${this.hasAction}
42
- column-count=${t}
43
- style="--_row-index: ${s}"
44
- ></eun-table-skeleton-row>
45
- `)}
46
- `}render(){return b`
47
- <slot @slotchange=${this.handleSlotChange}></slot>
48
- ${!this.loading&&this.infinite?b`
49
- <div id="table-sentinel" aria-hidden="true"></div>
50
- <div id="table-loading-row" ?hidden=${!this.loadingMore}>
51
- <eun-loader label=${this.loadingMoreLabel}></eun-loader>
52
- </div>
53
- `:E}
54
- ${this.loading?this.renderSkeletonRows():E}
55
- `}};a.styles=q,l([r({type:Boolean,reflect:!0})],a.prototype,"selectable",2),l([r({type:Boolean,reflect:!0,attribute:"checkbox-always-visible"})],a.prototype,"checkboxAlwaysVisible",2),l([r({type:Boolean,reflect:!0,attribute:"action-always-visible"})],a.prototype,"actionAlwaysVisible",2),l([r({type:Boolean,reflect:!0,attribute:"sticky-header"})],a.prototype,"stickyHeader",2),l([r({type:Boolean,reflect:!0,attribute:"sticky-first-column"})],a.prototype,"stickyFirstColumn",2),l([r({type:Boolean,reflect:!0,attribute:"sticky-last-column"})],a.prototype,"stickyLastColumn",2),l([r({type:Boolean,reflect:!0,attribute:"clear-on-escape"})],a.prototype,"clearOnEscape",2),l([r({type:Boolean,reflect:!0})],a.prototype,"loading",2),l([r({attribute:"skeleton-rows",type:Number})],a.prototype,"skeletonRows",2),l([r({type:Boolean,reflect:!0})],a.prototype,"syncing",2),l([r({type:Boolean,reflect:!0})],a.prototype,"clickable",2),l([r({type:Boolean,reflect:!0})],a.prototype,"infinite",2),l([r({type:Boolean,reflect:!0})],a.prototype,"virtualize",2),l([r({attribute:"page-size",type:Number})],a.prototype,"pageSize",2),l([r({attribute:"virtualize-threshold",type:Number})],a.prototype,"virtualizeThreshold",2),l([r({attribute:"buffer-pages",type:Number})],a.prototype,"bufferPages",2),l([r({attribute:"has-more",type:Boolean,reflect:!0})],a.prototype,"hasMore",2),l([r({attribute:"loading-more",type:Boolean,reflect:!0})],a.prototype,"loadingMore",2),l([r({attribute:"root-margin"})],a.prototype,"rootMargin",2),l([r({attribute:"loading-more-label"})],a.prototype,"loadingMoreLabel",2),l([r({attribute:!1})],a.prototype,"actions",2),l([r({attribute:"selected-label"})],a.prototype,"selectedLabel",2),l([r({attribute:"select-all-label"})],a.prototype,"selectAllLabel",2),l([r({attribute:"deselect-all-label"})],a.prototype,"deselectAllLabel",2),l([r({attribute:"select-all-aria-label"})],a.prototype,"selectAllAriaLabel",2),l([r({attribute:"deselect-all-aria-label"})],a.prototype,"deselectAllAriaLabel",2),l([r({attribute:"select-row-aria-label"})],a.prototype,"selectRowAriaLabel",2),l([r({attribute:"toolbar-aria-label"})],a.prototype,"toolbarAriaLabel",2),l([r({attribute:"close-action-bar-aria-label"})],a.prototype,"closeActionBarAriaLabel",2),l([r({attribute:!1})],a.prototype,"columns",2),l([r({attribute:!1})],a.prototype,"data",2),l([r({attribute:!1})],a.prototype,"rowAction",2),l([r({attribute:!1})],a.prototype,"rowKey",2),l([w()],a.prototype,"internalSelection",2),l([w()],a.prototype,"hasAction",2),l([A({selector:"eun-table-header"})],a.prototype,"headerEls",2),l([A({selector:"eun-table-item"})],a.prototype,"itemEls",2),l([L("#table-sentinel")],a.prototype,"sentinelEl",2),a=l([T(U)],a);export{a as EunomiaTable,U as EunomiaTableTagName};
38
+
39
+ .visually-hidden {
40
+ position: absolute;
41
+ inline-size: 1px;
42
+ block-size: 1px;
43
+ padding: 0;
44
+ margin: -1px;
45
+ overflow: hidden;
46
+ clip: rect(0, 0, 0, 0);
47
+ white-space: nowrap;
48
+ border: 0;
49
+ }
50
+ `,te=re;var ae=S`
51
+ eun-table > table {
52
+ --_table-select-width: var(--eun-table-select-col-width, 40px);
53
+ --_table-action-width: var(--eun-table-action-col-width, 56px);
54
+ --_table-transition: var(
55
+ --table-row-transition-duration,
56
+ var(--eun-duration-m, 200ms)
57
+ )
58
+ var(--eun-easing-default, ease);
59
+ width: 100%;
60
+ border-collapse: separate;
61
+ border-spacing: 0;
62
+ box-sizing: border-box;
63
+ font-size: var(--eun-font-size-s, 13px);
64
+ color: var(--table-cell-color, var(--eun-text-color, #071621));
65
+ }
66
+
67
+ eun-table > table > caption {
68
+ caption-side: top;
69
+ box-sizing: border-box;
70
+ padding: 0 0 var(--eun-space-s, 8px);
71
+ text-align: start;
72
+ font-size: var(--table-caption-font-size, var(--eun-font-size-m, 1rem));
73
+ font-weight: var(
74
+ --table-caption-font-weight,
75
+ var(--eun-font-weight-m, 500)
76
+ );
77
+ color: var(--table-caption-color, var(--eun-text-color, #071621));
78
+ }
79
+
80
+ eun-table:not(:defined) {
81
+ display: block;
82
+ overflow-x: auto;
83
+ }
84
+
85
+ eun-table:not(:defined) > table {
86
+ border: var(--eun-border-width-s, 1px) solid
87
+ var(--table-border-color, var(--eun-border-color, #dee0e7));
88
+ border-radius: var(--eun-border-radius-m, 10px);
89
+ background: var(--table-background, var(--eun-surface-color, #ffffff));
90
+ }
91
+
92
+ eun-table:defined > table > caption {
93
+ position: absolute;
94
+ top: 0;
95
+ inset-inline: 0;
96
+ }
97
+
98
+ eun-table > table > * > tr > :is(th, td) {
99
+ box-sizing: border-box;
100
+ padding: var(--eun-space-s, 8px) var(--eun-space-m, 16px);
101
+ text-align: start;
102
+ vertical-align: middle;
103
+ background-color: var(
104
+ --table-row-background,
105
+ var(--eun-surface-color, #ffffff)
106
+ );
107
+ --_table-divider-end: var(--table-column-border-color, transparent);
108
+ --_table-divider-start: transparent;
109
+ --_table-tint: transparent;
110
+ box-shadow:
111
+ inset -1px 0 0 var(--_table-divider-end),
112
+ inset 1px 0 0 var(--_table-divider-start),
113
+ inset 0 0 0 9999px var(--_table-tint);
114
+ border-bottom: var(--eun-border-width-s, 1px) solid
115
+ var(--table-border-color, var(--eun-border-color, #dee0e7));
116
+ transition:
117
+ background-color var(--_table-transition),
118
+ box-shadow var(--_table-transition);
119
+ }
120
+
121
+ eun-table > table > * > tr > :is(th, td) > eun-icon {
122
+ display: inline-flex;
123
+ vertical-align: middle;
124
+ }
125
+
126
+ eun-table > table > * > tr > :is(th, td):last-child {
127
+ --_table-divider-end: transparent;
128
+ }
129
+
130
+ eun-table > table > :last-child > tr:last-child > :is(th, td) {
131
+ border-bottom: none;
132
+ }
133
+
134
+ eun-table > table > thead > tr > :is(th, td) {
135
+ background-color: var(
136
+ --table-header-background,
137
+ var(--eun-surface-color, #ffffff)
138
+ );
139
+ font-weight: var(--table-column-font-weight, var(--eun-font-weight-m, 500));
140
+ color: var(--table-column-color, var(--eun-text-secondary, #484e61));
141
+ white-space: nowrap;
142
+ }
143
+
144
+ eun-table > table > tbody > tr > th {
145
+ font-weight: var(--eun-font-weight-m, 500);
146
+ }
147
+
148
+ eun-table > table > tfoot > tr > :is(th, td) {
149
+ background-color: var(
150
+ --table-footer-background,
151
+ var(--table-row-background, var(--eun-surface-color, #ffffff))
152
+ );
153
+ font-weight: var(--eun-font-weight-m, 500);
154
+ }
155
+
156
+ eun-table
157
+ > table
158
+ > tbody:not([data-table-skeleton])
159
+ > tr:not([data-selected]):is(:hover, :focus-within)
160
+ > :is(th, td) {
161
+ --_table-tint: var(
162
+ --table-row-hover-background,
163
+ var(--eun-content-hover, #edeff0)
164
+ );
165
+ }
166
+
167
+ eun-table > table > tbody > tr[data-selected] > :is(th, td) {
168
+ --_table-tint: var(
169
+ --table-row-selected-background,
170
+ var(--eun-color-primary-alpha-10, rgba(18, 123, 185, 0.08))
171
+ );
172
+ }
173
+
174
+ eun-table:is([selectable], [clickable]) > table > tbody > tr {
175
+ cursor: pointer;
176
+ }
177
+
178
+ eun-table > table > tbody > tr[data-dragging] {
179
+ position: relative;
180
+ z-index: 3;
181
+ cursor: grabbing;
182
+ }
183
+
184
+ eun-table > table > tbody > tr[data-dragging] > :is(th, td) {
185
+ --_table-tint: var(
186
+ --table-row-dragging-background,
187
+ var(--eun-color-primary-alpha-10, rgba(18, 123, 185, 0.08))
188
+ );
189
+ border-bottom-color: transparent;
190
+ }
191
+
192
+ eun-table > table > * > tr > [data-table-select] {
193
+ position: sticky;
194
+ inset-inline-start: 0;
195
+ z-index: 1;
196
+ width: var(--_table-select-width);
197
+ min-width: var(--_table-select-width);
198
+ padding: 0 0 0 var(--eun-space-s, 8px);
199
+ text-align: center;
200
+ background-color: var(
201
+ --table-sticky-column-background,
202
+ var(--table-row-background, var(--eun-surface-color, #ffffff))
203
+ );
204
+ --_table-divider-end: var(
205
+ --table-sticky-border-color,
206
+ var(--table-column-border-color, transparent)
207
+ );
208
+ }
209
+
210
+ eun-table > table > thead > tr > [data-table-select] {
211
+ background-color: var(
212
+ --table-sticky-column-background,
213
+ var(--table-header-background, var(--eun-surface-color, #ffffff))
214
+ );
215
+ }
216
+
217
+ eun-table > table [data-table-select] eun-checkbox {
218
+ vertical-align: middle;
219
+ font-size: calc(var(--checkbox-size, 16px) + 2px);
220
+ --checkbox-border-color: var(
221
+ --table-checkbox-border-color,
222
+ var(--eun-color-grey-600, #666e8a)
223
+ );
224
+ --checkbox-background: var(
225
+ --table-checkbox-background,
226
+ var(--eun-surface-color, #ffffff)
227
+ );
228
+ --checkbox-background-hover: var(
229
+ --table-checkbox-hover,
230
+ var(--eun-color-grey-200, #ecedf0)
231
+ );
232
+ }
233
+
234
+ eun-table > table > tbody > tr > [data-table-select] eun-checkbox {
235
+ opacity: 0;
236
+ }
237
+
238
+ eun-table
239
+ > table
240
+ > tbody
241
+ > tr:is(:hover, :focus-within, [data-selected])
242
+ > [data-table-select]
243
+ eun-checkbox,
244
+ eun-table:is([selection-active], [checkbox-always-visible])
245
+ > table
246
+ > tbody
247
+ > tr
248
+ > [data-table-select]
249
+ eun-checkbox {
250
+ opacity: 1;
251
+ }
252
+
253
+ eun-table > table > * > tr > [data-table-action] {
254
+ width: var(--_table-action-width);
255
+ min-width: var(--_table-action-width);
256
+ max-width: var(--_table-action-width);
257
+ padding-inline-start: 0;
258
+ text-align: end;
259
+ white-space: nowrap;
260
+ }
261
+
262
+ eun-table > table > tbody > tr > [data-table-action] > * {
263
+ opacity: 0;
264
+ --button-text: var(--table-action-color);
265
+ }
266
+
267
+ eun-table
268
+ > table
269
+ > tbody
270
+ > tr:is(:hover, :focus-within)
271
+ > [data-table-action]
272
+ > *,
273
+ eun-table[action-always-visible]
274
+ > table
275
+ > tbody
276
+ > tr
277
+ > [data-table-action]
278
+ > *,
279
+ eun-table > table > tbody > tr > [data-table-action] > [open] {
280
+ opacity: 1;
281
+ }
282
+
283
+ eun-table[selection-active] > table > tbody > tr > [data-table-action] > * {
284
+ opacity: 0 !important;
285
+ }
286
+
287
+ @media (hover: none) {
288
+ eun-table > table > tbody > tr > [data-table-select] eun-checkbox,
289
+ eun-table > table > tbody > tr > [data-table-action] > * {
290
+ opacity: 1;
291
+ }
292
+ }
293
+
294
+ eun-table[sticky-header] > table > thead > tr > :is(th, td) {
295
+ position: sticky;
296
+ top: 0;
297
+ z-index: 4;
298
+ border-bottom-color: var(
299
+ --table-sticky-border-color,
300
+ var(--table-border-color, var(--eun-border-color, #dee0e7))
301
+ );
302
+ }
303
+
304
+ eun-table[sticky-footer] > table > tfoot > tr > :is(th, td) {
305
+ position: sticky;
306
+ bottom: 0;
307
+ z-index: 3;
308
+ background-color: var(
309
+ --table-sticky-row-background,
310
+ var(
311
+ --table-footer-background,
312
+ var(--table-row-background, var(--eun-surface-color, #ffffff))
313
+ )
314
+ );
315
+ border-top: var(--eun-border-width-s, 1px) solid
316
+ var(
317
+ --table-sticky-border-color,
318
+ var(--table-border-color, var(--eun-border-color, #dee0e7))
319
+ );
320
+ }
321
+
322
+ eun-table[sticky-first-column]
323
+ > table
324
+ > *
325
+ > tr
326
+ > :is(
327
+ :first-child:not([data-table-select]),
328
+ [data-table-select] + :is(th, td)
329
+ ) {
330
+ position: sticky;
331
+ inset-inline-start: 0;
332
+ z-index: 2;
333
+ background-color: var(
334
+ --table-sticky-column-background,
335
+ var(--table-row-background, var(--eun-surface-color, #ffffff))
336
+ );
337
+ --_table-divider-end: var(
338
+ --table-sticky-border-color,
339
+ var(--table-column-border-color, transparent)
340
+ );
341
+ }
342
+
343
+ eun-table[sticky-first-column]
344
+ > table
345
+ > *
346
+ > tr
347
+ > [data-table-select]
348
+ + :is(th, td):not([data-table-select]) {
349
+ inset-inline-start: var(--_table-select-width);
350
+ }
351
+
352
+ eun-table[sticky-last-column]
353
+ > table
354
+ > *
355
+ > tr
356
+ > :is(:last-child, :nth-last-child(2):has(+ [data-table-action])) {
357
+ position: sticky;
358
+ inset-inline-end: 0;
359
+ z-index: 2;
360
+ background-color: var(
361
+ --table-sticky-column-background,
362
+ var(--table-row-background, var(--eun-surface-color, #ffffff))
363
+ );
364
+ --_table-divider-start: var(
365
+ --table-sticky-border-color,
366
+ var(--table-column-border-color, transparent)
367
+ );
368
+ }
369
+
370
+ eun-table[sticky-last-column]
371
+ > table
372
+ > *
373
+ > tr
374
+ > :nth-last-child(2):has(+ [data-table-action]) {
375
+ inset-inline-end: var(--_table-action-width);
376
+ }
377
+
378
+ eun-table[sticky-last-column]
379
+ > table
380
+ > *
381
+ > tr
382
+ > [data-table-action][data-table-action] {
383
+ --_table-divider-start: transparent;
384
+ }
385
+
386
+ eun-table[sticky-first-column]
387
+ > table
388
+ > thead
389
+ > tr
390
+ > :is(
391
+ :first-child:not([data-table-select]),
392
+ [data-table-select] + :is(th, td)
393
+ ),
394
+ eun-table[sticky-last-column]
395
+ > table
396
+ > thead
397
+ > tr
398
+ > :is(:last-child, :nth-last-child(2):has(+ [data-table-action])) {
399
+ background-color: var(
400
+ --table-sticky-column-background,
401
+ var(--table-header-background, var(--eun-surface-color, #ffffff))
402
+ );
403
+ }
404
+
405
+ eun-table[sticky-header] > table > thead > tr > [data-table-select],
406
+ eun-table[sticky-header][sticky-first-column]
407
+ > table
408
+ > thead
409
+ > tr
410
+ > :is(
411
+ :first-child:not([data-table-select]),
412
+ [data-table-select] + :is(th, td)
413
+ ),
414
+ eun-table[sticky-header][sticky-last-column]
415
+ > table
416
+ > thead
417
+ > tr
418
+ > :is(:last-child, :nth-last-child(2):has(+ [data-table-action])) {
419
+ z-index: 5;
420
+ }
421
+
422
+ eun-table[loading] > table > tbody:not([data-table-skeleton]) {
423
+ display: none;
424
+ }
425
+
426
+ eun-table > table > tbody[data-table-skeleton] > tr {
427
+ opacity: 0;
428
+ animation: eun-table-skeleton-row-enter
429
+ var(--table-skeleton-duration, 320ms) var(--eun-easing-default, ease)
430
+ forwards;
431
+ animation-delay: calc(
432
+ var(--table-skeleton-stagger, 60ms) * var(--_row-index, 0)
433
+ );
434
+ }
435
+
436
+ eun-table > table > tbody[data-table-skeleton] > tr > td {
437
+ padding-block: var(--eun-space-m, 16px);
438
+ }
439
+
440
+ eun-table > table > tbody[data-table-skeleton] > tr > td[data-table-select] {
441
+ padding-inline-start: calc(var(--eun-space-s, 8px) + 3px);
442
+ }
443
+
444
+ eun-table > table > tbody[data-table-skeleton] eun-skeleton {
445
+ display: inline-block;
446
+ vertical-align: middle;
447
+ }
448
+
449
+ :where(eun-table[syncing] > table > tbody > tr > :is(th, td)) {
450
+ position: relative;
451
+ }
452
+
453
+ eun-table[syncing] > table > tbody > tr > :is(th, td)::after {
454
+ content: "";
455
+ position: absolute;
456
+ inset: 0 var(--eun-border-width-s, 1px) var(--eun-border-width-s, 1px);
457
+ pointer-events: none;
458
+ background-image: linear-gradient(
459
+ 90deg,
460
+ transparent 0%,
461
+ var(--table-sync-overlay-color, var(--eun-surface-color, #ffffff)) 50%,
462
+ transparent 100%
463
+ );
464
+ background-size: 200% 100%;
465
+ background-attachment: fixed;
466
+ animation: eun-table-row-sync-shimmer var(--table-sync-duration, 1.6s)
467
+ ease-in-out infinite;
468
+ }
469
+
470
+ eun-table > table > tbody > tr.eun-table-row-spacer > td {
471
+ padding: 0;
472
+ border: none;
473
+ background: none;
474
+ box-shadow: none;
475
+ }
476
+
477
+ eun-table > table > tbody > tr.eun-table-row-spacer > td::after {
478
+ content: none;
479
+ }
480
+
481
+ .eun-table-visually-hidden {
482
+ position: absolute;
483
+ width: 1px;
484
+ height: 1px;
485
+ padding: 0;
486
+ margin: -1px;
487
+ overflow: hidden;
488
+ clip: rect(0 0 0 0);
489
+ white-space: nowrap;
490
+ border: 0;
491
+ }
492
+
493
+ @keyframes eun-table-skeleton-row-enter {
494
+ from {
495
+ opacity: 0;
496
+ transform: translateY(4px);
497
+ }
498
+ to {
499
+ opacity: 1;
500
+ transform: none;
501
+ }
502
+ }
503
+
504
+ @keyframes eun-table-row-sync-shimmer {
505
+ 0% {
506
+ background-position: -200% 0;
507
+ }
508
+ 100% {
509
+ background-position: 200% 0;
510
+ }
511
+ }
512
+
513
+ @media (prefers-reduced-motion: reduce) {
514
+ eun-table > table > tbody[data-table-skeleton] > tr {
515
+ animation: none;
516
+ opacity: 1;
517
+ }
518
+
519
+ eun-table[syncing] > table > tbody > tr > :is(th, td)::after {
520
+ animation: none;
521
+ }
522
+ }
523
+ `;var ie="eun-table",w="data-table-select",E="data-table-action",ne="data-table-row-link",H="data-table-skeleton",oe="data-selected",P="eun-table-row-spacer",le=44,se='a[href], button, input, select, textarea, summary, label, [contenteditable=""], [contenteditable="true"], [role="button"], [role="link"], [role="checkbox"], [role="switch"], [role="menuitem"]',n=class extends j(X(F)){constructor(){super(...arguments);this.selectable=!1;this.checkboxAlwaysVisible=!1;this.actionAlwaysVisible=!1;this.stickyHeader=!1;this.stickyFooter=!1;this.stickyFirstColumn=!1;this.stickyLastColumn=!1;this.clearOnEscape=!1;this.loading=!1;this.skeletonRows=6;this.syncing=!1;this.clickable=!1;this.infinite=!1;this.virtualize=!1;this.pageSize=20;this.virtualizeThreshold=100;this.bufferPages=1;this.hasMore=!1;this.loadingMore=!1;this.rootMargin="400px";this.actions=[];this.data=[];this.internalSelection=new Set;this.rowKeys=new Map;this.ariaRowsApplied=!1;this.logicalRows=[];this.mountedPages=new Set;this.detachedByPage=new Map;this.pageHeights=[];this.avgRowHeight=le;this.requestedPages=0;this.handleMutations=e=>{e.some(a=>{if(a.type==="attributes")return!0;let r=a.target;return r===this||/^(TABLE|THEAD|TBODY|TFOOT|TR)$/.test(r.nodeName??"")})&&(this.sync(),this.announceLoadedRows(),this.virtualize&&this.scheduleAnimationFrame(()=>this.syncPages()),this.infinite&&this.reobserveSentinel(this.sentinelEl))};this.handleClick=e=>{let t=e.target;if(t.closest?.(`[${w}]`)){t.closest("eun-checkbox")?.indeterminate&&this.toggleSelectAll();return}let r=this.bodyRowOf(t);!r||t.closest(`[${E}]`)||this.isInteractiveClick(e,r)||this.activateRow(r,e)};this.handleCheckboxChange=e=>{let t=e.target,a=t.closest?.(`[${w}]`);if(!a||t.nodeName!=="EUN-CHECKBOX")return;let r=a.parentElement;if(r.parentElement?.nodeName==="THEAD"){this.toggleSelectAll();return}let i=this.rowKeys.get(r);i!==void 0&&this.toggleRow(i)};this.handlePortaledAction=e=>{let t=e;e.stopPropagation(),this.dispatchEvent(new C(t.key,t.optionKey))};this.handleEscapeClear=e=>{e.key==="Escape"&&this.setSelection(new Set)};this.handleTableScroll=()=>{this.scheduleAnimationFrame(()=>this.syncPages())}}connectedCallback(){super.connectedCallback?.(),G(this,ae),this.addEventListener("click",this.handleClick),this.addEventListener("eunchange",this.handleCheckboxChange),this.mutationObserver=new MutationObserver(this.handleMutations),this.mutationObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-row-key"]}),this.hasUpdated&&this.sync()}disconnectedCallback(){this.removeEventListener("click",this.handleClick),this.removeEventListener("eunchange",this.handleCheckboxChange),this.mutationObserver?.disconnect(),this.mutationObserver=void 0,this.teardownActionBar(),this.teardownLoadMoreSentinel(),this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.captionObserver?.disconnect(),this.captionObserver=void 0,this.observedCaption=void 0,super.disconnectedCallback?.()}firstUpdated(e){super.firstUpdated(e),this.sync(),this.ensureVirtualizeObservers(),this.infinite&&this.setupTableLoadObserver()}updated(e){super.updated(e);let t=["columns","data","rowAction","rowKey"];this.columns&&t.some(r=>e.has(r))&&this.renderManagedTable(),["columns","data","rowAction","rowKey","selectable","stickyHeader","loading","virtualize","infinite","hasMore","skeletonRows","syncing","internalSelection","actions","selectedLabel","selectAllLabel","deselectAllLabel","selectAllAriaLabel","deselectAllAriaLabel","selectRowAriaLabel","toolbarAriaLabel","closeActionBarAriaLabel","locale"].some(r=>e.has(r))&&this.sync(),e.has("virtualize")&&this.ensureVirtualizeObservers(),this.virtualize&&(e.has("pageSize")||e.has("virtualizeThreshold")||e.has("bufferPages"))&&this.scheduleAnimationFrame(()=>this.syncPages()),(e.has("infinite")||e.has("rootMargin")||e.has("loading"))&&(this.infinite?this.setupTableLoadObserver():(this.loadObserver?.disconnect(),this.loadObserver=void 0))}get selectedKeys(){return Array.from(this.internalSelection)}set selectedKeys(e){this.setSelection(new Set(e))}get tableEl(){return this.querySelector(":scope > table")}get selectionActive(){return this.selectable&&this.internalSelection.size>0}get labels(){let e=this.dictionary.table;return{...e,loadingMore:this.loadingMoreLabel??e.loadingMore,selected:this.selectedLabel??e.selected,selectAll:this.selectAllLabel??e.selectAll,deselectAll:this.deselectAllLabel??e.deselectAll,selectAllRows:this.selectAllAriaLabel??e.selectAllRows,deselectAllRows:this.deselectAllAriaLabel??e.deselectAllRows,selectRow:this.selectRowAriaLabel??e.selectRow,selectionActions:this.toolbarAriaLabel??e.selectionActions,clearSelection:this.closeActionBarAriaLabel??e.clearSelection}}currentRows(){if(this.virtualize)return this.logicalRows;let e=this.tableEl;return e?Array.from(e.tBodies).filter(t=>!t.hasAttribute(H)).flatMap(t=>Array.from(t.rows)).filter(t=>!t.classList.contains(P)):[]}get bodyEl(){let e=this.tableEl;return e?Array.from(e.tBodies).find(t=>!t.hasAttribute(H)):void 0}sync(){this.virtualize&&this.syncLogicalRows();let e=this.tableEl;e&&(this.syncHeader(e),this.syncFooter(e),this.syncRows(this.currentRows()),this.syncSkeleton(e),this.syncAriaRows(e),this.syncing||this.loading?e.setAttribute("aria-busy","true"):e.removeAttribute("aria-busy")),this.watchCaption(e?.caption??void 0),this.toggleAttribute("selection-active",this.selectionActive),this.syncActionBar(),this.mutationObserver?.takeRecords()}watchCaption(e){if(e===this.observedCaption)return;if(this.captionObserver?.disconnect(),this.observedCaption=e,!e){this.style.removeProperty("--_table-caption-height");return}let t=()=>{this.style.setProperty("--_table-caption-height",`${e.getBoundingClientRect().height}px`)};this.captionObserver??=new ResizeObserver(()=>this.observedCaption?t():void 0),this.captionObserver.observe(e),t()}ensureSelectCell(e,t){let a=e.cells[0];if(a?.hasAttribute(w))return a;let r=document.createElement(t);return r.setAttribute(w,""),e.prepend(r),r}removeSelectCell(e){let t=e.cells[0];t?.hasAttribute(w)&&t.remove()}ensureCheckbox(e){let t=e.querySelector("eun-checkbox");return t||(t=document.createElement("eun-checkbox"),t.setAttribute("tabindex","0"),e.replaceChildren(t)),t}syncHeader(e){let t=e.tHead?Array.from(e.tHead.rows):[],[a,...r]=t;if(r.forEach(h=>this.removeSelectCell(h)),!a)return;if(!this.selectable){this.removeSelectCell(a);return}let i=this.ensureSelectCell(a,"th");i.setAttribute("scope","col"),i.rowSpan=t.length;let c=this.labels,l=this.currentRows().length,u=this.internalSelection.size,f=l>0&&u===l,d=this.ensureCheckbox(i);d.checked=f,d.indeterminate=u>0&&!f,d.disabled=l===0,d.setAttribute("aria-label",f?c.deselectAllRows:c.selectAllRows)}syncFooter(e){(e.tFoot?Array.from(e.tFoot.rows):[]).forEach(a=>{this.selectable?this.ensureSelectCell(a,"td").replaceChildren():this.removeSelectCell(a)})}syncRows(e){let t=new Map,a=this.selectionActive,r=this.labels;e.forEach((i,c)=>{let l=O(i.dataset.rowKey,c);t.set(i,l);let u=this.selectable&&this.internalSelection.has(l);if(i.toggleAttribute(oe,u),this.selectable){let f=this.ensureCheckbox(this.ensureSelectCell(i,"td"));f.checked=u,f.setAttribute("aria-label",`${r.selectRow} ${this.rowName(i)??c+1}`)}else this.removeSelectCell(i);for(let f of Array.from(i.cells))f.hasAttribute(E)&&(f.inert=a)}),this.rowKeys=t}rowName(e){return(e.querySelector(':scope > th[scope="row"]')??e.querySelector(`:scope > th:not([${w}])`))?.textContent?.replace(/\s+/g," ").trim()||void 0}syncAriaRows(e){if(!this.virtualize){this.ariaRowsApplied&&(e.removeAttribute("aria-rowcount"),e.querySelectorAll("tr[aria-rowindex]").forEach(a=>a.removeAttribute("aria-rowindex")),this.ariaRowsApplied=!1);return}let t=[...e.tHead?Array.from(e.tHead.rows):[],...this.logicalRows,...e.tFoot?Array.from(e.tFoot.rows):[]];e.setAttribute("aria-rowcount",this.infinite&&this.hasMore?"-1":String(t.length)),t.forEach((a,r)=>a.setAttribute("aria-rowindex",String(r+1))),this.ariaRowsApplied=!0}announceLoadedRows(){if(this.rowCountBeforeLoad===void 0||!this.announcerEl)return;let e=this.currentRows().length-this.rowCountBeforeLoad;e<=0||(this.rowCountBeforeLoad=void 0,this.announcerEl.textContent=this.dictionary.table.rowsLoaded(e))}syncSkeleton(e){let t=e.querySelector(`:scope > tbody[${H}]`);if(!this.loading){t?.remove();return}let a=e.tHead?.rows[0]?Array.from(e.tHead.rows[0].cells).filter(u=>!u.hasAttribute(w)):[],r=[this.selectable,this.skeletonRows,...a.map(u=>`${u.colSpan}${u.hasAttribute(E)?"a":""}`)].join(",");if(t?.dataset.tableSkeleton===r)return;let i=document.createElement("tbody");i.setAttribute(H,r),i.setAttribute("aria-hidden","true");for(let u=0;u<this.skeletonRows;u++){let f=i.insertRow();if(f.style.setProperty("--_row-index",String(u)),this.selectable){let d=f.insertCell();d.setAttribute(w,""),d.append(this.createSkeleton("18px","18px","4px"))}for(let d of a){let h=f.insertCell();h.colSpan=d.colSpan,d.hasAttribute(E)?(h.setAttribute(E,""),h.append(this.createSkeleton("28px","28px","8px"))):h.append(this.createSkeleton("50%","14px","4px"))}}if(t){t.replaceWith(i);return}let c=Array.from(e.tBodies),l=c[c.length-1];l?l.after(i):e.tFoot?e.tFoot.before(i):e.append(i)}createSkeleton(e,t,a){let r=document.createElement("eun-skeleton");return r.setAttribute("variant","rect"),r.setAttribute("width",e),r.setAttribute("height",t),r.setAttribute("radius",a),e.endsWith("%")&&(r.style.width=e),r}bodyRowOf(e){let t=e.closest?.("tr");return t&&this.rowKeys.has(t)?t:void 0}isInteractiveClick(e,t){for(let a of e.composedPath()){if(a===t)return!1;if(a instanceof Element&&a.matches(se))return!0}return!1}activateRow(e,t){let a=this.rowKeys.get(e)??"";if(this.selectionActive){this.toggleRow(a);return}let r=new z(a);this.dispatchEvent(r),r.defaultPrevented||this.followRowLink(e,t)}followRowLink(e,t){let a=e.querySelector(`[${ne}]`);if(!a)return;((a.matches("a[href]")?a:null)??a.querySelector("a[href]")??a.shadowRoot?.querySelector("a[href]")??a).dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,composed:!0,ctrlKey:t.ctrlKey,metaKey:t.metaKey,shiftKey:t.shiftKey,altKey:t.altKey}))}toggleRow(e){let t=new Set(this.internalSelection);t.has(e)?t.delete(e):t.add(e),this.setSelection(t)}toggleSelectAll(){let e=Array.from(this.rowKeys.values()),t=e.length>0&&e.every(a=>this.internalSelection.has(a));this.setSelection(t?new Set:new Set(e))}setSelection(e){this.internalSelection=e,this.dispatchEvent(new M(Array.from(e)))}ensureActionBar(){if(!this.actionBarEl){let e=document.createElement(J);e.setAttribute("popover","manual"),e.addEventListener(C.eventName,this.handlePortaledAction),this.after(e),e.showPopover?.(),this.actionBarEl=e}return this.actionBarEl}teardownActionBar(){if(!this.actionBarEl)return;let e=this.actionBarEl.contains(this.ownerDocument.activeElement);this.actionBarEl.removeEventListener(C.eventName,this.handlePortaledAction),document.removeEventListener("keydown",this.handleEscapeClear),this.actionBarEl.remove(),this.actionBarEl=void 0,e&&this.querySelector(`[${w}] eun-checkbox:not([disabled])`)?.focus()}syncActionBar(){if(!this.selectionActive){this.teardownActionBar();return}let e=!!this.actionBarEl,t=this.ensureActionBar();!e&&this.clearOnEscape&&document.addEventListener("keydown",this.handleEscapeClear),t.selectedCount=this.internalSelection.size,t.totalCount=this.rowKeys.size,t.actions=this.actions;let a=this.labels;t.toolbarAriaLabel=a.selectionActions,t.selectedLabel=a.selected,t.selectAllLabel=a.selectAll,t.deselectAllLabel=a.deselectAll,t.closeAriaLabel=a.clearSelection,t.onSelectAll=()=>this.toggleSelectAll(),t.onClose=()=>this.setSelection(new Set)}renderManagedTable(){let e=this.columns??[],t=this.data.map((i,c)=>this.rowKey?this.rowKey(i,c):O(void 0,c));this.mountAllPages(),D(m`<table>
524
+ <thead>
525
+ <tr>
526
+ ${e.map(i=>m`<th
527
+ scope="col"
528
+ style=${A(this.columnStyle(i,!0))}
529
+ aria-sort=${A(i.sort)}
530
+ >
531
+ ${i.label}
532
+ </th>`)}
533
+ ${this.rowAction?m`<th scope="col" data-table-action>
534
+ <span class="eun-table-visually-hidden"
535
+ >${this.rowAction.label??this.labels.rowActions}</span
536
+ >
537
+ </th>`:R}
538
+ </tr>
539
+ </thead>
540
+ <tbody>
541
+ ${Z(this.data,(i,c)=>t[c],(i,c)=>m`<tr data-row-key=${t[c]}>
542
+ ${e.map(l=>m`<td
543
+ style=${A(this.columnStyle(l,!1))}
544
+ >
545
+ ${this.renderManagedCell(l,i,c)}
546
+ </td>`)}
547
+ ${this.rowAction?m`<td data-table-action>
548
+ ${this.renderRowAction(this.rowAction,i,c)}
549
+ </td>`:R}
550
+ </tr>`)}
551
+ </tbody>
552
+ </table>`,this);let a=new Set(t),r=new Set([...this.internalSelection].filter(i=>a.has(i)));r.size!==this.internalSelection.size&&(this.internalSelection=r),this.virtualize&&this.scheduleAnimationFrame(()=>this.syncPages()),this.infinite&&this.reobserveSentinel(this.sentinelEl)}columnStyle(e,t){let a=[];t&&e.width&&a.push(`width: ${e.width}`);let r=ee(e.align);return r&&a.push(`text-align: ${r}`),a.length?a.join("; "):void 0}renderManagedCell(e,t,a){let r=t[e.key];return e.render?e.render(r,t,a):r==null?"":String(r)}renderRowAction(e,t,a){return e.type==="dropdown"?m`<eun-dropdown-button
553
+ size="xs"
554
+ appearance="ghost"
555
+ icon=${A(e.icon)}
556
+ label=${A(e.icon?void 0:e.label)}
557
+ aria-label=${e.label??this.labels.rowActions}
558
+ .options=${e.options(t)}
559
+ .disabledKeys=${e.disabledKeys?.(t)??[]}
560
+ ?disabled=${e.disabled?.(t)??!1}
561
+ @eunselect=${r=>e.onSelect(r.key,t,a)}
562
+ ></eun-dropdown-button>`:m`<eun-button
563
+ size="xs"
564
+ appearance=${e.color?"default":"ghost"}
565
+ color=${A(e.color)}
566
+ aria-label=${e.label}
567
+ ?disabled=${e.disabled?.(t)??!1}
568
+ @click=${()=>e.onClick(t,a)}
569
+ >
570
+ ${e.icon?m`<eun-icon name=${e.icon} size="16"></eun-icon>`:e.label}
571
+ </eun-button>`}syncLogicalRows(){let e=[];for(let r of Array.from(this.bodyEl?.rows??[]))r.classList.contains(P)?e.push(...this.detachedByPage.get(Number(r.dataset.eunPage))??[]):e.push(r);this.logicalRows=e;let t=Math.ceil(e.length/this.pageSize),a=new Set;for(let r=0;r<t;r++)this.detachedByPage.has(r)||a.add(r);this.mountedPages=a}mountAllPages(){for(let e of Array.from(this.detachedByPage.keys()))this.mountPage(e);this.detachedByPage.clear(),this.pageHeights=[],this.mutationObserver?.takeRecords()}syncPages(){let e=this.logicalRows.length;if(e===0)return;let t=Math.ceil(e/this.pageSize),a=!1;if(e<=this.virtualizeThreshold)for(let r=0;r<t;r++)a=this.mountPage(r)||a;else{if(!this.frameEl?.clientHeight)return;let r=this.estimateCenterPage(t),i=Math.max(0,r-this.bufferPages),c=Math.min(t-1,r+this.bufferPages);for(let l=0;l<t;l++)l>=i&&l<=c?a=this.mountPage(l)||a:a=this.unmountPage(l)||a}a&&this.sync()}estimateCenterPage(e){let t=this.frameEl,a=t?t.scrollTop+t.clientHeight/2:0,r=0;for(let i=0;i<e;i++){let c=this.pageHeights[i]??this.estimatePageHeight(i);if(a<r+c)return i;r+=c}return Math.max(0,e-1)}estimatePageHeight(e){let t=Math.ceil(this.logicalRows.length/this.pageSize);return(e===t-1?this.logicalRows.length-e*this.pageSize:this.pageSize)*this.avgRowHeight}mountPage(e){let t=this.detachedByPage.get(e);if(this.mountedPages.has(e)||!t?.length)return!1;let a=this.bodyEl?.querySelector(`:scope > .${P}[data-eun-page="${e}"]`);return a?(a.before(...t),a.remove()):this.bodyEl?.append(...t),this.detachedByPage.delete(e),this.mountedPages.add(e),!0}unmountPage(e){if(!this.mountedPages.has(e))return!1;let t=e*this.pageSize,a=Math.min(t+this.pageSize,this.logicalRows.length),r=this.logicalRows.slice(t,a).filter(d=>d.isConnected);if(r.length===0)return!1;let i=r[0],l=r[r.length-1].getBoundingClientRect().bottom-i.getBoundingClientRect().top;if(l<=0)return!1;this.pageHeights[e]=l,this.avgRowHeight=(this.avgRowHeight+l/r.length)/2;let u=document.createElement("tr");u.className=P,u.dataset.eunPage=String(e),u.setAttribute("aria-hidden","true");let f=u.insertCell();return f.colSpan=1e3,f.style.blockSize=`${l}px`,i.before(u),r.forEach(d=>d.remove()),this.detachedByPage.set(e,r),this.mountedPages.delete(e),!0}ensureVirtualizeObservers(){if(!this.virtualize){this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.frameEl?.removeEventListener("scroll",this.handleTableScroll),this.syncHandle&&(cancelAnimationFrame(this.syncHandle),this.syncHandle=void 0);return}!this.resizeObserver&&this.frameEl&&(this.resizeObserver=new ResizeObserver(()=>this.scheduleAnimationFrame(()=>this.syncPages())),this.resizeObserver.observe(this.frameEl),this.frameEl.addEventListener("scroll",this.handleTableScroll,{passive:!0})),this.sync(),this.scheduleAnimationFrame(()=>this.syncPages())}setupTableLoadObserver(){this.setupLoadObserver(this.sentinelEl,this.frameEl??this,this.rootMargin,()=>this.maybeLoadMore())}maybeLoadMore(){this.loadingMore||!this.hasMore||(this.loadingMore=!0,this.rowCountBeforeLoad=this.currentRows().length,this.requestedPages+=1,this.dispatchEvent(new Y(this.requestedPages,this.pageSize)))}render(){return m`
572
+ <div id="frame" part="frame">
573
+ <slot></slot>
574
+ ${!this.loading&&this.infinite?m`
575
+ <div id="table-sentinel" aria-hidden="true"></div>
576
+ <div id="table-loading-row" ?hidden=${!this.loadingMore}>
577
+ <eun-loader label=${this.labels.loadingMore}></eun-loader>
578
+ </div>
579
+ `:R}
580
+ </div>
581
+ <div
582
+ id="announcer"
583
+ role="status"
584
+ aria-live="polite"
585
+ class="visually-hidden"
586
+ ></div>
587
+ `}};n.styles=te,o([s({type:Boolean,reflect:!0})],n.prototype,"selectable",2),o([s({type:Boolean,reflect:!0,attribute:"checkbox-always-visible"})],n.prototype,"checkboxAlwaysVisible",2),o([s({type:Boolean,reflect:!0,attribute:"action-always-visible"})],n.prototype,"actionAlwaysVisible",2),o([s({type:Boolean,reflect:!0,attribute:"sticky-header"})],n.prototype,"stickyHeader",2),o([s({type:Boolean,reflect:!0,attribute:"sticky-footer"})],n.prototype,"stickyFooter",2),o([s({type:Boolean,reflect:!0,attribute:"sticky-first-column"})],n.prototype,"stickyFirstColumn",2),o([s({type:Boolean,reflect:!0,attribute:"sticky-last-column"})],n.prototype,"stickyLastColumn",2),o([s({type:Boolean,reflect:!0,attribute:"clear-on-escape"})],n.prototype,"clearOnEscape",2),o([s({type:Boolean,reflect:!0})],n.prototype,"loading",2),o([s({attribute:"skeleton-rows",type:Number})],n.prototype,"skeletonRows",2),o([s({type:Boolean,reflect:!0})],n.prototype,"syncing",2),o([s({type:Boolean,reflect:!0})],n.prototype,"clickable",2),o([s({type:Boolean,reflect:!0})],n.prototype,"infinite",2),o([s({type:Boolean,reflect:!0})],n.prototype,"virtualize",2),o([s({attribute:"page-size",type:Number})],n.prototype,"pageSize",2),o([s({attribute:"virtualize-threshold",type:Number})],n.prototype,"virtualizeThreshold",2),o([s({attribute:"buffer-pages",type:Number})],n.prototype,"bufferPages",2),o([s({attribute:"has-more",type:Boolean,reflect:!0})],n.prototype,"hasMore",2),o([s({attribute:"loading-more",type:Boolean,reflect:!0})],n.prototype,"loadingMore",2),o([s({attribute:"root-margin"})],n.prototype,"rootMargin",2),o([s({attribute:"loading-more-label"})],n.prototype,"loadingMoreLabel",2),o([s({attribute:!1})],n.prototype,"actions",2),o([s({attribute:"selected-label"})],n.prototype,"selectedLabel",2),o([s({attribute:"select-all-label"})],n.prototype,"selectAllLabel",2),o([s({attribute:"deselect-all-label"})],n.prototype,"deselectAllLabel",2),o([s({attribute:"select-all-aria-label"})],n.prototype,"selectAllAriaLabel",2),o([s({attribute:"deselect-all-aria-label"})],n.prototype,"deselectAllAriaLabel",2),o([s({attribute:"select-row-aria-label"})],n.prototype,"selectRowAriaLabel",2),o([s({attribute:"toolbar-aria-label"})],n.prototype,"toolbarAriaLabel",2),o([s({attribute:"close-action-bar-aria-label"})],n.prototype,"closeActionBarAriaLabel",2),o([s({attribute:!1})],n.prototype,"columns",2),o([s({attribute:!1})],n.prototype,"data",2),o([s({attribute:!1})],n.prototype,"rowAction",2),o([s({attribute:!1})],n.prototype,"rowKey",2),o([K()],n.prototype,"internalSelection",2),o([L("#table-sentinel")],n.prototype,"sentinelEl",2),o([L("#frame")],n.prototype,"frameEl",2),o([L("#announcer")],n.prototype,"announcerEl",2),n=o([_(ie)],n);export{n as EunomiaTable,ie as EunomiaTableTagName};
588
+ /*! Bundled license information:
589
+
590
+ lit-html/directives/repeat.js:
591
+ (**
592
+ * @license
593
+ * Copyright 2017 Google LLC
594
+ * SPDX-License-Identifier: BSD-3-Clause
595
+ *)
596
+ */