@ebrains/react 0.5.0-alpha.0 → 0.7.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{analytics-1cde8e4a.esm.js → analytics-44b1416b.esm.js} +9 -1
- package/color-primary-palette_6.entry.esm.js +106 -106
- package/correct-use-of-colors.entry.esm.js +33 -33
- package/eds-accordion_22.entry.esm.js +269 -0
- package/eds-alert.entry.esm.js +104 -0
- package/eds-app-root.entry.esm.js +53 -0
- package/eds-avatar_4.entry.esm.js +2 -10
- package/eds-breadcrumb.entry.esm.js +171 -0
- package/eds-card-generic.entry.esm.js +7 -17
- package/eds-card-project.entry.esm.js +1 -1
- package/eds-card-section.entry.esm.js +8 -22
- package/eds-card-tool.entry.esm.js +1 -1
- package/eds-components-section.entry.esm.js +1 -1
- package/eds-cookies-preference.entry.esm.js +47 -0
- package/eds-docs-palettes.entry.esm.js +1 -1
- package/eds-docs-tokens.entry.esm.js +1 -1
- package/{eds-dropdown_2.entry.esm.js → eds-dropdown.entry.esm.js} +20 -99
- package/eds-feedback.entry.esm.js +82 -0
- package/eds-form.entry.esm.js +254 -254
- package/eds-frame.entry.esm.js +34 -33
- package/eds-icon-arrow-diagonal.entry.esm.js +1 -1
- package/eds-icon-arrow-right.entry.esm.js +1 -1
- package/eds-icon-bluesky.entry.esm.js +1 -1
- package/eds-icon-chevron-down.entry.esm.js +1 -1
- package/eds-icon-chevron-left.entry.esm.js +1 -1
- package/eds-icon-chevron-right.entry.esm.js +1 -1
- package/eds-icon-chevron-up.entry.esm.js +1 -1
- package/eds-icon-close.entry.esm.js +1 -1
- package/eds-icon-copy.entry.esm.js +1 -1
- package/eds-icon-eu.entry.esm.js +1 -1
- package/eds-icon-facebook.entry.esm.js +1 -1
- package/eds-icon-gitlab.entry.esm.js +1 -1
- package/eds-icon-linkedin.entry.esm.js +1 -1
- package/eds-icon-loader.entry.esm.js +1 -1
- package/eds-icon-mastodon.entry.esm.js +1 -1
- package/eds-icon-menu.entry.esm.js +1 -1
- package/eds-icon-more.entry.esm.js +1 -1
- package/eds-icon-search.entry.esm.js +1 -1
- package/eds-icon-star.entry.esm.js +21 -0
- package/eds-icon-success.entry.esm.js +1 -1
- package/eds-icon-thumbs-down.entry.esm.js +21 -0
- package/eds-icon-thumbs-up.entry.esm.js +21 -0
- package/eds-icon-twitter.entry.esm.js +1 -1
- package/eds-icon-user.entry.esm.js +1 -1
- package/eds-icon-youtube.entry.esm.js +1 -1
- package/{keycloak-d502ec16.esm.js → eds-login_2.entry.esm.js} +172 -1
- package/eds-logo-variations.entry.esm.js +1 -1
- package/eds-modal.entry.esm.js +23 -10
- package/eds-progress-bar.entry.esm.js +2 -2
- package/eds-rating.entry.esm.js +79 -0
- package/eds-section-core_2.entry.esm.js +5 -5
- package/eds-spinner.entry.esm.js +67 -0
- package/eds-steps.entry.esm.js +89 -0
- package/eds-svg-repository.entry.esm.js +8 -2
- package/eds-switch.entry.esm.js +58 -0
- package/eds-tabs.entry.esm.js +15 -27
- package/eds-timeline.entry.esm.js +6 -23
- package/eds-toast-manager.entry.esm.js +62 -0
- package/eds-toast.entry.esm.js +92 -0
- package/eds-tooltip.entry.esm.js +4 -4
- package/eds-trl.entry.esm.js +2 -2
- package/eds-user.entry.esm.js +64 -87
- package/eds-vertical-stepper.entry.esm.js +5 -5
- package/formUtils-ac68474d.esm.js +247 -0
- package/incorrect-use-of-colors.entry.esm.js +7 -7
- package/index.esm.js +1 -1
- package/index.esm2.js +51 -27
- package/logo-space.entry.esm.js +4 -4
- package/logo-variations-horizontal_2.entry.esm.js +26 -26
- package/logo-wrong-usage.entry.esm.js +37 -37
- package/package.json +1 -1
- package/sharedUtils-a550989c.esm.js +17 -0
- package/src/components.d.ts +4 -1
- package/star-0da9b5e9.esm.js +5 -0
- package/thumbs-down-a18fd049.esm.js +5 -0
- package/thumbs-up-c19a71bc.esm.js +6 -0
- package/token-list_3.entry.esm.js +5 -5
- package/token-ratios.entry.esm.js +3 -3
- package/token-spacing.entry.esm.js +26 -26
- package/token-typography.entry.esm.js +2 -2
- package/eds-accordion.entry.esm.js +0 -126
- package/eds-alert_17.entry.esm.js +0 -187
- package/eds-input_7.entry.esm.js +0 -529
- package/eds-login.entry.esm.js +0 -97
- package/eds-matomo-notice.entry.esm.js +0 -128
- package/eds-navigator.entry.esm.js +0 -72
- package/eds-pagination_2.entry.esm.js +0 -472
- package/eds-tab.entry.esm.js +0 -41
- package/eds-tabs-content.entry.esm.js +0 -145
package/eds-modal.entry.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, h, g as getElement } from './index.esm2.js';
|
|
2
|
-
import { s as sendAnalytics } from './analytics-
|
|
2
|
+
import { s as sendAnalytics } from './analytics-44b1416b.esm.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react/jsx-runtime';
|
|
5
5
|
import 'react-dom';
|
|
@@ -73,6 +73,18 @@ const EdsModal = class {
|
|
|
73
73
|
async toggle() {
|
|
74
74
|
this.isOpen = !this.isOpen;
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Listens for global custom events to open the modal.
|
|
78
|
+
*/
|
|
79
|
+
handleGlobalOpen() {
|
|
80
|
+
this.open();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Listens for global custom events to close the modal.
|
|
84
|
+
*/
|
|
85
|
+
handleGlobalClose() {
|
|
86
|
+
this.close();
|
|
87
|
+
}
|
|
76
88
|
/**
|
|
77
89
|
* Closes the modal when the Escape key is pressed.
|
|
78
90
|
*/
|
|
@@ -85,39 +97,40 @@ const EdsModal = class {
|
|
|
85
97
|
// Generate a unique id for the title so we can reference it for aria-labelledby.
|
|
86
98
|
const titleId = `modal-title-${this.el.tagName.toLowerCase()}`;
|
|
87
99
|
return h("div", {
|
|
88
|
-
key: '
|
|
100
|
+
key: '980f396b79c32a36005b5f7813cc52b2e97457fa',
|
|
101
|
+
id: "eds-modal",
|
|
89
102
|
class: `${this.isOpen ? 'block' : 'hidden'} fixed inset-0 z-50 flex`,
|
|
90
103
|
role: "dialog",
|
|
91
104
|
"aria-modal": "true",
|
|
92
105
|
"aria-labelledby": titleId
|
|
93
106
|
}, this.isOpen && h("div", {
|
|
94
|
-
key: '
|
|
107
|
+
key: 'a2e4bb022c17c66266809f1a8dd706523a6ff07b',
|
|
95
108
|
class: "fixed inset-0 bg-dark bg-opacity-90" // Add backdrop-blur utility class here
|
|
96
109
|
,
|
|
97
110
|
|
|
98
111
|
onClick: () => this.close()
|
|
99
112
|
}), h("div", {
|
|
100
|
-
key: '
|
|
101
|
-
class: `max-w-full absolute px-20 py-20 bg-inverse rounded-lg shadow-lg z-10 ${this.getModalPositionClasses()} grow justify-center`
|
|
113
|
+
key: '53c0c2a9559a6a5116f88caa2a7d92810560521e',
|
|
114
|
+
class: `container max-w-full absolute px-20 py-20 bg-inverse rounded-lg shadow-lg z-10 ${this.getModalPositionClasses()} grow justify-center`
|
|
102
115
|
}, h("div", {
|
|
103
|
-
key: '
|
|
116
|
+
key: '576b58f6bd78a969436c6a892f4dfec84a486cc4',
|
|
104
117
|
class: "flex justify-between items-center border-b-2 border-softer pb-8"
|
|
105
118
|
}, h("span", {
|
|
106
|
-
key: '
|
|
119
|
+
key: '63e682d4297a346426dc7559cf0d80e21cc51f4c',
|
|
107
120
|
id: titleId,
|
|
108
121
|
class: `f-heading-04 text-lighter ${this.getTruncateClass()}`
|
|
109
122
|
}, this.title), h("eds-button", {
|
|
110
|
-
key: '
|
|
123
|
+
key: 'eed35b30903d65694f2944431e7f387a8ef3f3e9',
|
|
111
124
|
intent: "tertiary",
|
|
112
125
|
icon: "close",
|
|
113
126
|
"aria-label": "Close modal",
|
|
114
127
|
onClick: () => this.close(),
|
|
115
128
|
"extra-class": "ml-8"
|
|
116
129
|
})), h("div", {
|
|
117
|
-
key: '
|
|
130
|
+
key: '6c6e673640ed2ef2ae6139ae1931a4b0a0db9aa9',
|
|
118
131
|
class: "pt-8"
|
|
119
132
|
}, h("slot", {
|
|
120
|
-
key: '
|
|
133
|
+
key: 'eaaf2c17470681dc799b74f5eaebbe2496564c0e'
|
|
121
134
|
}))));
|
|
122
135
|
}
|
|
123
136
|
get el() {
|
|
@@ -20,7 +20,7 @@ const EdsProgressBar = class {
|
|
|
20
20
|
render() {
|
|
21
21
|
const progressValue = this.value;
|
|
22
22
|
return h("div", {
|
|
23
|
-
key: '
|
|
23
|
+
key: '9a7fa42058034305b22818d464e7b633d7831d67',
|
|
24
24
|
role: "progressbar",
|
|
25
25
|
"aria-valuemin": "0",
|
|
26
26
|
"aria-valuemax": "100",
|
|
@@ -28,7 +28,7 @@ const EdsProgressBar = class {
|
|
|
28
28
|
"aria-valuetext": `${progressValue}%`,
|
|
29
29
|
class: "outer w-full bg-default rounded-lg h-24 border border-softer overflow-hidden"
|
|
30
30
|
}, h("div", {
|
|
31
|
-
key: '
|
|
31
|
+
key: '90b0ac9a538b575a30163c0dbbf437e1cfe8ce39',
|
|
32
32
|
class: `inner h-full rounded-lg bg-accent transition-all duration-300 flex items-center justify-center text-default f-body-02`,
|
|
33
33
|
style: {
|
|
34
34
|
width: `${progressValue}%`
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, g as getElement } from './index.esm2.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'react-dom';
|
|
5
|
+
|
|
6
|
+
const edsRatingCss = ":host{display:inline-block}.block{display:block}.stars{display:flex;gap:0.25rem;cursor:pointer}.star{color:var(--star-empty-color, #ccc);transition:color 0.2s ease-in-out}.star.filled{color:var(--green-500);}.star:hover,.star.filled:hover{transform:scale(1.2)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.mt-4{margin-top:0.25rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.my-4{margin-top:0.25rem;margin-bottom:0.25rem}.my-8{margin-top:0.5rem;margin-bottom:0.5rem}.my-16{margin-top:1rem;margin-bottom:1rem}.my-20{margin-top:1.25rem;margin-bottom:1.25rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.0625rem * var(--tw-space-x-reverse));margin-left:calc(0.0625rem * calc(1 - var(--tw-space-x-reverse)))}";
|
|
7
|
+
const EdsRatingStyle0 = edsRatingCss;
|
|
8
|
+
const EdsRating = class {
|
|
9
|
+
constructor(hostRef) {
|
|
10
|
+
registerInstance(this, hostRef);
|
|
11
|
+
this.rating = createEvent(this, "rating", 7);
|
|
12
|
+
this.ratingType = 'star';
|
|
13
|
+
this.ratingCount = 5;
|
|
14
|
+
this.selectedRating = 0;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Lifecycle method that runs when the component has fully loaded.
|
|
18
|
+
* It emits a custom event for each `eds-button` element contained within the breadcrumb.
|
|
19
|
+
*/
|
|
20
|
+
componentDidLoad() {
|
|
21
|
+
const btns = this.el.shadowRoot.querySelectorAll('eds-button');
|
|
22
|
+
btns.forEach(btn => {
|
|
23
|
+
this.emitContext(btn);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Emits a custom event called `parentContext` for a given link element.
|
|
28
|
+
* This event provides context information about the breadcrumb component.
|
|
29
|
+
*
|
|
30
|
+
* @param btnElement - The link element to which the event will be dispatched.
|
|
31
|
+
*/
|
|
32
|
+
emitContext(btnElement) {
|
|
33
|
+
const event = new CustomEvent('parentContext', {
|
|
34
|
+
detail: {
|
|
35
|
+
componentName: this.el.tagName.toLowerCase(),
|
|
36
|
+
identifier: this.selectedRating
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
btnElement.dispatchEvent(event);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Handles the click event on a star.
|
|
43
|
+
* @param rating - The selected rating value.
|
|
44
|
+
*/
|
|
45
|
+
handleClick(rating) {
|
|
46
|
+
this.selectedRating = rating;
|
|
47
|
+
this.rating.emit(rating);
|
|
48
|
+
}
|
|
49
|
+
render() {
|
|
50
|
+
return h("div", {
|
|
51
|
+
key: '2ab4f3dbc4cc3dd5272143e99c67b23086b03e18',
|
|
52
|
+
role: "radiogroup",
|
|
53
|
+
class: "stars flex space-x-1 my-8"
|
|
54
|
+
}, Array.from({
|
|
55
|
+
length: this.ratingCount
|
|
56
|
+
}, (_, index) => {
|
|
57
|
+
const starRating = index + 1;
|
|
58
|
+
const isSelected = starRating <= this.selectedRating;
|
|
59
|
+
// Use the mapping text if available; otherwise, fall back to a generic label.
|
|
60
|
+
return h("eds-button", {
|
|
61
|
+
icon: this.ratingType,
|
|
62
|
+
role: "radio",
|
|
63
|
+
"aria-checked": isSelected ? 'true' : 'false',
|
|
64
|
+
"aria-label": this.ratingType,
|
|
65
|
+
onClick: () => this.handleClick(starRating),
|
|
66
|
+
tabIndex: this.selectedRating === 0 && index === 0 ? 0 : isSelected ? 0 : -1,
|
|
67
|
+
intent: isSelected ? 'primary' : 'ghost',
|
|
68
|
+
size: "large",
|
|
69
|
+
"extra-class": "p-2" // Optional padding or styling for the star button
|
|
70
|
+
});
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
get el() {
|
|
74
|
+
return getElement(this);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
EdsRating.style = EdsRatingStyle0;
|
|
78
|
+
|
|
79
|
+
export { EdsRating as eds_rating };
|
|
@@ -15,13 +15,13 @@ const EdsSectionCore = class {
|
|
|
15
15
|
render() {
|
|
16
16
|
const TagType = this.tag; // Set dynamic tag type (div or section)
|
|
17
17
|
return h(TagType, {
|
|
18
|
-
key: '
|
|
18
|
+
key: '39c4280156ca46b83538de499baa9b152360b1b4'
|
|
19
19
|
}, h("eds-section-heading", {
|
|
20
|
-
key: '
|
|
20
|
+
key: '34da742e606f0e9bb485faac8aba1519eccc8934',
|
|
21
21
|
headingLevel: this.headingLevel,
|
|
22
22
|
sectionTitle: this.sectionTitle
|
|
23
23
|
}), h("slot", {
|
|
24
|
-
key: '
|
|
24
|
+
key: '517b8ecc112565e8c6bb0bf85b02525deaa6f9df'
|
|
25
25
|
}));
|
|
26
26
|
}
|
|
27
27
|
};
|
|
@@ -52,7 +52,7 @@ const EdsSectionHeading = class {
|
|
|
52
52
|
const TagType = this.tag; // Dynamically set tag type for the container
|
|
53
53
|
const HeadingTag = this.headingLevel; // Dynamically set heading level
|
|
54
54
|
return h(TagType, {
|
|
55
|
-
key: '
|
|
55
|
+
key: '766d3f317904f2d735b7b531cf6ad582f22084e3',
|
|
56
56
|
class: {
|
|
57
57
|
'ui-section-header flex flex-wrap items-center justify-between gap-x-12 gap-y-8 pb-20': true,
|
|
58
58
|
container: this.withContainer,
|
|
@@ -60,7 +60,7 @@ const EdsSectionHeading = class {
|
|
|
60
60
|
'pt-28': !this.spacingLarge
|
|
61
61
|
}
|
|
62
62
|
}, h(HeadingTag, {
|
|
63
|
-
key: '
|
|
63
|
+
key: '41a9db3f627cf93f58d14cdebf3b991be6a6facf',
|
|
64
64
|
class: this.getHeadingClass()
|
|
65
65
|
}, this.sectionTitle));
|
|
66
66
|
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index.esm2.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'react-dom';
|
|
5
|
+
|
|
6
|
+
const edsSpinnerCss = ":host{display:block}.spinner{box-sizing:border-box;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}";
|
|
7
|
+
const EdsSpinnerStyle0 = edsSpinnerCss;
|
|
8
|
+
const EdsSpinner = class {
|
|
9
|
+
constructor(hostRef) {
|
|
10
|
+
registerInstance(this, hostRef);
|
|
11
|
+
this.size = '1rem';
|
|
12
|
+
this.thickness = '10px';
|
|
13
|
+
this.borderColor = 'var(--grey-400)';
|
|
14
|
+
this.bottomColor = 'var(--grey-900)';
|
|
15
|
+
this.background = 'var(--grey-200)';
|
|
16
|
+
this.fullscreen = false;
|
|
17
|
+
}
|
|
18
|
+
render() {
|
|
19
|
+
const spinnerStyle = Object.assign({
|
|
20
|
+
width: this.size,
|
|
21
|
+
height: this.size,
|
|
22
|
+
border: `${this.thickness} solid ${this.borderColor}`,
|
|
23
|
+
borderBottomColor: this.bottomColor
|
|
24
|
+
}, !this.fullscreen && {
|
|
25
|
+
display: 'inline-block'
|
|
26
|
+
});
|
|
27
|
+
// Overlay style: use fixed positioning for fullscreen,
|
|
28
|
+
// and absolute positioning for inline mode.
|
|
29
|
+
const overlayStyle = this.fullscreen ? {
|
|
30
|
+
position: 'fixed',
|
|
31
|
+
top: '0',
|
|
32
|
+
left: '0',
|
|
33
|
+
width: '100vw',
|
|
34
|
+
height: '100vh',
|
|
35
|
+
zIndex: '9999999',
|
|
36
|
+
backgroundColor: this.background,
|
|
37
|
+
display: 'flex',
|
|
38
|
+
alignItems: 'center',
|
|
39
|
+
justifyContent: 'center'
|
|
40
|
+
} : {
|
|
41
|
+
position: 'absolute',
|
|
42
|
+
top: '0',
|
|
43
|
+
left: '0',
|
|
44
|
+
width: '100%',
|
|
45
|
+
height: '100%',
|
|
46
|
+
zIndex: '1000',
|
|
47
|
+
backgroundColor: this.background,
|
|
48
|
+
display: 'flex',
|
|
49
|
+
alignItems: 'center',
|
|
50
|
+
justifyContent: 'center'
|
|
51
|
+
};
|
|
52
|
+
return h(Host, {
|
|
53
|
+
key: '1e1e4ea2734fff8a680e55ca5163e69d2000a55d'
|
|
54
|
+
}, h("div", {
|
|
55
|
+
key: 'acf09f69d43404f317240c0d24e644ec0d046cd7',
|
|
56
|
+
class: "spinner-overlay",
|
|
57
|
+
style: overlayStyle
|
|
58
|
+
}, h("span", {
|
|
59
|
+
key: '3728629fdff738a0b753cd499dc26052b1e3cb7b',
|
|
60
|
+
class: "spinner",
|
|
61
|
+
style: spinnerStyle
|
|
62
|
+
})));
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
EdsSpinner.style = EdsSpinnerStyle0;
|
|
66
|
+
|
|
67
|
+
export { EdsSpinner as eds_spinner };
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index.esm2.js';
|
|
2
|
+
import { p as parseData } from './sharedUtils-a550989c.esm.js';
|
|
3
|
+
import 'react';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'react-dom';
|
|
6
|
+
|
|
7
|
+
const edsStepsCss = ".steps{position:sticky;margin-left:16px;margin-bottom:12px;border-left:1px solid var(--soft-color, #ddd);padding-left:23px;counter-reset:step}.steps h3{counter-increment:step;font-size:var(--f-heading-05-fontSize);font-weight:var(--f-heading-05-fontWeight);line-height:var(--f-heading-05-lineHeight);position:relative}.steps h3::before{content:counter(step);position:absolute;left:-40px;top:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:1rem;border:1px solid #ccc;background:var(--grey-900);color:#fff;border-radius:50%}.steps h4{counter-increment:step;font-size:var(--f-heading-06-fontSize);font-weight:var(--f-heading-06-fontWeight);line-height:var(--f-heading-06-lineHeight);position:relative}.steps h4::before{content:counter(step);position:absolute;left:-40px;top:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:0.875rem;border:1px solid #ccc;background:#333;color:#fff;border-radius:50%}.steps blockquote{margin-top:16px;margin-bottom:16px;font-style:italic;color:#aaa;padding-left:6px}.f-body-01{font-family:var(--f-body-01-fontFamily);font-weight:var(--f-body-01-fontWeight);font-size:var(--f-body-01-fontSize);line-height:var(--f-body-01-lineHeight);letter-spacing:var(--f-body-01-letterSpacing)}.f-body-02{font-family:var(--f-body-02-fontFamily);font-weight:var(--f-body-02-fontWeight);font-size:var(--f-body-02-fontSize);line-height:var(--f-body-02-lineHeight);letter-spacing:var(--f-body-02-letterSpacing)}.f-ui-01{font-family:var(--f-ui-01-fontFamily);font-weight:var(--f-ui-01-fontWeight);font-size:var(--f-ui-01-fontSize);line-height:var(--f-ui-01-lineHeight);letter-spacing:var(--f-ui-01-letterSpacing)}.text-default{color:var(--black)}.text-error{color:var(--red-700)}.text-extra-light{color:var(--grey-300)}.text-inverse{color:var(--white)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.text-lightest{color:var(--grey-500)}.my-16{margin-top:1rem;margin-bottom:1rem}.my-20{margin-top:1.25rem;margin-bottom:1.25rem}.mb-28{margin-bottom:1.75rem}";
|
|
8
|
+
const EdsStepsStyle0 = edsStepsCss;
|
|
9
|
+
const EdsSteps = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
registerInstance(this, hostRef);
|
|
12
|
+
this.step = createEvent(this, "step", 7);
|
|
13
|
+
this.handleNext = () => {
|
|
14
|
+
this.activeStep = this.activeStep + 1;
|
|
15
|
+
if (this.activeStep < this.parsedSteps.length) {
|
|
16
|
+
this.step.emit(this.activeStep);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
this.handleBack = () => {
|
|
20
|
+
if (this.activeStep > 0) {
|
|
21
|
+
this.activeStep = this.activeStep - 1;
|
|
22
|
+
this.step.emit(this.activeStep);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
this.steps = [];
|
|
26
|
+
this.type = 'static';
|
|
27
|
+
this.activeStep = 0;
|
|
28
|
+
}
|
|
29
|
+
handleStepClick(index) {
|
|
30
|
+
this.step.emit(index);
|
|
31
|
+
// In linear mode, update the active step on header click.
|
|
32
|
+
if (this.type === 'linear') {
|
|
33
|
+
this.activeStep = index;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parse the JSON string into an array of steps.
|
|
38
|
+
*/
|
|
39
|
+
get parsedSteps() {
|
|
40
|
+
return parseData(this.steps);
|
|
41
|
+
}
|
|
42
|
+
render() {
|
|
43
|
+
const steps = this.parsedSteps;
|
|
44
|
+
if (this.type === 'linear') {
|
|
45
|
+
return h("div", null, h("div", {
|
|
46
|
+
class: "steps"
|
|
47
|
+
}, steps.map((step, index) => h("div", {
|
|
48
|
+
class: "step mb-28",
|
|
49
|
+
key: index
|
|
50
|
+
}, h("h3", {
|
|
51
|
+
onClick: () => this.handleStepClick(index)
|
|
52
|
+
}, step.title), this.activeStep === index && h("div", {
|
|
53
|
+
class: "content"
|
|
54
|
+
}, h("div", {
|
|
55
|
+
class: "f-body-02 text-lighter my-16"
|
|
56
|
+
}, step.content), h("eds-button", {
|
|
57
|
+
label: index === steps.length - 1 ? 'Finish' : 'Continue',
|
|
58
|
+
intent: "primary",
|
|
59
|
+
class: "next-btn",
|
|
60
|
+
onClick: this.handleNext
|
|
61
|
+
}), h("eds-button", {
|
|
62
|
+
label: "Back",
|
|
63
|
+
intent: "ghostInverse",
|
|
64
|
+
onClick: this.handleBack,
|
|
65
|
+
disabled: index === 0,
|
|
66
|
+
"extra-class": index === 0 ? 'hidden' : 'ml-8 block'
|
|
67
|
+
}))))), this.activeStep === steps.length && h("div", {
|
|
68
|
+
class: "completed"
|
|
69
|
+
}, h("eds-alert", {
|
|
70
|
+
intent: "success",
|
|
71
|
+
message: "All steps completed - you're finished!"
|
|
72
|
+
})));
|
|
73
|
+
}
|
|
74
|
+
// Static mode: show all steps with their content, no navigation buttons.
|
|
75
|
+
return h("div", {
|
|
76
|
+
class: "steps"
|
|
77
|
+
}, steps.map((step, index) => h("div", {
|
|
78
|
+
class: "step mb-28",
|
|
79
|
+
key: index
|
|
80
|
+
}, h("h3", null, step.title), h("div", {
|
|
81
|
+
class: "content"
|
|
82
|
+
}, h("div", {
|
|
83
|
+
class: "f-body-02 text-lighter my-16"
|
|
84
|
+
}, step.content)))));
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
EdsSteps.style = EdsStepsStyle0;
|
|
88
|
+
|
|
89
|
+
export { EdsSteps as eds_steps };
|
|
@@ -24,6 +24,9 @@ import { m as menu } from './menu-340ea948.esm.js';
|
|
|
24
24
|
import { m as more } from './more-4449d549.esm.js';
|
|
25
25
|
import { u as user } from './user-71ebdc15.esm.js';
|
|
26
26
|
import { c as copy } from './copy-03b72cb6.esm.js';
|
|
27
|
+
import { t as thumbsUp } from './thumbs-up-c19a71bc.esm.js';
|
|
28
|
+
import { t as thumbsDown } from './thumbs-down-a18fd049.esm.js';
|
|
29
|
+
import { s as star } from './star-0da9b5e9.esm.js';
|
|
27
30
|
import 'react';
|
|
28
31
|
import 'react/jsx-runtime';
|
|
29
32
|
import 'react-dom';
|
|
@@ -277,7 +280,10 @@ const svgs = /*#__PURE__*/Object.freeze({
|
|
|
277
280
|
search: search,
|
|
278
281
|
success: success,
|
|
279
282
|
warning: warning,
|
|
280
|
-
unknown: unknown
|
|
283
|
+
unknown: unknown,
|
|
284
|
+
thumbsUp: thumbsUp,
|
|
285
|
+
thumbsDown: thumbsDown,
|
|
286
|
+
star: star
|
|
281
287
|
});
|
|
282
288
|
const EdsSvgRepository = class {
|
|
283
289
|
constructor(hostRef) {
|
|
@@ -308,7 +314,7 @@ const EdsSvgRepository = class {
|
|
|
308
314
|
}
|
|
309
315
|
};
|
|
310
316
|
return h("eds-table", {
|
|
311
|
-
key: '
|
|
317
|
+
key: 'e4c454638f02e043a5ad466ee95558be8723d214',
|
|
312
318
|
data: JSON.stringify(svgData),
|
|
313
319
|
config: JSON.stringify(tableConfig),
|
|
314
320
|
"rows-per-page": 10,
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index.esm2.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'react-dom';
|
|
5
|
+
|
|
6
|
+
const edsSwitchCss = ":host{display:inline-block}.switch-container{display:inline-flex;align-items:center}.switch-label{font-size:14px;margin:0 8px}button.switch{position:relative;display:inline-flex;align-items:center;width:50px;height:26px;border:none;border-radius:13px;background-color:#ccc;padding:0;cursor:pointer;transition:background-color 0.2s}button.switch:focus{outline:none;box-shadow:0 0 0 2px #007aff}button.switch.switch--checked{background-color:var(--green-500)}button.switch.switch--disabled{opacity:0.6;cursor:not-allowed}.switch-handle{position:absolute;width:22px;height:22px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:transform 0.2s}button.switch.switch--checked .switch-handle{transform:translateX(24px)}";
|
|
7
|
+
const EdsSwitchStyle0 = edsSwitchCss;
|
|
8
|
+
const EdsSwitch = class {
|
|
9
|
+
constructor(hostRef) {
|
|
10
|
+
registerInstance(this, hostRef);
|
|
11
|
+
this.change = createEvent(this, "change", 7);
|
|
12
|
+
this.toggleSwitch = () => {
|
|
13
|
+
if (this.disabled) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
this.checked = !this.checked;
|
|
17
|
+
this.change.emit(this.checked);
|
|
18
|
+
};
|
|
19
|
+
this.checked = false;
|
|
20
|
+
this.disabled = false;
|
|
21
|
+
this.labelOn = '';
|
|
22
|
+
this.labelOff = '';
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
// Compute an accessible name based on state.
|
|
26
|
+
const accessibleLabel = this.labelOn || this.labelOff ? this.checked ? this.labelOn : this.labelOff : 'Toggle switch';
|
|
27
|
+
return h("div", {
|
|
28
|
+
key: '624776d666ada7b31cb8e84b08380b888451b1a5',
|
|
29
|
+
class: "switch-container"
|
|
30
|
+
}, this.labelOff && h("span", {
|
|
31
|
+
key: 'ced31e91b88f4cb032744bd846811dd012cb9dcd',
|
|
32
|
+
class: "switch-label switch-label--off"
|
|
33
|
+
}, this.labelOff), h("button", {
|
|
34
|
+
key: '8cb4594687313076f18f30fc26062e1440ae0ab9',
|
|
35
|
+
type: "button",
|
|
36
|
+
role: "switch",
|
|
37
|
+
"aria-checked": this.checked ? 'true' : 'false',
|
|
38
|
+
"aria-disabled": this.disabled ? 'true' : 'false',
|
|
39
|
+
"aria-label": accessibleLabel,
|
|
40
|
+
class: {
|
|
41
|
+
switch: true,
|
|
42
|
+
'switch--checked': this.checked,
|
|
43
|
+
'switch--disabled': this.disabled
|
|
44
|
+
},
|
|
45
|
+
onClick: this.toggleSwitch,
|
|
46
|
+
disabled: this.disabled
|
|
47
|
+
}, h("span", {
|
|
48
|
+
key: '88897b4368c337ea2dc4a017a8503171117a2070',
|
|
49
|
+
class: "switch-handle"
|
|
50
|
+
})), this.labelOn && h("span", {
|
|
51
|
+
key: 'bb66f4fd1d09935598d3e9485d3cdf28e182620e',
|
|
52
|
+
class: "switch-label switch-label--on"
|
|
53
|
+
}, this.labelOn));
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
EdsSwitch.style = EdsSwitchStyle0;
|
|
57
|
+
|
|
58
|
+
export { EdsSwitch as eds_switch };
|