@eunomia/elements 1.0.0-beta.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/README.md +28 -6
  2. package/dist/angular/forms.d.ts +80 -0
  3. package/dist/angular/forms.js +267 -0
  4. package/dist/cdn/components/chunks/chunk-2XPIGFBD.js +1 -0
  5. package/dist/cdn/components/chunks/chunk-5IUNSTM3.js +1 -0
  6. package/dist/cdn/components/chunks/chunk-7HXPLZ7C.js +1 -0
  7. package/dist/cdn/components/chunks/{chunk-J3SZBXM6.js → chunk-A2NO4RSF.js} +7 -7
  8. package/dist/cdn/components/chunks/{chunk-Q34EQ5HZ.js → chunk-A623JJXJ.js} +1 -1
  9. package/dist/cdn/components/chunks/{chunk-Y3HOIL64.js → chunk-AW7PU43S.js} +2 -2
  10. package/dist/cdn/components/chunks/{chunk-FF3I7C3C.js → chunk-DWTNRFWW.js} +1 -3
  11. package/dist/cdn/components/chunks/chunk-FPNWPMHA.js +1 -0
  12. package/dist/cdn/components/chunks/chunk-GMWUHGNI.js +319 -0
  13. package/dist/cdn/components/chunks/{chunk-FQUWHNQT.js → chunk-GXOEPXDW.js} +1 -1
  14. package/dist/cdn/components/chunks/chunk-HXESKTK2.js +1 -0
  15. package/dist/cdn/components/chunks/chunk-JDUWKPHW.js +46 -0
  16. package/dist/cdn/components/chunks/{chunk-D3JJBHXN.js → chunk-JLKCBPD2.js} +2 -2
  17. package/dist/cdn/components/chunks/chunk-M6ZJHL4Q.js +1 -0
  18. package/dist/cdn/components/chunks/{chunk-TN3HGHQO.js → chunk-MDSUMP3O.js} +4 -4
  19. package/dist/cdn/components/chunks/chunk-MSQWOKBB.js +1 -0
  20. package/dist/cdn/components/chunks/{chunk-3UUZM7X2.js → chunk-NPXRQHUN.js} +3 -3
  21. package/dist/cdn/components/chunks/chunk-OB7DEGNX.js +1 -0
  22. package/dist/cdn/components/chunks/{chunk-JANNHW4Q.js → chunk-PADHCLBG.js} +4 -4
  23. package/dist/cdn/components/chunks/chunk-QMXE3KLT.js +1 -0
  24. package/dist/cdn/components/chunks/chunk-QNWKRPOW.js +1 -0
  25. package/dist/cdn/components/chunks/{chunk-KQUUMZ7U.js → chunk-RZF7QQDX.js} +7 -7
  26. package/dist/cdn/components/chunks/chunk-SCAP7J35.js +1 -0
  27. package/dist/cdn/components/chunks/chunk-TISMX7UL.js +1 -0
  28. package/dist/cdn/components/chunks/chunk-TWLI2ZOT.js +1 -0
  29. package/dist/cdn/components/chunks/chunk-W4VCWRY7.js +210 -0
  30. package/dist/cdn/components/chunks/{chunk-SZZRMJ65.js → chunk-WEG3KO6T.js} +3 -3
  31. package/dist/cdn/components/chunks/chunk-WP6ZYBAC.js +1 -0
  32. package/dist/cdn/components/chunks/{chunk-HGX6GPHM.js → chunk-XCBQ4CKH.js} +1 -1
  33. package/dist/cdn/components/chunks/{chunk-3UW2LJ7T.js → chunk-XZ3LFOQP.js} +2 -2
  34. package/dist/cdn/components/eun-alert.js +1 -1
  35. package/dist/cdn/components/eun-animate.js +92 -180
  36. package/dist/cdn/components/eun-breadcrumb.js +4 -4
  37. package/dist/cdn/components/eun-button.js +1 -1
  38. package/dist/cdn/components/eun-calendar.js +188 -115
  39. package/dist/cdn/components/eun-card.js +1 -1
  40. package/dist/cdn/components/eun-carousel.js +36 -28
  41. package/dist/cdn/components/eun-check-card.js +3 -3
  42. package/dist/cdn/components/eun-checkbox-list.js +2 -2
  43. package/dist/cdn/components/eun-checkbox.js +1 -1
  44. package/dist/cdn/components/eun-chip.js +11 -15
  45. package/dist/cdn/components/eun-collapse.js +21 -10
  46. package/dist/cdn/components/eun-color-picker.js +32 -32
  47. package/dist/cdn/components/eun-counter.js +8 -8
  48. package/dist/cdn/components/eun-date-picker.js +83 -79
  49. package/dist/cdn/components/eun-description-list.js +1 -1
  50. package/dist/cdn/components/eun-divider.js +9 -8
  51. package/dist/cdn/components/eun-drawer.js +8 -6
  52. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  53. package/dist/cdn/components/eun-dropdown-item.js +4 -4
  54. package/dist/cdn/components/eun-fab.js +1 -1
  55. package/dist/cdn/components/eun-image-card.js +2 -2
  56. package/dist/cdn/components/eun-image-carousel.js +55 -29
  57. package/dist/cdn/components/eun-infinite-list.js +2 -2
  58. package/dist/cdn/components/eun-input-file.js +3 -3
  59. package/dist/cdn/components/eun-input-phone.js +6 -6
  60. package/dist/cdn/components/eun-input.js +1 -1
  61. package/dist/cdn/components/eun-label.js +1 -1
  62. package/dist/cdn/components/eun-link.js +18 -329
  63. package/dist/cdn/components/eun-loader.js +1 -1
  64. package/dist/cdn/components/eun-modal.js +9 -7
  65. package/dist/cdn/components/eun-nav-menu.js +363 -0
  66. package/dist/cdn/components/eun-pagination.js +4 -4
  67. package/dist/cdn/components/eun-password-strength.js +2 -2
  68. package/dist/cdn/components/eun-progress-bar.js +1 -1
  69. package/dist/cdn/components/eun-radio-card.js +4 -4
  70. package/dist/cdn/components/eun-radio-list.js +1 -1
  71. package/dist/cdn/components/eun-radio.js +1 -1
  72. package/dist/cdn/components/eun-rating.js +9 -9
  73. package/dist/cdn/components/eun-scheduler-event-editor.js +113 -77
  74. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  75. package/dist/cdn/components/eun-scheduler.js +137 -79
  76. package/dist/cdn/components/eun-search.js +6 -6
  77. package/dist/cdn/components/eun-select.js +1 -1
  78. package/dist/cdn/components/eun-sidebar.js +23 -14
  79. package/dist/cdn/components/eun-slider.js +2 -2
  80. package/dist/cdn/components/eun-sliding-card.js +1 -1
  81. package/dist/cdn/components/eun-step.js +2 -2
  82. package/dist/cdn/components/eun-stepper.js +11 -12
  83. package/dist/cdn/components/eun-switch.js +2 -2
  84. package/dist/cdn/components/eun-tab-group.js +1 -1
  85. package/dist/cdn/components/eun-tab-panel.js +1 -1
  86. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  87. package/dist/cdn/components/eun-table.js +13 -10
  88. package/dist/cdn/components/eun-tag.js +1 -1
  89. package/dist/cdn/components/eun-textarea.js +4 -4
  90. package/dist/cdn/components/eun-time-picker.js +28 -25
  91. package/dist/cdn/components/eun-toast.js +8 -8
  92. package/dist/cdn/components/eun-toggle-group.js +8 -2
  93. package/dist/cdn/components/eun-toggle-item.js +8 -2
  94. package/dist/cdn/components/eun-toggle.js +4 -1
  95. package/dist/cdn/components/eun-toolbar.js +114 -36
  96. package/dist/cdn/components/eun-tooltip.js +1 -1
  97. package/dist/cdn/styles/eunomia-themes.css +1 -1
  98. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  99. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
  100. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  101. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  102. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  103. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  104. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  105. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  106. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  107. package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
  108. package/dist/components/action/button/button.styles.js +2 -2
  109. package/dist/components/action/dropdown-button/dropdown-button.d.ts +4 -0
  110. package/dist/components/action/dropdown-button/dropdown-button.js +1 -0
  111. package/dist/components/action/dropdown-button/dropdown-button.styles.js +5 -4
  112. package/dist/components/action/dropdown-button/dropdown-item.d.ts +1 -0
  113. package/dist/components/action/dropdown-button/dropdown-item.js +1 -0
  114. package/dist/components/action/dropdown-button/dropdown-item.styles.js +4 -4
  115. package/dist/components/action/link/link.d.ts +2 -1
  116. package/dist/components/action/link/link.js +2 -1
  117. package/dist/components/action/link/link.styles.d.ts +40 -1
  118. package/dist/components/action/link/link.styles.js +83 -60
  119. package/dist/components/action/shared-styles/button-palette.styles.js +1 -1
  120. package/dist/components/action/toggle/toggle-group.d.ts +1 -0
  121. package/dist/components/action/toggle/toggle-group.js +1 -0
  122. package/dist/components/action/toggle/toggle-group.styles.d.ts +1 -0
  123. package/dist/components/action/toggle/toggle-group.styles.js +9 -2
  124. package/dist/components/action/toggle/toggle-item.styles.js +8 -2
  125. package/dist/components/action/toggle/toggle.d.ts +1 -0
  126. package/dist/components/action/toggle/toggle.js +1 -0
  127. package/dist/components/action/toggle/toggle.styles.d.ts +1 -0
  128. package/dist/components/action/toggle/toggle.styles.js +5 -1
  129. package/dist/components/alert/drawer/drawer.d.ts +14 -13
  130. package/dist/components/alert/drawer/drawer.js +20 -28
  131. package/dist/components/alert/modal/modal.d.ts +14 -13
  132. package/dist/components/alert/modal/modal.js +20 -28
  133. package/dist/components/alert/modal/modal.styles.js +1 -1
  134. package/dist/components/alert/toast/toast.d.ts +5 -5
  135. package/dist/components/alert/toast/toast.js +9 -10
  136. package/dist/components/alert/toast/toast.styles.js +3 -3
  137. package/dist/components/content/card/image-card.styles.js +1 -1
  138. package/dist/components/content/chip/chip.d.ts +7 -9
  139. package/dist/components/content/chip/chip.js +11 -14
  140. package/dist/components/content/chip/chip.styles.js +1 -5
  141. package/dist/components/content/collapse/collapse.d.ts +5 -0
  142. package/dist/components/content/collapse/collapse.js +7 -0
  143. package/dist/components/content/collapse/collapse.styles.d.ts +3 -0
  144. package/dist/components/content/collapse/collapse.styles.js +13 -1
  145. package/dist/components/content/description-list/description-list.styles.js +1 -1
  146. package/dist/components/content/image-carousel/image-carousel.d.ts +60 -13
  147. package/dist/components/content/image-carousel/image-carousel.js +100 -22
  148. package/dist/components/content/image-carousel/image-carousel.styles.js +32 -6
  149. package/dist/components/content/password-strength/password-strength.styles.js +1 -1
  150. package/dist/components/content/progress-bar/progress-bar.styles.js +1 -1
  151. package/dist/components/content/shared-styles/card-link.styles.js +1 -1
  152. package/dist/components/content/shared-styles/tone-surface.styles.js +1 -3
  153. package/dist/components/form/checkbox/check-card.styles.js +2 -2
  154. package/dist/components/form/checkbox/checkbox-list.d.ts +3 -1
  155. package/dist/components/form/checkbox/checkbox-list.js +3 -1
  156. package/dist/components/form/checkbox/checkbox.styles.js +1 -1
  157. package/dist/components/form/color-picker/color-picker.d.ts +28 -3
  158. package/dist/components/form/color-picker/color-picker.js +53 -7
  159. package/dist/components/form/counter/counter.js +1 -1
  160. package/dist/components/form/counter/counter.styles.js +2 -2
  161. package/dist/components/form/date-picker/date-picker-day-grid.styles.js +1 -1
  162. package/dist/components/form/date-picker/date-picker-month-grid.js +1 -1
  163. package/dist/components/form/date-picker/date-picker.d.ts +50 -13
  164. package/dist/components/form/date-picker/date-picker.js +178 -43
  165. package/dist/components/form/input/input.js +1 -4
  166. package/dist/components/form/input-file/input-file.styles.js +2 -2
  167. package/dist/components/form/input-phone/input-phone.js +4 -3
  168. package/dist/components/form/label/label.styles.js +1 -1
  169. package/dist/components/form/radio/radio-card.styles.js +2 -2
  170. package/dist/components/form/radio/radio.styles.js +1 -1
  171. package/dist/components/form/rating/rating.js +3 -5
  172. package/dist/components/form/rating/rating.styles.js +2 -2
  173. package/dist/components/form/search/search.d.ts +1 -7
  174. package/dist/components/form/search/search.js +2 -12
  175. package/dist/components/form/shared-styles/field.styles.js +2 -2
  176. package/dist/components/form/slider/slider.styles.js +1 -1
  177. package/dist/components/form/switch/switch.styles.js +1 -1
  178. package/dist/components/form/textarea/textarea.js +1 -5
  179. package/dist/components/form/textarea/textarea.styles.js +2 -2
  180. package/dist/components/form/time-picker/time-picker-columns.d.ts +4 -1
  181. package/dist/components/form/time-picker/time-picker-columns.js +64 -15
  182. package/dist/components/form/time-picker/time-picker-columns.styles.js +5 -1
  183. package/dist/components/form/time-picker/time-picker-list.d.ts +4 -1
  184. package/dist/components/form/time-picker/time-picker-list.js +15 -8
  185. package/dist/components/form/time-picker/time-picker.d.ts +11 -2
  186. package/dist/components/form/time-picker/time-picker.js +22 -8
  187. package/dist/components/layout/animate/animate.d.ts +35 -17
  188. package/dist/components/layout/animate/animate.js +27 -14
  189. package/dist/components/layout/animate/animate.styles.d.ts +2 -1
  190. package/dist/components/layout/animate/animate.styles.js +107 -179
  191. package/dist/components/layout/divider/divider.d.ts +1 -0
  192. package/dist/components/layout/divider/divider.js +2 -1
  193. package/dist/components/layout/divider/divider.styles.js +7 -6
  194. package/dist/components/layout/infinite-list/infinite-list.styles.js +1 -1
  195. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
  196. package/dist/components/navigation/carousel/carousel.d.ts +23 -14
  197. package/dist/components/navigation/carousel/carousel.js +39 -27
  198. package/dist/components/navigation/carousel/carousel.styles.js +16 -8
  199. package/dist/components/navigation/nav-menu/nav-menu.d.ts +201 -0
  200. package/dist/components/navigation/nav-menu/nav-menu.js +673 -0
  201. package/dist/components/navigation/nav-menu/nav-menu.styles.d.ts +1 -0
  202. package/dist/components/navigation/nav-menu/nav-menu.styles.js +352 -0
  203. package/dist/components/navigation/pagination/pagination.d.ts +3 -0
  204. package/dist/components/navigation/pagination/pagination.styles.js +2 -2
  205. package/dist/components/navigation/sidebar/sidebar.d.ts +8 -10
  206. package/dist/components/navigation/sidebar/sidebar.js +12 -15
  207. package/dist/components/navigation/sidebar/sidebar.styles.js +13 -4
  208. package/dist/components/navigation/stepper/step.styles.js +2 -2
  209. package/dist/components/navigation/stepper/stepper.d.ts +24 -13
  210. package/dist/components/navigation/stepper/stepper.js +36 -23
  211. package/dist/components/navigation/stepper/stepper.styles.js +2 -2
  212. package/dist/components/navigation/tabs/tab-group/tab-group.js +1 -1
  213. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
  214. package/dist/components/navigation/toolbar/toolbar.d.ts +121 -20
  215. package/dist/components/navigation/toolbar/toolbar.js +176 -45
  216. package/dist/components/navigation/toolbar/toolbar.styles.js +113 -28
  217. package/dist/events/editor-state-change.event.d.ts +28 -0
  218. package/dist/events/editor-state-change.event.js +22 -0
  219. package/dist/events/event-cancel.event.d.ts +20 -0
  220. package/dist/events/event-cancel.event.js +17 -0
  221. package/dist/events/period-change.event.d.ts +14 -6
  222. package/dist/events/period-change.event.js +9 -6
  223. package/dist/features/scheduler/calendar/calendar.d.ts +52 -20
  224. package/dist/features/scheduler/calendar/calendar.js +84 -36
  225. package/dist/features/scheduler/calendar/calendar.styles.js +5 -2
  226. package/dist/features/scheduler/scheduler/scheduler.d.ts +69 -4
  227. package/dist/features/scheduler/scheduler/scheduler.js +172 -47
  228. package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -0
  229. package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +18 -20
  230. package/dist/features/scheduler/scheduler-event/scheduler-event.js +29 -38
  231. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
  232. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +102 -18
  233. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +249 -112
  234. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +11 -1
  235. package/dist/features/scheduler/shared/scheduler-event-popover.d.ts +9 -1
  236. package/dist/features/scheduler/shared/scheduler-event-popover.js +77 -42
  237. package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +14 -3
  238. package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +3 -2
  239. package/dist/features/scheduler/shared/scheduler-hour-grid.js +53 -46
  240. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +13 -7
  241. package/dist/features/scheduler/shared/scheduler-month-view.js +1 -1
  242. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +13 -7
  243. package/dist/features/scheduler/shared/scheduler-year-view.d.ts +6 -5
  244. package/dist/features/scheduler/shared/scheduler-year-view.js +11 -7
  245. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +57 -3
  246. package/dist/features/scheduler/shared/scheduler.types.d.ts +5 -9
  247. package/dist/features/scheduler/shared/scheduler.utils.d.ts +61 -0
  248. package/dist/features/scheduler/shared/scheduler.utils.js +78 -4
  249. package/dist/features/table/table/table-native.styles.js +8 -4
  250. package/dist/features/table/table/table.d.ts +2 -1
  251. package/dist/features/table/table/table.js +2 -1
  252. package/dist/features/table/table/table.styles.js +6 -4
  253. package/dist/i18n/en.d.ts +17 -0
  254. package/dist/i18n/en.js +17 -0
  255. package/dist/i18n/fr.js +17 -0
  256. package/dist/index.d.ts +6 -0
  257. package/dist/index.js +4 -0
  258. package/dist/jsx.d.ts +48 -6
  259. package/dist/mixins/anchor-position.mixin.d.ts +17 -0
  260. package/dist/mixins/anchor-position.mixin.js +45 -7
  261. package/dist/mixins/button.mixin.js +2 -1
  262. package/dist/mixins/check.mixin.js +14 -5
  263. package/dist/mixins/dialog-surface.mixin.d.ts +1 -1
  264. package/dist/mixins/dialog-surface.mixin.js +5 -5
  265. package/dist/mixins/form.mixin.js +33 -13
  266. package/dist/mixins/localizable.mixin.d.ts +1 -0
  267. package/dist/mixins/localizable.mixin.js +9 -2
  268. package/dist/mixins/radio.mixin.js +14 -5
  269. package/dist/mixins/validators.mixin.js +4 -3
  270. package/dist/react.d.ts +59 -0
  271. package/dist/react.js +42 -0
  272. package/dist/ssr/animate-ssr.css +35 -0
  273. package/dist/ssr/breadcrumb-ssr.css +3 -3
  274. package/dist/ssr/button-ssr.css +8 -2
  275. package/dist/ssr/card-ssr.css +1 -1
  276. package/dist/ssr/carousel-ssr.css +15 -4
  277. package/dist/ssr/chip-ssr.css +3 -3
  278. package/dist/ssr/collapse-ssr.css +2 -2
  279. package/dist/ssr/description-list-ssr.css +1 -1
  280. package/dist/ssr/divider-ssr.css +23 -0
  281. package/dist/ssr/field-ssr.css +245 -42
  282. package/dist/ssr/image-carousel-ssr.css +2 -4
  283. package/dist/ssr/links-ssr.css +17 -3
  284. package/dist/ssr/nav-menu-ssr.css +82 -0
  285. package/dist/ssr/overlay-ssr.css +4 -0
  286. package/dist/ssr/scheduler-ssr.css +182 -0
  287. package/dist/ssr/stepper-ssr.css +136 -0
  288. package/dist/ssr/table-ssr.css +7 -4
  289. package/dist/ssr/tag-ssr.css +1 -1
  290. package/dist/ssr/toolbar-ssr.css +7 -5
  291. package/dist/utils/css-length.utils.d.ts +14 -0
  292. package/dist/utils/css-length.utils.js +32 -0
  293. package/dist/utils/form-validation.utils.d.ts +36 -0
  294. package/dist/utils/form-validation.utils.js +113 -0
  295. package/dist/utils/implicit-submission.utils.js +2 -14
  296. package/dist/utils/interactive-content.utils.d.ts +10 -0
  297. package/dist/utils/interactive-content.utils.js +43 -0
  298. package/dist/utils/popover.utils.js +3 -2
  299. package/dist/utils/scroll-lock.utils.d.ts +9 -1
  300. package/dist/utils/scroll-lock.utils.js +21 -2
  301. package/dist/utils/theme-generator.utils.d.ts +1 -0
  302. package/dist/utils/theme-generator.utils.js +23 -10
  303. package/dist/utils/validity.utils.d.ts +18 -4
  304. package/dist/utils/validity.utils.js +74 -4
  305. package/package.json +34 -3
  306. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
  307. package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
  308. package/dist/cdn/components/chunks/chunk-4DRU3IYJ.js +0 -1
  309. package/dist/cdn/components/chunks/chunk-647ISUF4.js +0 -1
  310. package/dist/cdn/components/chunks/chunk-6TIEBY34.js +0 -1
  311. package/dist/cdn/components/chunks/chunk-E6UOI36Q.js +0 -1
  312. package/dist/cdn/components/chunks/chunk-GNAUNTS5.js +0 -1
  313. package/dist/cdn/components/chunks/chunk-IJJ67C66.js +0 -1
  314. package/dist/cdn/components/chunks/chunk-J7ETIRSK.js +0 -1
  315. package/dist/cdn/components/chunks/chunk-JGV7LHEI.js +0 -1
  316. package/dist/cdn/components/chunks/chunk-L74LXUGL.js +0 -1
  317. package/dist/cdn/components/chunks/chunk-MY6ORZJR.js +0 -46
  318. package/dist/cdn/components/chunks/chunk-QWTFP56P.js +0 -1
  319. package/dist/cdn/components/chunks/chunk-SFX2LQ4K.js +0 -205
  320. package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +0 -1
  321. package/dist/utils/boolean.utils.d.ts +0 -14
  322. package/dist/utils/boolean.utils.js +0 -20
