@eunomia/elements 1.0.0-beta.2 → 1.0.0-beta.4

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 (354) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/components/chunks/chunk-2JLDJFYD.js +48 -0
  3. package/dist/cdn/components/chunks/chunk-4MXL6PZC.js +124 -0
  4. package/dist/cdn/components/chunks/{chunk-32KRPOPV.js → chunk-5XJGYXW7.js} +6 -6
  5. package/dist/cdn/components/chunks/{chunk-O2HNWH65.js → chunk-5XJLIHAU.js} +7 -7
  6. package/dist/cdn/components/chunks/{chunk-5GF2Q3NR.js → chunk-74AOAB4X.js} +1 -1
  7. package/dist/cdn/components/chunks/{chunk-WYMBUIKX.js → chunk-A6KGFALA.js} +4 -4
  8. package/dist/cdn/components/chunks/chunk-BMQOI7HX.js +371 -0
  9. package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
  10. package/dist/cdn/components/chunks/{chunk-NEYBPT3D.js → chunk-EJIX2D4Z.js} +2 -2
  11. package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-EOWBYZV7.js} +2 -2
  12. package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
  13. package/dist/cdn/components/chunks/{chunk-AQQMW353.js → chunk-GSJEJLFA.js} +3 -3
  14. package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +1 -0
  15. package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-IJ5WFMK4.js} +1 -1
  16. package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
  17. package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
  18. package/dist/cdn/components/chunks/{chunk-74HHV4CX.js → chunk-NHFWATVN.js} +2 -2
  19. package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
  20. package/dist/cdn/components/chunks/chunk-P32B7BFD.js +118 -0
  21. package/dist/cdn/components/chunks/{chunk-ZPFHTJSS.js → chunk-PCM7D3YF.js} +1 -1
  22. package/dist/cdn/components/chunks/{chunk-ABYEBP57.js → chunk-PED5ATYN.js} +11 -8
  23. package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-RJCJXB7Y.js} +5 -5
  24. package/dist/cdn/components/chunks/{chunk-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
  25. package/dist/cdn/components/chunks/{chunk-7WTSHE7M.js → chunk-SIHZFOTK.js} +9 -9
  26. package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-UAGCQF23.js} +7 -7
  27. package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
  28. package/dist/cdn/components/chunks/chunk-YGUJJ25C.js +263 -0
  29. package/dist/cdn/components/chunks/chunk-YYCEPZUN.js +1 -0
  30. package/dist/cdn/components/eun-alert.js +65 -45
  31. package/dist/cdn/components/eun-animate.js +178 -2
  32. package/dist/cdn/components/eun-badge.js +1 -1
  33. package/dist/cdn/components/eun-breadcrumb-item.js +14 -10
  34. package/dist/cdn/components/eun-breadcrumb.js +11 -7
  35. package/dist/cdn/components/eun-button.js +1 -1
  36. package/dist/cdn/components/eun-calendar.js +16 -16
  37. package/dist/cdn/components/eun-card.js +29 -12
  38. package/dist/cdn/components/eun-carousel.js +36 -28
  39. package/dist/cdn/components/eun-check-card.js +3 -3
  40. package/dist/cdn/components/eun-checkbox-list.js +3 -3
  41. package/dist/cdn/components/eun-checkbox.js +1 -1
  42. package/dist/cdn/components/eun-chip.js +45 -210
  43. package/dist/cdn/components/eun-collapse.js +20 -26
  44. package/dist/cdn/components/eun-color-picker.js +28 -28
  45. package/dist/cdn/components/eun-counter.js +11 -11
  46. package/dist/cdn/components/eun-date-picker.js +50 -50
  47. package/dist/cdn/components/eun-drawer.js +3 -3
  48. package/dist/cdn/components/eun-dropdown-button.js +1 -1
  49. package/dist/cdn/components/eun-dropdown-item.js +6 -6
  50. package/dist/cdn/components/eun-fab.js +31 -53
  51. package/dist/cdn/components/eun-icon.js +1 -1
  52. package/dist/cdn/components/eun-image-card.js +18 -11
  53. package/dist/cdn/components/eun-image-carousel.js +16 -16
  54. package/dist/cdn/components/eun-infinite-list.js +1 -1
  55. package/dist/cdn/components/eun-input-file.js +20 -20
  56. package/dist/cdn/components/eun-input-phone.js +14 -14
  57. package/dist/cdn/components/eun-input.js +1 -1
  58. package/dist/cdn/components/eun-label.js +4 -4
  59. package/dist/cdn/components/eun-link.js +29 -11
  60. package/dist/cdn/components/eun-loader.js +1 -1
  61. package/dist/cdn/components/eun-modal.js +6 -6
  62. package/dist/cdn/components/eun-pagination.js +3 -3
  63. package/dist/cdn/components/eun-password-strength.js +9 -6
  64. package/dist/cdn/components/eun-progress-bar.js +13 -13
  65. package/dist/cdn/components/eun-radio-card.js +2 -2
  66. package/dist/cdn/components/eun-radio-list.js +3 -3
  67. package/dist/cdn/components/eun-radio.js +1 -1
  68. package/dist/cdn/components/eun-scheduler-event-editor.js +2 -2
  69. package/dist/cdn/components/eun-scheduler-event.js +1 -1
  70. package/dist/cdn/components/eun-scheduler.js +10 -10
  71. package/dist/cdn/components/eun-search.js +7 -7
  72. package/dist/cdn/components/eun-select.js +39 -18
  73. package/dist/cdn/components/eun-sidebar.js +10 -10
  74. package/dist/cdn/components/eun-skeleton.js +1 -1
  75. package/dist/cdn/components/eun-slider.js +9 -9
  76. package/dist/cdn/components/eun-sliding-card.js +7 -10
  77. package/dist/cdn/components/eun-step.js +8 -8
  78. package/dist/cdn/components/eun-stepper.js +8 -8
  79. package/dist/cdn/components/eun-switch.js +10 -10
  80. package/dist/cdn/components/eun-tab-group.js +19 -11
  81. package/dist/cdn/components/eun-tab-panel.js +1 -1
  82. package/dist/cdn/components/eun-tab.js +1 -1
  83. package/dist/cdn/components/eun-table-action-bar.js +1 -1
  84. package/dist/cdn/components/eun-table-cell.js +1 -1
  85. package/dist/cdn/components/eun-table-column.js +1 -1
  86. package/dist/cdn/components/eun-table-header.js +1 -1
  87. package/dist/cdn/components/eun-table-item.js +1 -1
  88. package/dist/cdn/components/eun-table-skeleton-row.js +1 -1
  89. package/dist/cdn/components/eun-table.js +3 -3
  90. package/dist/cdn/components/eun-tag.js +34 -122
  91. package/dist/cdn/components/eun-textarea.js +28 -28
  92. package/dist/cdn/components/eun-time-picker.js +25 -25
  93. package/dist/cdn/components/eun-toast.js +40 -36
  94. package/dist/cdn/components/eun-toggle-group.js +199 -66
  95. package/dist/cdn/components/eun-toggle-item.js +42 -25
  96. package/dist/cdn/components/eun-toggle.js +13 -10
  97. package/dist/cdn/components/eun-toolbar.js +28 -19
  98. package/dist/cdn/components/eun-tooltip.js +122 -87
  99. package/dist/cdn/styles/eunomia-themes.css +1 -1
  100. package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
  101. package/dist/cdn/styles/themes/eunomia-theme.scss +1 -0
  102. package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  103. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  104. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  105. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
  106. package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  107. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  108. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  109. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
  110. package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  111. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  112. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  113. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
  114. package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  115. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  116. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  117. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
  118. package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  119. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  120. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  121. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
  122. package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  123. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  124. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  125. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
  126. package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  127. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  128. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  129. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
  130. package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  131. package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  132. package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  133. package/dist/cdn/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  134. package/dist/cdn/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  135. package/dist/cdn/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  136. package/dist/components/action/button/button.d.ts +7 -6
  137. package/dist/components/action/button/button.js +7 -6
  138. package/dist/components/action/button/button.styles.js +143 -373
  139. package/dist/components/action/dropdown-button/dropdown-button.d.ts +7 -0
  140. package/dist/components/action/dropdown-button/dropdown-button.js +11 -0
  141. package/dist/components/action/dropdown-button/dropdown-button.styles.js +8 -8
  142. package/dist/components/action/dropdown-button/dropdown-item.styles.js +6 -6
  143. package/dist/components/action/fab/fab.d.ts +3 -1
  144. package/dist/components/action/fab/fab.js +3 -1
  145. package/dist/components/action/fab/fab.styles.js +26 -49
  146. package/dist/components/action/link/link.d.ts +50 -0
  147. package/dist/components/action/link/link.js +69 -1
  148. package/dist/components/action/link/link.styles.js +19 -2
  149. package/dist/components/action/shared-styles/button-palette.styles.d.ts +27 -0
  150. package/dist/components/action/shared-styles/button-palette.styles.js +151 -0
  151. package/dist/components/action/toggle/toggle-group.d.ts +41 -7
  152. package/dist/components/action/toggle/toggle-group.js +162 -46
  153. package/dist/components/action/toggle/toggle-group.styles.d.ts +6 -5
  154. package/dist/components/action/toggle/toggle-group.styles.js +152 -35
  155. package/dist/components/action/toggle/toggle-item.styles.js +38 -21
  156. package/dist/components/action/toggle/toggle.d.ts +1 -1
  157. package/dist/components/action/toggle/toggle.js +2 -2
  158. package/dist/components/action/toggle/toggle.styles.d.ts +2 -2
  159. package/dist/components/action/toggle/toggle.styles.js +13 -10
  160. package/dist/components/alert/alert/alert.d.ts +4 -3
  161. package/dist/components/alert/alert/alert.js +4 -3
  162. package/dist/components/alert/alert/alert.styles.js +57 -36
  163. package/dist/components/alert/drawer/drawer.styles.js +3 -3
  164. package/dist/components/alert/modal/modal.styles.js +6 -6
  165. package/dist/components/alert/toast/toast.d.ts +4 -3
  166. package/dist/components/alert/toast/toast.js +4 -3
  167. package/dist/components/alert/toast/toast.styles.js +41 -36
  168. package/dist/components/content/badge/badge.styles.js +1 -1
  169. package/dist/components/content/card/card.d.ts +4 -4
  170. package/dist/components/content/card/card.js +4 -4
  171. package/dist/components/content/card/card.styles.js +27 -10
  172. package/dist/components/content/card/image-card.d.ts +1 -1
  173. package/dist/components/content/card/image-card.js +1 -1
  174. package/dist/components/content/card/image-card.styles.js +17 -10
  175. package/dist/components/content/card/sliding-card.styles.js +3 -6
  176. package/dist/components/content/chip/chip.d.ts +16 -7
  177. package/dist/components/content/chip/chip.js +18 -6
  178. package/dist/components/content/chip/chip.styles.d.ts +1 -1
  179. package/dist/components/content/chip/chip.styles.js +43 -210
  180. package/dist/components/content/collapse/collapse.styles.js +10 -16
  181. package/dist/components/content/icon/icon.d.ts +48 -5
  182. package/dist/components/content/icon/icon.js +92 -20
  183. package/dist/components/content/icon/icon.style.js +1 -1
  184. package/dist/components/content/image-carousel/image-carousel.styles.js +14 -14
  185. package/dist/components/content/password-strength/password-strength.styles.js +7 -4
  186. package/dist/components/content/progress-bar/progress-bar.styles.js +9 -9
  187. package/dist/components/content/shared-styles/tone-surface.styles.d.ts +31 -0
  188. package/dist/components/content/shared-styles/tone-surface.styles.js +149 -0
  189. package/dist/components/content/tag/tag.d.ts +16 -6
  190. package/dist/components/content/tag/tag.js +19 -6
  191. package/dist/components/content/tag/tag.styles.d.ts +1 -1
  192. package/dist/components/content/tag/tag.styles.js +40 -121
  193. package/dist/components/content/tooltip/tooltip.d.ts +15 -4
  194. package/dist/components/content/tooltip/tooltip.js +21 -4
  195. package/dist/components/content/tooltip/tooltip.styles.js +115 -79
  196. package/dist/components/form/checkbox/check-card.styles.js +2 -2
  197. package/dist/components/form/checkbox/checkbox-list.d.ts +1 -1
  198. package/dist/components/form/checkbox/checkbox-list.js +1 -1
  199. package/dist/components/form/checkbox/checkbox.d.ts +1 -1
  200. package/dist/components/form/checkbox/checkbox.styles.js +6 -6
  201. package/dist/components/form/color-picker/color-picker.d.ts +1 -1
  202. package/dist/components/form/color-picker/color-picker.js +9 -7
  203. package/dist/components/form/color-picker/color-picker.styles.js +7 -7
  204. package/dist/components/form/counter/counter.d.ts +1 -1
  205. package/dist/components/form/counter/counter.js +3 -3
  206. package/dist/components/form/counter/counter.styles.js +7 -7
  207. package/dist/components/form/date-picker/date-picker-day-grid.styles.js +2 -2
  208. package/dist/components/form/date-picker/date-picker-grid.styles.js +15 -15
  209. package/dist/components/form/date-picker/date-picker-month-grid.styles.js +1 -1
  210. package/dist/components/form/date-picker/date-picker-year-grid.styles.js +1 -1
  211. package/dist/components/form/date-picker/date-picker.d.ts +1 -1
  212. package/dist/components/form/date-picker/date-picker.js +3 -3
  213. package/dist/components/form/date-picker/date-picker.styles.js +12 -12
  214. package/dist/components/form/input/input.d.ts +1 -1
  215. package/dist/components/form/input/input.js +2 -2
  216. package/dist/components/form/input-file/input-file.d.ts +1 -1
  217. package/dist/components/form/input-file/input-file.js +5 -5
  218. package/dist/components/form/input-file/input-file.styles.js +9 -9
  219. package/dist/components/form/input-phone/input-phone.d.ts +1 -1
  220. package/dist/components/form/input-phone/input-phone.js +3 -3
  221. package/dist/components/form/input-phone/input-phone.styles.js +7 -7
  222. package/dist/components/form/label/label.styles.js +4 -4
  223. package/dist/components/form/radio/radio-card.styles.js +1 -1
  224. package/dist/components/form/radio/radio-list.d.ts +1 -1
  225. package/dist/components/form/radio/radio-list.js +2 -2
  226. package/dist/components/form/radio/radio.d.ts +1 -1
  227. package/dist/components/form/radio/radio.styles.js +2 -2
  228. package/dist/components/form/search/search.styles.js +6 -6
  229. package/dist/components/form/select/select.d.ts +17 -1
  230. package/dist/components/form/select/select.js +28 -5
  231. package/dist/components/form/select/select.styles.js +16 -5
  232. package/dist/components/form/shared-styles/card.styles.js +1 -1
  233. package/dist/components/form/shared-styles/field.styles.js +7 -7
  234. package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
  235. package/dist/components/form/shared-styles/listbox.styles.js +6 -6
  236. package/dist/components/form/slider/slider.d.ts +1 -1
  237. package/dist/components/form/slider/slider.js +2 -2
  238. package/dist/components/form/slider/slider.styles.js +6 -6
  239. package/dist/components/form/switch/switch.d.ts +1 -1
  240. package/dist/components/form/switch/switch.styles.js +8 -8
  241. package/dist/components/form/textarea/textarea.d.ts +1 -1
  242. package/dist/components/form/textarea/textarea.js +4 -4
  243. package/dist/components/form/textarea/textarea.styles.js +6 -6
  244. package/dist/components/form/time-picker/time-picker-columns.styles.js +6 -6
  245. package/dist/components/form/time-picker/time-picker-list.styles.js +2 -2
  246. package/dist/components/form/time-picker/time-picker.d.ts +1 -1
  247. package/dist/components/form/time-picker/time-picker.js +3 -3
  248. package/dist/components/form/time-picker/time-picker.styles.js +8 -8
  249. package/dist/components/layout/animate/animate.d.ts +40 -5
  250. package/dist/components/layout/animate/animate.js +30 -11
  251. package/dist/components/layout/animate/animate.styles.d.ts +1 -1
  252. package/dist/components/layout/animate/animate.styles.js +191 -1
  253. package/dist/components/loader/loader/loader.styles.js +2 -2
  254. package/dist/components/loader/skeleton/skeleton.styles.js +8 -5
  255. package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +7 -0
  256. package/dist/components/navigation/breadcrumb/breadcrumb-item.js +15 -1
  257. package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +3 -3
  258. package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +1 -0
  259. package/dist/components/navigation/breadcrumb/breadcrumb.js +7 -1
  260. package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
  261. package/dist/components/navigation/carousel/carousel.d.ts +40 -6
  262. package/dist/components/navigation/carousel/carousel.js +61 -12
  263. package/dist/components/navigation/carousel/carousel.styles.js +20 -8
  264. package/dist/components/navigation/pagination/pagination.styles.js +3 -3
  265. package/dist/components/navigation/sidebar/sidebar.styles.js +9 -9
  266. package/dist/components/navigation/stepper/step.styles.js +8 -8
  267. package/dist/components/navigation/stepper/stepper.styles.js +8 -8
  268. package/dist/components/navigation/tabs/tab/tab.styles.js +5 -5
  269. package/dist/components/navigation/tabs/tab-group/tab-group.d.ts +9 -0
  270. package/dist/components/navigation/tabs/tab-group/tab-group.js +19 -2
  271. package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +12 -4
  272. package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
  273. package/dist/components/navigation/toolbar/toolbar.d.ts +24 -0
  274. package/dist/components/navigation/toolbar/toolbar.js +30 -2
  275. package/dist/components/navigation/toolbar/toolbar.styles.js +20 -10
  276. package/dist/events/change.event.d.ts +13 -1
  277. package/dist/events/change.event.js +2 -1
  278. package/dist/features/scheduler/calendar/calendar.js +1 -1
  279. package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
  280. package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
  281. package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
  282. package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
  283. package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
  284. package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
  285. package/dist/features/scheduler/shared/scheduler-month-view.styles.js +1 -1
  286. package/dist/features/scheduler/shared/scheduler-year-view.styles.js +1 -1
  287. package/dist/features/table/native-table.css +11 -11
  288. package/dist/features/table/table/table.styles.js +2 -2
  289. package/dist/features/table/table-action-bar/table-action-bar.styles.js +2 -2
  290. package/dist/features/table/table-cell/table-cell.styles.js +2 -2
  291. package/dist/features/table/table-column/table-column.styles.js +3 -3
  292. package/dist/features/table/table-header/table-header.styles.js +4 -4
  293. package/dist/features/table/table-item/table-item.styles.js +6 -6
  294. package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
  295. package/dist/index.d.ts +5 -5
  296. package/dist/index.js +6 -3
  297. package/dist/jsx.d.ts +18 -5
  298. package/dist/mixins/button.mixin.d.ts +1 -0
  299. package/dist/mixins/button.mixin.js +10 -0
  300. package/dist/mixins/check.mixin.d.ts +1 -1
  301. package/dist/mixins/check.mixin.js +6 -2
  302. package/dist/mixins/editable.mixin.d.ts +1 -1
  303. package/dist/mixins/form.mixin.d.ts +9 -1
  304. package/dist/mixins/form.mixin.js +110 -14
  305. package/dist/mixins/overflow-navigation.mixin.js +2 -1
  306. package/dist/mixins/radio.mixin.d.ts +1 -1
  307. package/dist/mixins/radio.mixin.js +6 -2
  308. package/dist/mixins/validators.mixin.d.ts +9 -3
  309. package/dist/ssr/animate-ssr.css +149 -0
  310. package/dist/ssr/overlay-ssr.css +57 -0
  311. package/dist/ssr/sidebar-ssr.css +57 -0
  312. package/dist/ssr/toolbar-ssr.css +41 -0
  313. package/dist/utils/rich-text.utils.d.ts +33 -0
  314. package/dist/utils/rich-text.utils.js +140 -49
  315. package/dist/utils/theme-generator.utils.d.ts +24 -3
  316. package/dist/utils/theme-generator.utils.js +66 -21
  317. package/package.json +14 -3
  318. package/styles/themes/eunomia-theme.scss +1 -0
  319. package/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
  320. package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
  321. package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
  322. package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
  323. package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
  324. package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
  325. package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
  326. package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
  327. package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
  328. package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
  329. package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
  330. package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
  331. package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
  332. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
  333. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
  334. package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
  335. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
  336. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
  337. package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
  338. package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
  339. package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
  340. package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
  341. package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
  342. package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
  343. package/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
  344. package/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
  345. package/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
  346. package/dist/cdn/components/chunks/chunk-27Q2SLRY.js +0 -603
  347. package/dist/cdn/components/chunks/chunk-2IQUMAMI.js +0 -38
  348. package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
  349. package/dist/cdn/components/chunks/chunk-7Q6AHVI5.js +0 -1
  350. package/dist/cdn/components/chunks/chunk-DENMN3WH.js +0 -48
  351. package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
  352. package/dist/cdn/components/chunks/chunk-ONYUXQV2.js +0 -1
  353. package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
  354. package/dist/components/layout/animate/animate-ssr.css +0 -64
