@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
@@ -59,7 +59,10 @@ export const toggleItemStyles = css `
59
59
  background: var(--_hoverBackground);
60
60
  }
61
61
  :host(:focus-visible) #item {
62
- outline-color: var(--eun-color-primary-500, #3d6fff);
62
+ outline-color: var(
63
+ --toggle-group-focus-outline-color,
64
+ var(--eun-color-primary-500, #3d6fff)
65
+ );
63
66
  outline-offset: 2px;
64
67
  transition:
65
68
  outline-color var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
@@ -144,7 +147,10 @@ export const toggleItemStyles = css `
144
147
  }
145
148
  :host([appearance="outline"]:focus-visible) #item,
146
149
  :host([appearance="flat"]:focus-visible) #item {
147
- outline-color: var(--_variantColor);
150
+ outline-color: var(
151
+ --toggle-group-focus-outline-color,
152
+ var(--_variantColor)
153
+ );
148
154
  color: var(--toggle-group-hover-color, var(--_variantColor));
149
155
  }
150
156
  :host([appearance="outline"]:not([disabled]):not([checked]):hover) #item,
@@ -35,6 +35,7 @@ declare const EunomiaToggle_base: import("../../../utils/constructor.type.js").C
35
35
  * @cssprop [--toggle-active-color] - Sets the text color while pressed. Ignored while swap is set
36
36
  * @cssprop [--toggle-border-size] - Sets the width of the border
37
37
  * @cssprop [--toggle-border-radius] - Sets the corner radius of the toggle
38
+ * @cssprop [--toggle-focus-outline-color] - Sets the keyboard focus outline color
38
39
  * @cssprop [--toggle-padding] - Sets the padding of the toggle