@@ -1,6 +1,37 @@
1
+ @use "sass:list";
1
2
  @use "./../media-queries/eunomia-media-queries.mixin.scss" as *;
2
3
 
4
+ $_eunomia-grid-own-properties: (
5
+ "--eun-grid-track-min",
6
+ "--_variantCols0",
7
+ "--_variantCols1",
8
+ "--_variantCols2",
9
+ "--_variantCols3",
10
+ "--_variantCols4",
11
+ "--_variantTpl0",
12
+ "--_variantTpl1",
13
+ "--_variantTpl2",
14
+ "--_variantTpl3",
15
+ "--_variantTpl4"
16
+ );
17
+
18
+ @each $name in ("columns", "template") {
19
+ @each $suffix in ("", "-mobile", "-tablet", "-laptop", "-desktop") {
20
+ $_eunomia-grid-own-properties: list.append(
21
+ $_eunomia-grid-own-properties,
22
+ "--eun-grid-#{$name}#{$suffix}"
23
+ );
24
+ }
25
+ }
26
+
3
27
  @mixin eunomia-grid-layouts {
28
+ @each $property in $_eunomia-grid-own-properties {
29
+ @property #{$property} {
30
+ syntax: "*";
31
+ inherits: false;
32
+ }
33
+ }
34
+
4
35
  :where(.eun-grid) {
5
36
  --_cols0: var(--eun-grid-columns, var(--_variantCols0, 1));
6
37
  --_cols1: var(
@@ -62,8 +93,65 @@
62
93
  )
63
94
  );