@@ -26,7 +26,7 @@ const base = css `
26
26
  --_trackHeight: var(--slider-track-height, 6px);
27
27
  --_trackColor: var(
28
28
  --slider-track-background,
29
- var(--eun-color-grey-200, #ecedf0)
29
+ var(--eun-surface-sunken-strong, #ecedf0)
30
30
  );
31
31
  --_fillColor: var(
32
32
  --slider-track-fill-background,
@@ -34,7 +34,7 @@ const base = css `
34
34
  );
35
35
  --_trackRadius: var(
36
36
  --slider-track-border-radius,
37
- var(--eun-borderRadius-xl, 999px)
37
+ var(--eun-border-radius-xl, 999px)
38
38
  );
39
39
  --_thumbSize: var(--slider-thumb-size, 18px);
40
40
  --_thumbBackground: var(--slider-thumb-background, #fff);
@@ -62,7 +62,7 @@ const base = css `
62
62
  var(--eun-color-primary-500, #3d6fff)
63
63
  );
64
64
  font-family: var(--eun-font-family, "Mulish", sans-serif);
65
- font-size: var(--eun-fontSize-s, 14px);
65
+ font-size: var(--eun-font-size-s, 14px);
66
66
  display: block;
67
67
  width: 100%;
68
68
  outline: none;
@@ -113,12 +113,12 @@ const base = css `
113
113
  transform: translateX(-50%);
114
114
  background: var(--_tooltipBackground);
115
115
  color: var(--_tooltipColor);
116
- font-size: var(--eun-fontSize-xs, 12px);
117
- font-weight: var(--eun-fontWeight-l, 700);
116
+ font-size: var(--eun-font-size-xs, 12px);
117
+ font-weight: var(--eun-font-weight-l, 700);
118
118
  line-height: 1;
119
119
  white-space: nowrap;
120
120
  padding: var(--eun-space-xs, 4px) var(--eun-space-s, 8px);
121
- border-radius: var(--eun-borderRadius-s, 4px);
121
+ border-radius: var(--eun-border-radius-s, 4px);
122
122
  pointer-events: none;
123
123
  font-variant-numeric: tabular-nums;
124
124
  }