39
40
  * @cssprop [--toggle-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --toggle-padding is set
40
41
  * @cssprop [--toggle-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --toggle-padding is set
@@ -44,6 +44,7 @@ export const EunomiaToggleTagName = "eun-toggle";
44
44
  * @cssprop [--toggle-active-color] - Sets the text color while pressed. Ignored while swap is set
45
45
  * @cssprop [--toggle-border-size] - Sets the width of the border
46
46
  * @cssprop [--toggle-border-radius] - Sets the corner radius of the toggle
47
+ * @cssprop [--toggle-focus-outline-color] - Sets the keyboard focus outline color
47
48
  * @cssprop [--toggle-padding] - Sets the padding of the toggle
48
49
  * @cssprop [--toggle-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --toggle-padding is set
49
50
  * @cssprop [--toggle-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --toggle-padding is set
@@ -15,6 +15,7 @@
15
15
  * [--toggle-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --toggle-padding is set
16
16
  * [--toggle-hover-color] - Set a custom text color on hover state, while not pressed
17
17
  * [--toggle-hover-background] - Set a custom background color on hover state, while not pressed ; transparent by default
18
+ * [--toggle-focus-outline-color] - Set a custom keyboard focus outline color
18
19
  * [--toggle-shadow] - Set a custom box shadow, none by default
19
20
  * [--toggle-shadow-hover] - Set a custom box shadow on hover state, falls back to `--toggle-shadow`
20
21
  */
@@ -16,6 +16,7 @@ import { css } from "lit";
16
16
  * [--toggle-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --toggle-padding is set
17
17
  * [--toggle-hover-color] - Set a custom text color on hover state, while not pressed
18
18
  * [--toggle-hover-background] - Set a custom background color on hover state, while not pressed ; transparent by default
19
+ * [--toggle-focus-outline-color] - Set a custom keyboard focus outline color
19
20
  * [--toggle-shadow] - Set a custom box shadow, none by default
20
21
  * [--toggle-shadow-hover] - Set a custom box shadow on hover state, falls back to `--toggle-shadow`
21
22
  */
@@ -74,7 +75,10 @@ export const toggleStyles = css `
74
75
  background: var(--_hoverBackground);
75
76
  }
76
77
  :host(:focus-visible) #toggle {
77
- outline-color: var(--eun-color-primary-500, #3d6fff);
78
+ outline-color: var(
79
+ --toggle-focus-outline-color,
80
+ var(--eun-color-primary-500, #3d6fff)
81
+ );
78
82
  outline-offset: 2px;
79
83
  transition:
80
84
  outline-color var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
@@ -29,17 +29,17 @@ declare const EunomiaDrawer_base: import("../../../utils/constructor.type.js").C
29
29
  * @slot confirm-close - Optional custom content for the internal discard confirmation dialog, rendered below its heading and description
30
30
  * @prop {'start' | 'end'} [position='end'] - Which edge the drawer slides in from
31
31
  * @prop {string} heading - An optional heading, rendered as the header slot's fallback content
32
- * @prop {boolean} [closeable=true] - Whether the close button renders
32
+ * @prop {boolean} [closeable=false] - Whether the close button renders
33
33
  * @prop {boolean} [open=false] - Whether the drawer is open
34
- * @prop {boolean} [closeOnBackdrop=true] - Whether clicking outside the drawer requests a close
34
+ * @prop {boolean} [closeOnBackdrop=false] - Whether clicking outside the drawer requests a close
35
35
  * @prop {boolean} [dirty=false] - Marks the drawer as having unsaved changes, requiring confirmation before it closes
36
36
  * @prop {'auto' | 'first-field'} [initialFocus='auto'] - Where focus lands on open. First-field focuses the first focusable element of the body when the drawer was opened from the keyboard, and behaves like auto after a click or a touch, so a mobile virtual keyboard doesn't pop up on its own. A slotted autofocus element always wins
37
37
  * @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
38
38
  * @attr {string} [close-label] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
39
- * @prop {string} [confirmCloseHeading='Discard changes?'] - The heading of the internal discard confirmation dialog
40
- * @attr {string} [confirm-close-heading='Discard changes?'] - The heading of the internal discard confirmation dialog
41
- * @prop {string} confirmCloseDescription - The description of the internal discard confirmation dialog
42
- * @attr {string} confirm-close-description - The description of the internal discard confirmation dialog
39
+ * @prop {string} [confirmCloseHeading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
40
+ * @attr {string} [confirm-close-heading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
41
+ * @prop {string} [confirmCloseDescription] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
42
+ * @attr {string} [confirm-close-description] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
43
43
  * @prop {string} [confirmCloseCancelLabel] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
44
44
  * @attr {string} [confirm-close-cancel-label] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
45
45
  * @prop {string} [confirmCloseConfirmLabel] - The confirm label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard")
@@ -80,7 +80,7 @@ export declare class EunomiaDrawer extends EunomiaDrawer_base {
80
80
  heading?: string;
81
81
  /**
82
82
  * Whether the close (X) button renders.
83
- * @default true
83
+ * @default false
84
84
  */
85
85
  closeable: boolean;
86
86
  /**
@@ -91,7 +91,7 @@ export declare class EunomiaDrawer extends EunomiaDrawer_base {
91
91
  /**
92
92
  * Whether clicking outside the drawer requests a close (subject to the
93
93
  * `dirty` gate).
94
- * @default true
94
+ * @default false
95
95
  */
96
96
  closeOnBackdrop: boolean;
97
97
  /**
@@ -122,14 +122,15 @@ export declare class EunomiaDrawer extends EunomiaDrawer_base {
122
122
  closeLabel?: string;
123
123
  /**
124
124
  * Heading of the internal discard-confirmation dialog.
125
- * @default Discard changes?
125
+ * Falls back to the localized string for the current locale when unset.
126
126
  */
127
- confirmCloseHeading: string;
127
+ confirmCloseHeading?: string;
128
128
  /**
129
- * Description of the internal discard-confirmation dialog.
130
- * @default You have unsaved changes. This action can't be undone.
129
+ * Description of the internal discard-confirmation dialog, hidden when
130
+ * empty. Falls back to the localized string for the current locale when
131
+ * unset.
131
132
  */
132
- confirmCloseDescription: string;
133
+ confirmCloseDescription?: string;
133
134
  /**
134
135
  * Cancel label of the internal discard-confirmation dialog.
135
136
  * Falls back to the localized string for the current locale when unset.
@@ -15,7 +15,6 @@ import { getFocusableElements } from "../../../utils/focusable-elements.utils.js
15
15
  import { isKeyboardModality, trackInputModality, } from "../../../utils/input-modality.utils.js";
16
16
  import { drawerStyles } from "./drawer.styles.js";
17
17
  import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
18
- import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
19
18
  /**
20
19
  * Tag name of the drawer component.
21
20
  */
@@ -40,17 +39,17 @@ export const EunomiaDrawerTagName = "eun-drawer";
40
39
  * @slot confirm-close - Optional custom content for the internal discard confirmation dialog, rendered below its heading and description
41
40
  * @prop {'start' | 'end'} [position='end'] - Which edge the drawer slides in from
42
41
  * @prop {string} heading - An optional heading, rendered as the header slot's fallback content
43
- * @prop {boolean} [closeable=true] - Whether the close button renders
42
+ * @prop {boolean} [closeable=false] - Whether the close button renders
44
43
  * @prop {boolean} [open=false] - Whether the drawer is open
45
- * @prop {boolean} [closeOnBackdrop=true] - Whether clicking outside the drawer requests a close
44
+ * @prop {boolean} [closeOnBackdrop=false] - Whether clicking outside the drawer requests a close
46
45
  * @prop {boolean} [dirty=false] - Marks the drawer as having unsaved changes, requiring confirmation before it closes
47
46
  * @prop {'auto' | 'first-field'} [initialFocus='auto'] - Where focus lands on open. First-field focuses the first focusable element of the body when the drawer was opened from the keyboard, and behaves like auto after a click or a touch, so a mobile virtual keyboard doesn't pop up on its own. A slotted autofocus element always wins
48
47
  * @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
49
48
  * @attr {string} [close-label] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
50
- * @prop {string} [confirmCloseHeading='Discard changes?'] - The heading of the internal discard confirmation dialog
51
- * @attr {string} [confirm-close-heading='Discard changes?'] - The heading of the internal discard confirmation dialog
52
- * @prop {string} confirmCloseDescription - The description of the internal discard confirmation dialog
53
- * @attr {string} confirm-close-description - The description of the internal discard confirmation dialog
49
+ * @prop {string} [confirmCloseHeading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
50
+ * @attr {string} [confirm-close-heading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
51
+ * @prop {string} [confirmCloseDescription] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
52
+ * @attr {string} [confirm-close-description] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
54
53
  * @prop {string} [confirmCloseCancelLabel] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
55
54
  * @attr {string} [confirm-close-cancel-label] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
56
55
  * @prop {string} [confirmCloseConfirmLabel] - The confirm label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard")
@@ -80,9 +79,9 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
80
79
  this.position = "end";
81
80
  /**
82
81
  * Whether the close (X) button renders.
83
- * @default true
82
+ * @default false
84
83
  */
85
- this.closeable = true;
84
+ this.closeable = false;
86
85
  /**
87
86
  * Whether the drawer is open.
88
87
  * @default false
@@ -91,9 +90,9 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
91
90
  /**
92
91
  * Whether clicking outside the drawer requests a close (subject to the
93
92
  * `dirty` gate).
94
- * @default true
93
+ * @default false
95
94
  */
96
- this.closeOnBackdrop = true;
95
+ this.closeOnBackdrop = false;
97
96
  /**
98
97
  * Marks the drawer as having unsaved changes, gating any close attempt
99
98
  * behind a confirmation dialog.
@@ -110,16 +109,6 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
110
109
  * @default auto
111
110
  */
112
111
  this.initialFocus = "auto";
113
- /**
114
- * Heading of the internal discard-confirmation dialog.
115
- * @default Discard changes?
116
- */
117
- this.confirmCloseHeading = "Discard changes?";
118
- /**
119
- * Description of the internal discard-confirmation dialog.
120
- * @default You have unsaved changes. This action can't be undone.
121
- */
122
- this.confirmCloseDescription = "You have unsaved changes. This action can't be undone.";
123
112
  /**
124
113
  * Whether the internal discard-confirmation `eun-modal` has ever been
125
114
  * needed and should be part of the render output. Mounted lazily — the
@@ -244,7 +233,7 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
244
233
  */
245
234
  disconnectedCallback() {
246
235
  this.removeEventListener("command", this.handleCommandEvent);
247
- this.teardownDialogSurface(this.open);
236
+ this.teardownDialogSurface();
248
237
  super.disconnectedCallback?.();
249
238
  }
250
239
  /**
@@ -439,11 +428,16 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
439
428
  * @private
440
429
  */
441
430
  renderConfirmCloseModal() {
431
+ const description = this.confirmCloseDescription ??
432
+ this.dictionary.common.discardChangesDescription;
442
433
  return html `
443
434
  <eun-modal
444
435
  id="confirm-close-modal"
445
436
  kind="alert"
446
- heading=${this.confirmCloseHeading}
437
+ closeable
438
+ close-on-backdrop
439
+ heading=${this.confirmCloseHeading ??
440
+ this.dictionary.common.discardChangesHeading}
447
441
  cancel-label=${this.confirmCloseCancelLabel ??
448
442
  this.dictionary.common.keepEditing}
449
443
  confirm-label=${this.confirmCloseConfirmLabel ??
@@ -452,9 +446,7 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
452
446
  @eunconfirm=${this.handleDiscardConfirmed}
453
447
  @euncancel=${this.stopDialogPropagation}
454
448
  >
455
- ${this.confirmCloseDescription
456
- ? html `<p>${this.confirmCloseDescription}</p>`
457
- : nothing}
449
+ ${description ? html `<p>${description}</p>` : nothing}
458
450
  <slot name="confirm-close"></slot>
459
451
  </eun-modal>
460
452
  `;
@@ -519,13 +511,13 @@ __decorate([
519
511
  property()
520
512
  ], EunomiaDrawer.prototype, "heading", void 0);
521
513
  __decorate([
522
- property({ converter: defaultTrueConverter })
514
+ property({ type: Boolean })
523
515
  ], EunomiaDrawer.prototype, "closeable", void 0);
524
516
  __decorate([
525
517
  property({ type: Boolean, reflect: true })
526
518
  ], EunomiaDrawer.prototype, "open", void 0);
527
519
  __decorate([
528
- property({ converter: defaultTrueConverter, attribute: "close-on-backdrop" })
520
+ property({ type: Boolean, attribute: "close-on-backdrop" })
529
521
  ], EunomiaDrawer.prototype, "closeOnBackdrop", void 0);
530
522
  __decorate([
531
523
  property({ type: Boolean, reflect: true })
@@ -29,20 +29,20 @@ declare const EunomiaModal_base: import("../../../utils/constructor.type.js").Co
29
29
  * @attr {string} aria-label - The accessible name of the dialog when no visible heading is set, such as a flush search shell. Ignored once heading is set, since that already provides one
30
30
  * @prop {string} description - An optional short description, rendered below the heading
31
31
  * @prop {'dialog' | 'alert' | 'search'} [kind='dialog'] - Alert renders the dialog as an alert dialog, for destructive or blocking confirmations. Search removes the surface's default padding for a flush command palette layout
32
- * @prop {boolean} [closeOnBackdrop=true] - Whether clicking outside the dialog requests a close, subject to the dirty gate
32
+ * @prop {boolean} [closeOnBackdrop=false] - Whether clicking outside the dialog requests a close, subject to the dirty gate
33
33
  * @prop {boolean} [dirty=false] - Marks the modal as having unsaved changes, requiring confirmation before any close attempt succeeds
34
34
  * @prop {boolean} [hideActions=false] - Hides the default confirm and cancel footer entirely, for fully custom content-driven dialogs
35
35
  * @prop {'auto' | 'first-field'} [initialFocus='auto'] - Where focus lands on open. First-field focuses the first focusable element of the body when the modal was opened from the keyboard, and behaves like auto after a click or a touch, so a mobile virtual keyboard doesn't pop up on its own. A slotted autofocus element always wins
36
- * @prop {boolean} [closeable=true] - Shows the close button in the top right corner
36
+ * @prop {boolean} [closeable=false] - Shows the close button in the top right corner
37
37
  * @prop {string} [cancelLabel] - The label of the default cancel button. Defaults to the localized string for the current locale (English: "Cancel")
38
38
  * @prop {string} [confirmLabel] - The label of the default confirm button. Defaults to the localized string for the current locale (English: "Confirm")
39
39
  * @prop {'primary' | 'critical'} [confirmColor='primary'] - The color of the default confirm button
40
40
  * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} cancelColor - The color of the default cancel button. Left unset, it renders as a neutral gray ghost button
41
41
  * @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
42
- * @prop {string} [confirmCloseHeading='Discard changes?'] - The heading of the internal discard confirmation dialog
43
- * @attr {string} [confirm-close-heading='Discard changes?'] - The heading of the internal discard confirmation dialog
44
- * @prop {string} confirmCloseDescription - The description of the internal discard confirmation dialog
45
- * @attr {string} confirm-close-description - The description of the internal discard confirmation dialog
42
+ * @prop {string} [confirmCloseHeading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
43
+ * @attr {string} [confirm-close-heading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
44
+ * @prop {string} [confirmCloseDescription] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
45
+ * @attr {string} [confirm-close-description] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
46
46
  * @prop {string} [confirmCloseCancelLabel] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
47
47
  * @attr {string} [confirm-close-cancel-label] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
48
48
  * @prop {string} [confirmCloseConfirmLabel] - The confirm label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard")
@@ -97,7 +97,7 @@ export declare class EunomiaModal extends EunomiaModal_base {
97
97
  kind: "dialog" | "alert" | "search";
98
98
  /**
99
99
  * Whether clicking outside the dialog closes it.
100
- * @default true
100
+ * @default false
101
101
  */
102
102
  closeOnBackdrop: boolean;
103
103
  /**
@@ -128,7 +128,7 @@ export declare class EunomiaModal extends EunomiaModal_base {
128
128
  private readonly bodyEl?;
129
129
  /**
130
130
  * Shows the top-right close (X) button.
131
- * @default true
131
+ * @default false
132
132
  */
133
133
  closeable: boolean;
134
134
  /**
@@ -159,14 +159,15 @@ export declare class EunomiaModal extends EunomiaModal_base {
159
159
  closeLabel?: string;
160
160
  /**
161
161
  * Heading of the internal discard-confirmation dialog.
162
- * @default Discard changes?
162
+ * Falls back to the localized string for the current locale when unset.
163
163
  */
164
- confirmCloseHeading: string;
164
+ confirmCloseHeading?: string;
165
165
  /**
166
- * Description of the internal discard-confirmation dialog.
167
- * @default You have unsaved changes. This action can't be undone.
166
+ * Description of the internal discard-confirmation dialog, hidden when
167
+ * empty. Falls back to the localized string for the current locale when
168
+ * unset.
168
169
  */
169
- confirmCloseDescription: string;
170
+ confirmCloseDescription?: string;
170
171
  /**
171
172
  * Cancel label of the internal discard-confirmation dialog.
172
173
  * Falls back to the localized string for the current locale when unset.
@@ -16,7 +16,6 @@ import { getFocusableElements } from "../../../utils/focusable-elements.utils.js
16
16
  import { isKeyboardModality, trackInputModality, } from "../../../utils/input-modality.utils.js";
17
17
  import { modalStyles } from "./modal.styles.js";
18
18
  import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
19
- import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
20
19
  /**
21
20
  * Tag name of the modal component.
22
21
  */
@@ -43,20 +42,20 @@ export const EunomiaModalTagName = "eun-modal";
43
42
  * @attr {string} aria-label - The accessible name of the dialog when no visible heading is set, such as a flush search shell. Ignored once heading is set, since that already provides one
44
43
  * @prop {string} description - An optional short description, rendered below the heading
45
44
  * @prop {'dialog' | 'alert' | 'search'} [kind='dialog'] - Alert renders the dialog as an alert dialog, for destructive or blocking confirmations. Search removes the surface's default padding for a flush command palette layout
46
- * @prop {boolean} [closeOnBackdrop=true] - Whether clicking outside the dialog requests a close, subject to the dirty gate
45
+ * @prop {boolean} [closeOnBackdrop=false] - Whether clicking outside the dialog requests a close, subject to the dirty gate
47
46
  * @prop {boolean} [dirty=false] - Marks the modal as having unsaved changes, requiring confirmation before any close attempt succeeds
48
47
  * @prop {boolean} [hideActions=false] - Hides the default confirm and cancel footer entirely, for fully custom content-driven dialogs
49
48
  * @prop {'auto' | 'first-field'} [initialFocus='auto'] - Where focus lands on open. First-field focuses the first focusable element of the body when the modal was opened from the keyboard, and behaves like auto after a click or a touch, so a mobile virtual keyboard doesn't pop up on its own. A slotted autofocus element always wins
50
- * @prop {boolean} [closeable=true] - Shows the close button in the top right corner
49
+ * @prop {boolean} [closeable=false] - Shows the close button in the top right corner
51
50
  * @prop {string} [cancelLabel] - The label of the default cancel button. Defaults to the localized string for the current locale (English: "Cancel")
52
51
  * @prop {string} [confirmLabel] - The label of the default confirm button. Defaults to the localized string for the current locale (English: "Confirm")
53
52
  * @prop {'primary' | 'critical'} [confirmColor='primary'] - The color of the default confirm button
54
53
  * @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} cancelColor - The color of the default cancel button. Left unset, it renders as a neutral gray ghost button
55
54
  * @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
56
- * @prop {string} [confirmCloseHeading='Discard changes?'] - The heading of the internal discard confirmation dialog
57
- * @attr {string} [confirm-close-heading='Discard changes?'] - The heading of the internal discard confirmation dialog
58
- * @prop {string} confirmCloseDescription - The description of the internal discard confirmation dialog
59
- * @attr {string} confirm-close-description - The description of the internal discard confirmation dialog
55
+ * @prop {string} [confirmCloseHeading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
56
+ * @attr {string} [confirm-close-heading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
57
+ * @prop {string} [confirmCloseDescription] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
58
+ * @attr {string} [confirm-close-description] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
60
59
  * @prop {string} [confirmCloseCancelLabel] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
61
60
  * @attr {string} [confirm-close-cancel-label] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
62
61
  * @prop {string} [confirmCloseConfirmLabel] - The confirm label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard")
@@ -98,9 +97,9 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
98
97
  this.kind = "dialog";
99
98
  /**
100
99
  * Whether clicking outside the dialog closes it.
101
- * @default true
100
+ * @default false
102
101
  */
103
- this.closeOnBackdrop = true;
102
+ this.closeOnBackdrop = false;
104
103
  /**
105
104
  * Marks the modal as having unsaved changes, gating any close attempt
106
105
  * behind a confirmation dialog.
@@ -124,24 +123,14 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
124
123
  this.initialFocus = "auto";
125
124
  /**
126
125
  * Shows the top-right close (X) button.
127
- * @default true
126
+ * @default false
128
127
  */
129
- this.closeable = true;
128
+ this.closeable = false;
130
129
  /**
131
130
  * Color of the default confirm button.
132
131
  * @default primary
133
132
  */
134
133
  this.confirmColor = "primary";
135
- /**
136
- * Heading of the internal discard-confirmation dialog.
137
- * @default Discard changes?
138
- */
139
- this.confirmCloseHeading = "Discard changes?";
140
- /**
141
- * Description of the internal discard-confirmation dialog.
142
- * @default You have unsaved changes. This action can't be undone.
143
- */
144
- this.confirmCloseDescription = "You have unsaved changes. This action can't be undone.";
145
134
  /**
146
135
  * Whether the internal discard-confirmation dialog has ever been needed
147
136
  * and should be part of the render output. Mounted lazily — the first
@@ -262,7 +251,7 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
262
251
  */
263
252
  disconnectedCallback() {
264
253
  this.removeEventListener("command", this.handleCommandEvent);
265
- this.teardownDialogSurface(this.open);
254
+ this.teardownDialogSurface();
266
255
  super.disconnectedCallback?.();
267
256
  }
268
257
  /**
@@ -416,11 +405,16 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
416
405
  * @private
417
406
  */
418
407
  renderConfirmCloseModal() {
408
+ const description = this.confirmCloseDescription ??
409
+ this.dictionary.common.discardChangesDescription;
419
410
  return html `
420
411
  <eun-modal
421
412
  id="confirm-close-modal"
422
413
  kind="alert"
423
- heading=${this.confirmCloseHeading}
414
+ closeable
415
+ close-on-backdrop
416
+ heading=${this.confirmCloseHeading ??
417
+ this.dictionary.common.discardChangesHeading}
424
418
  cancel-label=${this.confirmCloseCancelLabel ??
425
419
  this.dictionary.common.keepEditing}
426
420
  confirm-label=${this.confirmCloseConfirmLabel ??
@@ -429,9 +423,7 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
429
423
  @eunconfirm=${this.handleDiscardConfirmed}
430
424
  @euncancel=${this.stopDialogPropagation}
431
425
  >
432
- ${this.confirmCloseDescription
433
- ? html `<p>${this.confirmCloseDescription}</p>`
434
- : nothing}
426
+ ${description ? html `<p>${description}</p>` : nothing}
435
427
  <slot name="confirm-close"></slot>
436
428
  </eun-modal>
437
429
  `;
@@ -518,7 +510,7 @@ __decorate([
518
510
  property({ reflect: true, useDefault: true })
519
511
  ], EunomiaModal.prototype, "kind", void 0);
520
512
  __decorate([
521
- property({ converter: defaultTrueConverter, attribute: "close-on-backdrop" })
513
+ property({ type: Boolean, attribute: "close-on-backdrop" })
522
514
  ], EunomiaModal.prototype, "closeOnBackdrop", void 0);
523
515
  __decorate([
524
516
  property({ type: Boolean, reflect: true })
@@ -533,7 +525,7 @@ __decorate([
533
525
  query("#body")
534
526
  ], EunomiaModal.prototype, "bodyEl", void 0);
535
527
  __decorate([
536
- property({ converter: defaultTrueConverter, reflect: true })
528
+ property({ type: Boolean, reflect: true })
537
529
  ], EunomiaModal.prototype, "closeable", void 0);
538
530
  __decorate([
539
531
  property({ attribute: "cancel-label" })
@@ -152,7 +152,7 @@ const base = css `
152
152
  #description {
153
153
  margin: var(--eun-space-xs, 4px) 0 0;
154
154
  font-size: var(--eun-font-size-s, 14px);
155
- color: var(--eun-text-secondary, #484e61);
155
+ color: var(--eun-text-secondary, #666e8a);
156
156
  }
157
157
  #actions {
158
158
  flex: none;
@@ -65,11 +65,11 @@ declare const EunomiaToast_base: import("../../../utils/constructor.type.js").Co
65
65
  * @attr {boolean} [hide-icon=false] - Hides the icon entirely
66
66
  * @prop {string} [richText] - Lightweight formatted content rendered above the description slot, combining with it. Supports simple lists, links, bold, and italic text
67
67
  * @attr {string} [rich-text] - Lightweight formatted content rendered above the description slot
68
- * @prop {boolean} [closeable=true] - Shows a close button. Always shown when severity is critical, so an error toast is never left with no way to dismiss it
68
+ * @prop {boolean} [closeable=false] - Shows a close button. Always shown when severity is critical, so an error toast is never left with no way to dismiss it
69
69
  * @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
70
70
  * @attr {string} [close-label] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
71
71
  * @prop {number} [duration=5000] - Milliseconds before the toast auto-dismisses. Zero, or a critical severity regardless of this value, disables auto-dismiss entirely, requiring a manual close
72
- * @prop {boolean} [open=true] - Whether the toast is currently shown. Set it to false upfront, or hide it right after inserting, to insert a toast that's already closed
72
+ * @prop {boolean} [open=false] - Whether the toast is currently shown. Left off, the toast is inserted closed until show is called
73
73
  * @cssprop [--toast-z-index] - Sets the stacking order of the toast, only used where the top layer is not supported
74
74
  * @cssprop [--toast-viewport-gap] - Sets the distance between the toast and the screen edges its position anchors to
75
75
  * @cssprop [--toast-stack-gap] - Sets the gap between stacked toasts sharing the same position
@@ -148,7 +148,7 @@ export declare class EunomiaToast extends EunomiaToast_base {
148
148
  /**
149
149
  * Shows a close button. Forced to render regardless of this value when
150
150
  * `severity` is `critical`.
151
- * @default true
151
+ * @default false
152
152
  */
153
153
  closeable: boolean;
154
154
  /**
@@ -164,7 +164,7 @@ export declare class EunomiaToast extends EunomiaToast_base {
164
164
  duration: number;
165
165
  /**
166
166
  * Whether the toast is currently shown.
167
- * @default true
167
+ * @default false
168
168
  */
169
169
  open: boolean;
170
170
  /**
@@ -249,7 +249,7 @@ export declare class EunomiaToast extends EunomiaToast_base {
249
249
  private enteringFrameId?;
250
250
  /**
251
251
  * Lifecycle callback triggered when the component connects to the DOM.
252
- * A toast typically starts life already `open` (its default), with no
252
+ * A toast inserted with `open` starts life already shown, with no
253
253
  * prior "closed" paint for a plain CSS transition to animate away from —
254
254
  * unlike a later {@link show}, which always toggles from an already-
255
255
  * rendered closed state. Without `@starting-style` (dropped elsewhere in
@@ -15,7 +15,6 @@ import { addDialogOverlay, removeDialogOverlay, } from "../../../utils/dialog-st
15
15
  import { resolveIcon } from "../../../utils/severity-icon.utils.js";
16
16
  import { toastStyles } from "./toast.styles.js";
17
17
  import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
18
- import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
19
18
  /**
20
19
  * Tag name of the toast component.
21
20
  */
@@ -66,11 +65,11 @@ const EXIT_FALLBACK_MS = 600;
66
65
  * @attr {boolean} [hide-icon=false] - Hides the icon entirely
67
66
  * @prop {string} [richText] - Lightweight formatted content rendered above the description slot, combining with it. Supports simple lists, links, bold, and italic text
68
67
  * @attr {string} [rich-text] - Lightweight formatted content rendered above the description slot
69
- * @prop {boolean} [closeable=true] - Shows a close button. Always shown when severity is critical, so an error toast is never left with no way to dismiss it
68
+ * @prop {boolean} [closeable=false] - Shows a close button. Always shown when severity is critical, so an error toast is never left with no way to dismiss it
70
69
  * @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
71
70
  * @attr {string} [close-label] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
72
71
  * @prop {number} [duration=5000] - Milliseconds before the toast auto-dismisses. Zero, or a critical severity regardless of this value, disables auto-dismiss entirely, requiring a manual close
73
- * @prop {boolean} [open=true] - Whether the toast is currently shown. Set it to false upfront, or hide it right after inserting, to insert a toast that's already closed
72
+ * @prop {boolean} [open=false] - Whether the toast is currently shown. Left off, the toast is inserted closed until show is called
74
73
  * @cssprop [--toast-z-index] - Sets the stacking order of the toast, only used where the top layer is not supported
75
74
  * @cssprop [--toast-viewport-gap] - Sets the distance between the toast and the screen edges its position anchors to
76
75
  * @cssprop [--toast-stack-gap] - Sets the gap between stacked toasts sharing the same position
@@ -113,9 +112,9 @@ let EunomiaToast = class EunomiaToast extends LocalizableMixin(LitElement) {
113
112
  /**
114
113
  * Shows a close button. Forced to render regardless of this value when
115
114
  * `severity` is `critical`.
116
- * @default true
115
+ * @default false
117
116
  */
118
- this.closeable = true;
117
+ this.closeable = false;
119
118
  /**
120
119
  * Milliseconds before the toast auto-dismisses. `0` disables auto-dismiss
121
120
  * entirely, same as `severity="critical"` regardless of this value.
@@ -124,9 +123,9 @@ let EunomiaToast = class EunomiaToast extends LocalizableMixin(LitElement) {
124
123
  this.duration = 5000;
125
124
  /**
126
125
  * Whether the toast is currently shown.
127
- * @default true
126
+ * @default false
128
127
  */
129
- this.open = true;
128
+ this.open = false;
130
129
  /**
131
130
  * Milliseconds left on the auto-dismiss timer — the full `duration` once
132
131
  * armed, then whatever remains once paused by hover/focus.
@@ -207,7 +206,7 @@ let EunomiaToast = class EunomiaToast extends LocalizableMixin(LitElement) {
207
206
  }
208
207
  /**
209
208
  * Lifecycle callback triggered when the component connects to the DOM.
210
- * A toast typically starts life already `open` (its default), with no
209
+ * A toast inserted with `open` starts life already shown, with no
211
210
  * prior "closed" paint for a plain CSS transition to animate away from —
212
211
  * unlike a later {@link show}, which always toggles from an already-
213
212
  * rendered closed state. Without `@starting-style` (dropped elsewhere in
@@ -594,7 +593,7 @@ __decorate([
594
593
  property({ attribute: "rich-text" })
595
594
  ], EunomiaToast.prototype, "richText", void 0);
596
595
  __decorate([
597
- property({ converter: defaultTrueConverter, reflect: true })
596
+ property({ type: Boolean, reflect: true })
598
597
  ], EunomiaToast.prototype, "closeable", void 0);
599
598
  __decorate([
600
599
  property({ attribute: "close-label" })
@@ -603,7 +602,7 @@ __decorate([
603
602
  property({ type: Number })
604
603
  ], EunomiaToast.prototype, "duration", void 0);
605
604
  __decorate([
606
- property({ converter: defaultTrueConverter, reflect: true })
605
+ property({ type: Boolean, reflect: true })
607
606
  ], EunomiaToast.prototype, "open", void 0);
608
607
  __decorate([
609
608
  queryAssignedElements({ slot: "description" })
@@ -57,7 +57,7 @@ const base = css `
57
57
  visibility 0s linear var(--_transitionDuration);
58
58
  }
59
59
 
60
- :host([open]:not([open="false"])) {
60
+ :host([open]) {
61
61
  visibility: visible;
62
62
  opacity: 1;
63
63
  --_baseX: 0px;
@@ -68,7 +68,7 @@ const base = css `
68
68
  visibility 0s linear 0s;
69
69
  }
70
70
 
71
- :host([open]:not([open="false"])[entering]) {
71
+ :host([open][entering]) {
72
72
  visibility: hidden;
73
73
  opacity: 0;
74
74
  --_baseX: var(--_enterX, 0px);
@@ -322,7 +322,7 @@ const base = css `
322
322
  --button-text: var(--_onFilled, #fff);
323
323
  }
324
324
 
325
- :host([closeable]:not([closeable="false"])) #toast {
325
+ :host([closeable]) #toast {
326
326
  padding-right: calc(
327
327
  var(
328
328
  --toast-padding,
@@ -150,7 +150,7 @@ const base = css `
150
150
  font-size: var(--image-card-description-size, var(--eun-font-size-s, 14px));
151
151
  color: var(
152
152
  --image-card-description-color,
153
- var(--eun-text-secondary, #484e61)
153
+ var(--eun-text-secondary, #666e8a)
154
154
  );
155
155
  }
156
156