@eunomia/elements 1.0.0-beta.6 → 1.0.0-beta.8

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 (327) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/{chunk-KDN4O5W2.js → chunk-32L2QYWQ.js} +5 -5
  3. package/dist/cdn/components/chunks/{chunk-JYIIWN2P.js → chunk-36KLGY6U.js} +8 -8
  4. package/dist/cdn/components/chunks/chunk-3BMACIDO.js +1 -0
  5. package/dist/cdn/components/chunks/{chunk-2Y2EU2CI.js → chunk-3UUZM7X2.js} +1 -1
  6. package/dist/cdn/components/chunks/chunk-55PUDL7D.js +109 -0
  7. package/dist/cdn/components/chunks/chunk-5LA5DQMP.js +1 -0
  8. package/dist/cdn/components/chunks/chunk-5LXGJVJR.js +1 -0
  9. package/dist/cdn/components/chunks/{chunk-ZKZV2YG5.js → chunk-5XPOGBPL.js} +1 -1
  10. package/dist/cdn/components/chunks/{chunk-LMVW522V.js → chunk-62RLISRD.js} +1 -1
  11. package/dist/cdn/components/chunks/{chunk-PMPSJG5V.js → chunk-6FYW5TQU.js} +3 -3
  12. package/dist/cdn/components/chunks/chunk-6TIEBY34.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-MOMYII3P.js → chunk-AH2SKZ7T.js} +14 -1
  14. package/dist/cdn/components/chunks/chunk-AK2DIJX7.js +1 -0
  15. package/dist/cdn/components/chunks/chunk-B5XMGWM7.js +10 -0
  16. package/dist/cdn/components/chunks/chunk-GVS6IUKC.js +1 -0
  17. package/dist/cdn/components/chunks/chunk-GWLD2I3P.js +8 -0
  18. package/dist/cdn/components/chunks/{chunk-UDVB4LAE.js → chunk-I4ERDXSM.js} +5 -3
  19. package/dist/cdn/components/chunks/{chunk-QZ5SHR3I.js → chunk-J3SZBXM6.js} +2 -2
  20. package/dist/cdn/components/chunks/chunk-JAGZL7JH.js +1 -0
  21. package/dist/cdn/components/chunks/{chunk-VYFR364B.js → chunk-LD35BFNK.js} +18 -17
  22. package/dist/cdn/components/chunks/{chunk-XDPRWUKN.js → chunk-MQQJ6DID.js} +1 -1
  23. package/dist/cdn/components/chunks/chunk-P6LGU3FT.js +1 -0
  24. package/dist/cdn/components/chunks/chunk-QL5GSW2A.js +1 -0
  25. package/dist/cdn/components/chunks/{chunk-UYZR4JXZ.js → chunk-QSZO4GIH.js} +45 -9
  26. package/dist/cdn/components/chunks/{chunk-7KKWYPHY.js → chunk-QXQ25SQS.js} +21 -19
  27. package/dist/cdn/components/chunks/{chunk-SZYEBMG6.js → chunk-QYB6Z6FG.js} +5 -5
  28. package/dist/cdn/components/chunks/{chunk-RIFF2D2F.js → chunk-RGC3I6MK.js} +1 -1
  29. package/dist/cdn/components/chunks/{chunk-L2ADCEN7.js → chunk-SVGWCKWT.js} +1 -1
  30. package/dist/cdn/components/chunks/{chunk-N6ZW5CDN.js → chunk-TCSB2MLU.js} +1 -1
  31. package/dist/cdn/components/chunks/{chunk-MQQ4BGVJ.js → chunk-TFTRCIIK.js} +7 -6
  32. package/dist/cdn/components/chunks/chunk-TLBXTBMM.js +46 -0
  33. package/dist/cdn/components/chunks/chunk-UVHVQRPT.js +1 -0
  34. package/dist/cdn/components/chunks/chunk-WIUERJII.js +1 -0
  35. package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +1 -0
  36. package/dist/cdn/components/eun-alert.js +13 -6
  37. package/dist/cdn/components/eun-animate.js +6 -6
  38. package/dist/cdn/components/eun-badge.js +1 -1
  39. package/dist/cdn/components/eun-button.js +1 -1
  40. package/dist/cdn/components/eun-calendar.js +2 -2
  41. package/dist/cdn/components/eun-card.js +4 -4
  42. package/dist/cdn/components/eun-carousel.js +26 -22
  43. package/dist/cdn/components/eun-check-card.js +1 -1
  44. package/dist/cdn/components/eun-checkbox-list.js +11 -8
  45. package/dist/cdn/components/eun-checkbox.js +1 -1
  46. package/dist/cdn/components/eun-chip.js +17 -11
  47. package/dist/cdn/components/eun-collapse.js +1 -1
  48. package/dist/cdn/components/eun-color-picker.js +74 -69
  49. package/dist/cdn/components/eun-counter.js +16 -14
  50. package/dist/cdn/components/eun-date-picker.js +67 -63
  51. package/dist/cdn/components/eun-description-list.js +2 -2
  52. package/dist/cdn/components/eun-divider.js +3 -3
  53. package/dist/cdn/components/eun-drawer.js +21 -22
  54. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  55. package/dist/cdn/components/eun-dropdown-item.js +3 -3
  56. package/dist/cdn/components/eun-fab.js +2 -2
  57. package/dist/cdn/components/eun-icon.js +1 -1
  58. package/dist/cdn/components/eun-image-card.js +1 -1
  59. package/dist/cdn/components/eun-image-carousel.js +10 -10
  60. package/dist/cdn/components/eun-infinite-list.js +1 -1
  61. package/dist/cdn/components/eun-input-file.js +21 -21
  62. package/dist/cdn/components/eun-input-phone.js +16 -12
  63. package/dist/cdn/components/eun-input.js +1 -1
  64. package/dist/cdn/components/eun-link.js +59 -13
  65. package/dist/cdn/components/eun-loader.js +1 -1
  66. package/dist/cdn/components/eun-modal.js +33 -23
  67. package/dist/cdn/components/eun-pagination.js +16 -16
  68. package/dist/cdn/components/eun-password-strength.js +14 -10
  69. package/dist/cdn/components/eun-radio-card.js +1 -1
  70. package/dist/cdn/components/eun-radio-list.js +11 -8
  71. package/dist/cdn/components/eun-radio.js +1 -1
  72. package/dist/cdn/components/eun-rating.js +276 -0
  73. package/dist/cdn/components/eun-scheduler-event-editor.js +11 -11
  74. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  75. package/dist/cdn/components/eun-scheduler.js +28 -28
  76. package/dist/cdn/components/eun-search.js +36 -32
  77. package/dist/cdn/components/eun-select.js +27 -27
  78. package/dist/cdn/components/eun-sidebar.js +73 -26
  79. package/dist/cdn/components/eun-skeleton.js +1 -1
  80. package/dist/cdn/components/eun-slider.js +3 -3
  81. package/dist/cdn/components/eun-sliding-card.js +1 -1
  82. package/dist/cdn/components/eun-step.js +5 -4
  83. package/dist/cdn/components/eun-stepper.js +30 -30
  84. package/dist/cdn/components/eun-switch.js +1 -1
  85. package/dist/cdn/components/eun-tab-group.js +4 -4
  86. package/dist/cdn/components/eun-tab-panel.js +1 -1
  87. package/dist/cdn/components/eun-tab.js +1 -1
  88. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  89. package/dist/cdn/components/eun-table.js +2 -2
  90. package/dist/cdn/components/eun-tag.js +3 -3
  91. package/dist/cdn/components/eun-textarea.js +36 -28
  92. package/dist/cdn/components/eun-time-picker.js +31 -28
  93. package/dist/cdn/components/eun-toast.js +24 -15
  94. package/dist/cdn/components/eun-toggle-group.js +75 -37
  95. package/dist/cdn/components/eun-toggle-item.js +9 -9
  96. package/dist/cdn/components/eun-toggle.js +2 -2
  97. package/dist/cdn/components/eun-toolbar.js +22 -22
  98. package/dist/cdn/components/eun-tooltip.js +6 -6
  99. package/dist/cdn/styles/eunomia-themes.css +1 -1
  100. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +6 -2
  101. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +6 -2
  102. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  103. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +6 -2
  104. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  105. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +6 -2
  106. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  107. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +6 -2
  108. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  109. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +6 -2
  110. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  111. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +6 -2
  112. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  113. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +6 -2
  114. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  115. package/dist/components/action/button/button.d.ts +4 -3
  116. package/dist/components/action/button/button.js +6 -9
  117. package/dist/components/action/button/button.styles.js +13 -8
  118. package/dist/components/action/dropdown-button/dropdown-button.d.ts +4 -6
  119. package/dist/components/action/dropdown-button/dropdown-button.js +16 -13
  120. package/dist/components/action/dropdown-button/dropdown-item.d.ts +10 -2
  121. package/dist/components/action/dropdown-button/dropdown-item.js +24 -9
  122. package/dist/components/action/link/link.d.ts +10 -1
  123. package/dist/components/action/link/link.js +13 -1
  124. package/dist/components/action/link/link.styles.js +50 -3
  125. package/dist/components/action/toggle/toggle-group.d.ts +12 -2
  126. package/dist/components/action/toggle/toggle-group.js +18 -3
  127. package/dist/components/action/toggle/toggle-group.styles.js +58 -20
  128. package/dist/components/action/toggle/toggle-item.js +1 -3
  129. package/dist/components/action/toggle/toggle-item.styles.js +7 -7
  130. package/dist/components/action/toggle/toggle.js +1 -1
  131. package/dist/components/alert/alert/alert.d.ts +9 -7
  132. package/dist/components/alert/alert/alert.js +11 -14
  133. package/dist/components/alert/alert/alert.styles.js +9 -2
  134. package/dist/components/alert/drawer/drawer.d.ts +30 -5
  135. package/dist/components/alert/drawer/drawer.js +48 -13
  136. package/dist/components/alert/drawer/drawer.styles.js +7 -7
  137. package/dist/components/alert/modal/modal.d.ts +35 -10
  138. package/dist/components/alert/modal/modal.js +55 -28
  139. package/dist/components/alert/modal/modal.styles.js +17 -6
  140. package/dist/components/alert/toast/toast.d.ts +7 -5
  141. package/dist/components/alert/toast/toast.js +12 -15
  142. package/dist/components/alert/toast/toast.styles.js +18 -9
  143. package/dist/components/content/badge/badge.js +2 -2
  144. package/dist/components/content/card/card.js +1 -1
  145. package/dist/components/content/card/card.styles.js +2 -2
  146. package/dist/components/content/chip/chip.d.ts +4 -4
  147. package/dist/components/content/chip/chip.js +11 -10
  148. package/dist/components/content/chip/chip.styles.js +9 -3
  149. package/dist/components/content/description-list/description-list.js +3 -3
  150. package/dist/components/content/icon/icon.d.ts +3 -0
  151. package/dist/components/content/icon/icon.js +3 -0
  152. package/dist/components/content/icon/icon.style.d.ts +2 -0
  153. package/dist/components/content/icon/icon.style.js +4 -0
  154. package/dist/components/content/image-carousel/image-carousel.d.ts +12 -12
  155. package/dist/components/content/image-carousel/image-carousel.js +29 -28
  156. package/dist/components/content/password-strength/password-strength.d.ts +21 -6
  157. package/dist/components/content/password-strength/password-strength.js +37 -16
  158. package/dist/components/content/password-strength/password-strength.styles.js +4 -0
  159. package/dist/components/content/tag/tag.js +2 -2
  160. package/dist/components/content/tooltip/tooltip.d.ts +16 -9
  161. package/dist/components/content/tooltip/tooltip.js +31 -15
  162. package/dist/components/content/tooltip/tooltip.styles.js +1 -1
  163. package/dist/components/form/checkbox/check-card.d.ts +1 -0
  164. package/dist/components/form/checkbox/check-card.js +1 -0
  165. package/dist/components/form/checkbox/checkbox-list.d.ts +17 -0
  166. package/dist/components/form/checkbox/checkbox-list.js +39 -10
  167. package/dist/components/form/checkbox/checkbox.d.ts +1 -0
  168. package/dist/components/form/checkbox/checkbox.js +3 -1
  169. package/dist/components/form/checkbox/checkbox.styles.js +3 -2
  170. package/dist/components/form/color-picker/color-picker.d.ts +47 -28
  171. package/dist/components/form/color-picker/color-picker.js +73 -51
  172. package/dist/components/form/color-picker/color-picker.styles.js +14 -1
  173. package/dist/components/form/counter/counter.d.ts +24 -18
  174. package/dist/components/form/counter/counter.js +61 -61
  175. package/dist/components/form/counter/counter.styles.js +6 -4
  176. package/dist/components/form/date-picker/date-picker.d.ts +33 -7
  177. package/dist/components/form/date-picker/date-picker.js +82 -56
  178. package/dist/components/form/date-picker/date-picker.styles.js +9 -6
  179. package/dist/components/form/input/input.d.ts +43 -39
  180. package/dist/components/form/input/input.js +91 -110
  181. package/dist/components/form/input-file/input-file.d.ts +26 -13
  182. package/dist/components/form/input-file/input-file.js +35 -35
  183. package/dist/components/form/input-file/input-file.styles.js +4 -4
  184. package/dist/components/form/input-phone/input-phone.d.ts +28 -5
  185. package/dist/components/form/input-phone/input-phone.js +47 -13
  186. package/dist/components/form/input-phone/input-phone.styles.js +6 -3
  187. package/dist/components/form/radio/radio-card.d.ts +1 -0
  188. package/dist/components/form/radio/radio-card.js +1 -0
  189. package/dist/components/form/radio/radio-list.d.ts +23 -7
  190. package/dist/components/form/radio/radio-list.js +47 -22
  191. package/dist/components/form/radio/radio.d.ts +1 -0
  192. package/dist/components/form/radio/radio.js +1 -0
  193. package/dist/components/form/rating/rating.d.ts +349 -0
  194. package/dist/components/form/rating/rating.js +665 -0
  195. package/dist/components/form/rating/rating.styles.d.ts +1 -0
  196. package/dist/components/form/rating/rating.styles.js +213 -0
  197. package/dist/components/form/search/search.d.ts +72 -18
  198. package/dist/components/form/search/search.js +135 -72
  199. package/dist/components/form/search/search.styles.js +2 -0
  200. package/dist/components/form/select/select.d.ts +29 -10
  201. package/dist/components/form/select/select.js +65 -41
  202. package/dist/components/form/shared-styles/field.styles.js +45 -8
  203. package/dist/components/form/shared-styles/listbox.styles.js +15 -1
  204. package/dist/components/form/slider/slider.d.ts +7 -8
  205. package/dist/components/form/slider/slider.js +9 -12
  206. package/dist/components/form/switch/switch.d.ts +1 -0
  207. package/dist/components/form/switch/switch.js +1 -0
  208. package/dist/components/form/textarea/textarea.d.ts +90 -23
  209. package/dist/components/form/textarea/textarea.js +194 -44
  210. package/dist/components/form/textarea/textarea.styles.js +3 -0
  211. package/dist/components/form/time-picker/time-picker-columns.d.ts +2 -2
  212. package/dist/components/form/time-picker/time-picker-columns.js +8 -8
  213. package/dist/components/form/time-picker/time-picker.d.ts +30 -9
  214. package/dist/components/form/time-picker/time-picker.js +66 -40
  215. package/dist/components/form/time-picker/time-picker.styles.js +7 -5
  216. package/dist/components/layout/animate/animate.js +3 -2
  217. package/dist/components/layout/animate/animate.styles.js +2 -2
  218. package/dist/components/layout/divider/divider.js +1 -1
  219. package/dist/components/layout/divider/divider.styles.js +1 -1
  220. package/dist/components/loader/loader/loader.js +2 -2
  221. package/dist/components/loader/loader/loader.styles.js +14 -12
  222. package/dist/components/loader/skeleton/skeleton.js +1 -1
  223. package/dist/components/navigation/carousel/carousel.d.ts +32 -9
  224. package/dist/components/navigation/carousel/carousel.js +88 -41
  225. package/dist/components/navigation/carousel/carousel.styles.js +10 -6
  226. package/dist/components/navigation/pagination/pagination.d.ts +23 -21
  227. package/dist/components/navigation/pagination/pagination.js +30 -53
  228. package/dist/components/navigation/sidebar/sidebar.d.ts +113 -65
  229. package/dist/components/navigation/sidebar/sidebar.js +161 -118
  230. package/dist/components/navigation/sidebar/sidebar.styles.d.ts +1 -1
  231. package/dist/components/navigation/sidebar/sidebar.styles.js +74 -24
  232. package/dist/components/navigation/stepper/step.js +9 -8
  233. package/dist/components/navigation/stepper/stepper.d.ts +1 -3
  234. package/dist/components/navigation/stepper/stepper.js +15 -26
  235. package/dist/components/navigation/tabs/tab-group/tab-group.js +2 -2
  236. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +2 -2
  237. package/dist/components/navigation/toolbar/toolbar.d.ts +23 -13
  238. package/dist/components/navigation/toolbar/toolbar.js +28 -35
  239. package/dist/components/navigation/toolbar/toolbar.styles.js +18 -17
  240. package/dist/events/select.event.d.ts +3 -2
  241. package/dist/events/select.event.js +2 -1
  242. package/dist/features/scheduler/calendar/calendar.js +1 -1
  243. package/dist/features/scheduler/scheduler/scheduler.d.ts +7 -7
  244. package/dist/features/scheduler/scheduler/scheduler.js +15 -24
  245. package/dist/features/scheduler/scheduler-event/scheduler-event.js +3 -3
  246. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +1 -1
  247. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +6 -4
  248. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +7 -8
  249. package/dist/features/table/table/table.js +1 -1
  250. package/dist/features/table/table-action-bar/table-action-bar.js +2 -2
  251. package/dist/i18n/en.d.ts +68 -0
  252. package/dist/i18n/en.js +68 -0
  253. package/dist/i18n/fr.js +68 -2
  254. package/dist/index.d.ts +3 -0
  255. package/dist/index.js +1 -0
  256. package/dist/mixins/button.mixin.d.ts +1 -1
  257. package/dist/mixins/button.mixin.js +9 -6
  258. package/dist/mixins/check.mixin.js +11 -10
  259. package/dist/mixins/dialog-surface.mixin.d.ts +8 -0
  260. package/dist/mixins/disabled.mixin.d.ts +5 -0
  261. package/dist/mixins/disabled.mixin.js +21 -1
  262. package/dist/mixins/editable.mixin.js +28 -5
  263. package/dist/mixins/field-appearance.mixin.js +3 -2
  264. package/dist/mixins/field-size.mixin.d.ts +19 -0
  265. package/dist/mixins/field-size.mixin.js +33 -0
  266. package/dist/mixins/form.mixin.d.ts +4 -0
  267. package/dist/mixins/form.mixin.js +87 -13
  268. package/dist/mixins/localizable.mixin.d.ts +1 -1
  269. package/dist/mixins/localizable.mixin.js +1 -1
  270. package/dist/mixins/radio.mixin.js +11 -10
  271. package/dist/mixins/readonly.mixin.d.ts +2 -1
  272. package/dist/mixins/readonly.mixin.js +10 -3
  273. package/dist/mixins/rounded.mixin.d.ts +18 -0
  274. package/dist/mixins/rounded.mixin.js +32 -0
  275. package/dist/ssr/alert-ssr.css +187 -0
  276. package/dist/ssr/badge-ssr.css +67 -0
  277. package/dist/ssr/breadcrumb-ssr.css +41 -0
  278. package/dist/ssr/button-ssr.css +5 -5
  279. package/dist/ssr/card-ssr.css +27 -15
  280. package/dist/ssr/carousel-ssr.css +247 -0
  281. package/dist/ssr/checkbox-ssr.css +67 -0
  282. package/dist/ssr/chip-ssr.css +250 -0
  283. package/dist/ssr/collapse-ssr.css +180 -0
  284. package/dist/ssr/field-ssr.css +202 -0
  285. package/dist/ssr/icon-ssr.css +266 -0
  286. package/dist/ssr/image-carousel-ssr.css +34 -0
  287. package/dist/ssr/links-ssr.css +44 -1
  288. package/dist/ssr/pagination-ssr.css +4 -0
  289. package/dist/ssr/rating-ssr.css +254 -0
  290. package/dist/ssr/sidebar-ssr.css +102 -3
  291. package/dist/ssr/skeleton-ssr.css +63 -0
  292. package/dist/ssr/tabs-ssr.css +129 -0
  293. package/dist/ssr/toggle-group-ssr.css +233 -0
  294. package/dist/ssr/toolbar-ssr.css +81 -2
  295. package/dist/types/variant.type.d.ts +4 -1
  296. package/dist/utils/boolean.utils.d.ts +14 -0
  297. package/dist/utils/boolean.utils.js +20 -0
  298. package/dist/utils/dropdown-menu.utils.d.ts +1 -1
  299. package/dist/utils/focusable-elements.utils.d.ts +12 -0
  300. package/dist/utils/focusable-elements.utils.js +26 -0
  301. package/dist/utils/implicit-submission.utils.d.ts +18 -0
  302. package/dist/utils/implicit-submission.utils.js +79 -0
  303. package/dist/utils/input-modality.utils.d.ts +13 -0
  304. package/dist/utils/input-modality.utils.js +34 -0
  305. package/dist/utils/listbox-options.utils.d.ts +11 -0
  306. package/dist/utils/listbox-options.utils.js +41 -3
  307. package/dist/utils/theme-generator.utils.d.ts +8 -2
  308. package/dist/utils/theme-generator.utils.js +30 -9
  309. package/package.json +26 -7
  310. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +6 -2
  311. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +6 -2
  312. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +6 -2
  313. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +6 -2
  314. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +6 -2
  315. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +6 -2
  316. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +6 -2
  317. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +6 -2
  318. package/dist/cdn/components/chunks/chunk-4PI6RDUS.js +0 -1
  319. package/dist/cdn/components/chunks/chunk-6VK6SHCG.js +0 -1
  320. package/dist/cdn/components/chunks/chunk-A3X4KD2X.js +0 -1
  321. package/dist/cdn/components/chunks/chunk-BQFJR2UP.js +0 -110
  322. package/dist/cdn/components/chunks/chunk-G5SBDQQ3.js +0 -1
  323. package/dist/cdn/components/chunks/chunk-KSZRQRN4.js +0 -1
  324. package/dist/cdn/components/chunks/chunk-PE4DAXHQ.js +0 -3
  325. package/dist/cdn/components/chunks/chunk-RS7TWEMQ.js +0 -1
  326. package/dist/cdn/components/chunks/chunk-UDOZRIJZ.js +0 -1
  327. package/dist/cdn/components/chunks/chunk-VOTRXBDS.js +0 -38