@@ -13,7 +13,7 @@ export declare const EunomiaSwitchTagName = "eun-switch";
13
13
  * Type of the switch base used to declare every necessary Mixin interface elements.
14
14
  * @internal
15
15
  */
16
- type EunomiaSwitchBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface & FormMixinInterface<string> & CheckMixinInterface;
16
+ type EunomiaSwitchBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<boolean> & FormMixinInterface<string> & CheckMixinInterface;
17
17
  /**
18
18
  * Base class with composed mixins used to handle component extends elements type.
19
19
  * Reuses the exact same behavior stack as `eun-checkbox` (form participation,
@@ -23,7 +23,7 @@ const base = css `
23
23
  --_trackBorder: var(--eun-border-color, #dee0e7);
24
24
  --_trackBackground: var(
25
25
  --switch-track-background,
26
- var(--eun-color-grey-200, #ecedf0)
26
+ var(--eun-surface-sunken, #ecedf0)
27
27
  );
28
28
  --_thumbSize: var(--switch-thumb-size, calc(var(--_trackHeight) - 6px));
29
29
  --_thumbBackground: var(--switch-thumb-background, #fff);
@@ -37,9 +37,9 @@ const base = css `
37
37
  --switch-focus-outline-color,
38
38
  var(--eun-color-primary-500, #3d6fff)
39
39
  );
40
- --_trackBorderWidth: var(--eun-borderWidth-s, 1px);
40
+ --_trackBorderWidth: var(--eun-border-width-s, 1px);
41
41
  font-family: var(--eun-font-family, "Mulish", sans-serif);
42
- font-size: var(--eun-fontSize-s, 14px);
42
+ font-size: var(--eun-font-size-s, 14px);
43
43
  display: flex;
44
44
  width: 100%;
45
45
  outline: none;
@@ -70,7 +70,7 @@ const base = css `
70
70
  #track {
71
71
  --_trackBackground: var(
72
72
  --switch-track-background-hover,
73
- var(--eun-content-hover, #edeff0)
73
+ var(--eun-surface-sunken-hover, #edeff0)
74
74
  );
75
75
  }
76
76
 
@@ -82,7 +82,7 @@ const base = css `
82
82
  #track {
83
83
  --_trackBackground: var(
84
84
  --switch-track-background-pressed,
85
- var(--eun-content-pressed, #e4e6e8)
85
+ var(--eun-surface-sunken-pressed, #e4e6e8)
86
86
  );
87
87
  }
88
88
 
@@ -147,7 +147,7 @@ const base = css `
147
147
  }
148
148
 
149
149
  #label-text {
150
- font-weight: var(--eun-fontWeight-l, 700);
150
+ font-weight: var(--eun-font-weight-l, 700);
151
151
  line-height: 1.2;
152
152
  }
153
153
 
@@ -161,7 +161,7 @@ const base = css `
161
161
  height: var(--_trackHeight);
162
162
  background: var(--_trackBackground);
163
163
  border: var(--_trackBorderWidth) solid var(--_trackBorder);
164
- border-radius: var(--eun-borderRadius-xl, 999px);
164
+ border-radius: var(--eun-border-radius-xl, 999px);
165
165
  flex-shrink: 0;
166
166
  box-sizing: border-box;
167
167
  outline: 2px solid transparent;
@@ -178,7 +178,7 @@ const base = css `
178
178
  width: var(--_thumbSize);
179
179
  height: var(--_thumbSize);
180
180
  background: var(--_thumbBackground);
181
- border-radius: var(--eun-borderRadius-xl, 999px);
181
+ border-radius: var(--eun-border-radius-xl, 999px);
182
182
  box-shadow: var(--eun-shadow-xs, 0 1px 3px rgba(0, 0, 0, 0.18));
183
183
  display: flex;
184
184
  align-items: center;
@@ -15,7 +15,7 @@ export declare const EunomiaTextareaTagName = "eun-textarea";
15
15
  * Type of the textarea base used to declare every necessary Mixin interface elements.
16
16
  * @internal
17
17
  */
