@ebrains/react 0.6.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.
Files changed (90) hide show
  1. package/color-primary-palette_6.entry.esm.js +106 -106
  2. package/correct-use-of-colors.entry.esm.js +33 -33
  3. package/eds-accordion_22.entry.esm.js +269 -0
  4. package/eds-app-root.entry.esm.js +53 -0
  5. package/eds-avatar_4.entry.esm.js +185 -0
  6. package/eds-breadcrumb.entry.esm.js +4 -15
  7. package/eds-card-generic.entry.esm.js +114 -0
  8. package/eds-card-section.entry.esm.js +56 -0
  9. package/eds-components-section.entry.esm.js +1 -1
  10. package/eds-cookies-preference.entry.esm.js +2 -2
  11. package/eds-docs-palettes.entry.esm.js +1 -1
  12. package/eds-docs-tokens.entry.esm.js +1 -1
  13. package/{eds-dropdown_2.entry.esm.js → eds-dropdown.entry.esm.js} +19 -98
  14. package/eds-feedback.entry.esm.js +82 -0
  15. package/eds-form.entry.esm.js +253 -253
  16. package/eds-frame.entry.esm.js +34 -33
  17. package/eds-icon-arrow-diagonal.entry.esm.js +1 -1
  18. package/eds-icon-arrow-right.entry.esm.js +1 -1
  19. package/eds-icon-bluesky.entry.esm.js +1 -1
  20. package/eds-icon-chevron-down.entry.esm.js +1 -1
  21. package/eds-icon-chevron-left.entry.esm.js +1 -1
  22. package/eds-icon-chevron-right.entry.esm.js +1 -1
  23. package/eds-icon-chevron-up.entry.esm.js +1 -1
  24. package/eds-icon-close.entry.esm.js +1 -1
  25. package/eds-icon-copy.entry.esm.js +1 -1
  26. package/eds-icon-eu.entry.esm.js +1 -1
  27. package/eds-icon-facebook.entry.esm.js +1 -1
  28. package/eds-icon-gitlab.entry.esm.js +1 -1
  29. package/eds-icon-linkedin.entry.esm.js +1 -1
  30. package/eds-icon-loader.entry.esm.js +1 -1
  31. package/eds-icon-mastodon.entry.esm.js +1 -1
  32. package/eds-icon-menu.entry.esm.js +1 -1
  33. package/eds-icon-more.entry.esm.js +1 -1
  34. package/eds-icon-search.entry.esm.js +1 -1
  35. package/eds-icon-star.entry.esm.js +21 -0
  36. package/eds-icon-success.entry.esm.js +1 -1
  37. package/eds-icon-thumbs-down.entry.esm.js +21 -0
  38. package/eds-icon-thumbs-up.entry.esm.js +21 -0
  39. package/eds-icon-twitter.entry.esm.js +1 -1
  40. package/eds-icon-user.entry.esm.js +1 -1
  41. package/eds-icon-youtube.entry.esm.js +1 -1
  42. package/{keycloak-d502ec16.esm.js → eds-login_2.entry.esm.js} +172 -1
  43. package/eds-logo-variations.entry.esm.js +1 -1
  44. package/eds-modal.entry.esm.js +22 -9
  45. package/eds-progress-bar.entry.esm.js +2 -2
  46. package/eds-rating.entry.esm.js +37 -37
  47. package/eds-section-core_2.entry.esm.js +5 -5
  48. package/eds-spinner.entry.esm.js +67 -0
  49. package/eds-steps.entry.esm.js +8 -17
  50. package/eds-svg-repository.entry.esm.js +8 -2
  51. package/eds-switch.entry.esm.js +5 -5
  52. package/eds-tabs.entry.esm.js +14 -26
  53. package/eds-timeline.entry.esm.js +6 -23
  54. package/eds-toast-manager.entry.esm.js +62 -0
  55. package/eds-toast.entry.esm.js +92 -0
  56. package/eds-tooltip.entry.esm.js +3 -3
  57. package/eds-trl.entry.esm.js +2 -2
  58. package/eds-user.entry.esm.js +64 -87
  59. package/eds-vertical-stepper.entry.esm.js +5 -5
  60. package/formUtils-ac68474d.esm.js +247 -0
  61. package/incorrect-use-of-colors.entry.esm.js +7 -7
  62. package/index.esm.js +1 -1
  63. package/index.esm2.js +46 -46
  64. package/logo-space.entry.esm.js +4 -4
  65. package/logo-variations-horizontal_2.entry.esm.js +26 -26
  66. package/logo-wrong-usage.entry.esm.js +37 -37
  67. package/package.json +1 -1
  68. package/sharedUtils-a550989c.esm.js +17 -0
  69. package/src/components.d.ts +4 -1
  70. package/star-0da9b5e9.esm.js +5 -0
  71. package/thumbs-down-a18fd049.esm.js +5 -0
  72. package/thumbs-up-c19a71bc.esm.js +6 -0
  73. package/token-list_3.entry.esm.js +5 -5
  74. package/token-ratios.entry.esm.js +3 -3
  75. package/token-spacing.entry.esm.js +26 -26
  76. package/token-typography.entry.esm.js +2 -2
  77. package/eds-accordion_13.entry.esm.js +0 -1064
  78. package/eds-block-break.entry.esm.js +0 -22
  79. package/eds-footer.entry.esm.js +0 -102
  80. package/eds-fullscreen-menu.entry.esm.js +0 -143
  81. package/eds-header.entry.esm.js +0 -130
  82. package/eds-input_7.entry.esm.js +0 -529
  83. package/eds-link.entry.esm.js +0 -204
  84. package/eds-login.entry.esm.js +0 -97
  85. package/eds-logo.entry.esm.js +0 -87
  86. package/eds-navigator.entry.esm.js +0 -72
  87. package/eds-pagination_2.entry.esm.js +0 -472
  88. package/eds-social-networks.entry.esm.js +0 -74
  89. package/eds-tab.entry.esm.js +0 -41
  90. package/eds-tabs-content.entry.esm.js +0 -145