@@ -11,6 +11,7 @@ import { debounce } from "../../../utils/time.utils.js";
11
11
  import { SlideChangeEvent } from "../../../events/slidechange.event.js";
12
12
  import { carouselStyles } from "./carousel.styles.js";
13
13
  import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
14
+ import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
14
15
  /**
15
16
  * Tag name of the carousel component.
16
17
  */
@@ -54,10 +55,10 @@ const ACTIVE_SLIDE_CLASS = "eun-carousel-active-slide";
54
55
  * @prop {boolean} [showArrows=true] - Shows the previous and next buttons
55
56
  * @prop {boolean} [showDots=true] - Shows the pagination dots
56
57
  * @attr {string} aria-label - The accessible name for the carousel region. Defaults to Carousel, and is recommended whenever a page has more than one carousel, or its purpose isn't already clear from a preceding heading
57
- * @prop {string} [ariaLabelPrevious] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
58
- * @attr {string} [aria-label-previous] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
59
- * @prop {string} [ariaLabelNext] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
60
- * @attr {string} [aria-label-next] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
58
+ * @prop {string} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
59
+ * @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
60
+ * @prop {string} [nextLabel] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
61
+ * @attr {string} [next-label] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
61
62
  * @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
62
63
  * @cssprop [--carousel-visible-slides] - Sets how many slides are shown at once, overriding visibleSlides. Meant to be changed from your own media or container queries, so the slide count follows the available space without any script