18
- type EunomiaTextareaBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface & FieldVariantMixinInterface;
18
+ type EunomiaTextareaBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface & FieldVariantMixinInterface;
19
19
  declare const EunomiaTextareaMixinBase: Constructor<EunomiaTextareaBase>;
20
20
  /**
21
21
  * A multi-line text field, sharing its label, hint, and error chrome and
@@ -733,7 +733,7 @@ let EunomiaTextarea = class EunomiaTextarea extends EunomiaTextareaMixinBase {
733
733
  this.lastSyncedValue = newValue;
734
734
  this.value = newValue;
735
735
  this.resizeEditableField();
736
- this.dispatchEvent(new ChangeEvent());
736
+ this.dispatchEvent(new ChangeEvent(this.value));
737
737
  this.syncToolbarToSelection();
738
738
  };
739
739
  /**
@@ -1076,7 +1076,7 @@ let EunomiaTextarea = class EunomiaTextarea extends EunomiaTextareaMixinBase {
1076
1076
  handleInput(event) {
1077
1077
  this.value = event.target.value;
1078
1078
  this.resizeToContent();
1079
- this.dispatchEvent(new ChangeEvent());
1079
+ this.dispatchEvent(new ChangeEvent(this.value));
1080
1080
  }
1081
1081
  /**
1082
1082
  * @see handleSelectionChange
@@ -1539,7 +1539,7 @@ let EunomiaTextarea = class EunomiaTextarea extends EunomiaTextareaMixinBase {
1539
1539
  ?required=${this.required}
1540
1540
  minlength=${ifDefined(this.minlength)}
1541
1541
  maxlength=${ifDefined(this.maxlength)}
1542
- aria-invalid=${this.valid ? "false" : "true"}
1542
+ aria-invalid=${!this.hideError && !this.disabled && !this.valid}
1543
1543
  aria-label=${ifDefined(this.label)}
1544
1544
  aria-describedby=${describedBy || nothing}
1545
1545
  @input=${this.handleInput}
@@ -1570,7 +1570,7 @@ let EunomiaTextarea = class EunomiaTextarea extends EunomiaTextareaMixinBase {
1570
1570
  role="textbox"
1571
1571
  aria-multiline="true"
1572
1572
  aria-required=${this.required ? "true" : nothing}
1573
- aria-invalid=${this.valid ? "false" : "true"}
1573
+ aria-invalid=${!this.hideError && !this.disabled && !this.valid}
1574
1574
  aria-label=${ifDefined(this.label)}
1575
1575
  aria-describedby=${describedBy || nothing}
1576
1576
  @beforeinput=${this.handleEditableBeforeInput}
@@ -72,12 +72,12 @@ const textarea = css `
72
72
  width: 2rem;
73
73
  height: 2rem;
74
74
  padding: 0;
75
- border: var(--eun-borderWidth-m, 1.5px) solid
75
+ border: var(--eun-border-width-m, 1.5px) solid
76
76
  var(
77
77
  --_border-indicator-color,
78
78
  var(--field-border-color, var(--eun-border-color, #dee0e7))
79
79
  );
80
- border-radius: var(--eun-borderRadius-m, 8px);
80
+ border-radius: var(--eun-border-radius-m, 8px);
81
81
  background: none;
82
82
  color: var(--_iconColor, var(--eun-text-secondary, #484e61));
83
83
  cursor: pointer;
@@ -104,9 +104,9 @@ const textarea = css `
104
104
  left: 0;
105
105
  margin: 0;
106
106
  padding: var(--eun-space-xs, 4px);
107
- border: var(--eun-borderWidth-m, 1.5px) solid
107
+ border: var(--eun-border-width-m, 1.5px) solid
108
108
  var(--eun-border-color, #dee0e7);
109
- border-radius: var(--eun-borderRadius-m, 8px);
109
+ border-radius: var(--eun-border-radius-m, 8px);
110
110
  background: var(--eun-surface-color, #ffffff);
111
111
  box-shadow: var(--eun-shadow-m, 0 4px 16px rgba(0, 0, 0, 0.12));
112
112
  display: grid;
@@ -120,7 +120,7 @@ const textarea = css `
120
120
  width: 1.75rem;
121
121
  height: 1.75rem;
122
122
  padding: 0;
123
- border-radius: var(--eun-borderRadius-xl, 999px);
123
+ border-radius: var(--eun-border-radius-xl, 999px);
124
124
  border: 2px solid transparent;
125
125
  background-color: var(--_swatch-bg);
126
126
  cursor: pointer;
@@ -149,7 +149,7 @@ const textarea = css `
149
149
  flex: 0 0 auto;
150
150
  margin-inline-start: auto;
151
151
  white-space: nowrap;
152
- font-size: var(--eun-fontSize-xs, 12px);
152
+ font-size: var(--eun-font-size-xs, 12px);
153
153
  color: var(--_hintColor, var(--eun-text-secondary, #484e61));
154
154
  }
155
155
  #char-count[data-exceeded] {
@@ -31,7 +31,7 @@ const timePickerColumns = css `
31
31
  align-items: center;
32
32
  justify-content: center;
33
33
  border: none;
34
- border-radius: var(--eun-borderRadius-s, 5px);
34
+ border-radius: var(--eun-border-radius-s, 5px);
35
35
  background: none;
36
36
  padding: var(--eun-space-xxs, 1.6px);
37
37
  color: var(--_iconColor, var(--eun-text-secondary, #484e61));
@@ -54,14 +54,14 @@ const timePickerColumns = css `
54
54
  align-items: center;
55
55
  justify-content: center;
56
56
  min-width: 48px;
57
- font-size: var(--eun-fontSize-l, 24px);
58
- font-weight: var(--eun-fontWeight-m, 600);
57
+ font-size: var(--eun-font-size-l, 24px);
58
+ font-weight: var(--eun-font-weight-m, 600);
59
59
  color: var(--_textColor, var(--eun-text-color, #071621));
60
60
  font-variant-numeric: tabular-nums;
61
61
  }
62
62
  .tp-value {
63
63
  padding: var(--eun-space-xs, 4px);
64
- border-radius: var(--eun-borderRadius-s, 5px);
64
+ border-radius: var(--eun-border-radius-s, 5px);
65
65
  outline: 2px solid transparent;
66
66
  outline-offset: 2px;
67
67
  cursor: default;
@@ -81,7 +81,7 @@ const timePickerColumns = css `
81
81
  scrollbar-width: none;
82
82
  outline: 2px solid transparent;
83
83
  outline-offset: 2px;
84
- border-radius: var(--eun-borderRadius-s, 5px);
84
+ border-radius: var(--eun-border-radius-s, 5px);
85
85
  }
86
86
  .tp-wheel::-webkit-scrollbar {
87
87
  display: none;
@@ -113,7 +113,7 @@ const timePickerColumns = css `
113
113
  }
114
114
  .tp-wheel-item.selected {
115
115
  color: var(--_textColor, var(--eun-text-color, #071621));
116
- font-weight: var(--eun-fontWeight-l, 700);
116
+ font-weight: var(--eun-font-weight-l, 700);
117
117
  }
118
118
  @media (prefers-reduced-motion: reduce) {
119
119
  .tp-wheel {
@@ -19,7 +19,7 @@ const timePickerList = css `
19
19
  display: flex;
20
20
  align-items: center;
21
21
  border: none;
22
- border-radius: var(--eun-borderRadius-s, 5px);
22
+ border-radius: var(--eun-border-radius-s, 5px);
23
23
  background: none;
24
24
  padding: var(--eun-space-xs, 4px) var(--eun-space-s, 8px);
25
25
  color: var(--_textColor, var(--eun-text-color, #071621));
@@ -49,7 +49,7 @@ const timePickerList = css `
49
49
  --time-picker-selected-color,
50
50
  var(--eun-color-primary-700, #3662e0)
51
51
  );
52
- font-weight: var(--eun-fontWeight-m, 600);
52
+ font-weight: var(--eun-font-weight-m, 600);
53
53
  }
54
54
  .tp-list-item:disabled {
55
55
  cursor: not-allowed;
@@ -19,7 +19,7 @@ export declare const EunomiaTimePickerTagName = "eun-time-picker";
19
19
  * interface element.
20
20
  * @internal
21
21
  */
