@eunomia/elements 1.0.0-beta.7 → 1.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/components/chunks/{chunk-3PNGQEG4.js → chunk-32L2QYWQ.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-Z3OFIE7S.js → chunk-3UUZM7X2.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-BVASCT2V.js → chunk-55PUDL7D.js} +13 -13
- package/dist/cdn/components/chunks/chunk-5LA5DQMP.js +1 -0
- package/dist/cdn/components/chunks/chunk-5LXGJVJR.js +1 -0
- package/dist/cdn/components/chunks/chunk-6TIEBY34.js +1 -0
- package/dist/cdn/components/chunks/{chunk-LVKMAHMU.js → chunk-AH2SKZ7T.js} +4 -1
- package/dist/cdn/components/chunks/chunk-JAGZL7JH.js +1 -0
- package/dist/cdn/components/chunks/{chunk-DGI7TKCU.js → chunk-LD35BFNK.js} +5 -9
- package/dist/cdn/components/chunks/chunk-P6LGU3FT.js +1 -0
- package/dist/cdn/components/chunks/{chunk-UYZR4JXZ.js → chunk-QSZO4GIH.js} +45 -9
- package/dist/cdn/components/chunks/{chunk-PXF554MD.js → chunk-QYB6Z6FG.js} +5 -5
- package/dist/cdn/components/chunks/{chunk-RIFF2D2F.js → chunk-RGC3I6MK.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-N6ZW5CDN.js → chunk-TCSB2MLU.js} +1 -1
- package/dist/cdn/components/chunks/chunk-WIUERJII.js +1 -0
- package/dist/cdn/components/eun-animate.js +4 -4
- package/dist/cdn/components/eun-button.js +1 -1
- package/dist/cdn/components/eun-carousel.js +10 -9
- package/dist/cdn/components/eun-chip.js +17 -11
- package/dist/cdn/components/eun-collapse.js +1 -1
- package/dist/cdn/components/eun-color-picker.js +18 -5
- package/dist/cdn/components/eun-counter.js +10 -8
- package/dist/cdn/components/eun-date-picker.js +46 -43
- package/dist/cdn/components/eun-drawer.js +19 -20
- package/dist/cdn/components/eun-dropdown-button.js +1 -1
- package/dist/cdn/components/eun-dropdown-item.js +3 -3
- package/dist/cdn/components/eun-fab.js +1 -1
- package/dist/cdn/components/eun-image-carousel.js +4 -4
- package/dist/cdn/components/eun-input-phone.js +11 -8
- package/dist/cdn/components/eun-input.js +1 -1
- package/dist/cdn/components/eun-link.js +59 -13
- package/dist/cdn/components/eun-modal.js +23 -13
- package/dist/cdn/components/eun-scheduler-event-editor.js +1 -1
- package/dist/cdn/components/eun-search.js +34 -28
- package/dist/cdn/components/eun-select.js +3 -3
- package/dist/cdn/components/eun-sidebar.js +66 -21
- package/dist/cdn/components/eun-sliding-card.js +1 -1
- package/dist/cdn/components/eun-stepper.js +16 -16
- package/dist/cdn/components/eun-tab-panel.js +1 -1
- package/dist/cdn/components/eun-table-action-bar.js +1 -1
- package/dist/cdn/components/eun-table.js +2 -2
- package/dist/cdn/components/eun-textarea.js +16 -13
- package/dist/cdn/components/eun-time-picker.js +25 -23
- package/dist/cdn/components/eun-toast.js +8 -8
- package/dist/cdn/components/eun-toggle-group.js +71 -35
- package/dist/cdn/components/eun-toggle-item.js +8 -8
- package/dist/cdn/components/eun-toolbar.js +20 -20
- package/dist/cdn/components/eun-tooltip.js +6 -6
- package/dist/cdn/styles/eunomia-themes.css +1 -1
- package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +6 -2
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +6 -2
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +6 -2
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +6 -2
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +6 -2
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +6 -2
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +6 -2
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +6 -2
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
- package/dist/components/action/button/button.d.ts +2 -2
- package/dist/components/action/button/button.js +3 -7
- package/dist/components/action/button/button.styles.js +3 -3
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +4 -6
- package/dist/components/action/dropdown-button/dropdown-button.js +6 -8
- package/dist/components/action/dropdown-button/dropdown-item.d.ts +10 -2
- package/dist/components/action/dropdown-button/dropdown-item.js +24 -9
- package/dist/components/action/link/link.d.ts +10 -1
- package/dist/components/action/link/link.js +13 -1
- package/dist/components/action/link/link.styles.js +50 -3
- package/dist/components/action/toggle/toggle-group.d.ts +12 -2
- package/dist/components/action/toggle/toggle-group.js +17 -2
- package/dist/components/action/toggle/toggle-group.styles.js +54 -18
- package/dist/components/action/toggle/toggle-item.js +1 -3
- package/dist/components/action/toggle/toggle-item.styles.js +7 -7
- package/dist/components/alert/drawer/drawer.d.ts +25 -0
- package/dist/components/alert/drawer/drawer.js +42 -3
- package/dist/components/alert/drawer/drawer.styles.js +6 -6
- package/dist/components/alert/modal/modal.d.ts +25 -0
- package/dist/components/alert/modal/modal.js +42 -3
- package/dist/components/alert/modal/modal.styles.js +17 -6
- package/dist/components/alert/toast/toast.js +3 -2
- package/dist/components/alert/toast/toast.styles.js +3 -3
- package/dist/components/content/chip/chip.js +3 -2
- package/dist/components/content/chip/chip.styles.js +9 -3
- package/dist/components/content/image-carousel/image-carousel.js +5 -4
- package/dist/components/content/tooltip/tooltip.d.ts +16 -9
- package/dist/components/content/tooltip/tooltip.js +28 -12
- package/dist/components/content/tooltip/tooltip.styles.js +1 -1
- package/dist/components/form/color-picker/color-picker.d.ts +7 -1
- package/dist/components/form/color-picker/color-picker.js +8 -2
- package/dist/components/form/color-picker/color-picker.styles.js +13 -0
- package/dist/components/form/counter/counter.d.ts +3 -1
- package/dist/components/form/counter/counter.js +3 -1
- package/dist/components/form/counter/counter.styles.js +6 -4
- package/dist/components/form/date-picker/date-picker.d.ts +6 -1
- package/dist/components/form/date-picker/date-picker.js +7 -2
- package/dist/components/form/date-picker/date-picker.styles.js +9 -6
- package/dist/components/form/input/input.d.ts +6 -1
- package/dist/components/form/input/input.js +7 -2
- package/dist/components/form/input-phone/input-phone.d.ts +7 -1
- package/dist/components/form/input-phone/input-phone.js +7 -1
- package/dist/components/form/input-phone/input-phone.styles.js +6 -3
- package/dist/components/form/search/search.d.ts +64 -10
- package/dist/components/form/search/search.js +112 -31
- package/dist/components/form/search/search.styles.js +2 -0
- package/dist/components/form/select/select.d.ts +7 -1
- package/dist/components/form/select/select.js +7 -1
- package/dist/components/form/shared-styles/field.styles.js +45 -8
- package/dist/components/form/shared-styles/listbox.styles.js +5 -1
- package/dist/components/form/textarea/textarea.d.ts +1 -0
- package/dist/components/form/textarea/textarea.js +2 -1
- package/dist/components/form/textarea/textarea.styles.js +3 -0
- package/dist/components/form/time-picker/time-picker.d.ts +6 -1
- package/dist/components/form/time-picker/time-picker.js +7 -2
- package/dist/components/form/time-picker/time-picker.styles.js +7 -5
- package/dist/components/layout/animate/animate.js +2 -1
- package/dist/components/navigation/carousel/carousel.d.ts +1 -2
- package/dist/components/navigation/carousel/carousel.js +14 -6
- package/dist/components/navigation/carousel/carousel.styles.js +5 -4
- package/dist/components/navigation/sidebar/sidebar.d.ts +98 -52
- package/dist/components/navigation/sidebar/sidebar.js +140 -85
- package/dist/components/navigation/sidebar/sidebar.styles.d.ts +1 -1
- package/dist/components/navigation/sidebar/sidebar.styles.js +69 -21
- package/dist/components/navigation/stepper/stepper.d.ts +1 -3
- package/dist/components/navigation/stepper/stepper.js +3 -21
- package/dist/components/navigation/toolbar/toolbar.d.ts +10 -0
- package/dist/components/navigation/toolbar/toolbar.js +8 -1
- package/dist/components/navigation/toolbar/toolbar.styles.js +18 -17
- package/dist/events/select.event.d.ts +3 -2
- package/dist/events/select.event.js +2 -1
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +1 -1
- package/dist/features/table/table/table.js +1 -1
- package/dist/features/table/table-action-bar/table-action-bar.js +2 -2
- package/dist/index.d.ts +1 -0
- package/dist/mixins/button.mixin.d.ts +1 -1
- package/dist/mixins/button.mixin.js +6 -4
- package/dist/mixins/dialog-surface.mixin.d.ts +8 -0
- package/dist/mixins/field-size.mixin.d.ts +19 -0
- package/dist/mixins/field-size.mixin.js +33 -0
- package/dist/mixins/rounded.mixin.d.ts +18 -0
- package/dist/mixins/rounded.mixin.js +32 -0
- package/dist/ssr/button-ssr.css +5 -5
- package/dist/ssr/carousel-ssr.css +9 -0
- package/dist/ssr/chip-ssr.css +8 -0
- package/dist/ssr/collapse-ssr.css +29 -0
- package/dist/ssr/field-ssr.css +43 -4
- package/dist/ssr/image-carousel-ssr.css +10 -0
- package/dist/ssr/links-ssr.css +38 -1
- package/dist/ssr/sidebar-ssr.css +95 -4
- package/dist/ssr/toggle-group-ssr.css +64 -13
- package/dist/ssr/toolbar-ssr.css +50 -0
- package/dist/types/variant.type.d.ts +4 -1
- package/dist/utils/boolean.utils.d.ts +14 -0
- package/dist/utils/boolean.utils.js +20 -0
- package/dist/utils/dropdown-menu.utils.d.ts +1 -1
- package/dist/utils/focusable-elements.utils.d.ts +12 -0
- package/dist/utils/focusable-elements.utils.js +26 -0
- package/dist/utils/input-modality.utils.d.ts +13 -0
- package/dist/utils/input-modality.utils.js +34 -0
- package/dist/utils/theme-generator.utils.d.ts +8 -2
- package/dist/utils/theme-generator.utils.js +30 -9
- package/package.json +1 -1
- package/styles/themes/mixins/eunomia-neutrals.mixin.scss +6 -2
- package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +6 -2
- package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +6 -2
- package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +6 -2
- package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +6 -2
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +6 -2
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +6 -2
- package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +6 -2
- package/dist/cdn/components/chunks/chunk-6VK6SHCG.js +0 -1
- package/dist/cdn/components/chunks/chunk-UDOZRIJZ.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as z}from"./chunks/chunk-SMTIDNGW.js";import{a as S}from"./chunks/chunk-P6LGU3FT.js";import{a as T}from"./chunks/chunk-YYCEPZUN.js";import{a as C}from"./chunks/chunk-3BMACIDO.js";import{a as v}from"./chunks/chunk-PPCHQG7P.js";import{a as R}from"./chunks/chunk-SD2H5UDZ.js";import{a as p}from"./chunks/chunk-O7PHBLH2.js";import"./chunks/chunk-SGM2X2TC.js";import{a as s,b,c as x,d as w,f as _,h as k,j as c,k as I,l as y,n as E,p as d,r as g,u as B}from"./chunks/chunk-YITWLCD3.js";var A=k`
|
|
2
2
|
:host {
|
|
3
3
|
display: inline-flex;
|
|
4
4
|
width: fit-content;
|
|
@@ -11,20 +11,64 @@ import{a as $}from"./chunks/chunk-SMTIDNGW.js";import{a as R}from"./chunks/chunk
|
|
|
11
11
|
--toggle-group-arrows-color,
|
|
12
12
|
var(--eun-surface-color, #ffffff)
|
|
13
13
|
);
|
|
14
|
+
--_toggleDefaultRadius: var(--eun-border-radius-m, 8px);
|
|
15
|
+
--_toggleRadius: var(
|
|
16
|
+
--toggle-group-border-radius,
|
|
17
|
+
var(--_toggleDefaultRadius)
|
|
18
|
+
);
|
|
19
|
+
--_toggleFontSize: var(--eun-font-size-s, 14px);
|
|
20
|
+
--_toggleButtonPaddingBlock: var(--eun-space-s, 8px);
|
|
21
|
+
--_toggleOptionPaddingInline: calc(var(--eun-space-l, 32px) / 2);
|
|
22
|
+
--_toggleLineHeight: 1rem;
|
|
14
23
|
--_trackPaddingBlock: var(
|
|
15
24
|
--toggle-group-padding,
|
|
16
|
-
var(
|
|
25
|
+
var(
|
|
26
|
+
--toggle-group-padding-block,
|
|
27
|
+
calc(var(--_toggleButtonPaddingBlock) / 2)
|
|
28
|
+
)
|
|
17
29
|
);
|
|
18
30
|
--_trackPaddingInline: var(
|
|
19
31
|
--toggle-group-padding,
|
|
20
32
|
var(--toggle-group-padding-inline, 4px)
|
|
21
33
|
);
|
|
34
|
+
--_toggleOptionPaddingBlock: max(
|
|
35
|
+
0px,
|
|
36
|
+
calc(var(--_toggleButtonPaddingBlock) - var(--_trackPaddingBlock))
|
|
37
|
+
);
|
|
22
38
|
--_focusRoom: 0px;
|
|
23
39
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
24
|
-
font-size: var(--
|
|
40
|
+
font-size: var(--_toggleFontSize);
|
|
41
|
+
}
|
|
42
|
+
:host([rounded]) {
|
|
43
|
+
--_toggleDefaultRadius: var(--eun-border-radius-xl, 999px);
|
|
44
|
+
}
|
|
45
|
+
:host([size="xs"]) {
|
|
46
|
+
--_toggleFontSize: var(--eun-font-size-xs, 10px);
|
|
47
|
+
--_toggleButtonPaddingBlock: var(--eun-space-xxs, 1.6px);
|
|
48
|
+
--_toggleOptionPaddingInline: var(--eun-space-xs, 4px);
|
|
49
|
+
--_toggleLineHeight: 10px;
|
|
50
|
+
}
|
|
51
|
+
:host([size="s"]) {
|
|
52
|
+
--_toggleFontSize: var(--eun-font-size-xs, 10px);
|
|
53
|
+
--_toggleButtonPaddingBlock: calc(var(--eun-space-s, 8px) / 2);
|
|
54
|
+
--_toggleOptionPaddingInline: var(--eun-space-s, 8px);
|
|
55
|
+
--_toggleLineHeight: 10px;
|
|
56
|
+
}
|
|
57
|
+
:host([size="l"]) {
|
|
58
|
+
--_toggleFontSize: var(--eun-font-size-m, 16px);
|
|
59
|
+
--_toggleButtonPaddingBlock: calc(var(--eun-space-s, 8px) * 1.25);
|
|
60
|
+
--_toggleOptionPaddingInline: calc(var(--eun-space-m, 16px) * 1.25);
|
|
61
|
+
--_toggleLineHeight: 1.1rem;
|
|
62
|
+
}
|
|
63
|
+
:host([size="xl"]) {
|
|
64
|
+
--_toggleFontSize: var(--eun-font-size-l, 1.3rem);
|
|
65
|
+
--_toggleButtonPaddingBlock: calc(var(--eun-space-s, 8px) * 1.5);
|
|
66
|
+
--_toggleOptionPaddingInline: calc(var(--eun-space-m, 16px) * 1.5);
|
|
67
|
+
--_toggleLineHeight: 1.3rem;
|
|
25
68
|
}
|
|
26
69
|
:host([appearance="outline"]),
|
|
27
70
|
:host([appearance="flat"]) {
|
|
71
|
+
--_toggleOptionPaddingBlock: var(--_toggleButtonPaddingBlock);
|
|
28
72
|
--_focusRoom: 4px;
|
|
29
73
|
--_arrowsColor: var(
|
|
30
74
|
--toggle-group-arrows-color,
|
|
@@ -52,10 +96,7 @@ import{a as $}from"./chunks/chunk-SMTIDNGW.js";import{a as R}from"./chunks/chunk
|
|
|
52
96
|
max-width: 100%;
|
|
53
97
|
gap: var(--toggle-group-gap, var(--eun-space-xs, 4px));
|
|
54
98
|
padding: var(--_trackPaddingBlock) var(--_trackPaddingInline);
|
|
55
|
-
border-radius: var(
|
|
56
|
-
--toggle-group-border-radius,
|
|
57
|
-
var(--eun-border-radius-m, 8px)
|
|
58
|
-
);
|
|
99
|
+
border-radius: var(--_toggleRadius);
|
|
59
100
|
background: var(
|
|
60
101
|
--toggle-group-background,
|
|
61
102
|
var(--eun-surface-sunken, #f7f8fa)
|
|
@@ -156,9 +197,7 @@ import{a as $}from"./chunks/chunk-SMTIDNGW.js";import{a as R}from"./chunks/chunk
|
|
|
156
197
|
width: 0;
|
|
157
198
|
opacity: 0;
|
|
158
199
|
z-index: 0;
|
|
159
|
-
border-radius: calc(
|
|
160
|
-
var(--toggle-group-border-radius, var(--eun-border-radius-m, 8px)) - 3px
|
|
161
|
-
);
|
|
200
|
+
border-radius: calc(var(--_toggleRadius) - 3px);
|
|
162
201
|
background: var(
|
|
163
202
|
--toggle-group-active-background,
|
|
164
203
|
var(--eun-color-primary-500, #3d6fff)
|
|
@@ -210,12 +249,12 @@ import{a as $}from"./chunks/chunk-SMTIDNGW.js";import{a as R}from"./chunks/chunk
|
|
|
210
249
|
border: none;
|
|
211
250
|
background: transparent;
|
|
212
251
|
color: var(--toggle-group-color, var(--eun-color-grey-600, #666e8a));
|
|
213
|
-
|
|
252
|
+
--icon-size: var(--_toggleLineHeight);
|
|
253
|
+
padding: var(--_toggleOptionPaddingBlock) var(--_toggleOptionPaddingInline);
|
|
254
|
+
line-height: var(--_toggleLineHeight);
|
|
214
255
|
font-weight: var(--eun-font-weight-m, 500);
|
|
215
256
|
outline: 2px solid transparent;
|
|
216
|
-
border-radius: calc(
|
|
217
|
-
var(--toggle-group-border-radius, var(--eun-border-radius-m, 8px)) - 3px
|
|
218
|
-
);
|
|
257
|
+
border-radius: calc(var(--_toggleRadius) - 3px);
|
|
219
258
|
box-shadow: var(--_boxShadow);
|
|
220
259
|
transition: var(
|
|
221
260
|
--_toggleTransition,
|
|
@@ -272,7 +311,7 @@ import{a as $}from"./chunks/chunk-SMTIDNGW.js";import{a as R}from"./chunks/chunk
|
|
|
272
311
|
}
|
|
273
312
|
button.icon-only {
|
|
274
313
|
justify-content: center;
|
|
275
|
-
padding:
|
|
314
|
+
padding: var(--_toggleOptionPaddingBlock);
|
|
276
315
|
}
|
|
277
316
|
|
|
278
317
|
button[data-color="secondary"] {
|
|
@@ -293,10 +332,7 @@ import{a as $}from"./chunks/chunk-SMTIDNGW.js";import{a as R}from"./chunks/chunk
|
|
|
293
332
|
}
|
|
294
333
|
:host([appearance="outline"]) button,
|
|
295
334
|
:host([appearance="flat"]) button {
|
|
296
|
-
border-radius: var(
|
|
297
|
-
--toggle-group-border-radius,
|
|
298
|
-
var(--eun-border-radius-m, 8px)
|
|
299
|
-
);
|
|
335
|
+
border-radius: var(--_toggleRadius);
|
|
300
336
|
}
|
|
301
337
|
:host([appearance="outline"]) button {
|
|
302
338
|
border: var(--eun-border-width-s, 1px) solid
|
|
@@ -324,14 +360,14 @@ import{a as $}from"./chunks/chunk-SMTIDNGW.js";import{a as R}from"./chunks/chunk
|
|
|
324
360
|
outline-color: var(--_variantColor);
|
|
325
361
|
color: var(--toggle-group-hover-color, var(--_variantColor));
|
|
326
362
|
}
|
|
327
|
-
`;var m=28
|
|
363
|
+
`;var m=28,$="eun-toggle-group",u,h,i=class extends z(S(C(B))){constructor(){super(...arguments);this.options=[];this.value=[];this.single=!1;this.appearance="default";this.size="m";this.full=!1;x(this,u);x(this,h,!1);this.settled=!1;this.debounceMoveIndicator=R(()=>this.moveIndicator(!0),50);this.handleSlotChange=()=>{this.settleAndSync(!1)}}get totalCount(){return this.options.length+(this.items?.length??0)}get exclusive(){return this.single||this.totalCount===2}get entries(){let e=Array.from(this.trackEl?.querySelectorAll("button")??[]),t=this.options.map((o,r)=>({value:o.value,disabled:!!this.disabled,element:e[r]})),a=(this.items??[]).map(o=>({value:o.value,disabled:!!this.disabled||!!o.disabled,element:o}));return[...t,...a]}connectedCallback(){super.connectedCallback?.(),w(this,u,new ResizeObserver(this.debounceMoveIndicator)),b(this,u).observe(this)}disconnectedCallback(){b(this,u)?.disconnect(),super.disconnectedCallback?.()}firstUpdated(e){super.firstUpdated(e),this.settleAndSync(!1).then(()=>Promise.all((this.items??[]).map(t=>this.whenItemReady(t)))).then(()=>{requestAnimationFrame(()=>requestAnimationFrame(()=>{this.settled=!0}))})}updated(e){super.updated(e),e.has("disabled")&&this.removeAttribute("tabindex"),(e.has("value")||e.has("options")||e.has("single")||e.has("appearance")||e.has("size")||e.has("full"))&&this.settleAndSync(!0),e.has("disabled")&&this.disabled&&this.items?.forEach(t=>{t.disabled=!0})}whenItemsReady(){let e=new Set((this.items??[]).filter(t=>!customElements.get(t.tagName.toLowerCase())).map(t=>t.tagName.toLowerCase()));return e.size?Promise.all([...e].map(t=>customElements.whenDefined(t))):Promise.resolve()}settleAndSync(e){return this.whenItemsReady().then(()=>{this.seedInitialValue(),this.applyExclusiveDefault(),this.syncItems(),this.refreshIndicator(e),this.updateScroll()})}seedInitialValue(){if(b(this,h)||(w(this,h,!0),this.value.length))return;let e=(this.items??[]).filter(t=>t.checked).map(t=>t.value);e.length&&(this.value=this.exclusive?[e[0]]:e)}applyExclusiveDefault(){if(!this.exclusive||this.value.length)return;let[e]=this.entries;e&&(this.value=[e.value])}activateValue(e){if(!this.disabled){if(this.exclusive){if(this.value[0]===e)return;this.value=[e]}else this.value=this.value.includes(e)?this.value.filter(t=>t!==e):[...this.value,e];this.dispatchEvent(new T(this.value))}}activateItem(e){this.disabled||e.disabled||this.activateValue(e.value)}syncItems(){this.items?.length&&(this.items.forEach(e=>{e.checked=this.value.includes(e.value),e.toggleAttribute("exclusive",this.exclusive),e.setAttribute("appearance",this.appearance),e.toggleAttribute("full",this.full)}),this.exclusive&&this.applyRovingTabindex())}whenItemReady(e){return typeof e.updateComplete?.then=="function"?e.updateComplete:customElements.whenDefined(e.tagName.toLowerCase()).then(()=>e.updateComplete)}applyRovingTabindex(){let e=this.entries,t=Math.max(0,e.findIndex(a=>a.value===this.value[0]));e.forEach((a,o)=>{if(a.element.tagName==="BUTTON")return;let r=a.element,n=o===t?"0":"-1";this.whenItemReady(r).then(()=>{r.setAttribute("tabindex",n)})})}refreshIndicator(e){if(!this.exclusive)return;let t=()=>{this.appearance==="default"&&this.moveIndicator(e),this.revealActive(e)},a=this.entries.find(o=>o.value===this.value[0]);if(a&&a.element.tagName!=="BUTTON"){this.whenItemReady(a.element).then(t);return}t()}revealActive(e){let t=this.trackEl,a=this.entries.find(P=>P.value===this.value[0]);if(!t||!a||t.scrollWidth<=t.clientWidth)return;let o=t.getBoundingClientRect(),r=a.element.getBoundingClientRect(),n=r.left-o.left-t.clientLeft,l=n+r.width,f=0;n<m?f=n-m:l>t.clientWidth-m&&(f=l-(t.clientWidth-m)),f&&t.scrollBy({left:f,behavior:e?"smooth":"instant"})}moveIndicator(e){let t=this.indicatorEl;if(!this.exclusive||!t||!this.trackEl)return;let a=this.entries.find(l=>l.value===this.value[0]);if(!a){t.style.opacity="0";return}let o=this.trackEl.getBoundingClientRect(),r=a.element.getBoundingClientRect(),n=r.left-o.left-this.trackEl.clientLeft+this.trackEl.scrollLeft;e||(t.style.transition="none"),t.style.opacity="1",t.style.width=`${r.width}px`,t.style.transform=`translateX(${n}px)`,e||(t.getBoundingClientRect(),t.style.transition="")}exclusiveTabIndex(e,t){let a=this.value[0]===e,o=this.value.length===0;return a||o&&t===0?0:-1}handleKeydown(e){if(this.disabled)return;if(!this.exclusive){let l=e.target;this.items?.includes(l)&&(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this.activateItem(l));return}let t=this.entries;if(!t.length)return;let a=t.findIndex(l=>l.value===this.value[0]),o,r;switch(e.key){case"ArrowRight":case"ArrowDown":o=1,r=a===-1?0:(a+1)%t.length;break;case"ArrowLeft":case"ArrowUp":o=-1,r=a===-1?t.length-1:(a-1+t.length)%t.length;break;case"Home":o=1,r=0;break;case"End":o=-1,r=t.length-1;break;default:return}e.preventDefault();for(let l=0;l<t.length&&t[r]?.disabled;l+=1)r=(r+o+t.length)%t.length;let n=t[r];!n||n.disabled||(this.activateValue(n.value),n.element.focus())}arrowVisible(e){return this.overflowState?["middle",e==="start"?"end":"start"].includes(String(this.overflowState)):!1}isOnOverflow(){let e=this.trackEl;return!!e&&e.scrollWidth>e.clientWidth}render(){let e=this.exclusive,t=e&&this.appearance==="default";return d`
|
|
328
364
|
<div id="scrollable-wrapper">
|
|
329
365
|
<div
|
|
330
366
|
id="scrollable"
|
|
331
|
-
class=${
|
|
367
|
+
class=${p({settled:this.settled})}
|
|
332
368
|
role=${e?"radiogroup":"group"}
|
|
333
369
|
part="track"
|
|
334
|
-
aria-label=${this.ariaLabel??
|
|
370
|
+
aria-label=${this.ariaLabel??g}
|
|
335
371
|
aria-disabled=${this.disabled?"true":"false"}
|
|
336
372
|
@keydown=${a=>this.handleKeydown(a)}
|
|
337
373
|
@scroll=${this.updateScroll}
|
|
@@ -340,40 +376,40 @@ import{a as $}from"./chunks/chunk-SMTIDNGW.js";import{a as R}from"./chunks/chunk
|
|
|
340
376
|
id="indicator"
|
|
341
377
|
part="indicator"
|
|
342
378
|
aria-hidden="true"
|
|
343
|
-
></span>`:
|
|
344
|
-
${this.options.map((a,
|
|
379
|
+
></span>`:g}
|
|
380
|
+
${this.options.map((a,o)=>{let r=this.value.includes(a.value),n=!!a.icon&&!a.showLabel;return d`
|
|
345
381
|
<button
|
|
346
382
|
type="button"
|
|
347
|
-
class=${
|
|
383
|
+
class=${p({active:r,"icon-only":n})}
|
|
348
384
|
data-value=${a.value}
|
|
349
|
-
data-color=${
|
|
385
|
+
data-color=${v(a.color)}
|
|
350
386
|
role=${e?"radio":"checkbox"}
|
|
351
|
-
aria-checked=${
|
|
352
|
-
aria-label=${
|
|
353
|
-
title=${
|
|
354
|
-
tabindex=${
|
|
387
|
+
aria-checked=${r?"true":"false"}
|
|
388
|
+
aria-label=${v(n?a.label:void 0)}
|
|
389
|
+
title=${v(n?a.label:void 0)}
|
|
390
|
+
tabindex=${v(e?this.exclusiveTabIndex(a.value,o):void 0)}
|
|
355
391
|
?disabled=${this.disabled}
|
|
356
392
|
@click=${()=>this.activateValue(a.value)}
|
|
357
393
|
>
|
|
358
|
-
${a.icon?d`<eun-icon name=${a.icon}
|
|
359
|
-
${n?
|
|
394
|
+
${a.icon?d`<eun-icon name=${a.icon}></eun-icon>`:g}
|
|
395
|
+
${n?g:a.label}
|
|
360
396
|
</button>
|
|
361
397
|
`})}
|
|
362
398
|
<slot @slotchange=${this.handleSlotChange}></slot>
|
|
363
399
|
</div>
|
|
364
400
|
<div id="arrows">
|
|
365
401
|
<arrow-container
|
|
366
|
-
class=${
|
|
402
|
+
class=${p({visible:this.arrowVisible("start")})}
|
|
367
403
|
@click=${this.scrollItem("back")}
|
|
368
404
|
>
|
|
369
405
|
<eun-icon name="chevron_left"></eun-icon>
|
|
370
406
|
</arrow-container>
|
|
371
407
|
<arrow-container
|
|
372
|
-
class=${
|
|
408
|
+
class=${p({visible:this.arrowVisible("end")})}
|
|
373
409
|
@click=${this.scrollItem("front")}
|
|
374
410
|
>
|
|
375
411
|
<eun-icon name="chevron_right"></eun-icon>
|
|
376
412
|
</arrow-container>
|
|
377
413
|
</div>
|
|
378
414
|
</div>
|
|
379
|
-
`}};u=new WeakMap,
|
|
415
|
+
`}};u=new WeakMap,h=new WeakMap,i.styles=[A],s([c({type:Array,reflect:!0,converter:{toAttribute:e=>e?.length?JSON.stringify(e):null}})],i.prototype,"options",2),s([c({type:Array,reflect:!0,converter:{toAttribute:e=>e?.length?JSON.stringify(e):null}})],i.prototype,"value",2),s([c({type:Boolean,reflect:!0})],i.prototype,"single",2),s([c({reflect:!0,useDefault:!0})],i.prototype,"appearance",2),s([c({reflect:!0,useDefault:!0})],i.prototype,"size",2),s([c({type:Boolean,reflect:!0})],i.prototype,"full",2),s([E()],i.prototype,"items",2),s([y("#scrollable")],i.prototype,"trackEl",2),s([y("#indicator")],i.prototype,"indicatorEl",2),s([I()],i.prototype,"settled",2),i=s([_($)],i);export{i as EunomiaToggleGroup,$ as EunomiaToggleGroupTagName};
|
|
@@ -22,15 +22,18 @@ import{a as s}from"./chunks/chunk-3BMACIDO.js";import{a as e,f as i,h as n,j as
|
|
|
22
22
|
display: inline-flex;
|
|
23
23
|
align-items: center;
|
|
24
24
|
gap: var(--eun-space-xs, 4px);
|
|
25
|
+
--icon-size: var(--_toggleLineHeight, 1rem);
|
|
25
26
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
26
|
-
font-size: var(--eun-font-size-s, 14px);
|
|
27
|
+
font-size: var(--_toggleFontSize, var(--eun-font-size-s, 14px));
|
|
28
|
+
line-height: var(--_toggleLineHeight, 1rem);
|
|
27
29
|
font-weight: var(--eun-font-weight-m, 500);
|
|
28
30
|
white-space: nowrap;
|
|
29
31
|
cursor: pointer;
|
|
30
32
|
color: var(--toggle-group-color, var(--eun-color-grey-600, #666e8a));
|
|
31
|
-
padding:
|
|
33
|
+
padding: var(--_toggleOptionPaddingBlock, calc(var(--eun-space-s, 8px) / 2))
|
|
34
|
+
var(--_toggleOptionPaddingInline, calc(var(--eun-space-l, 32px) / 2));
|
|
32
35
|
border-radius: calc(
|
|
33
|
-
var(--
|
|
36
|
+
var(--_toggleRadius, var(--eun-border-radius-m, 8px)) - 3px
|
|
34
37
|
);
|
|
35
38
|
outline: 2px solid transparent;
|
|
36
39
|
box-shadow: var(--_boxShadow);
|
|
@@ -110,10 +113,7 @@ import{a as s}from"./chunks/chunk-3BMACIDO.js";import{a as e,f as i,h as n,j as
|
|
|
110
113
|
}
|
|
111
114
|
:host([appearance="outline"]) #item,
|
|
112
115
|
:host([appearance="flat"]) #item {
|
|
113
|
-
border-radius: var(
|
|
114
|
-
--toggle-group-border-radius,
|
|
115
|
-
var(--eun-border-radius-m, 8px)
|
|
116
|
-
);
|
|
116
|
+
border-radius: var(--_toggleRadius, var(--eun-border-radius-m, 8px));
|
|
117
117
|
}
|
|
118
118
|
:host([appearance="outline"]) #item {
|
|
119
119
|
border: var(--eun-border-width-s, 1px) solid
|
|
@@ -148,7 +148,7 @@ import{a as s}from"./chunks/chunk-3BMACIDO.js";import{a as e,f as i,h as n,j as
|
|
|
148
148
|
`;var v="eun-toggle-item",d="eun-toggle-group",o=class extends s(c){constructor(){super(...arguments);this.checked=!1;this.activate=()=>{this.disabled||this.closest(d)?.activateItem(this)}}connectedCallback(){super.connectedCallback?.(),this.hasAttribute("role")||this.setAttribute("role","checkbox"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.addEventListener("click",this.activate)}disconnectedCallback(){this.removeEventListener("click",this.activate),super.disconnectedCallback?.()}updated(t){super.updated(t),t.has("checked")&&this.setAttribute("aria-checked",String(this.checked))}render(){return a`
|
|
149
149
|
<div id="item" part="item">
|
|
150
150
|
<slot name="icon">
|
|
151
|
-
${this.icon?a`<eun-icon name=${this.icon}
|
|
151
|
+
${this.icon?a`<eun-icon name=${this.icon}></eun-icon>`:l}
|
|
152
152
|
</slot>
|
|
153
153
|
<slot></slot>
|
|
154
154
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as k}from"./chunks/chunk-TCSB2MLU.js";import"./chunks/chunk-RGC3I6MK.js";import"./chunks/chunk-5LXGJVJR.js";import{a as s}from"./chunks/chunk-YYCEPZUN.js";import{a as b}from"./chunks/chunk-BKZGTCMF.js";import{a as g}from"./chunks/chunk-6TIEBY34.js";import{a as v}from"./chunks/chunk-62RLISRD.js";import"./chunks/chunk-QL5GSW2A.js";import{a as r,f as c,h,j as i,l as d,n as p,p as n,r as l,u}from"./chunks/chunk-YITWLCD3.js";var y=h`
|
|
2
2
|
:host {
|
|
3
3
|
--_height: var(--toolbar-height, 72px);
|
|
4
4
|
--_heightCollapsed: var(--toolbar-height-collapsed, 56px);
|
|
@@ -50,6 +50,10 @@ import{a as g}from"./chunks/chunk-N6ZW5CDN.js";import"./chunks/chunk-RIFF2D2F.js
|
|
|
50
50
|
--toolbar-panel-padding,
|
|
51
51
|
var(--toolbar-panel-padding-inline, 14px)
|
|
52
52
|
);
|
|
53
|
+
--_panelOffset: var(
|
|
54
|
+
--toolbar-panel-offset,
|
|
55
|
+
calc(var(--_currentHeight) - var(--eun-border-width-s, 1px))
|
|
56
|
+
);
|
|
53
57
|
--_burgerAlign: var(--toolbar-burger-align, center);
|
|
54
58
|
--_burgerPadding: var(
|
|
55
59
|
--toolbar-burger-padding,
|
|
@@ -149,6 +153,12 @@ import{a as g}from"./chunks/chunk-N6ZW5CDN.js";import"./chunks/chunk-RIFF2D2F.js
|
|
|
149
153
|
min-width: 0;
|
|
150
154
|
}
|
|
151
155
|
|
|
156
|
+
:host([mobile][mobile-hide~="start"]) #start,
|
|
157
|
+
:host([mobile][mobile-hide~="center"]) #center,
|
|
158
|
+
:host([mobile][mobile-hide~="end"]) #end {
|
|
159
|
+
display: none;
|
|
160
|
+
}
|
|
161
|
+
|
|
152
162
|
#start ::slotted(*),
|
|
153
163
|
#center ::slotted(*),
|
|
154
164
|
#end ::slotted(*) {
|
|
@@ -278,22 +288,6 @@ import{a as g}from"./chunks/chunk-N6ZW5CDN.js";import"./chunks/chunk-RIFF2D2F.js
|
|
|
278
288
|
pointer-events: none;
|
|
279
289
|
transition-duration: var(--_transitionDuration);
|
|
280
290
|
}
|
|
281
|
-
#panel[data-direction="top"] {
|
|
282
|
-
inset-block-end: auto;
|
|
283
|
-
height: var(--_panelSize);
|
|
284
|
-
}
|
|
285
|
-
#panel[data-direction="bottom"] {
|
|
286
|
-
inset-block-start: auto;
|
|
287
|
-
height: var(--_panelSize);
|
|
288
|
-
}
|
|
289
|
-
#panel[data-direction="left"] {
|
|
290
|
-
inset-inline-end: auto;
|
|
291
|
-
width: var(--_panelSize);
|
|
292
|
-
}
|
|
293
|
-
#panel[data-direction="right"] {
|
|
294
|
-
inset-inline-start: auto;
|
|
295
|
-
width: var(--_panelSize);
|
|
296
|
-
}
|
|
297
291
|
#panel::backdrop {
|
|
298
292
|
background: transparent;
|
|
299
293
|
}
|
|
@@ -318,7 +312,8 @@ import{a as g}from"./chunks/chunk-N6ZW5CDN.js";import"./chunks/chunk-RIFF2D2F.js
|
|
|
318
312
|
inset: 0;
|
|
319
313
|
display: flex;
|
|
320
314
|
flex-direction: column;
|
|
321
|
-
padding: var(--
|
|
315
|
+
padding: calc(var(--_panelOffset) + var(--_panelPaddingBlock))
|
|
316
|
+
var(--_panelPaddingInline) var(--_panelPaddingBlock);
|
|
322
317
|
background: var(--_panelBackground);
|
|
323
318
|
backdrop-filter: blur(var(--_panelBackdropBlur));
|
|
324
319
|
-webkit-backdrop-filter: blur(var(--_panelBackdropBlur));
|
|
@@ -331,15 +326,20 @@ import{a as g}from"./chunks/chunk-N6ZW5CDN.js";import"./chunks/chunk-RIFF2D2F.js
|
|
|
331
326
|
transform var(--_transitionDuration) var(--eun-easing-default, ease);
|
|
332
327
|
}
|
|
333
328
|
#panel[data-direction="top"] #panel-body {
|
|
329
|
+
inset-block-end: calc(100% - var(--_panelSize));
|
|
334
330
|
transform: translateY(-100%);
|
|
335
331
|
}
|
|
336
332
|
#panel[data-direction="bottom"] #panel-body {
|
|
333
|
+
--_panelOffset: var(--toolbar-panel-offset, 0px);
|
|
334
|
+
inset-block-start: calc(100% - var(--_panelSize));
|
|
337
335
|
transform: translateY(100%);
|
|
338
336
|
}
|
|
339
337
|
#panel[data-direction="left"] #panel-body {
|
|
338
|
+
inset-inline-end: calc(100% - var(--_panelSize));
|
|
340
339
|
transform: translateX(-100%);
|
|
341
340
|
}
|
|
342
341
|
#panel[data-direction="right"] #panel-body {
|
|
342
|
+
inset-inline-start: calc(100% - var(--_panelSize));
|
|
343
343
|
transform: translateX(100%);
|
|
344
344
|
}
|
|
345
345
|
#panel:popover-open #panel-body {
|
|
@@ -381,7 +381,7 @@ import{a as g}from"./chunks/chunk-N6ZW5CDN.js";import"./chunks/chunk-RIFF2D2F.js
|
|
|
381
381
|
transition-duration: 0.01ms;
|
|
382
382
|
}
|
|
383
383
|
}
|
|
384
|
-
`,
|
|
384
|
+
`,m=y;var _="eun-toolbar",t=class extends k(v(u)){constructor(){super(...arguments);this.position="sticky";this.mobileBreakpoint=b.tablet;this.open=!1;this.panelDirection="top";this.closeOnBackdrop=!0;this.collapseOnScroll=!1;this.collapseThreshold=24;this.collapsed=!1;this.transparentAtTop=!1;this.atTop=!0;this.adaptiveTheme=!1;this.adaptiveThemeSelector="[data-toolbar-theme]";this.theme="light";this.defaultTheme="light";this.skipLinkLabel="Skip to main content";this.mobile=!1;this.handleIconSlotChange=()=>{this.requestUpdate()};this.scrollTargetEl=window;this.scrollListenerAttached=!1;this.intersectingThemeEls=new Set;this.handleMediaChange=e=>{this.mobile=e.matches,!this.mobile&&this.open&&this.hide()};this.handleScroll=()=>{this.scrollRafId===void 0&&(this.scrollRafId=requestAnimationFrame(()=>{this.scrollRafId=void 0,this.updateScrollState()}))};this.handleThemeIntersect=e=>{for(let a of e)a.isIntersecting?this.intersectingThemeEls.add(a.target):this.intersectingThemeEls.delete(a.target);this.resolveAdaptiveTheme()};this.handlePanelToggle=e=>{let a=e;if(this.syncingFromPopover=!0,this.open=a.newState==="open",this.syncingFromPopover=!1,this.open){this.openDialogSurface({surfaceEl:this.panelEl,onEscape:()=>this.hide(),onOutsideClick:()=>{this.closeOnBackdrop&&this.hide()}}),this.dispatchEvent(new s),this.updateComplete.then(()=>this.focusInitialElement());return}this.closeDialogSurface(this.burgerEl),this.dispatchEvent(new s)};this.handleSkipLinkClick=e=>{let o=e.composedPath().find(f=>f instanceof HTMLAnchorElement)?.getAttribute("href");!o||!o.startsWith("#")||o.length<2||document.getElementById(o.slice(1))?.focus()}}connectedCallback(){super.connectedCallback(),this.updateMediaQuery(),this.syncScrollListener()}disconnectedCallback(){this.mediaQueryList?.removeEventListener("change",this.handleMediaChange),this.detachScrollListener(),this.teardownAdaptiveThemeObserver(),this.teardownDialogSurface(this.open),super.disconnectedCallback()}updated(e){super.updated(e),e.has("mobileBreakpoint")&&this.updateMediaQuery(),e.has("open")&&this.syncPopoverOpenState(this.open,this.panelEl),e.has("panelSize")&&(this.panelSize?this.style.setProperty("--toolbar-panel-size",this.panelSize):this.style.removeProperty("--toolbar-panel-size")),this.updateScrollListenerFor(e),this.updateAdaptiveThemeObserverFor(e)}updateScrollListenerFor(e){(e.has("collapseOnScroll")||e.has("transparentAtTop"))&&this.syncScrollListener(),e.has("scrollTarget")&&this.scrollListenerAttached&&this.attachScrollListener()}updateAdaptiveThemeObserverFor(e){if(e.has("adaptiveTheme")){this.adaptiveTheme?this.setupAdaptiveThemeObserver():e.get("adaptiveTheme")===!0&&(this.teardownAdaptiveThemeObserver(),this.theme=this.defaultTheme);return}this.adaptiveTheme&&(e.has("adaptiveThemeSelector")||e.has("collapsed")||e.has("scrollTarget"))&&this.setupAdaptiveThemeObserver()}show(){this.open=!0}hide(){this.open=!1}toggle(){this.open=!this.open}refreshAdaptiveTheme(){this.themeObserver&&(this.themeObserver.disconnect(),this.intersectingThemeEls.clear(),document.querySelectorAll(this.adaptiveThemeSelector).forEach(e=>this.themeObserver?.observe(e)),this.resolveAdaptiveTheme())}updateMediaQuery(){this.mediaQueryList?.removeEventListener("change",this.handleMediaChange),this.mediaQueryList=window.matchMedia(`(width < ${this.mobileBreakpoint}px)`),this.mediaQueryList.addEventListener("change",this.handleMediaChange),this.mobile=this.mediaQueryList.matches}resolveScrollTarget(){if(this.scrollTarget){let e=document.querySelector(this.scrollTarget);if(e)return e}return window}resolveIntersectionRoot(){if(this.scrollTarget){let e=document.querySelector(this.scrollTarget);if(e)return e}return null}syncScrollListener(){let e=this.collapseOnScroll||this.transparentAtTop;e&&!this.scrollListenerAttached?(this.attachScrollListener(),this.scrollListenerAttached=!0):!e&&this.scrollListenerAttached&&(this.detachScrollListener(),this.scrollListenerAttached=!1)}attachScrollListener(){this.scrollTargetEl?.removeEventListener("scroll",this.handleScroll),this.scrollTargetEl=this.resolveScrollTarget(),this.scrollTargetEl.addEventListener("scroll",this.handleScroll,{passive:!0}),this.updateScrollState()}detachScrollListener(){this.scrollTargetEl?.removeEventListener("scroll",this.handleScroll),this.scrollRafId!==void 0&&(cancelAnimationFrame(this.scrollRafId),this.scrollRafId=void 0)}currentScrollY(){return this.scrollTargetEl instanceof Element?this.scrollTargetEl.scrollTop:window.scrollY}updateScrollState(){let e=this.currentScrollY();this.collapseOnScroll&&this.setCollapsed(e>this.collapseThreshold),this.transparentAtTop&&(this.atTop=e<=0)}setCollapsed(e){this.collapsed!==e&&(this.collapsed=e,this.dispatchEvent(new s))}setTheme(e){this.theme!==e&&(this.theme=e,this.dispatchEvent(new s))}barHeightPx(){return this.barEl?.getBoundingClientRect().height??(this.collapsed?56:72)}setupAdaptiveThemeObserver(){this.teardownAdaptiveThemeObserver();let e=this.barHeightPx();this.themeObserver=new IntersectionObserver(this.handleThemeIntersect,{root:this.resolveIntersectionRoot(),rootMargin:`-${e}px 0px -85% 0px`}),document.querySelectorAll(this.adaptiveThemeSelector).forEach(a=>this.themeObserver?.observe(a)),this.resolveAdaptiveTheme()}teardownAdaptiveThemeObserver(){this.themeObserver?.disconnect(),this.themeObserver=void 0,this.intersectingThemeEls.clear()}resolveAdaptiveTheme(){if(this.intersectingThemeEls.size===0){this.setTheme(this.defaultTheme);return}let e=document.querySelectorAll(this.adaptiveThemeSelector);for(let a=e.length-1;a>=0;a-=1)if(this.intersectingThemeEls.has(e[a])){this.setTheme(e[a].getAttribute("data-toolbar-theme")==="dark"?"dark":"light");return}this.setTheme(this.defaultTheme)}focusInitialElement(){let e=this.querySelector("[autofocus]");if(e){e.focus();return}this.panelEl?.focus()}hasSkipLinksContent(){return this.skipLinkTarget!==void 0||this.querySelector('[slot="skip-links"]')!==null}renderSkipLinks(){return n`
|
|
385
385
|
<div id="skip-links" @click=${this.handleSkipLinkClick}>
|
|
386
386
|
<slot name="skip-links">
|
|
387
387
|
${this.skipLinkTarget?n`
|
|
@@ -437,4 +437,4 @@ import{a as g}from"./chunks/chunk-N6ZW5CDN.js";import"./chunks/chunk-RIFF2D2F.js
|
|
|
437
437
|
${this.renderEnd()}
|
|
438
438
|
</nav>
|
|
439
439
|
${this.mobile?this.renderPanel():l}
|
|
440
|
-
`}};t.styles=
|
|
440
|
+
`}};t.styles=m,r([i({reflect:!0,useDefault:!0})],t.prototype,"position",2),r([i({type:Number,attribute:"mobile-breakpoint"})],t.prototype,"mobileBreakpoint",2),r([i({type:Boolean,reflect:!0})],t.prototype,"open",2),r([i({reflect:!0,attribute:"panel-direction",useDefault:!0})],t.prototype,"panelDirection",2),r([i({attribute:"panel-size"})],t.prototype,"panelSize",2),r([i({reflect:!0,attribute:"mobile-hide"})],t.prototype,"mobileHide",2),r([i({converter:g,attribute:"close-on-backdrop"})],t.prototype,"closeOnBackdrop",2),r([i({attribute:"menu-open-label"})],t.prototype,"menuOpenLabel",2),r([i({attribute:"menu-close-label"})],t.prototype,"menuCloseLabel",2),r([i({attribute:"menu-label"})],t.prototype,"menuLabel",2),r([i({type:Boolean,attribute:"collapse-on-scroll"})],t.prototype,"collapseOnScroll",2),r([i({type:Number,attribute:"collapse-threshold"})],t.prototype,"collapseThreshold",2),r([i({type:Boolean,reflect:!0})],t.prototype,"collapsed",2),r([i({type:Boolean,attribute:"transparent-at-top"})],t.prototype,"transparentAtTop",2),r([i({type:Boolean,reflect:!0,attribute:"at-top"})],t.prototype,"atTop",2),r([i({attribute:"scroll-target"})],t.prototype,"scrollTarget",2),r([i({type:Boolean,attribute:"adaptive-theme"})],t.prototype,"adaptiveTheme",2),r([i({attribute:"adaptive-theme-selector"})],t.prototype,"adaptiveThemeSelector",2),r([i({reflect:!0,useDefault:!0})],t.prototype,"theme",2),r([i({attribute:"default-theme"})],t.prototype,"defaultTheme",2),r([i({attribute:"skip-link-target"})],t.prototype,"skipLinkTarget",2),r([i({attribute:"skip-link-label"})],t.prototype,"skipLinkLabel",2),r([i({type:Boolean,reflect:!0})],t.prototype,"mobile",2),r([d("#bar")],t.prototype,"barEl",2),r([d("#panel")],t.prototype,"panelEl",2),r([d("#burger")],t.prototype,"burgerEl",2),r([p({slot:"menu-icon"})],t.prototype,"menuIconSlotEls",2),r([p({slot:"close-icon"})],t.prototype,"closeIconSlotEls",2),t=r([c(_)],t);export{t as EunomiaToolbar,_ as EunomiaToolbarTagName};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{c as g}from"./chunks/chunk-EUWUDCBZ.js";import{
|
|
1
|
+
import{c as g}from"./chunks/chunk-EUWUDCBZ.js";import{b as C}from"./chunks/chunk-5LXGJVJR.js";import{a as D}from"./chunks/chunk-LK5BJ4SH.js";import{b as k,c as y}from"./chunks/chunk-624VJYNA.js";import{a as m}from"./chunks/chunk-LYYQAALT.js";import{e as L}from"./chunks/chunk-GDBPWZN6.js";import{a as v}from"./chunks/chunk-PPCHQG7P.js";import{a as f}from"./chunks/chunk-O7PHBLH2.js";import"./chunks/chunk-SGM2X2TC.js";import{a,f as A,h as c,j as l,n as S,o as u,p as h,r as _,t as P,u as T}from"./chunks/chunk-YITWLCD3.js";var R=c`
|
|
2
2
|
:host {
|
|
3
3
|
display: contents;
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
`,$=c`
|
|
6
6
|
/*
|
|
7
7
|
* Step 1 : the palette (severity, else color) fills --_solid (strong
|
|
8
8
|
* color), --_onSolid (text on it) and --_accent (text on a pale or neutral
|
|
@@ -143,7 +143,7 @@ import{c as g}from"./chunks/chunk-EUWUDCBZ.js";import{a as C}from"./chunks/chunk
|
|
|
143
143
|
display: grid;
|
|
144
144
|
row-gap: var(--tooltip-row-gap, var(--eun-space-xs, 4px));
|
|
145
145
|
width: max-content;
|
|
146
|
-
min-width: var(--tooltip-min-width,
|
|
146
|
+
min-width: var(--tooltip-min-width, 0px);
|
|
147
147
|
max-width: var(--tooltip-max-width, 280px);
|
|
148
148
|
padding: var(
|
|
149
149
|
--tooltip-padding,
|
|
@@ -225,7 +225,7 @@ import{c as g}from"./chunks/chunk-EUWUDCBZ.js";import{a as C}from"./chunks/chunk
|
|
|
225
225
|
margin: 0;
|
|
226
226
|
color: inherit;
|
|
227
227
|
}
|
|
228
|
-
`,b=
|
|
228
|
+
`,b=$,B=c`
|
|
229
229
|
@supports (anchor-name: --a) {
|
|
230
230
|
.eun-tooltip-panel[data-placement="top"]:popover-open {
|
|
231
231
|
position-try-fallbacks: --eun-tooltip-try-bottom;
|
|
@@ -279,7 +279,7 @@ import{c as g}from"./chunks/chunk-EUWUDCBZ.js";import{a as C}from"./chunks/chunk
|
|
|
279
279
|
right: calc(anchor(left) + var(--tooltip-gap, 8px));
|
|
280
280
|
}
|
|
281
281
|
}
|
|
282
|
-
`,w
|
|
282
|
+
`,w=B;var M="eun-tooltip",V=0,I=0,H=new WeakSet,F=["--tooltip-z-index","--tooltip-gap","--tooltip-viewport-gap","--tooltip-min-width","--tooltip-max-width","--tooltip-background-color","--tooltip-color","--tooltip-content-color","--tooltip-border-color","--tooltip-border-width","--tooltip-font-weight","--tooltip-border-radius","--tooltip-padding","--tooltip-padding-block","--tooltip-padding-inline","--tooltip-row-gap","--tooltip-shadow","--tooltip-transition-duration"],z=D(T),i=class extends z{constructor(){super(...arguments);this.color="primary";this.appearance="default";this.fixedColor=!1;this.placement="top";this.open=!1;this.lazy=!1;this.showDelay=100;this.hideDelay=150;this.pinned=!1;this.panelId=`eun-tooltip-panel-${++I}`;this.headingId=`${this.panelId}-heading`;this.ariaDescribedByApplied=!1;this.handleReposition=()=>{this.reposition()};this.handleDocumentKeydown=e=>{e.key==="Escape"&&this.hide()};this.handleDocumentPointerDown=e=>{if(!this.pinned)return;let t=e.composedPath();this.anchorEl&&t.includes(this.anchorEl)||this.panelEl&&t.includes(this.panelEl)||this.hide()};this.handleAnchorSlotChange=()=>{this.rebindAnchorListeners()};this.handleAnchorPointerEnter=()=>{this.scheduleShow()};this.handleAnchorPointerLeave=()=>{this.scheduleHide()};this.handleAnchorFocusIn=()=>{this.clearShowTimer(),this.clearHideTimer(),this.show()};this.handleAnchorFocusOut=()=>{this.pinned=!1,this.hide()};this.handleAnchorClick=()=>{this.pinned=!this.pinned,this.pinned?(this.clearShowTimer(),this.clearHideTimer(),this.show()):this.scheduleHide()};this.handlePanelPointerEnter=()=>{this.clearHideTimer()};this.handlePanelPointerLeave=()=>{this.scheduleHide()};this.handleSlotChange=()=>{this.requestUpdate()}}supportsAnchorPositioning(){return i.nativeAnchorPositioningSupported}connectedCallback(){super.connectedCallback(),this.hasUpdated&&!this.lazy&&this.ensurePortal()}firstUpdated(e){super.firstUpdated(e),this.rebindAnchorListeners(),this.lazy||this.ensurePortal()}disconnectedCallback(){this.unbindAnchorListeners(),this.clearShowTimer(),this.clearHideTimer(),this.panelAnimation?.cancel(),this.panelAnimation=void 0,this.removeGlobalListeners(),this.portalContainer?.remove(),this.portalContainer=void 0,this.portalRoot=void 0,this.panelEl=void 0,super.disconnectedCallback?.()}updated(e){if(super.updated(e),this.portalContainer&&this.renderPortal(),e.has("open")){this.open?this.openTooltip():this.closeTooltip();return}e.has("placement")&&this.open&&this.reposition()}show(){this.open=!0}hide(){this.open=!1}toggle(){this.open=!this.open}get anchorEl(){return this.anchorSlotEls[0]}ensurePortal(){if(this.portalContainer||!this.anchorEl)return;let e=this.anchorEl.getRootNode();this.portalRoot=e,this.installPanelStyles(e);let t=document.createElement("div");t.style.display="contents",(e===document?document.body:e).appendChild(t),this.portalContainer=t,this.renderPortal()}installPanelStyles(e){if(H.has(e)||!b.styleSheet)return;H.add(e);let t=[b.styleSheet];!m&&w.styleSheet&&t.push(w.styleSheet),e.adoptedStyleSheets=[...e.adoptedStyleSheets,...t]}renderPortal(){this.portalContainer&&(P(this.renderPanel(),this.portalContainer,{host:this}),this.panelEl=this.portalContainer.querySelector(".eun-tooltip-panel")??void 0,this.forwardCssVariables(),this.mirrorSlottedContent())}forwardCssVariables(){if(!this.panelEl)return;let e=getComputedStyle(this);for(let t of F)this.panelEl.style.setProperty(t,e.getPropertyValue(t))}openTooltip(){if(this.ensurePortal(),!this.anchorEl||!this.panelEl)return;this.applyAriaDescribedBy();let e=this.panelEl,t=this.panelAnimation!==void 0;this.panelAnimation?.cancel(),this.panelAnimation=void 0;let n=!e.matches(":popover-open");n&&e.showPopover(),this.reposition(),(n||t)&&this.playEnterAnimation(e),window.addEventListener("resize",this.handleReposition),window.addEventListener("scroll",this.handleReposition,!0),document.addEventListener("keydown",this.handleDocumentKeydown),document.addEventListener("pointerdown",this.handleDocumentPointerDown,!0),this.observeAnchorVisibility(this.anchorEl,()=>this.hide())}closeTooltip(){this.pinned=!1;let e=this.panelEl;this.panelAnimation?.cancel(),this.panelAnimation=void 0,e?.matches(":popover-open")&&this.playExitAnimation(e),this.removeGlobalListeners(),this.unobserveAnchorVisibility()}static panelAnimationDuration(e){return window.matchMedia("(prefers-reduced-motion: reduce)").matches?0:k(e,"--tooltip-transition-duration","s",150)}playEnterAnimation(e){e.style.removeProperty("pointer-events");let t=i.panelAnimationDuration(e);t!==0&&(this.panelAnimation=e.animate([{opacity:0,scale:.96},{opacity:1,scale:1}],{duration:t,easing:y(e),fill:"forwards"}))}playExitAnimation(e){e.style.pointerEvents="none";let t=i.panelAnimationDuration(e);if(t===0){e.hidePopover();return}let n=e.animate([{opacity:1,scale:1},{opacity:0,scale:.96}],{duration:t,easing:y(e),fill:"forwards"});this.panelAnimation=n,n.finished.then(()=>{this.panelAnimation===n&&(this.panelAnimation=void 0),e.hidePopover()}).catch(()=>{})}removeGlobalListeners(){window.removeEventListener("resize",this.handleReposition),window.removeEventListener("scroll",this.handleReposition,!0),document.removeEventListener("keydown",this.handleDocumentKeydown),document.removeEventListener("pointerdown",this.handleDocumentPointerDown,!0)}reposition(){!this.anchorEl||!this.panelEl||(this.supportsAnchorPositioning()?(this.anchorPositionName??=`--eun-tooltip-anchor-${++V}`,this.anchorEl.style.setProperty("anchor-name",this.anchorPositionName),this.panelEl.style.setProperty("position-anchor",this.anchorPositionName)):this.updateFallbackPosition(),this.clampPanelToViewport())}getEffectivePlacementFallback(e,t,n,o){let r=this.readGap();if(this.placement==="left"||this.placement==="right"){let N=window.innerWidth,E=e.right+r+t.width<=N,x=e.left-r-t.width>=0;return this.placement==="right"&&!E&&x?"left":this.placement==="left"&&!x&&E?"right":this.placement}let p=window.innerHeight,d=e.bottom+r+t.height<=p-o,s=e.top-r-t.height>=n;return this.placement==="top"&&!s&&d?"bottom":this.placement==="bottom"&&!d&&s?"top":this.placement}updateFallbackPosition(){if(!this.anchorEl||!this.panelEl)return;let e=this.readGap(),t=this.readViewportInset(this.panelEl,"--eun-viewport-inset-top"),n=this.readViewportInset(this.panelEl,"--eun-viewport-inset-bottom"),o=this.anchorEl.getBoundingClientRect(),r=this.panelEl.getBoundingClientRect(),p=this.getEffectivePlacementFallback(o,r,t,n),d,s;p==="top"||p==="bottom"?(d=p==="top"?o.top-r.height-e:o.bottom+e,s=g(o.left+o.width/2-r.width/2,r.width,window.innerWidth,e)):(s=p==="left"?o.left-r.width-e:o.right+e,d=g(o.top+o.height/2-r.height/2,r.height,window.innerHeight,e)),this.panelEl.style.setProperty("--_panelTop",`${d}px`),this.panelEl.style.setProperty("--_panelLeft",`${s}px`)}clampPanelToViewport(){if(!this.panelEl)return;let e=this.readPixelVar("--tooltip-viewport-gap",8),t=this.readViewportInset(this.panelEl,"--eun-viewport-inset-top"),n=this.readViewportInset(this.panelEl,"--eun-viewport-inset-bottom"),o=this.panelEl.getBoundingClientRect(),r=0;o.left<e?r=e-o.left:o.right>window.innerWidth-e&&(r=window.innerWidth-e-o.right);let p=t+e,d=window.innerHeight-n-e,s=0;o.top<p?s=p-o.top:o.bottom>d&&(s=d-o.bottom),this.panelEl.style.transform=r||s?`translate(${r}px, ${s}px)`:""}readPixelVar(e,t){if(!this.panelEl)return t;let n=getComputedStyle(this.panelEl).getPropertyValue(e),o=Number.parseFloat(n);return Number.isFinite(o)?o:t}readGap(){return this.readPixelVar("--tooltip-gap",8)}applyAriaDescribedBy(){if(this.ariaDescribedByApplied||!this.anchorEl||!this.panelEl)return;this.ariaDescribedByApplied=!0;let e=C(this.anchorEl);if(e.getRootNode()!==this.portalRoot){let o=e.ariaDescribedByElements??[];o.includes(this.panelEl)||(e.ariaDescribedByElements=[...o,this.panelEl]);return}let t=e.getAttribute("aria-describedby"),n=t?t.split(/\s+/):[];n.includes(this.panelId)||(n.push(this.panelId),e.setAttribute("aria-describedby",n.join(" ")))}clearShowTimer(){this.showTimer!==void 0&&(clearTimeout(this.showTimer),this.showTimer=void 0)}clearHideTimer(){this.hideTimer!==void 0&&(clearTimeout(this.hideTimer),this.hideTimer=void 0)}scheduleShow(){this.clearHideTimer(),!this.open&&(this.clearShowTimer(),this.showTimer=setTimeout(()=>{this.showTimer=void 0,this.show()},this.showDelay))}scheduleHide(){this.clearShowTimer(),!this.pinned&&(this.clearHideTimer(),this.hideTimer=setTimeout(()=>{this.hideTimer=void 0,this.pinned||this.hide()},this.hideDelay))}rebindAnchorListeners(){let e=this.anchorEl;this.boundAnchorEl!==e&&(this.unbindAnchorListeners(),this.boundAnchorEl=e,this.ariaDescribedByApplied=!1,e&&(e.addEventListener("pointerenter",this.handleAnchorPointerEnter),e.addEventListener("pointerleave",this.handleAnchorPointerLeave),e.addEventListener("focusin",this.handleAnchorFocusIn),e.addEventListener("focusout",this.handleAnchorFocusOut),e.addEventListener("click",this.handleAnchorClick)))}unbindAnchorListeners(){this.boundAnchorEl?.removeEventListener("pointerenter",this.handleAnchorPointerEnter),this.boundAnchorEl?.removeEventListener("pointerleave",this.handleAnchorPointerLeave),this.boundAnchorEl?.removeEventListener("focusin",this.handleAnchorFocusIn),this.boundAnchorEl?.removeEventListener("focusout",this.handleAnchorFocusOut),this.boundAnchorEl?.removeEventListener("click",this.handleAnchorClick)}hasDescription(){return!!this.richText||this.descriptionSlotNodes.length>0}hasHeading(){return!!this.heading||this.defaultSlotNodes.some(e=>e.nodeType!==Node.TEXT_NODE||!!e.textContent?.trim())}mirrorSlottedContent(){if(!this.panelEl)return;this.heading||this.panelEl.querySelector(".eun-tooltip-heading-mirror")?.replaceChildren(...this.defaultSlotNodes.map(n=>n.cloneNode(!0))),this.panelEl.querySelector(".eun-tooltip-description-mirror")?.replaceChildren(...this.descriptionSlotNodes.map(t=>t.cloneNode(!0)))}renderPanel(){let e=this.heading?this.heading:h`<span class="eun-tooltip-heading-mirror"></span>`;return h`
|
|
283
283
|
<div
|
|
284
284
|
id=${this.panelId}
|
|
285
285
|
class=${f({"eun-tooltip-panel":!0,"no-heading":!this.hasHeading()})}
|
|
@@ -314,4 +314,4 @@ import{c as g}from"./chunks/chunk-EUWUDCBZ.js";import{a as C}from"./chunks/chunk
|
|
|
314
314
|
hidden
|
|
315
315
|
@slotchange=${this.handleSlotChange}
|
|
316
316
|
></slot>
|
|
317
|
-
`}};
|
|
317
|
+
`}};i.styles=R,i.nativeAnchorPositioningSupported=typeof CSS<"u"&&CSS.supports("anchor-name: --a")&&!m,a([l({reflect:!0})],i.prototype,"severity",2),a([l({reflect:!0,useDefault:!0})],i.prototype,"color",2),a([l({reflect:!0,useDefault:!0})],i.prototype,"appearance",2),a([l({type:Boolean,reflect:!0,attribute:"fixed-color"})],i.prototype,"fixedColor",2),a([l({reflect:!0,useDefault:!0})],i.prototype,"placement",2),a([l()],i.prototype,"heading",2),a([l({attribute:"rich-text"})],i.prototype,"richText",2),a([l({type:Boolean,reflect:!0})],i.prototype,"open",2),a([l({type:Boolean,reflect:!0})],i.prototype,"lazy",2),a([l({type:Number,attribute:"show-delay"})],i.prototype,"showDelay",2),a([l({type:Number,attribute:"hide-delay"})],i.prototype,"hideDelay",2),a([S({slot:"anchor"})],i.prototype,"anchorSlotEls",2),a([u()],i.prototype,"defaultSlotNodes",2),a([u({slot:"description"})],i.prototype,"descriptionSlotNodes",2),i=a([A(M)],i);export{i as EunomiaTooltip,M as EunomiaTooltipTagName};
|