64
95
  --_cols: var(--_cols0);
96
+ --_tpl0: var(--eun-grid-template, var(--_variantTpl0));
97
+ --_tpl1: var(
98
+ --eun-grid-template-mobile,
99
+ var(--eun-grid-template, var(--_variantTpl1, var(--_variantTpl0)))
100
+ );
101
+ --_tpl2: var(
102
+ --eun-grid-template-tablet,
103
+ var(
104
+ --eun-grid-template-mobile,
105
+ var(
106
+ --eun-grid-template,
107
+ var(--_variantTpl2, var(--_variantTpl1, var(--_variantTpl0)))
108
+ )
109
+ )
110
+ );
111
+ --_tpl3: var(
112
+ --eun-grid-template-laptop,
113
+ var(
114
+ --eun-grid-template-tablet,
115
+ var(
116
+ --eun-grid-template-mobile,
117
+ var(
118
+ --eun-grid-template,
119
+ var(
120
+ --_variantTpl3,
121
+ var(--_variantTpl2, var(--_variantTpl1, var(--_variantTpl0)))
122
+ )
123
+ )
124
+ )
125
+ )
126
+ );
127
+ --_tpl4: var(
128
+ --eun-grid-template-desktop,
129
+ var(
130
+ --eun-grid-template-laptop,
131
+ var(
132
+ --eun-grid-template-tablet,
133
+ var(
134
+ --eun-grid-template-mobile,
135
+ var(
136
+ --eun-grid-template,
137
+ var(
138
+ --_variantTpl4,
139
+ var(
140
+ --_variantTpl3,
141
+ var(--_variantTpl2, var(--_variantTpl1, var(--_variantTpl0)))
142
+ )
143
+ )
144
+ )
145
+ )
146
+ )
147
+ )
148
+ );
149
+ --_tpl: var(--_tpl0);
65
150
  display: grid;