22
- type EunomiaTimePickerBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface & FormMixinInterface<Date | null> & FormLabelMixinInterface & FieldVariantMixinInterface & AnchorPositionMixinInterface & LocalizableMixinInterface;
22
+ type EunomiaTimePickerBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<Date | null> & FormMixinInterface<Date | null> & FormLabelMixinInterface & FieldVariantMixinInterface & AnchorPositionMixinInterface & LocalizableMixinInterface;
23
23
  declare const EunomiaTimePickerMixinBase: Constructor<EunomiaTimePickerBase>;
24
24
  /**
25
25
  * A time field entered across segmented numeric hour and minute inputs,
@@ -535,7 +535,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
535
535
  */
536
536
  commitStaged() {
537
537
  this.value = this.stagingValue;
538
- this.dispatchEvent(new ChangeEvent());
538
+ this.dispatchEvent(new ChangeEvent(this.value));
539
539
  }
540
540
  /**
541
541
  * Applies a new hour/minute to {@link displaySource}'s calendar day (via
@@ -557,7 +557,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
557
557
  return;
558
558
  }
559
559
  this.value = next;
560
- this.dispatchEvent(new ChangeEvent());
560
+ this.dispatchEvent(new ChangeEvent(this.value));
561
561
  }
562
562
  /**
563
563
  * Commits a directly-typed, complete hour/minute (bypassing staging
@@ -572,7 +572,7 @@ let EunomiaTimePicker = class EunomiaTimePicker extends EunomiaTimePickerMixinBa
572
572
  */
