@ebrains/react 1.4.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin-37cad2f0.esm.js +3 -0
- package/color-primary-palette_6.entry.esm.js +106 -106
- package/components-section.entry.esm.js +1 -1
- package/correct-use-of-colors.entry.esm.js +33 -33
- package/docs-palettes.entry.esm.js +1 -1
- package/docs-tokens.entry.esm.js +1 -1
- package/draft-dd5dada2.esm.js +3 -0
- package/edit-1dc8d11b.esm.js +3 -0
- package/eds-accordion.entry.esm.js +11 -10
- package/eds-app-root.entry.esm.js +4 -4
- package/{eds-avatar_29.entry.esm.js → eds-avatar_26.entry.esm.js} +305 -556
- package/eds-card-generic.entry.esm.js +4 -5
- package/eds-card-project.entry.esm.js +10 -11
- package/eds-cookies-preference.entry.esm.js +2 -2
- package/eds-feedback.entry.esm.js +5 -5
- package/eds-footer.entry.esm.js +129 -0
- package/eds-frame.entry.esm.js +4 -4
- package/eds-fullscreen-menu.entry.esm.js +124 -0
- package/eds-icon-bin.entry.esm.js +21 -0
- package/eds-icon-bluesky.entry.esm.js +1 -1
- package/eds-icon-bookmark.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-draft.entry.esm.js +21 -0
- package/eds-icon-edit.entry.esm.js +21 -0
- package/eds-icon-eu.entry.esm.js +1 -1
- package/eds-icon-external.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-minus.entry.esm.js +1 -1
- package/eds-icon-more.entry.esm.js +1 -1
- package/eds-icon-paper.entry.esm.js +1 -1
- package/eds-icon-plus.entry.esm.js +1 -1
- package/eds-icon-portal.entry.esm.js +1 -1
- package/eds-icon-private.entry.esm.js +1 -1
- package/eds-icon-public.entry.esm.js +1 -1
- package/eds-icon-search.entry.esm.js +1 -1
- package/eds-icon-star.entry.esm.js +1 -1
- package/eds-icon-start.entry.esm.js +21 -0
- package/eds-icon-success.entry.esm.js +1 -1
- package/eds-icon-thumbs-down.entry.esm.js +1 -1
- package/eds-icon-thumbs-up.entry.esm.js +1 -1
- package/eds-icon-tutorial.entry.esm.js +1 -1
- package/eds-icon-twitter.entry.esm.js +1 -1
- package/eds-icon-unknown.entry.esm.js +1 -1
- package/eds-icon-updown.entry.esm.js +1 -1
- package/eds-icon-user.entry.esm.js +1 -1
- package/eds-icon-youtube.entry.esm.js +1 -1
- package/eds-modal.entry.esm.js +150 -0
- package/eds-progress-bar.entry.esm.js +4 -4
- package/eds-section-core_2.entry.esm.js +5 -5
- package/eds-social-networks.entry.esm.js +74 -0
- package/eds-spinner.entry.esm.js +51 -14
- package/eds-splash-screen.entry.esm.js +1 -4
- package/eds-switch.entry.esm.js +8 -6
- package/eds-timeline.entry.esm.js +4 -4
- package/eds-toast-manager.entry.esm.js +1 -1
- package/eds-tooltip.entry.esm.js +12 -6
- package/eds-trl.entry.esm.js +2 -2
- package/incorrect-use-of-colors.entry.esm.js +8 -8
- package/index.esm2.js +27 -6
- package/logo-space.entry.esm.js +9 -9
- package/logo-variations-horizontal_2.entry.esm.js +28 -28
- package/logo-variations-tabs.entry.esm.js +1 -1
- package/logo-wrong-usage.entry.esm.js +25 -25
- package/package.json +1 -1
- package/start-65126a4f.esm.js +3 -0
- package/svg-repository.entry.esm.js +11 -3
- 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-rating.entry.esm.js +0 -79
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { r as registerInstance, h } from './index.esm2.js';
|
|
2
|
+
import { s as start } from './start-65126a4f.esm.js';
|
|
3
|
+
import 'react';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'react-dom';
|
|
6
|
+
|
|
7
|
+
const EdsIconStart = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
registerInstance(this, hostRef);
|
|
10
|
+
this.class = '';
|
|
11
|
+
}
|
|
12
|
+
render() {
|
|
13
|
+
return h("span", {
|
|
14
|
+
key: 'd8af71df9336e0a1d8763c5f5eea4f19da127785',
|
|
15
|
+
class: this.class,
|
|
16
|
+
innerHTML: start
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export { EdsIconStart as eds_icon_start };
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { r as registerInstance, h, g as getElement } from './index.esm2.js';
|
|
2
|
+
import { s as sendAnalytics } from './analytics-d99780e3.esm.js';
|
|
3
|
+
import 'react';
|
|
4
|
+
import 'react/jsx-runtime';
|
|
5
|
+
import 'react-dom';
|
|
6
|
+
|
|
7
|
+
const edsModalCss = ".block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.fixed{position:fixed}.inset-0{inset:0rem}.z-10{z-index:10}.z-50{z-index:50}.z-50{z-index:50}.z-9999999{z-index:9999999}.w-full{width:100%}.min-w-full{min-width:100%}.max-w-full{max-width:100%}.absolute{position:absolute}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-20{padding-top:1.25rem;padding-bottom:1.25rem}.bg-inverse{background-color:var(--white)}.bg-dark{background-color:var(--grey-300)}.rounded-lg{border-radius:16px}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.p-6{padding:0.375rem}.p-8{padding:0.5rem}.left-1\\/2{left:50%}.left-20{left:1.25rem}.right-20{right:1.25rem}.top-1\\/2{top:50%}.top-0{top:0rem}.left-0{left:0rem}.top-20{top:1.25rem}.bottom-0{bottom:0rem}.bottom-20{bottom:1.25rem}.grow{flex-grow:1}.-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.border-b-2{border-bottom-width:2px}.border-softer{border-color:rgba(0, 0, 0, .1)}.pb-8{padding-bottom:0.5rem}.f-heading-03{font-family:var(--f-heading-03-fontFamily);font-weight:var(--f-heading-03-fontWeight);font-size:var(--f-heading-03-fontSize);line-height:var(--f-heading-03-lineHeight);letter-spacing:var(--f-heading-03-letterSpacing)}.f-heading-04{font-family:var(--f-heading-04-fontFamily);font-weight:var(--f-heading-04-fontWeight);font-size:var(--f-heading-04-fontSize);line-height:var(--f-heading-04-lineHeight);letter-spacing:var(--f-heading-04-letterSpacing)}.f-heading-05{font-family:var(--f-heading-05-fontFamily);font-weight:var(--f-heading-05-fontWeight);font-size:var(--f-heading-05-fontSize);line-height:var(--f-heading-05-lineHeight);letter-spacing:var(--f-heading-05-letterSpacing)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.text-lightest{color:var(--grey-500)}.text-default{color:var(--black)}.text-inverse{color:var(--white)}.bg-dark{background-color:var(--grey-300)}.bg-strong{background-color:var(--grey-700)}.bg-strongest{background-color:var(--black)}.ml-8{margin-left:0.5rem}.pt-8{padding-top:0.5rem}.bg-opacity-90{opacity:0.9}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}@media (min-width: 750px){.md\\:bottom-20{bottom:1.25rem}.md\\:w-auto{width:auto}.md\\:top-20{top:1.25rem}.md\\:top-1\\/2{top:50%}.md\\:left-1\\/2{left:50%}.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:-translate-x-1\\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:-translate-y-1\\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\\:gap-y-12{row-gap:0.75rem}}";
|
|
8
|
+
const EdsModalStyle0 = edsModalCss;
|
|
9
|
+
const EdsModal = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
registerInstance(this, hostRef);
|
|
12
|
+
this.heading = '';
|
|
13
|
+
this.truncate = 1;
|
|
14
|
+
this.position = 'middle';
|
|
15
|
+
this.inverseHeader = false;
|
|
16
|
+
this.isOpen = false;
|
|
17
|
+
}
|
|
18
|
+
getTruncateClass() {
|
|
19
|
+
return this.truncate ? `line-clamp-${this.truncate}` : '';
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Returns the Tailwind CSS classes to position the modal based on the `position` prop.
|
|
23
|
+
*
|
|
24
|
+
* @private
|
|
25
|
+
* @returns {string} The concatenated CSS classes for modal positioning.
|
|
26
|
+
*/
|
|
27
|
+
getModalPositionClasses() {
|
|
28
|
+
switch (this.position) {
|
|
29
|
+
case 'top':
|
|
30
|
+
return [
|
|
31
|
+
// mobile: pinned to top, full-width
|
|
32
|
+
'top-0', 'left-0', 'w-full',
|
|
33
|
+
// desktop: half-width centred and offset down
|
|
34
|
+
'md:left-1/2', 'md:w-auto', 'md:-translate-x-1/2', 'md:top-20'].join(' ');
|
|
35
|
+
case 'bottom':
|
|
36
|
+
return ['bottom-0', 'left-0', 'w-full', 'md:left-1/2', 'md:w-auto', 'md:-translate-x-1/2', 'md:bottom-20'].join(' ');
|
|
37
|
+
/*case 'left':
|
|
38
|
+
…
|
|
39
|
+
case 'right':
|
|
40
|
+
…*/
|
|
41
|
+
case 'middle':
|
|
42
|
+
default:
|
|
43
|
+
return [
|
|
44
|
+
// mobile: full-width, start from top with a little padding
|
|
45
|
+
'top-0', 'left-0', 'w-full', 'pt-4',
|
|
46
|
+
// desktop: centred both axes
|
|
47
|
+
'md:left-1/2', 'md:top-1/2', 'md:w-auto', 'md:-translate-x-1/2', 'md:-translate-y-1/2'].join(' ');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Opens the modal.
|
|
52
|
+
*/
|
|
53
|
+
async open() {
|
|
54
|
+
var _a;
|
|
55
|
+
this.isOpen = true;
|
|
56
|
+
sendAnalytics({
|
|
57
|
+
category: 'ui-component',
|
|
58
|
+
parentContext: null,
|
|
59
|
+
tag: this.el.tagName.toLowerCase(),
|
|
60
|
+
name: ((_a = this.heading) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '',
|
|
61
|
+
action: 'opened'
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Closes the modal.
|
|
66
|
+
*/
|
|
67
|
+
async close() {
|
|
68
|
+
var _a;
|
|
69
|
+
this.isOpen = false;
|
|
70
|
+
sendAnalytics({
|
|
71
|
+
category: 'ui-component',
|
|
72
|
+
parentContext: null,
|
|
73
|
+
tag: this.el.tagName.toLowerCase(),
|
|
74
|
+
name: ((_a = this.heading) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '',
|
|
75
|
+
action: 'closed'
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Toggles the modal open or closed.
|
|
80
|
+
*/
|
|
81
|
+
async toggle() {
|
|
82
|
+
this.isOpen = !this.isOpen;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Listens for global custom events to open the modal.
|
|
86
|
+
*/
|
|
87
|
+
handleGlobalOpen() {
|
|
88
|
+
this.open();
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Listens for global custom events to close the modal.
|
|
92
|
+
*/
|
|
93
|
+
handleGlobalClose() {
|
|
94
|
+
this.close();
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Closes the modal when the Escape key is pressed.
|
|
98
|
+
*/
|
|
99
|
+
handleKeyDown(event) {
|
|
100
|
+
if (this.isOpen && event.key === 'Escape') {
|
|
101
|
+
this.close();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
render() {
|
|
105
|
+
// Generate a unique id for the title so we can reference it for aria-labelledby.
|
|
106
|
+
const titleId = `modal-title-${this.el.tagName.toLowerCase()}`;
|
|
107
|
+
return h("div", {
|
|
108
|
+
key: 'b2b2c3a433049b28ec58dd7ebd0c074597c9e5d4',
|
|
109
|
+
id: "eds-modal",
|
|
110
|
+
class: `${this.isOpen ? 'block' : 'hidden'} fixed inset-0 z-9999999 flex`,
|
|
111
|
+
role: "dialog",
|
|
112
|
+
"aria-modal": "true",
|
|
113
|
+
"aria-labelledby": titleId
|
|
114
|
+
}, this.isOpen && h("div", {
|
|
115
|
+
key: '839115c4261e68289410b1a3e30eb28597cdae9e',
|
|
116
|
+
class: "fixed inset-0 bg-dark bg-opacity-90" // Add backdrop-blur utility class here
|
|
117
|
+
,
|
|
118
|
+
|
|
119
|
+
onClick: () => this.close()
|
|
120
|
+
}), h("div", {
|
|
121
|
+
key: 'ffb82ca6bf618a842e5c6c5783caccac0b538f3d',
|
|
122
|
+
class: `container absolute bg-inverse z-10 ${this.getModalPositionClasses()} grow justify-center`
|
|
123
|
+
}, h("div", {
|
|
124
|
+
key: '8bd4b17956d04772ba690fce563aa929195cd3d0',
|
|
125
|
+
class: `flex justify-between items-center border-b-2 border-softer px-20 py-20 ${this.inverseHeader ? 'bg-strongest text-inverse' : 'bg-dark text-default'}`
|
|
126
|
+
}, h("span", {
|
|
127
|
+
key: 'dcbdb579245e406d2fc4e4a44fb1828625e1e7aa',
|
|
128
|
+
id: titleId,
|
|
129
|
+
class: `f-heading-04 ${this.getTruncateClass()}`
|
|
130
|
+
}, this.heading), h("eds-button", {
|
|
131
|
+
key: '533c582543fa09ff1d7a7a8a1d1b608eb02d5c72',
|
|
132
|
+
intent: "tertiary",
|
|
133
|
+
icon: "close",
|
|
134
|
+
"aria-label": "Close modal",
|
|
135
|
+
onClick: () => this.close(),
|
|
136
|
+
"extra-class": "ml-8 text-default"
|
|
137
|
+
})), h("div", {
|
|
138
|
+
key: '8d95e7649c535da3ddb4de5646579f12341a9e10',
|
|
139
|
+
class: "pt-8 px-20 py-20"
|
|
140
|
+
}, h("slot", {
|
|
141
|
+
key: '7b9678ff3cedbef291ea8dea53ef30a96237a60c'
|
|
142
|
+
}))));
|
|
143
|
+
}
|
|
144
|
+
get el() {
|
|
145
|
+
return getElement(this);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
EdsModal.style = EdsModalStyle0;
|
|
149
|
+
|
|
150
|
+
export { EdsModal as eds_modal };
|
|
@@ -25,7 +25,7 @@ const EdsProgressBar = class {
|
|
|
25
25
|
// Fill bar classes (conditionally rounded only when >0)
|
|
26
26
|
const fillClasses = ['inner', 'h-full', 'transition-all', 'duration-300', 'bg-accent', progressValue > 0 && this.rounded ? 'rounded-lg' : '', 'z-0'].filter(Boolean).join(' ');
|
|
27
27
|
return h("div", {
|
|
28
|
-
key: '
|
|
28
|
+
key: '8406651d280d0a7f55ac627aa08fed80ff01028e',
|
|
29
29
|
role: "progressbar",
|
|
30
30
|
"aria-valuemin": "0",
|
|
31
31
|
"aria-valuemax": "100",
|
|
@@ -33,16 +33,16 @@ const EdsProgressBar = class {
|
|
|
33
33
|
"aria-valuetext": `${progressValue}%`,
|
|
34
34
|
class: outerClasses
|
|
35
35
|
}, h("div", {
|
|
36
|
-
key: '
|
|
36
|
+
key: '0b784248450d7766879be03a2e1f83484090da2c',
|
|
37
37
|
class: fillClasses,
|
|
38
38
|
style: {
|
|
39
39
|
width: `${progressValue}%`
|
|
40
40
|
}
|
|
41
41
|
}), h("div", {
|
|
42
|
-
key: '
|
|
42
|
+
key: '421253aa1f8dd3ea83936452607c4bcd49f47eb3',
|
|
43
43
|
class: "absolute inset-0 flex items-center justify-center pointer-events-none z-10"
|
|
44
44
|
}, h("span", {
|
|
45
|
-
key: '
|
|
45
|
+
key: 'ae649fcb7ed22741f3fedd129f0c0cb41254b721',
|
|
46
46
|
class: "text-default f-body-02"
|
|
47
47
|
}, progressValue, "%")));
|
|
48
48
|
}
|
|
@@ -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: 'b3469cabf7e1a59c7908f5440b76d0c3bed0395d'
|
|
19
19
|
}, h("eds-section-heading", {
|
|
20
|
-
key: '
|
|
20
|
+
key: '38e11acb4b491579573bee449680776d3ec23de3',
|
|
21
21
|
headingLevel: this.headingLevel,
|
|
22
22
|
sectionTitle: this.sectionTitle
|
|
23
23
|
}), h("slot", {
|
|
24
|
-
key: '
|
|
24
|
+
key: '133fc1150fb7e300544388adc673c1446b36ac39'
|
|
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: '1b819df75c9d61eebe7d11b9116dba7278a34d91',
|
|
56
56
|
class: {
|
|
57
57
|
'ui-section-header flex flex-wrap items-center justify-between gap-x-12 gap-y-8': 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: '8f99c7c15982f9190117f8eb71725af66afd0741',
|
|
64
64
|
class: this.getHeadingClass()
|
|
65
65
|
}, this.sectionTitle));
|
|
66
66
|
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { r as registerInstance, h } from './index.esm2.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import 'react-dom';
|
|
5
|
+
|
|
6
|
+
const edsSocialNetworksCss = "blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}.f-ui-02{font-family:var(--f-ui-02-fontFamily);font-weight:var(--f-ui-02-fontWeight);font-size:var(--f-ui-02-fontSize);line-height:var(--f-ui-02-lineHeight);letter-spacing:var(--f-ui-02-letterSpacing)}.f-ui-02-light{font-family:var(--f-ui-02-light-fontFamily);font-weight:var(--f-ui-02-light-fontWeight);font-size:var(--f-ui-02-light-fontSize);line-height:var(--f-ui-02-light-lineHeight);letter-spacing:var(--f-ui-02-light-letterSpacing)}.f-ui-03{font-family:var(--f-ui-03-fontFamily);font-weight:var(--f-ui-03-fontWeight);font-size:var(--f-ui-03-fontSize);line-height:var(--f-ui-03-lineHeight);letter-spacing:var(--f-ui-03-letterSpacing)}.mt-12{margin-top:0.75rem}.mt-16{margin-top:1rem}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.gap-4{gap:0.25rem}.effect-color{transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.effect-focus{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.hover\\:text-default:hover{color:var(--black)}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.rounded-sm{border-radius:8px}";
|
|
7
|
+
const EdsSocialNetworksStyle0 = edsSocialNetworksCss;
|
|
8
|
+
const EdsSocialNetworks = class {
|
|
9
|
+
constructor(hostRef) {
|
|
10
|
+
registerInstance(this, hostRef);
|
|
11
|
+
/**
|
|
12
|
+
* Array of social network objects, each containing label, URL, and icon.
|
|
13
|
+
* These are used to render the social network links.
|
|
14
|
+
*
|
|
15
|
+
* @private
|
|
16
|
+
* @type {SocialNetworks[]}
|
|
17
|
+
*/
|
|
18
|
+
this.socialNetworks = [{
|
|
19
|
+
label: 'Twitter',
|
|
20
|
+
url: 'https://twitter.com/ebrains_eu',
|
|
21
|
+
icon: 'twitter'
|
|
22
|
+
}, {
|
|
23
|
+
label: 'Linkedin',
|
|
24
|
+
url: 'https://www.linkedin.com/company/ebrains-eu/about/',
|
|
25
|
+
icon: 'linkedin'
|
|
26
|
+
}, {
|
|
27
|
+
label: 'Facebook',
|
|
28
|
+
url: 'https://www.facebook.com/people/Ebrains_eu/100046659909324/',
|
|
29
|
+
icon: 'facebook'
|
|
30
|
+
}, {
|
|
31
|
+
label: 'Youtube',
|
|
32
|
+
url: 'https://www.youtube.com/channel/UC6E796cVVR5Xrs2A5jJmleQ',
|
|
33
|
+
icon: 'youtube'
|
|
34
|
+
}, {
|
|
35
|
+
label: 'Mastodon',
|
|
36
|
+
url: 'https://mastodon.social/@ebrains',
|
|
37
|
+
icon: 'mastodon'
|
|
38
|
+
}, {
|
|
39
|
+
label: 'Bluesky',
|
|
40
|
+
url: 'https://bsky.app/profile/ebrains.bsky.social',
|
|
41
|
+
icon: 'bluesky'
|
|
42
|
+
}];
|
|
43
|
+
this.heading = 'Follow EBRAINS to keep up-to-date';
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Renders the component's HTML structure with links to EBRAINS social profiles.
|
|
47
|
+
* Each social network link uses the `eds-link` component with specific classes and styles.
|
|
48
|
+
*
|
|
49
|
+
* @returns {JSX.Element} The rendered JSX for the component.
|
|
50
|
+
*/
|
|
51
|
+
render() {
|
|
52
|
+
return h("div", {
|
|
53
|
+
key: '7bd6202c426d23ded6af47b26e025f2d1b42904a'
|
|
54
|
+
}, h("p", {
|
|
55
|
+
key: '0c66f58474ff55cc06bd9f3f15f3deb251c9fb87',
|
|
56
|
+
class: "f-ui-02"
|
|
57
|
+
}, this.heading), h("ul", {
|
|
58
|
+
key: '3e082ae50c77e2d8612b823aa3e474672d65d42f',
|
|
59
|
+
class: "mt-12 flex gap-4"
|
|
60
|
+
}, this.socialNetworks.map((network, index) => h("li", {
|
|
61
|
+
key: index
|
|
62
|
+
}, h("eds-link", {
|
|
63
|
+
"extra-class": "effect-color effect-focus text-lighter hover:text-default flex items-center justify-center rounded-sm",
|
|
64
|
+
external: true,
|
|
65
|
+
"aria-label": network.label,
|
|
66
|
+
url: network.url,
|
|
67
|
+
icon: network.icon,
|
|
68
|
+
intent: "strong"
|
|
69
|
+
})))));
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
EdsSocialNetworks.style = EdsSocialNetworksStyle0;
|
|
73
|
+
|
|
74
|
+
export { EdsSocialNetworks as eds_social_networks };
|
package/eds-spinner.entry.esm.js
CHANGED
|
@@ -3,24 +3,56 @@ import 'react';
|
|
|
3
3
|
import 'react/jsx-runtime';
|
|
4
4
|
import 'react-dom';
|
|
5
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)}}";
|
|
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)}}.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)}";
|
|
7
7
|
const EdsSpinnerStyle0 = edsSpinnerCss;
|
|
8
8
|
const EdsSpinner = class {
|
|
9
9
|
constructor(hostRef) {
|
|
10
10
|
registerInstance(this, hostRef);
|
|
11
|
-
this.size = '
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.bottomColor = 'var(--grey-900)';
|
|
11
|
+
this.size = 'md';
|
|
12
|
+
this.variant = 'secondary';
|
|
13
|
+
this.message = undefined;
|
|
15
14
|
this.background = 'var(--grey-200)';
|
|
16
15
|
this.fullscreen = false;
|
|
17
16
|
}
|
|
17
|
+
get spinnerSize() {
|
|
18
|
+
switch (this.size) {
|
|
19
|
+
case 'xs':
|
|
20
|
+
return '1rem';
|
|
21
|
+
case 'sm':
|
|
22
|
+
return '4rem';
|
|
23
|
+
case 'lg':
|
|
24
|
+
return '8rem';
|
|
25
|
+
case 'xl':
|
|
26
|
+
return '10rem';
|
|
27
|
+
case 'md':
|
|
28
|
+
default:
|
|
29
|
+
return '6rem';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
get spinnerThickness() {
|
|
33
|
+
switch (this.size) {
|
|
34
|
+
case 'xs':
|
|
35
|
+
return '4px';
|
|
36
|
+
case 'sm':
|
|
37
|
+
return '8px';
|
|
38
|
+
case 'lg':
|
|
39
|
+
return '16px';
|
|
40
|
+
case 'xl':
|
|
41
|
+
return '20px';
|
|
42
|
+
case 'md':
|
|
43
|
+
default:
|
|
44
|
+
return '12px';
|
|
45
|
+
}
|
|
46
|
+
}
|
|
18
47
|
render() {
|
|
48
|
+
// derive colors from variant
|
|
49
|
+
const borderColor = this.variant === 'primary' ? 'var(--grey-900)' : 'var(--grey-400)';
|
|
50
|
+
const bottomColor = this.variant === 'primary' ? 'var(--green-400)' : 'var(--grey-900)';
|
|
19
51
|
const spinnerStyle = Object.assign({
|
|
20
|
-
width: this.
|
|
21
|
-
height: this.
|
|
22
|
-
border: `${this.
|
|
23
|
-
borderBottomColor:
|
|
52
|
+
width: this.spinnerSize,
|
|
53
|
+
height: this.spinnerSize,
|
|
54
|
+
border: `${this.spinnerThickness} solid ${borderColor}`,
|
|
55
|
+
borderBottomColor: bottomColor
|
|
24
56
|
}, !this.fullscreen && {
|
|
25
57
|
display: 'inline-block'
|
|
26
58
|
});
|
|
@@ -35,6 +67,7 @@ const EdsSpinner = class {
|
|
|
35
67
|
zIndex: '9999999',
|
|
36
68
|
backgroundColor: this.background,
|
|
37
69
|
display: 'flex',
|
|
70
|
+
flexDirection: 'column',
|
|
38
71
|
alignItems: 'center',
|
|
39
72
|
justifyContent: 'center'
|
|
40
73
|
} : {
|
|
@@ -43,23 +76,27 @@ const EdsSpinner = class {
|
|
|
43
76
|
left: '0',
|
|
44
77
|
width: '100%',
|
|
45
78
|
height: '100%',
|
|
46
|
-
zIndex: '1000',
|
|
79
|
+
//zIndex: '1000',
|
|
47
80
|
backgroundColor: this.background,
|
|
48
81
|
display: 'flex',
|
|
82
|
+
flexDirection: 'column',
|
|
49
83
|
alignItems: 'center',
|
|
50
84
|
justifyContent: 'center'
|
|
51
85
|
};
|
|
52
86
|
return h(Host, {
|
|
53
|
-
key: '
|
|
87
|
+
key: 'b2ba16cd90ebf036143f6ab52b996497464814c1'
|
|
54
88
|
}, h("div", {
|
|
55
|
-
key: '
|
|
89
|
+
key: 'f619fb03d0364ae7032931559d591fab6ad40123',
|
|
56
90
|
class: "spinner-overlay",
|
|
57
91
|
style: overlayStyle
|
|
58
92
|
}, h("span", {
|
|
59
|
-
key: '
|
|
93
|
+
key: '7c1e397ab319de1f67320e3836225e3733a483fd',
|
|
60
94
|
class: "spinner",
|
|
61
95
|
style: spinnerStyle
|
|
62
|
-
})
|
|
96
|
+
}), this.message && h("p", {
|
|
97
|
+
key: 'ddf6e08c8d2d00f114f815bab28b06c19a56cd6d',
|
|
98
|
+
class: "f-body-01"
|
|
99
|
+
}, this.message)));
|
|
63
100
|
}
|
|
64
101
|
};
|
|
65
102
|
EdsSpinner.style = EdsSpinnerStyle0;
|
|
@@ -68,10 +68,7 @@ const EdsSplashScreen = class {
|
|
|
68
68
|
})), h("div", {
|
|
69
69
|
class: "content-container"
|
|
70
70
|
}, h("eds-spinner", {
|
|
71
|
-
size: "
|
|
72
|
-
thickness: "3px",
|
|
73
|
-
"border-color": "var(--grey-400)",
|
|
74
|
-
"bottom-color": "var(--grey-900)",
|
|
71
|
+
size: "xs",
|
|
75
72
|
background: "none",
|
|
76
73
|
fullscreen: false
|
|
77
74
|
}))));
|
package/eds-switch.entry.esm.js
CHANGED
|
@@ -15,7 +15,9 @@ const EdsSwitch = class {
|
|
|
15
15
|
return;
|
|
16
16
|
}
|
|
17
17
|
this.checked = !this.checked;
|
|
18
|
-
this.uiswitch.emit(
|
|
18
|
+
this.uiswitch.emit({
|
|
19
|
+
value: this.checked
|
|
20
|
+
});
|
|
19
21
|
sendAnalytics({
|
|
20
22
|
category: 'ui-component',
|
|
21
23
|
tag: this.el.tagName.toLowerCase(),
|
|
@@ -32,13 +34,13 @@ const EdsSwitch = class {
|
|
|
32
34
|
// Compute an accessible name based on state.
|
|
33
35
|
const accessibleLabel = this.labelOn || this.labelOff ? this.checked ? this.labelOn : this.labelOff : 'Toggle switch';
|
|
34
36
|
return h("div", {
|
|
35
|
-
key: '
|
|
37
|
+
key: '1de6f7afd451f5d0276b62ef7bbf817f132e4440',
|
|
36
38
|
class: "switch-container"
|
|
37
39
|
}, this.labelOff && h("span", {
|
|
38
|
-
key: '
|
|
40
|
+
key: 'd2d1017d7d26537eb2e65fa74b1f86453edc93d2',
|
|
39
41
|
class: "switch-label switch-label--off mr-8"
|
|
40
42
|
}, this.labelOff), h("button", {
|
|
41
|
-
key: '
|
|
43
|
+
key: 'ade3ba909f5744a2b87238da52fcc33f600721cf',
|
|
42
44
|
type: "button",
|
|
43
45
|
role: "switch",
|
|
44
46
|
"aria-checked": this.checked ? 'true' : 'false',
|
|
@@ -52,10 +54,10 @@ const EdsSwitch = class {
|
|
|
52
54
|
onClick: this.toggleSwitch,
|
|
53
55
|
disabled: this.disabled
|
|
54
56
|
}, h("span", {
|
|
55
|
-
key: '
|
|
57
|
+
key: '64034f73021623f63523c7bb52ec5233ad291c55',
|
|
56
58
|
class: "switch-handle"
|
|
57
59
|
})), this.labelOn && h("span", {
|
|
58
|
-
key: '
|
|
60
|
+
key: 'a96a35565ac28ed6a27855b90b180f15adb0e711',
|
|
59
61
|
class: "switch-label switch-label--on ml-8"
|
|
60
62
|
}, this.labelOn));
|
|
61
63
|
}
|
|
@@ -46,16 +46,16 @@ const EdsTimeline = class {
|
|
|
46
46
|
}
|
|
47
47
|
render() {
|
|
48
48
|
return h("div", {
|
|
49
|
-
key: '
|
|
49
|
+
key: '58f12a81691ac711c82aa0db5786101cecadf7eb',
|
|
50
50
|
class: "max-w-sidebar mx-auto px-4 py-8"
|
|
51
51
|
}, h("div", {
|
|
52
|
-
key: '
|
|
52
|
+
key: '9b9d5e83a7f9c93850b95590dda1ba38eef56131',
|
|
53
53
|
class: "relative"
|
|
54
54
|
}, h("div", {
|
|
55
|
-
key: '
|
|
55
|
+
key: 'fd97d75bb70cbe629310e73f2017f3f188b3160a',
|
|
56
56
|
class: "absolute w-4 left-1/2 transform -translate-x-1/2 bg-strong h-full z-0"
|
|
57
57
|
}), h("div", {
|
|
58
|
-
key: '
|
|
58
|
+
key: 'c69f1e3755fadfa9234f51a5d9b3196f339164f5',
|
|
59
59
|
class: "space-y-16"
|
|
60
60
|
}, this.parsedEvents.map((event, index) => h("div", {
|
|
61
61
|
class: "relative flex"
|