63
64
  * @cssprop [--carousel-scroll-step] - Sets how many slides a previous, next, or dot click advances by, overriding scrollStep. Read again whenever the carousel resizes
@@ -154,8 +155,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
154
155
  * Fades the viewport's edges to hint there's more to scroll — hidden
155
156
  * automatically on whichever side is already at its scroll bound (never
156
157
  * shown on the left at the very start, or the right at the very end).
157
- * On by default ; set the *property* to `false` to turn it off (see the
158
- * Examples tab for the boolean-attribute caveat that applies here too).
158
+ * On by default ; `edge-fade="false"` turns it off.
159
159
  * @default true
160
160
  */
161
161
  this.edgeFade = true;
@@ -428,6 +428,37 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
428
428
  }
429
429
  return Number.parseFloat(getComputedStyle(this.trackEl).paddingLeft) || 0;
430
430
  }
431
+ /**
432
+ * Whether the track lays out right to left. Slides then start from the
433
+ * track's right edge and `scrollLeft` runs from `0` down to negative
434
+ * values, so every scroll measurement goes through the logical helpers
435
+ * below instead of reading `left`/`scrollLeft` directly.
436
+ * @private
437
+ */
438
+ isRtl() {
439
+ return !!this.trackEl && getComputedStyle(this.trackEl).direction === "rtl";
440
+ }
441
+ /**
442
+ * How far the track has scrolled from its inline start, always positive
443
+ * whatever the direction.
444
+ * @private
445
+ */
446
+ getScrollProgress() {
447
+ return this.trackEl ? Math.abs(this.trackEl.scrollLeft) : 0;
448
+ }
449
+ /**
450
+ * Distance from the track's inline-start edge to a rect's own
451
+ * inline-start edge (`left` in LTR, `right` in RTL), positive toward the
452
+ * end of the track.
453
+ * @param rect the measured element's rect.
454
+ * @param trackRect the track's own rect.
455
+ * @private
456
+ */
457
+ getInlineStartOffset(rect, trackRect) {
458
+ return this.isRtl()
459
+ ? trackRect.right - rect.right
460
+ : rect.left - trackRect.left;
461
+ }
431
462
  /**
432
463
  * Number of pagination dots, derived from how many `scrollStep`-sized
433
464
  * jumps it takes to cover every slide. Rounds up so a trailing partial
@@ -493,16 +524,16 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
493
524
  }
494
525
  const track = this.trackEl;
495
526
  const trackRect = track.getBoundingClientRect();
496
- const maxScrollLeft = Math.max(0, track.scrollWidth - track.clientWidth);
527
+ const maxScroll = Math.max(0, track.scrollWidth - track.clientWidth);
528
+ const scrolled = this.getScrollProgress();
497
529
  const inset = this.getTrackInset();
498
530
  let max = 0;
499
531
  let closestDistance = Infinity;
500
532
  this.slides.forEach((slide, index) => {
501
- const slideStart = slide.getBoundingClientRect().left -
502
- trackRect.left +
503
- track.scrollLeft -
533
+ const slideStart = this.getInlineStartOffset(slide.getBoundingClientRect(), trackRect) +
534
+ scrolled -
504
535
  inset;
505
- const distance = Math.abs(slideStart - maxScrollLeft);
536
+ const distance = Math.abs(slideStart - maxScroll);
506
537
  if (distance < closestDistance) {
507
538
  closestDistance = distance;
508
539
  max = index;
@@ -613,8 +644,9 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
613
644
  ? ((index % (max + 1)) + (max + 1)) % (max + 1)
614
645
  : Math.max(0, Math.min(index, max));
615
646
  if (!this.centerSnap && target === max) {
647
+ const maxScroll = this.trackEl.scrollWidth - this.trackEl.clientWidth;
616
648
  this.trackEl.scrollTo({
617
- left: this.trackEl.scrollWidth - this.trackEl.clientWidth,
649
+ left: this.isRtl() ? -maxScroll : maxScroll,
618
650
  behavior: this.scrollBehavior(),
619
651
  });
620
652
  return;
@@ -712,27 +744,20 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
712
744
  }
713
745
  const trackRect = this.trackEl.getBoundingClientRect();
714
746
  const reference = this.centerSnap
715
- ? trackRect.left + trackRect.width / 2
716
- : trackRect.left + this.getTrackInset();
747
+ ? trackRect.width / 2
748
+ : this.getTrackInset();
717
749
  let closestIndex = 0;
718
750
  let closestDistance = Infinity;
719
751
  this.slides.forEach((slide, index) => {
720
752
  const rect = slide.getBoundingClientRect();
721
- const point = this.centerSnap ? rect.left + rect.width / 2 : rect.left;
753
+ const start = this.getInlineStartOffset(rect, trackRect);
754
+ const point = this.centerSnap ? start + rect.width / 2 : start;
722
755
  const distance = Math.abs(point - reference);
723
756
  if (distance < closestDistance) {
724
757
  closestDistance = distance;
725
758
  closestIndex = index;
726
759
  }
727
760
  });
728
- // At the true scroll end, the nearest slide to `reference` can sit past
729
- // `measureMaxIndex`'s result — e.g. when the slide count doesn't evenly
730
- // divide into pages, the flush-end scroll position (see the `target ===
731
- // max` branch in `goToIndex`) reveals a trailing slide that ends up
732
- // closer to `reference` than the officially "reachable" last page. Left
733
- // unclamped, `currentIndex` would exceed `maxIndex`, which breaks the
734
- // pagination dot lookup (no dot matches) and gets `previous()` stuck,
735
- // since it re-targets that same last-page scroll position every time.
736
761
  this.maxIndex = this.measureMaxIndex();
737
762
  closestIndex = Math.min(closestIndex, this.maxIndex);
738
763
  this.slides.forEach((slide, index) => {
@@ -740,17 +765,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
740
765
  });
741
766
  const changedIndex = closestIndex !== this.currentIndex;
742
767
  this.currentIndex = closestIndex;
743
- const { scrollLeft } = this.trackEl;
768
+ const scrolled = this.getScrollProgress();
744
769
  const maxScroll = this.trackEl.scrollWidth - this.trackEl.clientWidth;
745
- this.style.setProperty("--_showLeftFade", scrollLeft > 1 ? "1" : "0");
746
- this.style.setProperty("--_showRightFade", scrollLeft < maxScroll - 1 ? "1" : "0");
770
+ const startFade = scrolled > 1 ? "1" : "0";
771
+ const endFade = scrolled < maxScroll - 1 ? "1" : "0";
772
+ const rtl = this.isRtl();
773
+ this.style.setProperty("--_showLeftFade", rtl ? endFade : startFade);
774
+ this.style.setProperty("--_showRightFade", rtl ? startFade : endFade);
747
775
  if (changedIndex) {
748
776
  this.scheduleAnnounce();
749
777
  }
750
778
  }
751
779
  /**
752
780
  * Handles keyboard navigation on the track : arrow keys page by
753
- * `scrollStep`, Home/End jump to the bounds.
781
+ * `scrollStep`, Home/End jump to the bounds. Right to left, the arrows
782
+ * swap so each one still moves toward the side it points to.
754
783
  *
755
784
  * @param event the native keyboard event.
756
785
  * @private
@@ -759,11 +788,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
759
788
  switch (event.key) {
760
789
  case "ArrowLeft":
761
790
  event.preventDefault();
762
- this.previous();
791
+ if (this.isRtl()) {
792
+ this.next();
793
+ }
794
+ else {
795
+ this.previous();
796
+ }
763
797
  break;
764
798
  case "ArrowRight":
765
799
  event.preventDefault();
766
- this.next();
800
+ if (this.isRtl()) {
801
+ this.previous();
802
+ }
803
+ else {
804
+ this.next();
805
+ }
767
806
  break;
768
807
  case "Home":
769
808
  event.preventDefault();
@@ -822,8 +861,8 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
822
861
  id=${direction}
823
862
  class="nav"
824
863
  aria-label=${isPrev
825
- ? (this.ariaLabelPrevious ?? this.dictionary.carousel.previous)
826
- : (this.ariaLabelNext ?? this.dictionary.carousel.next)}
864
+ ? (this.previousLabel ?? this.dictionary.carousel.previous)
865
+ : (this.nextLabel ?? this.dictionary.carousel.next)}
827
866
  aria-controls="track"
828
867
  ?disabled=${disabled}
829
868
  @click=${() => (isPrev ? this.previous() : this.next())}
@@ -892,10 +931,10 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
892
931
  */