573
573
  commitTypedTime(hour24, minute) {
574
574
  this.value = setZonedTime(this.value ?? new Date(), this.timezone, hour24, minute);
575
- this.dispatchEvent(new ChangeEvent());
575
+ this.dispatchEvent(new ChangeEvent(this.value));
576
576
  if (this.isOpen || this.isModalOpen) {
577
577
  this.resetStaging();
578
578
  }
@@ -21,7 +21,7 @@ const timePicker = css `
21
21
  width: 100%;
22
22
  color: var(--_textColor);
23
23
  background-color: var(--_background);
24
- border: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
24
+ border: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
25
25
  border-radius: var(--_borderRadius);
26
26
  padding: var(--eun-space-xs, 4px) var(--eun-space-xs, 4px)
27
27
  var(--eun-space-xs, 4px) var(--eun-space-s, 8px);
@@ -62,12 +62,12 @@ const timePicker = css `
62
62
  border-color: transparent;
63
63
  }
64
64
  :host([variant="fill"][aria-invalid="true"]) #field-wrapper {
65
- box-shadow: inset 0 0 0 var(--eun-borderWidth-m, 1.5px) var(--_errorColor);
65
+ box-shadow: inset 0 0 0 var(--eun-border-width-m, 1.5px) var(--_errorColor);
66
66
  }