@@ -20,7 +20,7 @@ const EdsProgressBar = class {
20
20
  render() {
21
21
  const progressValue = this.value;
22
22
  return h("div", {
23
- key: '0f47fedbf9d44887f65b399e184215f0937b1df1',
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: 'a2d095d778842c969832ea6b1ba7f7ef917d1390',
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}%`
@@ -1,34 +1,42 @@
1
- import { r as registerInstance, c as createEvent, h } from './index.esm2.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index.esm2.js';
2
2
  import 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom';
5
5
 
6
- const edsRatingCss = ":host{display:inline-block;font-size:2rem}.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)}.f-heading-02{font-family:var(--f-heading-02-fontFamily);font-weight:var(--f-heading-02-fontWeight);font-size:var(--f-heading-02-fontSize);line-height:var(--f-heading-02-lineHeight);letter-spacing:var(--f-heading-02-letterSpacing)}.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)}.f-heading-06{font-family:var(--f-heading-06-fontFamily);font-weight:var(--f-heading-06-fontWeight);font-size:var(--f-heading-06-fontSize);line-height:var(--f-heading-06-lineHeight);letter-spacing:var(--f-heading-06-letterSpacing)}.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-04{font-family:var(--f-ui-04-fontFamily);font-weight:var(--f-ui-04-fontWeight);font-size:var(--f-ui-04-fontSize);line-height:var(--f-ui-04-lineHeight);letter-spacing:var(--f-ui-04-letterSpacing)}.text-light{color:var(--grey-700)}.text-lighter{color:var(--grey-600)}.text-lightest{color:var(--grey-500)}.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}";
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
7
  const EdsRatingStyle0 = edsRatingCss;
8
8
  const EdsRating = class {
9
9
  constructor(hostRef) {
10
10
  registerInstance(this, hostRef);
11
- this.ratingChange = createEvent(this, "ratingChange", 7);
12
- this.stars = 5;
13
- this.label = 'Rate your experience';
14
- this.textMapping = ['Very Poor', 'Poor', 'Average', 'Good', 'Excellent'];
11
+ this.rating = createEvent(this, "rating", 7);
12
+ this.ratingType = 'star';
13
+ this.ratingCount = 5;
15
14
  this.selectedRating = 0;
16
15
  }
17
16
  /**
18
- * Parses the `textMapping` prop into an array of strings.
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
19
  */
20
- get parsedMappings() {
21
- if (typeof this.textMapping === 'object') {
22
- return this.textMapping;
23
- } else if (typeof this.textMapping === 'string') {
24
- try {
25
- return JSON.parse(this.textMapping);
26
- } catch (e) {
27
- //console.error('Error parsing textMapping prop:', e);
28
- return [];
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
29
37
  }
30
- }
31
- return [];
38
+ });
39
+ btnElement.dispatchEvent(event);
32
40
  }
33
41
  /**
34
42
  * Handles the click event on a star.
@@ -36,42 +44,34 @@ const EdsRating = class {
36
44
  */
37
45
  handleClick(rating) {
38
46
  this.selectedRating = rating;
39
- this.ratingChange.emit(rating);
47
+ this.rating.emit(rating);
40
48
  }
41
49
  render() {
42
50
  return h("div", {
43
- key: 'b613863ad54ae9b381a5741bce4b188eff806ef0',
44
- class: "relative w-full flex flex-col"
45
- }, h("span", {
46
- key: 'f35cef9c3691aab73995e2ca6e2554cc19bae837',
47
- class: "f-heading-05"
48
- }, this.label), h("div", {
49
- key: '37082eb4bbadf5c211c197f3f81501d0b0e61404',
51
+ key: '2ab4f3dbc4cc3dd5272143e99c67b23086b03e18',
50
52
  role: "radiogroup",
51
- "aria-label": this.label,
52
- class: "stars flex space-x-2"
53
+ class: "stars flex space-x-1 my-8"
53
54
  }, Array.from({
54
- length: this.stars
55
+ length: this.ratingCount
55
56
  }, (_, index) => {
56
57
  const starRating = index + 1;
57
58
  const isSelected = starRating <= this.selectedRating;
58
59
  // Use the mapping text if available; otherwise, fall back to a generic label.
59
- const mappingText = this.parsedMappings[starRating - 1] || `Rating ${starRating}`;
60
60
  return h("eds-button", {
61
- label: "\u2605",
61
+ icon: this.ratingType,
62
62
  role: "radio",
63
63
  "aria-checked": isSelected ? 'true' : 'false',
64
- "aria-label": mappingText,
64
+ "aria-label": this.ratingType,
65
65
  onClick: () => this.handleClick(starRating),
66
66
  tabIndex: this.selectedRating === 0 && index === 0 ? 0 : isSelected ? 0 : -1,
67
67
  intent: isSelected ? 'primary' : 'ghost',
68
- size: "small",
68
+ size: "large",
69
69
  "extra-class": "p-2" // Optional padding or styling for the star button
70
70
  });
71
- })), this.selectedRating > 0 && this.parsedMappings[this.selectedRating - 1] && h("span", {
72
- key: '61b4b92e476cfa0dd9bf405cb080dedd995ff9c6',
73
- class: "f-ui-04 text-lighter mt-4"
74
- }, this.parsedMappings[this.selectedRating - 1]));
71
+ }));
72
+ }
73
+ get el() {
74
+ return getElement(this);
75
75
  }
76
76
  };
77
77
  EdsRating.style = EdsRatingStyle0;
@@ -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: 'e7ef9e7a589d8cde8aa54d73dff8421d74a7d0ac'
18
+ key: '39c4280156ca46b83538de499baa9b152360b1b4'
19
19
  }, h("eds-section-heading", {
20
- key: '379c6bc644612d3e0865ce2acd8eacb4d67c7769',
20
+ key: '34da742e606f0e9bb485faac8aba1519eccc8934',
21
21
  headingLevel: this.headingLevel,
22
22
  sectionTitle: this.sectionTitle
23
23
  }), h("slot", {
24
- key: '5828a28c2c8ac65fbc56652f733f148a0d0198b7'
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: 'c15f83f8aaa4fb01c884fb1390965fcf9dbd61fb',
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: 'e65e13820553eefa5aec8bc9740e5e9da828ac92',
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 };
@@ -1,22 +1,25 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index.esm2.js';
2
+ import { p as parseData } from './sharedUtils-a550989c.esm.js';
2
3
  import 'react';
3
4
  import 'react/jsx-runtime';
4
5
  import 'react-dom';
5
6
 
6
- const edsStepsCss = ".steps{position:sticky;margin-left:16px;margin-bottom:12px;border-left:1px solid var(--soft-color, #ddd);padding-left:24px;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}";
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}";
7
8
  const EdsStepsStyle0 = edsStepsCss;
8
9
  const EdsSteps = class {
9
10
  constructor(hostRef) {
10
11
  registerInstance(this, hostRef);
11
- this.stepClick = createEvent(this, "stepClick", 7);
12
+ this.step = createEvent(this, "step", 7);
12
13
  this.handleNext = () => {
14
+ this.activeStep = this.activeStep + 1;
13
15
  if (this.activeStep < this.parsedSteps.length) {
14
- this.activeStep = this.activeStep + 1;
16
+ this.step.emit(this.activeStep);
15
17
  }
16
18
  };
17
19
  this.handleBack = () => {
18
20
  if (this.activeStep > 0) {
19
21
  this.activeStep = this.activeStep - 1;
22
+ this.step.emit(this.activeStep);
20
23
  }
21
24
  };
22
25
  this.steps = [];
@@ -24,7 +27,7 @@ const EdsSteps = class {
24
27
  this.activeStep = 0;
25
28
  }
26
29
  handleStepClick(index) {
27
- this.stepClick.emit(index);
30
+ this.step.emit(index);
28
31
  // In linear mode, update the active step on header click.
29
32
  if (this.type === 'linear') {
30
33
  this.activeStep = index;
@@ -34,20 +37,8 @@ const EdsSteps = class {
34
37
  * Parse the JSON string into an array of steps.
35
38
  */
36
39
  get parsedSteps() {
37
- if (typeof this.steps === 'string') {
38
- try {
39
- const stepsStr = this.steps;
40
- return JSON.parse(stepsStr);
41
- } catch (error) {
42
- //console.error('Invalid steps JSON', error);
43
- return [];
44
- }
45
- }
46
- return this.steps;
40
+ return parseData(this.steps);
47
41
  }
48
- /*private handleReset = () => {
49
- this.activeStep = 0;
50
- };*/
51
42
  render() {
52
43
  const steps = this.parsedSteps;
53
44
  if (this.type === 'linear') {
@@ -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: 'a7d7fa426da72e174880a300202390c1016b74df',
317
+ key: 'e4c454638f02e043a5ad466ee95558be8723d214',
312
318
  data: JSON.stringify(svgData),
313
319
  config: JSON.stringify(tableConfig),
314
320
  "rows-per-page": 10,
@@ -25,13 +25,13 @@ const EdsSwitch = class {
25
25
  // Compute an accessible name based on state.
26
26
  const accessibleLabel = this.labelOn || this.labelOff ? this.checked ? this.labelOn : this.labelOff : 'Toggle switch';
27
27
  return h("div", {
28
- key: 'd4c727cbb562921b2bcba269e84f25c359c7061b',
28
+ key: '624776d666ada7b31cb8e84b08380b888451b1a5',
29
29
  class: "switch-container"
30
30
  }, this.labelOff && h("span", {
31
- key: '90b18fff27bd21501466deb5879e5fe6ff607043',
31
+ key: 'ced31e91b88f4cb032744bd846811dd012cb9dcd',
32
32
  class: "switch-label switch-label--off"
33
33
  }, this.labelOff), h("button", {
34
- key: '8675f5d9f972d3932710fa7f9b28f74f95a83003',
34
+ key: '8cb4594687313076f18f30fc26062e1440ae0ab9',
35
35
  type: "button",
36
36
  role: "switch",
37
37
  "aria-checked": this.checked ? 'true' : 'false',
@@ -45,10 +45,10 @@ const EdsSwitch = class {
45
45
  onClick: this.toggleSwitch,
46
46
  disabled: this.disabled
47
47
  }, h("span", {
48
- key: '26aa30a01b10419c1665b1fd58b5696a02d1504a',
48
+ key: '88897b4368c337ea2dc4a017a8503171117a2070',
49
49
  class: "switch-handle"
50
50
  })), this.labelOn && h("span", {
51
- key: '3680d67555e9193a97e129c0639b411263e070a8',
51
+ key: 'bb66f4fd1d09935598d3e9485d3cdf28e182620e',
52
52
  class: "switch-label switch-label--on"
53
53
  }, this.labelOn));
54
54
  }