893
932
  EunomiaCarousel.styles = carouselStyles;
894
933
  __decorate([
895
- property({ reflect: true })
934
+ property({ reflect: true, useDefault: true })
896
935
  ], EunomiaCarousel.prototype, "layout", void 0);
897
936
  __decorate([
898
- property({ reflect: true, attribute: "nav-placement" })
937
+ property({ reflect: true, attribute: "nav-placement", useDefault: true })
899
938
  ], EunomiaCarousel.prototype, "navPlacement", void 0);
900
939
  __decorate([
901
940
  property({ type: Number, attribute: "responsive-breakpoint" })
@@ -904,7 +943,11 @@ __decorate([
904
943
  property({ type: Number, attribute: "visible-slides" })
905
944
  ], EunomiaCarousel.prototype, "visibleSlides", void 0);
906
945
  __decorate([
907
- property({ type: Boolean, reflect: true, attribute: "full-slides" })
946
+ property({
947
+ converter: defaultTrueConverter,
948
+ reflect: true,
949
+ attribute: "full-slides",
950
+ })
908
951
  ], EunomiaCarousel.prototype, "fullSlides", void 0);
909
952
  __decorate([
910
953
  property({ type: Number, attribute: "scroll-step" })
@@ -913,7 +956,11 @@ __decorate([
913
956
  property({ type: Boolean, reflect: true, attribute: "center-snap" })
914
957
  ], EunomiaCarousel.prototype, "centerSnap", void 0);
915
958
  __decorate([
916
- property({ type: Boolean, reflect: true, attribute: "edge-fade" })
959
+ property({
960
+ converter: defaultTrueConverter,
961
+ reflect: true,
962
+ attribute: "edge-fade",
963
+ })
917
964
  ], EunomiaCarousel.prototype, "edgeFade", void 0);
918
965
  __decorate([
919
966
  property({ type: Boolean, reflect: true })
@@ -925,17 +972,17 @@ __decorate([
925
972
  property({ type: Number, attribute: "autoplay-interval" })
926
973
  ], EunomiaCarousel.prototype, "autoplayInterval", void 0);
927
974
  __decorate([
928
- property({ type: Boolean, attribute: "show-arrows" })
975
+ property({ converter: defaultTrueConverter, attribute: "show-arrows" })
929
976
  ], EunomiaCarousel.prototype, "showArrows", void 0);
930
977
  __decorate([
931
- property({ type: Boolean, attribute: "show-dots" })
978
+ property({ converter: defaultTrueConverter, attribute: "show-dots" })
932
979
  ], EunomiaCarousel.prototype, "showDots", void 0);
933
980
  __decorate([
934
- property({ attribute: "aria-label-previous" })
935
- ], EunomiaCarousel.prototype, "ariaLabelPrevious", void 0);
981
+ property({ attribute: "previous-label" })
982
+ ], EunomiaCarousel.prototype, "previousLabel", void 0);
936
983
  __decorate([
937
- property({ attribute: "aria-label-next" })
938
- ], EunomiaCarousel.prototype, "ariaLabelNext", void 0);
984
+ property({ attribute: "next-label" })
985
+ ], EunomiaCarousel.prototype, "nextLabel", void 0);
939
986
  __decorate([
940
987
  state()
941
988
  ], EunomiaCarousel.prototype, "currentIndex", void 0);
@@ -130,8 +130,8 @@ const base = css `
130
130
  transparent
131
131
  );
132
132
  }
133
- :host(:not([edge-fade])) #viewport::before,
134
- :host(:not([edge-fade])) #viewport::after {
133
+ :host(:is(:not([edge-fade]), [edge-fade="false"])) #viewport::before,
134
+ :host(:is(:not([edge-fade]), [edge-fade="false"])) #viewport::after {
135
135
  content: none;
136
136
  }
137
137
 
@@ -184,7 +184,7 @@ const base = css `
184
184
  transition: transform var(--eun-duration-m, 200ms)
185
185
  var(--eun-easing-default, ease);
186
186
  }
187
- :host([full-slides]) ::slotted(:not([slot])) {
187
+ :host([full-slides]:not([full-slides="false"])) ::slotted(:not([slot])) {
188
188
  --_slideBasis: max(
189
189
  var(--carousel-min-slide-width, 220px),
190
190
  calc(
@@ -196,7 +196,8 @@ const base = css `
196
196
  )
197
197
  );
198
198
  }
199
- :host(:not([full-slides])) ::slotted(:not([slot])) {
199
+ :host(:is(:not([full-slides]), [full-slides="false"]))
200
+ ::slotted(:not([slot])) {
200
201
  --_slideBasis: max(
201
202
  var(--carousel-min-slide-width, 220px),
202
203
  calc(
@@ -282,11 +283,14 @@ const base = css `
282
283
  .nav eun-icon {
283
284
  pointer-events: none;
284
285
  }
286
+ :host(:dir(rtl)) .nav eun-icon {
287
+ transform: scaleX(-1);
288
+ }
285
289
  #prev {
286
- left: var(--eun-space-s, 8px);
290
+ inset-inline-start: var(--eun-space-s, 8px);
287
291
  }
288
292
  #next {
289
- right: var(--eun-space-s, 8px);
293
+ inset-inline-end: var(--eun-space-s, 8px);
290
294
  }
291
295
  #viewport .nav {
292
296
  box-shadow: var(--carousel-nav-shadow, 0 2px 10px rgba(15, 23, 42, 0.18));
@@ -3,6 +3,7 @@ import { LitElement, TemplateResult } from "lit";
3
3
  * Tag name of the pagination component.
4
4
  */
5
5
  export declare const EunomiaPaginationTagName = "eun-pagination";
6
+ declare const EunomiaPagination_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/localizable.mixin.js").LocalizableMixinInterface> & typeof LitElement;
6
7
  /**
7
8
  * A set of page numbers letting someone jump between the pages of a
8
9
  * longer list, such as a search results page or a data table, with First,
@@ -38,16 +39,16 @@ export declare const EunomiaPaginationTagName = "eun-pagination";
38
39
  * @attr {string} [page-size-options='[]'] - The selectable page sizes, as a JSON array such as [10,25,50]. Setting this renders a page-size selector alongside the page controls. Left empty, the default, no selector is rendered at all
39
40
  * @prop {string} [pageSizeLabel='Items per page'] - The label for the page-size selector
40
41
  * @attr {string} [page-size-label='Items per page'] - The label for the page-size selector
41
- * @prop {string} [ariaLabelPrevious='Previous page'] - The accessible label of the previous control
42
- * @attr {string} [aria-label-previous='Previous page'] - The accessible label of the previous control
43
- * @prop {string} [ariaLabelNext='Next page'] - The accessible label of the next control
44
- * @attr {string} [aria-label-next='Next page'] - The accessible label of the next control
45
- * @prop {string} [ariaLabelFirst='First page'] - The accessible label of the first control
46
- * @attr {string} [aria-label-first='First page'] - The accessible label of the first control
47
- * @prop {string} [ariaLabelLast='Last page'] - The accessible label of the last control
48
- * @attr {string} [aria-label-last='Last page'] - The accessible label of the last control
49
- * @prop {string} [ariaLabelPage='Page'] - The accessible label prefix applied to every page number control, such as Page 3
50
- * @attr {string} [aria-label-page='Page'] - The accessible label prefix applied to every page number control, such as Page 3
42
+ * @prop {string} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous page")
43
+ * @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous page")
44
+ * @prop {string} [nextLabel] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next page")
45
+ * @attr {string} [next-label] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next page")
46
+ * @prop {string} [firstLabel] - The accessible label of the first control. Defaults to the localized string for the current locale (English: "First page")
47
+ * @attr {string} [first-label] - The accessible label of the first control. Defaults to the localized string for the current locale (English: "First page")
48
+ * @prop {string} [lastLabel] - The accessible label of the last control. Defaults to the localized string for the current locale (English: "Last page")
49
+ * @attr {string} [last-label] - The accessible label of the last control. Defaults to the localized string for the current locale (English: "Last page")
50
+ * @prop {string} [pageLabel] - The accessible label prefix applied to every page number control, such as Page 3. Defaults to the localized string for the current locale (English: "Page")
51
+ * @attr {string} [page-label] - The accessible label prefix applied to every page number control, such as Page 3. Defaults to the localized string for the current locale (English: "Page")
51
52
  * @attr {string} [aria-label='Pagination'] - The accessible label for the navigation landmark
52
53
  * @fires {PageChangeEvent} eunpagechange - Fired with the requested page whenever a control is activated. Page is never updated internally
53
54
  * @fires {PageSizeChangeEvent} eunpagesizechange - Fired with the chosen value whenever the page-size selector changes. PageSize is never updated internally
@@ -68,7 +69,7 @@ export declare const EunomiaPaginationTagName = "eun-pagination";
68
69
  * @cssprop [--pagination-transition-duration] - Sets the duration of the hover color and background transition
69
70
  * @element eun-pagination
70
71
  */
71
- export declare class EunomiaPagination extends LitElement {
72
+ export declare class EunomiaPagination extends EunomiaPagination_base {
72
73
  /**
73
74
  * Styles to import to the component.
74
75
  *
@@ -142,30 +143,30 @@ export declare class EunomiaPagination extends LitElement {
142
143
  pageSizeLabel: string;
143
144
  /**
144
145
  * Accessible label of the Previous control.
145
- * @default Previous page
146
+ * Falls back to the localized string for the current locale when unset.
146
147
  */
147
- ariaLabelPrevious: string;
148
+ previousLabel?: string;
148
149
  /**
149
150
  * Accessible label of the Next control.
150
- * @default Next page
151
+ * Falls back to the localized string for the current locale when unset.
151
152
  */
152
- ariaLabelNext: string;
153
+ nextLabel?: string;
153
154
  /**
154
155
  * Accessible label of the First control.
155
- * @default First page
156
+ * Falls back to the localized string for the current locale when unset.
156
157
  */
157
- ariaLabelFirst: string;
158
+ firstLabel?: string;
158
159
  /**
159
160
  * Accessible label of the Last control.
160
- * @default Last page
161
+ * Falls back to the localized string for the current locale when unset.
161
162
  */
162
- ariaLabelLast: string;
163
+ lastLabel?: string;
163
164
  /**
164
165
  * Accessible label prefix applied to every page number control (e.g.
165
166
  * "Page 3").
166
- * @default Page
167
+ * Falls back to the localized string for the current locale when unset.
167
168
  */
168
- ariaLabelPage: string;
169
+ pageLabel?: string;
169
170
  /**
170
171
  * Builds the list of entries rendered between the first/previous and
171
172
  * next/last controls : the boundary pages, the current page's siblings,
@@ -244,3 +245,4 @@ declare global {
244
245
  [EunomiaPaginationTagName]: EunomiaPagination;
245
246
  }
246
247
  }
248
+ export {};
@@ -10,6 +10,7 @@ import { ifDefined } from "lit/directives/if-defined.js";
10
10
  import { PageChangeEvent } from "../../../events/pagechange.event.js";
11
11
  import { PageSizeChangeEvent } from "../../../events/pagesizechange.event.js";
12
12
  import { paginationStyles } from "./pagination.styles.js";
13
+ import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
13
14
  /**
14
15
  * Tag name of the pagination component.
15
16
  */
@@ -49,16 +50,16 @@ export const EunomiaPaginationTagName = "eun-pagination";
49
50
  * @attr {string} [page-size-options='[]'] - The selectable page sizes, as a JSON array such as [10,25,50]. Setting this renders a page-size selector alongside the page controls. Left empty, the default, no selector is rendered at all
50
51
  * @prop {string} [pageSizeLabel='Items per page'] - The label for the page-size selector
51
52
  * @attr {string} [page-size-label='Items per page'] - The label for the page-size selector
52
- * @prop {string} [ariaLabelPrevious='Previous page'] - The accessible label of the previous control
53
- * @attr {string} [aria-label-previous='Previous page'] - The accessible label of the previous control
54
- * @prop {string} [ariaLabelNext='Next page'] - The accessible label of the next control
55
- * @attr {string} [aria-label-next='Next page'] - The accessible label of the next control
56
- * @prop {string} [ariaLabelFirst='First page'] - The accessible label of the first control
57
- * @attr {string} [aria-label-first='First page'] - The accessible label of the first control
58
- * @prop {string} [ariaLabelLast='Last page'] - The accessible label of the last control
59
- * @attr {string} [aria-label-last='Last page'] - The accessible label of the last control
60
- * @prop {string} [ariaLabelPage='Page'] - The accessible label prefix applied to every page number control, such as Page 3
61
- * @attr {string} [aria-label-page='Page'] - The accessible label prefix applied to every page number control, such as Page 3
53
+ * @prop {string} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous page")
54
+ * @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous page")
55
+ * @prop {string} [nextLabel] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next page")
56
+ * @attr {string} [next-label] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next page")
57
+ * @prop {string} [firstLabel] - The accessible label of the first control. Defaults to the localized string for the current locale (English: "First page")
58
+ * @attr {string} [first-label] - The accessible label of the first control. Defaults to the localized string for the current locale (English: "First page")
59
+ * @prop {string} [lastLabel] - The accessible label of the last control. Defaults to the localized string for the current locale (English: "Last page")
60
+ * @attr {string} [last-label] - The accessible label of the last control. Defaults to the localized string for the current locale (English: "Last page")
61
+ * @prop {string} [pageLabel] - The accessible label prefix applied to every page number control, such as Page 3. Defaults to the localized string for the current locale (English: "Page")
62
+ * @attr {string} [page-label] - The accessible label prefix applied to every page number control, such as Page 3. Defaults to the localized string for the current locale (English: "Page")
62
63
  * @attr {string} [aria-label='Pagination'] - The accessible label for the navigation landmark
63
64
  * @fires {PageChangeEvent} eunpagechange - Fired with the requested page whenever a control is activated. Page is never updated internally
64
65
  * @fires {PageSizeChangeEvent} eunpagesizechange - Fired with the chosen value whenever the page-size selector changes. PageSize is never updated internally
@@ -79,7 +80,7 @@ export const EunomiaPaginationTagName = "eun-pagination";
79
80
  * @cssprop [--pagination-transition-duration] - Sets the duration of the hover color and background transition
80
81
  * @element eun-pagination
81
82
  */
82
- let EunomiaPagination = class EunomiaPagination extends LitElement {
83
+ let EunomiaPagination = class EunomiaPagination extends LocalizableMixin(LitElement) {
83
84
  constructor() {
84
85
  super(...arguments);
85
86
  /**
@@ -139,32 +140,6 @@ let EunomiaPagination = class EunomiaPagination extends LitElement {
139
140
  * @default Items per page
140
141
  */
141
142
  this.pageSizeLabel = "Items per page";
142
- /**
143
- * Accessible label of the Previous control.
144
- * @default Previous page
145
- */
146
- this.ariaLabelPrevious = "Previous page";
147
- /**
148
- * Accessible label of the Next control.
149
- * @default Next page
150
- */
151
- this.ariaLabelNext = "Next page";
152
- /**
153
- * Accessible label of the First control.
154
- * @default First page
155
- */
156
- this.ariaLabelFirst = "First page";
157
- /**
158
- * Accessible label of the Last control.
159
- * @default Last page
160
- */
161
- this.ariaLabelLast = "Last page";
162
- /**
163
- * Accessible label prefix applied to every page number control (e.g.
164
- * "Page 3").
165
- * @default Page
166
- */
167
- this.ariaLabelPage = "Page";
168
143
  }
169
144
  /**
170
145
  * Builds the list of entries rendered between the first/previous and
@@ -319,7 +294,8 @@ let EunomiaPagination = class EunomiaPagination extends LitElement {
319
294
  <span
320
295
  class="page current"
321
296
  aria-current="page"
322
- aria-label="${this.ariaLabelPage} ${item}"
297
+ aria-label="${this.pageLabel ??
298
+ this.dictionary.pagination.page} ${item}"
323
299
  >${item}</span
324
300
  >
325
301
  </li>
@@ -330,7 +306,8 @@ let EunomiaPagination = class EunomiaPagination extends LitElement {
330
306
  <button
331
307
  type="button"
332
308
  class="control page"
333
- aria-label="${this.ariaLabelPage} ${item}"
309
+ aria-label="${this.pageLabel ??
310
+ this.dictionary.pagination.page} ${item}"
334
311
  ?disabled=${this.disabled}
335
312
  @click=${() => this.requestPage(item)}
336
313
  >
@@ -347,17 +324,17 @@ let EunomiaPagination = class EunomiaPagination extends LitElement {
347
324
  <ul id="list" role="list">
348
325
  ${this.hideFirstLast
349
326
  ? nothing
350
- : this.renderControl(1, this.ariaLabelFirst, "first_page", this.page <= 1, "start")}
327
+ : this.renderControl(1, this.firstLabel ?? this.dictionary.pagination.first, "first_page", this.page <= 1, "start")}
351
328
  ${this.hidePrevNext
352
329
  ? nothing
353
- : this.renderControl(this.page - 1, this.ariaLabelPrevious, "chevron_left", this.page <= 1, "start")}
330
+ : this.renderControl(this.page - 1, this.previousLabel ?? this.dictionary.pagination.previous, "chevron_left", this.page <= 1, "start")}
354
331
  ${this.getPageItems().map((item) => this.renderItem(item))}
355
332
  ${this.hidePrevNext
356
333
  ? nothing
357
- : this.renderControl(this.page + 1, this.ariaLabelNext, "chevron_right", this.page >= this.totalPages, "end")}
334
+ : this.renderControl(this.page + 1, this.nextLabel ?? this.dictionary.pagination.next, "chevron_right", this.page >= this.totalPages, "end")}
358
335
  ${this.hideFirstLast
359
336
  ? nothing
360
- : this.renderControl(this.totalPages, this.ariaLabelLast, "last_page", this.page >= this.totalPages, "end")}
337
+ : this.renderControl(this.totalPages, this.lastLabel ?? this.dictionary.pagination.last, "last_page", this.page >= this.totalPages, "end")}
361
338
  </ul>
362
339
  </nav>
363
340
  `;
@@ -406,20 +383,20 @@ __decorate([
406
383
  property({ attribute: "page-size-label" })
407
384
  ], EunomiaPagination.prototype, "pageSizeLabel", void 0);
408
385
  __decorate([
409
- property({ attribute: "aria-label-previous" })
410
- ], EunomiaPagination.prototype, "ariaLabelPrevious", void 0);
386
+ property({ attribute: "previous-label" })
387
+ ], EunomiaPagination.prototype, "previousLabel", void 0);
411
388
  __decorate([
412
- property({ attribute: "aria-label-next" })
413
- ], EunomiaPagination.prototype, "ariaLabelNext", void 0);
389
+ property({ attribute: "next-label" })
390
+ ], EunomiaPagination.prototype, "nextLabel", void 0);
414
391
  __decorate([
415
- property({ attribute: "aria-label-first" })
416
- ], EunomiaPagination.prototype, "ariaLabelFirst", void 0);
392
+ property({ attribute: "first-label" })
393
+ ], EunomiaPagination.prototype, "firstLabel", void 0);
417
394
  __decorate([
418
- property({ attribute: "aria-label-last" })
419
- ], EunomiaPagination.prototype, "ariaLabelLast", void 0);
395
+ property({ attribute: "last-label" })
396
+ ], EunomiaPagination.prototype, "lastLabel", void 0);
420
397
  __decorate([
421
- property({ attribute: "aria-label-page" })
422
- ], EunomiaPagination.prototype, "ariaLabelPage", void 0);
398
+ property({ attribute: "page-label" })
399
+ ], EunomiaPagination.prototype, "pageLabel", void 0);
423
400
  EunomiaPagination = __decorate([
424
401
  customElement(EunomiaPaginationTagName)
425
402
  ], EunomiaPagination);