67
67
  :host([variant="underline"]) #field-wrapper {
68
68
  border: none;
69
69
  outline: none;
70
- border-bottom: var(--eun-borderWidth-m, 1.5px) solid var(--_borderColor);
70
+ border-bottom: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
71
71
  border-radius: 0;
72
72
  }
73
73
  :host([variant="underline"]) #field-wrapper:focus-within {
@@ -114,7 +114,7 @@ const timePicker = css `
114
114
  justify-content: center;
115
115
  margin-inline-start: auto;
116
116
  border: none;
117
- border-radius: var(--eun-borderRadius-s, 5px);
117
+ border-radius: var(--eun-border-radius-s, 5px);
118
118
  background: none;
119
119
  padding: var(--eun-space-xxs, 1.6px);
120
120
  color: var(--_iconColor);
@@ -144,14 +144,14 @@ const timePicker = css `
144
144
  #timezone-label {
145
145
  margin-block-start: var(--eun-space-xxs, 1.6px);
146
146
  color: var(--_hintColor);
147
- font-size: var(--eun-fontSize-xs, 12px);
147
+ font-size: var(--eun-font-size-xs, 12px);
148
148
  }
149
149
  #clock-popover {
150
150
  position: fixed;
151
151
  top: var(--_anchorTop, 0);
152
152
  left: var(--_anchorLeft, 0);
153
153
  margin: 0;