66
- grid-template-columns: repeat(var(--_cols), minmax(0, 1fr));
151
+ grid-template-columns: var(
152
+ --_tpl,
153
+ repeat(var(--_cols), minmax(var(--eun-grid-track-min, 0), 1fr))
154
+ );
67
155
  row-gap: var(--eun-grid-row-gap, var(--eun-space-s));
68
156
  column-gap: var(--eun-grid-column-gap, var(--eun-space-m));
69
157
  }
@@ -71,21 +159,25 @@
71
159
  @include eunomia-from(mobile) {
72
160
  :where(.eun-grid) {
73
161
  --_cols: var(--_cols1);
162
+ --_tpl: var(--_tpl1);
74
163
  }
75
164
  }
76
165
  @include eunomia-from(tablet) {
77
166
  :where(.eun-grid) {
78
167
  --_cols: var(--_cols2);
168
+ --_tpl: var(--_tpl2);
79
169
  }
80
170
  }
81
171
  @include eunomia-from(laptop) {
82
172
  :where(.eun-grid) {
83
173
  --_cols: var(--_cols3);
174
+ --_tpl: var(--_tpl3);
84
175
  }
85
176
  }
86
177
  @include eunomia-from(desktop) {
87
178
  :where(.eun-grid) {
88
179
  --_cols: var(--_cols4);
180
+ --_tpl: var(--_tpl4);
89
181
  }
90
182
  }
91
183
 
@@ -102,15 +194,31 @@
102
194
  grid-auto-flow: row;
103
195
  }
104
196
 