154
- border: var(--eun-borderWidth-s, 1px) solid
154
+ border: var(--eun-border-width-s, 1px) solid
155
155
  var(--_borderColor, var(--eun-color-grey-300, #dee0e7));
156
156
  border-radius: var(--_borderRadius);
157
157
  background: var(
@@ -180,8 +180,8 @@ const timePicker = css `
180
180
  #modal-time-heading {
181
181
  padding: var(--eun-space-m, 16px) var(--eun-space-m, 16px) 0;
182
182
  color: var(--_textColor);
183
- font-size: var(--eun-fontSize-l, 20px);
184
- font-weight: var(--eun-fontWeight-l, 700);
183
+ font-size: var(--eun-font-size-l, 20px);
184
+ font-weight: var(--eun-font-weight-l, 700);
185
185
  }
186
186
  #modal-time {
187
187
  --modal-padding: 0;
@@ -25,6 +25,8 @@ export type EunomiaAnimateAnimation = "none" | "fade" | "scroll-right" | "scroll
25
25
  * @prop {boolean} [once=true] - Whether the animation plays only the first time it enters the viewport, or replays every time it re-enters
26
26
  * @prop {number} [threshold=0.1] - The ratio of the element, from 0 to 1, that must be visible before the animation triggers
27
27
  * @prop {string} [rootMargin='0px'] - The margin applied around the viewport before threshold is evaluated, accepting CSS-like values such as -50px 0px
28
+ * @prop {EunomiaAnimateAnimation} [tabletAnimation] - Overrides `animation` at tablet-width viewports and narrower (max-width: 768px). Left unset, the viewport keeps using `animation`
29
+ * @prop {EunomiaAnimateAnimation} [mobileAnimation] - Overrides `animation` (and `tabletAnimation`, if also set) at mobile-width viewports and narrower (max-width: 600px)
28
30
  * @cssprop [--animate-distance] - Sets the travel distance for the scroll and faded-scroll animations
29
31
  * @element eun-animate
30
32
  */
@@ -36,7 +38,7 @@ export declare class EunomiaAnimate extends LitElement {
36
38
  * @internal
37
39
  * @readonly
38
40
  */
39
- static readonly styles: import("lit").CSSResult;
41
+ static readonly styles: import("lit").CSSResult[];
40
42
  /**
41
43
  * Which transition to apply. `none` renders the content immediately, with
42
44
  * no transition, and skips setting up the `IntersectionObserver`
@@ -72,20 +74,53 @@ export declare class EunomiaAnimate extends LitElement {
72
74
  * @default 0px
73
75
  */
74
76
  rootMargin: string;
77
+ /**
78
+ * Overrides `animation` at tablet-width viewports and narrower
79
+ * (`max-width: 768px`, matching `EUNOMIA_BREAKPOINTS.tablet`). Purely a
80
+ * CSS `@media` switch (`animate.styles.ts`, mirrored in
81
+ * `animate-ssr.css` for the pre-hydration state) — never read from JS,
82
+ * so there's no `matchMedia` listener to keep in sync with the actual
83
+ * viewport, and no risk of the SSR/hydration mismatch that a JS-driven
84
+ * breakpoint switch would reintroduce. Left `undefined`, the viewport
85
+ * keeps using `animation`.
86
+ * @default undefined
87
+ */
88
+ tabletAnimation?: EunomiaAnimateAnimation;
89
+ /**
90
+ * Overrides `animation` (and `tabletAnimation`, if also set) at
91
+ * mobile-width viewports and narrower (`max-width: 600px`, matching
92
+ * `EUNOMIA_BREAKPOINTS.mobile`). Same pure-CSS mechanism as
93
+ * {@link tabletAnimation}.
94
+ * @default undefined
95
+ */
96
+ mobileAnimation?: EunomiaAnimateAnimation;
75
97
  /**
76
98
  * Observes the host's own viewport entry/exit. Left `undefined` while
77
- * `animation` is `"none"` — see {@link setupObserver}.
99
+ * every breakpoint's effective animation is `"none"` — see
100
+ * {@link setupObserver} and {@link hasAnyAnimation}.
78
101
  * @internal
79
102
  */
80
103
  private observer?;
104
+ /**
105
+ * Whether at least one of `animation`, `tabletAnimation`, or
106
+ * `mobileAnimation` is set to something other than `"none"` — i.e.
107
+ * whether *some* viewport width could actually reveal an animation, and
108
+ * the observer is therefore worth setting up at all. Deliberately
109
+ * ignores the current viewport width itself: which of the three ends up
110
+ * active is a CSS `@media` decision, not something this component reads
111
+ * from JS (see {@link tabletAnimation}).
112
+ * @private
113
+ */
114
+ private get hasAnyAnimation();
81
115
  connectedCallback(): void;
82
116
  disconnectedCallback(): void;
83
117
  protected updated(changed: PropertyValues): void;
84
118
  /**
85
119
  * (Re)builds the `IntersectionObserver` for the current `threshold`/
86
- * `rootMargin`, replacing any previous one — except while `animation` is
87
- * `"none"`, where no observer is created at all : that variant renders
88
- * unconditionally, so there'd be nothing for it to drive.
120
+ * `rootMargin`, replacing any previous one — except while
121
+ * {@link hasAnyAnimation} is `false`, where no observer is created at
122
+ * all : every viewport width renders unconditionally then, so there'd
123
+ * be nothing for it to drive.
89
124
  * @private
90
125
  */
91
126
  private setupObserver;
@@ -36,6 +36,8 @@ const IN_VIEW_ATTR = "in-view";
36
36
  * @prop {boolean} [once=true] - Whether the animation plays only the first time it enters the viewport, or replays every time it re-enters
37
37
  * @prop {number} [threshold=0.1] - The ratio of the element, from 0 to 1, that must be visible before the animation triggers
38
38
  * @prop {string} [rootMargin='0px'] - The margin applied around the viewport before threshold is evaluated, accepting CSS-like values such as -50px 0px
39
+ * @prop {EunomiaAnimateAnimation} [tabletAnimation] - Overrides `animation` at tablet-width viewports and narrower (max-width: 768px). Left unset, the viewport keeps using `animation`
40
+ * @prop {EunomiaAnimateAnimation} [mobileAnimation] - Overrides `animation` (and `tabletAnimation`, if also set) at mobile-width viewports and narrower (max-width: 600px)
39
41
  * @cssprop [--animate-distance] - Sets the travel distance for the scroll and faded-scroll animations
40
42
  * @element eun-animate
41
43
  */
@@ -78,6 +80,21 @@ let EunomiaAnimate = class EunomiaAnimate extends LitElement {
78
80
  */
79
81
  this.rootMargin = "0px";
80
82
  }
83
+ /**
84
+ * Whether at least one of `animation`, `tabletAnimation`, or
85
+ * `mobileAnimation` is set to something other than `"none"` — i.e.
86
+ * whether *some* viewport width could actually reveal an animation, and
87
+ * the observer is therefore worth setting up at all. Deliberately
88
+ * ignores the current viewport width itself: which of the three ends up
89
+ * active is a CSS `@media` decision, not something this component reads
90
+ * from JS (see {@link tabletAnimation}).
91
+ * @private
92
+ */
93
+ get hasAnyAnimation() {
94
+ return (this.animation !== "none" ||
95
+ (this.tabletAnimation !== undefined && this.tabletAnimation !== "none") ||
96
+ (this.mobileAnimation !== undefined && this.mobileAnimation !== "none"));
97
+ }
81
98
  connectedCallback() {
82
99
  super.connectedCallback?.();
83
100
  this.setupObserver();
@@ -94,15 +111,10 @@ let EunomiaAnimate = class EunomiaAnimate extends LitElement {
94
111
  if (changed.has("delay")) {
95
112
  this.style.setProperty("--_delay", `${this.delay}ms`);
96
113
  }
97
- // Rebuilds the observer whenever anything its own setup depends on
98
- // changes : `animation` (switching to/from "none" starts/stops
99
- // observing entirely), `threshold`/`rootMargin` (the observer's own
100
- // options, otherwise frozen at whatever they were on connect), and
101
- // `once` (so flipping it back to `false` after the element already
102
- // triggered once — and got unobserved — resumes watching for exit/
103
- // re-entry, rather than staying silently stuck).
104
114
  if (this.isConnected &&
105
115
  (changed.has("animation") ||
116
+ changed.has("tabletAnimation") ||
117
+ changed.has("mobileAnimation") ||
106
118
  changed.has("threshold") ||
107
119
  changed.has("rootMargin") ||
108
120
  changed.has("once"))) {
@@ -111,14 +123,15 @@ let EunomiaAnimate = class EunomiaAnimate extends LitElement {
111
123
  }
112
124
  /**
113
125
  * (Re)builds the `IntersectionObserver` for the current `threshold`/
114
- * `rootMargin`, replacing any previous one — except while `animation` is
115
- * `"none"`, where no observer is created at all : that variant renders
116
- * unconditionally, so there'd be nothing for it to drive.
126
+ * `rootMargin`, replacing any previous one — except while
127
+ * {@link hasAnyAnimation} is `false`, where no observer is created at
128
+ * all : every viewport width renders unconditionally then, so there'd
129
+ * be nothing for it to drive.
117
130
  * @private
118
131
  */
119
132
  setupObserver() {
120
133
  this.teardownObserver();
121
- if (this.animation === "none") {
134
+ if (!this.hasAnyAnimation) {
122
135
  return;
123
136
  }
124
137
  this.observer = new IntersectionObserver(([entry]) => {
@@ -172,6 +185,12 @@ __decorate([
172
185
  __decorate([
173
186
  property({ attribute: "root-margin" })
174
187
  ], EunomiaAnimate.prototype, "rootMargin", void 0);
188
+ __decorate([
189
+ property({ attribute: "tablet-animation", reflect: true })
190
+ ], EunomiaAnimate.prototype, "tabletAnimation", void 0);
191
+ __decorate([
192
+ property({ attribute: "mobile-animation", reflect: true })
193
+ ], EunomiaAnimate.prototype, "mobileAnimation", void 0);
175
194
  EunomiaAnimate = __decorate([
176
195
  customElement(EunomiaAnimateTagName)
177
196
  ], EunomiaAnimate);
@@ -1 +1 @@
1
- export declare const animateStyles: import("lit").CSSResult;
1
+ export declare const animateStyles: import("lit").CSSResult[];