105
- @include eunomia-from(tablet) {
106
- :where(.eun-grid--thirds-1-2) {
107
- grid-template-columns: 1fr 2fr;
108
- }
197
+ :where(.eun-grid--thirds-1-2) {
198
+ --_variantTpl2: 1fr 2fr;
199
+ }
109
200
 
110
- :where(.eun-grid--thirds-2-1) {
111
- grid-template-columns: 2fr 1fr;
112
- }
201
+ :where(.eun-grid--thirds-2-1) {
202
+ --_variantTpl2: 2fr 1fr;
203
+ }
204
+
205
+ :where(.eun-grid--quarters-1-3) {
206
+ --_variantTpl2: 1fr 3fr;
207
+ }
208
+
209
+ :where(.eun-grid--quarters-3-1) {
210
+ --_variantTpl2: 3fr 1fr;
211
+ }
212
+
213
+ :where(.eun-grid--fifths-2-3) {
214
+ --_variantTpl2: 2fr 3fr;
215
+ }
113
216
 
217
+ :where(.eun-grid--fifths-3-2) {
218
+ --_variantTpl2: 3fr 2fr;
219
+ }
220
+
221
+ @include eunomia-from(tablet) {
114
222
  :where(.eun-grid--sidebar-left),
115
223
  :where(.eun-grid--sidebar-right) {
116
224
  grid-template-columns: repeat(2, 1fr);
@@ -154,7 +154,7 @@ const base = css `
154
154
  #external-link-icon {
155
155
  display: inline-flex;
156
156
  align-items: center;
157
- margin-inline: var(--eun-space-s) calc(-1 * var(--eun-space-xs));
157
+ margin-inline: var(--eun-space-s, 8px) calc(-1 * var(--eun-space-xs, 4px));
158
158
  transform: rotate(-45deg);
159
159
  --icon-color: var(--_textColor);
160
160
  }
@@ -266,7 +266,7 @@ const appearances = css `
266
266
  --_bd: transparent;
267
267
  }
268
268
  :host([appearance="ghost"]:not([color])) {
269
- --_accent: var(--eun-text-secondary, #484e61);
269
+ --_accent: var(--eun-text-secondary, #666e8a);
270
270
  --_wash-hover: var(--eun-content-hover, #edeff0);
271
271
  --_wash-active: var(--eun-disabled-color, #ecedf0);
272
272
  }
@@ -84,6 +84,7 @@ export type EunomiaDropdownPlacement = "top-start" | "top" | "top-end" | "right"
84
84
  * @cssprop [--dropdown-menu-disabled-color] - Sets the text color of a disabled option
85
85
  * @cssprop [--dropdown-menu-hover-background] - Sets the background color of a highlighted option
86
86
  * @cssprop [--dropdown-menu-accent-color] - Sets the color of the hover accent bar and the keyboard focus outline. Also inherited by slotted dropdown items
87
+ * @cssprop [--dropdown-menu-focus-outline-color] - Sets the keyboard focus outline color of an option, falling back to --dropdown-menu-accent-color. Also inherited by slotted dropdown items
87
88
  * @cssprop [--button-border-color] - Sets the border color of the trigger button
88
89
  * @cssprop [--button-width] - Sets the trigger's width, such as 100% to stretch it like the full attribute does
89
90
  * @cssprop [--button-border-color-hover] - Sets the border color of the trigger button on hover or focus, falling back to button-border-color when unset
@@ -732,4 +733,7 @@ declare global {
732
733
  interface HTMLElementTagNameMap {
733
734
  [EunomiaDropdownButtonTagName]: EunomiaDropdownButton;
734
735
  }
736
+ interface EunomiaStringAttributeMap {
737
+ [EunomiaDropdownButtonTagName]: "options";
738
+ }
735
739
  }
@@ -79,6 +79,7 @@ export const EunomiaDropdownButtonTagName = "eun-dropdown-button";
79
79
  * @cssprop [--dropdown-menu-disabled-color] - Sets the text color of a disabled option
80
80
  * @cssprop [--dropdown-menu-hover-background] - Sets the background color of a highlighted option
81
81
  * @cssprop [--dropdown-menu-accent-color] - Sets the color of the hover accent bar and the keyboard focus outline. Also inherited by slotted dropdown items
82
+ * @cssprop [--dropdown-menu-focus-outline-color] - Sets the keyboard focus outline color of an option, falling back to --dropdown-menu-accent-color. Also inherited by slotted dropdown items
82
83
  * @cssprop [--button-border-color] - Sets the border color of the trigger button
83
84
  * @cssprop [--button-width] - Sets the trigger's width, such as 100% to stretch it like the full attribute does
84
85
  * @cssprop [--button-border-color-hover] - Sets the border color of the trigger button on hover or focus, falling back to button-border-color when unset
@@ -12,6 +12,7 @@ import { css } from "lit";
12
12
  * [--dropdown-menu-disabled-color] - Set a custom text color for a disabled option
13
13
  * [--dropdown-menu-hover-background] - Set a custom background color for a hovered/focused/highlighted option
14
14
  * [--dropdown-menu-accent-color] - Set a custom color for the hover accent bar and the keyboard focus outline
15
+ * [--dropdown-menu-focus-outline-color] - Set a custom keyboard focus outline color, falling back to --dropdown-menu-accent-color
15
16
  * [--dropdown-menu-transition-duration=160ms] - Set a custom duration for the menu/submenu's open/close animation (played in JS — see playMenuOpenAnimation/playMenuCloseAnimation), disabled entirely under `prefers-reduced-motion: reduce`
16
17
  *
17
18
  * These variables are inherited through the DOM tree (including across the
@@ -114,8 +115,8 @@ const base = css `
114
115
  #menu li:focus-visible,
115
116
  .submenu li:focus-visible {
116
117
  outline-color: var(
117
- --dropdown-menu-accent-color,
118
- var(--eun-color-primary-500, #3d6fff)
118
+ --dropdown-menu-focus-outline-color,
119
+ var(--dropdown-menu-accent-color, var(--eun-color-primary-500, #3d6fff))
119
120
  );
120
121
  }
121
122
  #menu li[aria-disabled="true"],
@@ -144,7 +145,7 @@ const base = css `
144
145
  .submenu li .submenu-chevron {
145
146
  --icon-color: var(
146
147
  --dropdown-menu-description-color,
147
- var(--eun-text-secondary, #484e61)
148
+ var(--eun-text-secondary, #666e8a)
148
149
  );
149
150
  margin-right: calc(-1 * var(--eun-space-s));
150
151
  }
@@ -165,7 +166,7 @@ const base = css `
165
166
  font-size: var(--eun-font-size-xs, 12px);
166
167
  color: var(
167
168
  --dropdown-menu-description-color,
168
- var(--eun-text-secondary, #484e61)
169
+ var(--eun-text-secondary, #666e8a)
169
170
  );
170
171
  overflow: hidden;
171
172
  text-overflow: ellipsis;
@@ -32,6 +32,7 @@ export declare const EunomiaDropdownItemTagName = "eun-dropdown-item";
32
32
  * @cssprop [--dropdown-menu-disabled-color] - Sets the text color of this item when disabled
33
33
  * @cssprop [--dropdown-menu-hover-background] - Sets the background color of this item when highlighted or when its submenu is open
34
34
  * @cssprop [--dropdown-menu-accent-color] - Sets the color of the hover accent bar and the keyboard focus outline
35
+ * @cssprop [--dropdown-menu-focus-outline-color] - Sets the keyboard focus outline color, falling back to --dropdown-menu-accent-color
35
36
  * @cssprop [--dropdown-menu-background] - Sets the background color of this item's own submenu panel, if it has one
36
37
  * @cssprop [--dropdown-menu-border-color] - Sets the border color of this item's own submenu panel, if it has one
37
38
  * @cssprop [--dropdown-menu-border-radius] - Sets the corner radius of this item's own submenu panel, if it has one
@@ -40,6 +40,7 @@ export const EunomiaDropdownItemTagName = "eun-dropdown-item";
40
40
  * @cssprop [--dropdown-menu-disabled-color] - Sets the text color of this item when disabled
41
41
  * @cssprop [--dropdown-menu-hover-background] - Sets the background color of this item when highlighted or when its submenu is open
42
42
  * @cssprop [--dropdown-menu-accent-color] - Sets the color of the hover accent bar and the keyboard focus outline
43
+ * @cssprop [--dropdown-menu-focus-outline-color] - Sets the keyboard focus outline color, falling back to --dropdown-menu-accent-color
43
44
  * @cssprop [--dropdown-menu-background] - Sets the background color of this item's own submenu panel, if it has one
44
45
  * @cssprop [--dropdown-menu-border-color] - Sets the border color of this item's own submenu panel, if it has one
45
46
  * @cssprop [--dropdown-menu-border-radius] - Sets the corner radius of this item's own submenu panel, if it has one
@@ -52,8 +52,8 @@ const base = css `
52
52
  }
53
53
  :host(:focus-visible) .content {
54
54
  outline-color: var(
55
- --dropdown-menu-accent-color,
56
- var(--eun-color-primary-500, #3d6fff)
55
+ --dropdown-menu-focus-outline-color,
56
+ var(--dropdown-menu-accent-color, var(--eun-color-primary-500, #3d6fff))
57
57
  );
58
58
  }
59
59
  :host([aria-disabled="true"]) .content {
@@ -77,7 +77,7 @@ const base = css `
77
77
  .submenu-chevron {
78
78
  --icon-color: var(
79
79
  --dropdown-menu-description-color,
80
- var(--eun-text-secondary, #484e61)
80
+ var(--eun-text-secondary, #666e8a)
81
81
  );
82
82
  margin-right: calc(-1 * var(--eun-space-s));
83
83
  }
@@ -95,7 +95,7 @@ const base = css `
95
95
  font-size: var(--eun-font-size-xs, 12px);
96
96
  color: var(
97
97
  --dropdown-menu-description-color,
98
- var(--eun-text-secondary, #484e61)
98
+ var(--eun-text-secondary, #666e8a)
99
99
  );
100
100
  overflow: hidden;
101
101
  text-overflow: ellipsis;
@@ -33,7 +33,8 @@ declare const EunomiaLink_base: import("../../../utils/constructor.type.js").Con
33
33
  * @fires {NavigationEvent} eunnavigate - Fired before following the link, so a client-side router can intercept the navigation. Cancelable
34
34
  * @cssprop [--link-color] - Sets the color of the link
35
35
  * @cssprop [--link-color-hover] - Sets the color of the link on hover
36
- * @cssprop [--link-color-focus] - Sets the color of the link on focus
36
+ * @cssprop [--link-color-focus] - Sets the color of the link on focus, the hover color by default
37
+ * @cssprop [--link-focus-outline-color] - Sets the color of the focus ring
37
38
  * @cssprop [--link-color-visited] - Sets the color of a visited link
38
39
  * @cssprop [--link-color-visited-hover] - Sets the color of a visited link on hover
39
40
  * @cssprop [--link-color-current] - Sets the color of the current page link, kept on hover, focus and visited states
@@ -56,7 +56,8 @@ export const EunomiaLinkTagName = "eun-link";
56
56
  * @fires {NavigationEvent} eunnavigate - Fired before following the link, so a client-side router can intercept the navigation. Cancelable
57
57
  * @cssprop [--link-color] - Sets the color of the link
58
58
  * @cssprop [--link-color-hover] - Sets the color of the link on hover
59
- * @cssprop [--link-color-focus] - Sets the color of the link on focus
59
+ * @cssprop [--link-color-focus] - Sets the color of the link on focus, the hover color by default
60
+ * @cssprop [--link-focus-outline-color] - Sets the color of the focus ring
60
61
  * @cssprop [--link-color-visited] - Sets the color of a visited link
61
62
  * @cssprop [--link-color-visited-hover] - Sets the color of a visited link on hover
62
63
  * @cssprop [--link-color-current] - Sets the color of the current page link, kept on hover, focus and visited states
@@ -1 +1,40 @@
1
- export declare const linkStyles: import("lit").CSSResult;
1
+ import { CSSResult } from "lit";
2
+ /**
3
+ * Base style for the link component.
4
+ *
5
+ * Custom css variables:
6
+ * [--link-color] - Set a custom link color, also used as the hover blend base. A visited link still uses the visited color, override it with --link-color-visited or set visited-style="off"
7
+ * [--link-font-size] - Set a custom font-size to the link
8
+ * [--link-line-height] - Set a custom line-height to the link. Inherits the surrounding text's line-height when unset
9
+ * [--link-color-hover] - Set a custom link color on hover state
10
+ * [--link-color-focus] - Set a custom link color on focus-visible state, the hover color by default
11
+ * [--link-focus-outline-color] - Set a custom focus ring color
12
+ * [--link-color-visited] - Set a custom link color on visited state
13
+ * [--link-color-visited-hover] - Set a custom link color on visited+hover state
14
+ * [--link-color-current] - Set a custom link color for the current page link (the `current` attribute). It stays this color on hover, focus and visited states
15
+ * [--link-text-decoration] - Set a custom text-decoration for the link
16
+ * [--link-icon-color] - Set a custom color for the leading icon, independent from the link text color
17
+ * [--link-icon-size] - Set a custom size for the leading icon, 18px by default. Also the font size of the icon slot, for an icon sized in em
18
+ * [--link-transition-duration] - Set a custom duration for the link transitions, --eun-duration-xl by default
19
+ * [--link-padding] - Set custom padding around the link, for example to give its focus outline room to breathe. Defaults to 0, flush with the text
20
+ * [--link-padding-block] - Set a custom vertical padding, as one length applied to both sides. Ignored when --link-padding is set
21
+ * [--link-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --link-padding is set
22
+ * [--link-background] - Set a persistent background color behind the link. Defaults to transparent
23
+ * [--link-background-hover] - Set a background color shown while the link is hovered, falling back to --link-background when unset
24
+ * [--link-background-focus] - Set a background color shown while the link is keyboard-focused, falling back to --link-background when unset
25
+ * [--link-border-radius] - Set a custom corner radius for the link's own background/focus outline box
26
+ */
27
+ /**
28
+ * The rule that gives an eun-link matched by `selector` the block layout :
29
+ * the host fills its container on one line, the inner link fills the host,
30
+ * the label cuts with an ellipsis, and the focus ring of a link with an
31
+ * icon surrounds the whole row instead of the text. Everything past the
32
+ * host's own layout goes through private custom properties, whose inline
33
+ * defaults are declared on :host below. Used for :host([block]), and by
34
+ * eun-nav-menu on its own eun-link children, which can't carry the
35
+ * attribute without a framework resetting it.
36
+ *
37
+ * @param selector the selector matching the eun-link hosts to lay out.
38
+ */
39
+ export declare function linkBlockRule(selector: CSSResult): CSSResult;
40
+ export declare const linkStyles: CSSResult;
@@ -1,4 +1,4 @@
1
- import { css } from "lit";
1
+ import { css, unsafeCSS } from "lit";
2
2
  /**
3
3
  * Base style for the link component.
4
4
  *
@@ -7,7 +7,8 @@ import { css } from "lit";
7
7
  * [--link-font-size] - Set a custom font-size to the link
8
8
  * [--link-line-height] - Set a custom line-height to the link. Inherits the surrounding text's line-height when unset
9
9
  * [--link-color-hover] - Set a custom link color on hover state
10
- * [--link-color-focus] - Set a custom link color on focus-visible state
10
+ * [--link-color-focus] - Set a custom link color on focus-visible state, the hover color by default
11
+ * [--link-focus-outline-color] - Set a custom focus ring color
11
12
  * [--link-color-visited] - Set a custom link color on visited state
12
13
  * [--link-color-visited-hover] - Set a custom link color on visited+hover state
13
14
  * [--link-color-current] - Set a custom link color for the current page link (the `current` attribute). It stays this color on hover, focus and visited states
@@ -23,15 +24,64 @@ import { css } from "lit";
23
24
  * [--link-background-focus] - Set a background color shown while the link is keyboard-focused, falling back to --link-background when unset
24
25
  * [--link-border-radius] - Set a custom corner radius for the link's own background/focus outline box
25
26
  */
27
+ /**
28
+ * The rule that gives an eun-link matched by `selector` the block layout :
29
+ * the host fills its container on one line, the inner link fills the host,
30
+ * the label cuts with an ellipsis, and the focus ring of a link with an
31
+ * icon surrounds the whole row instead of the text. Everything past the
32
+ * host's own layout goes through private custom properties, whose inline
33
+ * defaults are declared on :host below. Used for :host([block]), and by
34
+ * eun-nav-menu on its own eun-link children, which can't carry the
35
+ * attribute without a framework resetting it.
36
+ *
37
+ * @param selector the selector matching the eun-link hosts to lay out.
38
+ */
39
+ export function linkBlockRule(selector) {
40
+ return css `
41
+ ${selector} {
42
+ display: flex;
43
+ width: 100%;
44
+ min-width: 0;
45
+ white-space: nowrap;
46
+ --_blockLinkFlex: 1;
47
+ --_blockBoxSizing: border-box;
48
+ --_blockMinWidth: 0;
49
+ --_blockLabelOverflow: hidden;
50
+ --_blockLabelTextOverflow: ellipsis;
51
+ --_blockRowFocusBackground: var(
52
+ --link-background-focus,
53
+ var(--link-background, transparent)
54
+ );
55
+ --_blockRowFocusOutline: var(--_focusOutline);
56
+ --_blockRowFocusOffset: 2px;
57
+ --_blockLabelFocusBackground: none;
58
+ --_blockLabelFocusOutline: transparent;
59
+ }
60
+ `;
61
+ }
26
62
  const base = css `
27
63
  :host {
64
+ --_blockLinkFlex: 0 1 auto;
65
+ --_blockBoxSizing: content-box;
66
+ --_blockMinWidth: auto;
67
+ --_blockLabelOverflow: visible;
68
+ --_blockLabelTextOverflow: clip;
69
+ --_blockRowFocusBackground: var(--link-background, transparent);
70
+ --_blockRowFocusOutline: transparent;
71
+ --_blockRowFocusOffset: 0px;
72
+ --_blockLabelFocusBackground: var(
73
+ --link-background-focus,
74
+ var(--link-background, transparent)
75
+ );
76
+ --_blockLabelFocusOutline: var(--_focusOutline);
28
77
  --_color: var(--link-color, var(--eun-text-color, #071621));
29
78
  --_colorHover: var(
30
79
  --link-color-hover,
31
80
  var(--eun-color-primary-500, #3d6fff)
32
81
  );
33
- --_colorFocus: var(
34
- --link-color-focus,
82
+ --_colorFocus: var(--link-color-focus, var(--_colorHover));
83
+ --_focusOutline: var(
84
+ --link-focus-outline-color,
35
85
  var(--eun-color-primary-700, #3662e0)
36
86
  );
37
87
  --_colorVisited: var(
@@ -61,7 +111,10 @@ const base = css `
61
111
  var(--eun-text-on-inverse-secondary, rgba(255, 255, 255, 0.7))
62
112
  );
63
113
  --_colorHover: var(--link-color-hover, var(--eun-text-on-inverse, #fff));
64
- --_colorFocus: var(--link-color-focus, var(--eun-text-on-inverse, #fff));
114
+ --_focusOutline: var(
115
+ --link-focus-outline-color,
116
+ var(--eun-text-on-inverse, #fff)
117
+ );
65
118
  --_colorVisited: var(
66
119
  --link-color-visited,
67
120
  var(--eun-color-purple-300, #bea0ed)
@@ -90,6 +143,9 @@ const base = css `
90
143
  transform: rotate(-45deg);
91
144
  }
92
145
  #link {
146
+ box-sizing: var(--_blockBoxSizing);
147
+ flex: var(--_blockLinkFlex);
148
+ min-width: var(--_blockMinWidth);
93
149
  display: inline-flex;
94
150
  align-items: center;
95
151
  gap: var(--eun-space-s, 8px);
@@ -146,26 +202,23 @@ const base = css `
146
202
  --icon-color: var(--link-icon-color, var(--_colorHover));
147
203
  }
148
204
  #link:focus-visible {
149
- color: var(--_colorHover) !important;
205
+ color: var(--_colorFocus) !important;
150
206
  text-decoration: none;
151
207
  background: var(
152
208
  --link-background-focus,
153
209
  var(--link-background, transparent)
154
210
  );
155
- outline-color: var(--_colorFocus);
211
+ outline-color: var(--_focusOutline);
156
212
  outline-offset: 2px;
157
- --icon-color: var(--link-icon-color, var(--_colorHover));
213
+ --icon-color: var(--link-icon-color, var(--_colorFocus));
158
214
  }
159
215
  #link.has-icon:focus-visible {
160
- background: var(--link-background, transparent);
161
- outline-color: transparent;
216
+ background: var(--_blockRowFocusBackground);
217
+ outline-color: var(--_blockRowFocusOutline);
162
218
  }
163
219
  #link.has-icon:focus-visible #label {
164
- background: var(
165
- --link-background-focus,
166
- var(--link-background, transparent)
167
- );
168
- outline-color: var(--_colorFocus);
220
+ background: var(--_blockLabelFocusBackground);
221
+ outline-color: var(--_blockLabelFocusOutline);
169
222
  outline-offset: 2px;
170
223
  }
171
224
 
@@ -196,8 +249,6 @@ const base = css `
196
249
  text-decoration: var(--_textDecoration);
197
250
  text-wrap-style: pretty;
198
251
  border-radius: var(--link-border-radius, var(--eun-border-radius-m, 8px));
199
- /* Transparent before the icon outline below is drawn, so it never fades
200
- in from currentColor once has-icon lands after the first render. */
201
252
  outline-color: transparent;
202
253
  transition:
203
254
  color var(--_duration) var(--eun-easing-out, ease-out),
@@ -235,7 +286,7 @@ const base = css `
235
286
  --icon-color: var(--link-icon-color, var(--_colorHover));
236
287
  }
237
288
  ::slotted(a:focus-visible) {
238
- color: var(--_colorHover) !important;
289
+ color: var(--_colorFocus) !important;
239
290
  text-decoration: none;
240
291
  outline: none;
241
292
  }
@@ -248,24 +299,24 @@ const base = css `
248
299
  text-decoration-color var(--_duration) var(--eun-easing-out, ease-out);
249
300
  }
250
301
  #link.has-icon ::slotted(a:focus-visible) {
251
- background: var(
252
- --link-background-focus,
253
- var(--link-background, transparent)
254
- );
255
- outline-color: var(--_colorFocus);
302
+ background: var(--_blockLabelFocusBackground);
303
+ outline-color: var(--_blockLabelFocusOutline);
256
304
  outline-offset: 2px;
257
305
  }
258
306
  :host(:state(focus-visible)) #link.slotted-link.has-icon {
259
- --icon-color: var(--link-icon-color, var(--_colorHover));
307
+ background: var(--_blockRowFocusBackground);
308
+ outline-color: var(--_blockRowFocusOutline);
309
+ outline-offset: var(--_blockRowFocusOffset);
310
+ --icon-color: var(--link-icon-color, var(--_colorFocus));
260
311
  }
261
312
  :host(:state(focus-visible)) #link.slotted-link:not(.has-icon) {
262
313
  background: var(
263
314
  --link-background-focus,
264
315
  var(--link-background, transparent)
265
316
  );
266
- outline-color: var(--_colorFocus);
317
+ outline-color: var(--_focusOutline);
267
318
  outline-offset: 2px;
268
- --icon-color: var(--link-icon-color, var(--_colorHover));
319
+ --icon-color: var(--link-icon-color, var(--_colorFocus));
269
320
  }
270
321
  :host([current]) ::slotted(a),
271
322
  :host([current]) ::slotted(a:visited),
@@ -279,41 +330,13 @@ const base = css `
279
330
  --icon-color: var(--link-icon-color, var(--_colorCurrent));
280
331
  }
281
332
 
282
- :host([block]) {
283
- display: flex;
284
- width: 100%;
285
- min-width: 0;
286
- white-space: nowrap;
287
- }
288
- :host([block]) #link {
289
- box-sizing: border-box;
290
- flex: 1;
291
- min-width: 0;
292
- }
293
- :host([block]) #link.has-icon:focus-visible,
294
- :host([block]:state(focus-visible)) #link.slotted-link {
295
- background: var(
296
- --link-background-focus,
297
- var(--link-background, transparent)
298
- );
299
- outline-color: var(--_colorFocus);
300
- outline-offset: 2px;
301
- }
302
- :host([block]) #link.has-icon:focus-visible #label {
303
- background: none;
304
- outline-color: transparent;
305
- }
306
- :host([block]) #link.has-icon ::slotted(a:focus-visible) {
307
- background: none;
308
- outline-color: transparent;
309
- }
333
+ ${linkBlockRule(unsafeCSS(":host([block])"))}
310
334
 
311
- :host([block]) #label,
312
- :host([block]) ::slotted(a) {
313
- min-width: 0;
314
- overflow: hidden;
315
- text-overflow: ellipsis;
316
- white-space: nowrap;
335
+ #label,
336
+ ::slotted(a) {
337
+ min-width: var(--_blockMinWidth);
338
+ overflow: var(--_blockLabelOverflow);
339
+ text-overflow: var(--_blockLabelTextOverflow);
317
340
  }
318
341
 
319
342
  @media (prefers-reduced-motion: reduce) {
@@ -40,7 +40,7 @@ export const buttonPaletteStyles = css `
40
40
  --_wash-active: var(--_tint-active);
41
41
  --_flat: var(--eun-surface-sunken, #f7f8fa);
42
42
  --_flat-hover: var(--eun-surface-sunken-hover, #edeff0);
43
- --_flatFg: var(--eun-text-secondary, #484e61);
43
+ --_flatFg: var(--eun-text-secondary, #666e8a);
44
44
  --_ring: var(--eun-color-primary-700, #3662e0);
45
45
  }
46
46
  :host([color="secondary"]) {
@@ -93,6 +93,7 @@ declare const EunomiaToggleGroup_base: import("../../../utils/constructor.type.j
93
93
  * @cssprop [--toggle-group-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --toggle-group-padding is set
94
94
  * @cssprop [--toggle-group-hover-color] - Sets the text color of an unselected option on hover and keyboard focus, for every appearance
95
95
  * @cssprop [--toggle-group-hover-background] - Sets the background color of an unselected option on hover. Transparent by default, and applies regardless of appearance
96
+ * @cssprop [--toggle-group-focus-outline-color] - Sets the keyboard focus outline color of an option, for every appearance
96
97
  * @cssprop [--toggle-group-box-shadow] - Sets a box shadow on the track itself, for every appearance. None by default
97
98
  * @cssprop [--toggle-group-shadow] - Sets a box shadow on every option, and the sliding indicator in exclusive mode. None by default
98
99
  * @cssprop [--toggle-group-shadow-hover] - Sets the box shadow of an unselected option on hover, falling back to toggle-group-shadow when unset
@@ -85,6 +85,7 @@ export const EunomiaToggleGroupTagName = "eun-toggle-group";
85
85
  * @cssprop [--toggle-group-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --toggle-group-padding is set
86
86
  * @cssprop [--toggle-group-hover-color] - Sets the text color of an unselected option on hover and keyboard focus, for every appearance
87
87
  * @cssprop [--toggle-group-hover-background] - Sets the background color of an unselected option on hover. Transparent by default, and applies regardless of appearance
88
+ * @cssprop [--toggle-group-focus-outline-color] - Sets the keyboard focus outline color of an option, for every appearance
88
89
  * @cssprop [--toggle-group-box-shadow] - Sets a box shadow on the track itself, for every appearance. None by default
89
90
  * @cssprop [--toggle-group-shadow] - Sets a box shadow on every option, and the sliding indicator in exclusive mode. None by default
90
91
  * @cssprop [--toggle-group-shadow-hover] - Sets the box shadow of an unselected option on hover, falling back to toggle-group-shadow when unset
@@ -13,6 +13,7 @@
13
13
  * [--toggle-group-padding-block] - Set a custom vertical padding, as one length applied to both sides. Ignored when --toggle-group-padding is set
14
14
  * [--toggle-group-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --toggle-group-padding is set
15
15
  * [--toggle-group-hover-color] - Set a custom text color on hover state, for an unselected option, for every appearance
16
+ * [--toggle-group-focus-outline-color] - Set a custom keyboard focus outline color for an option, for every appearance
16
17
  * [--toggle-group-hover-background] - Set a custom background color on hover state, for an unselected option ; transparent by default. Applies regardless of `appearance`
17
18
  * [--toggle-group-box-shadow] - Set a custom box shadow on the track itself, for every appearance, none by default
18
19
  * [--toggle-group-shadow] - Set a custom box shadow on every option (and the sliding indicator, in exclusive mode), none by default
@@ -14,6 +14,7 @@ import { css } from "lit";
14
14
  * [--toggle-group-padding-block] - Set a custom vertical padding, as one length applied to both sides. Ignored when --toggle-group-padding is set
15
15
  * [--toggle-group-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --toggle-group-padding is set
16
16
  * [--toggle-group-hover-color] - Set a custom text color on hover state, for an unselected option, for every appearance
17
+ * [--toggle-group-focus-outline-color] - Set a custom keyboard focus outline color for an option, for every appearance
17
18
  * [--toggle-group-hover-background] - Set a custom background color on hover state, for an unselected option ; transparent by default. Applies regardless of `appearance`
18
19
  * [--toggle-group-box-shadow] - Set a custom box shadow on the track itself, for every appearance, none by default
19
20
  * [--toggle-group-shadow] - Set a custom box shadow on every option (and the sliding indicator, in exclusive mode), none by default
@@ -301,7 +302,10 @@ export const toggleGroupStyles = css `
301
302
  background: var(--_hoverBackground);
302
303
  }
303
304
  button:focus-visible {
304
- outline-color: var(--eun-color-primary-500, #3d6fff);
305
+ outline-color: var(
306
+ --toggle-group-focus-outline-color,
307
+ var(--eun-color-primary-500, #3d6fff)
308
+ );
305
309
  outline-offset: 2px;
306
310
  transition:
307
311
  outline-color var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
@@ -379,7 +383,10 @@ export const toggleGroupStyles = css `
379
383
  }
380
384
  :host([appearance="outline"]) button:focus-visible,
381
385
  :host([appearance="flat"]) button:focus-visible {
382
- outline-color: var(--_variantColor);
386
+ outline-color: var(
387
+ --toggle-group-focus-outline-color,
388
+ var(--_variantColor)
389
+ );
383
390
  color: var(--toggle-group-hover-color, var(--_variantColor));
384
391
  }
385
392
  `;