@ebrains/react 0.9.2-beta → 0.9.3-beta

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 (178) hide show
  1. package/analytics-44b1416b.esm.js +55 -0
  2. package/arrow-diagonal-black-8f0494c3.esm.js +3 -0
  3. package/arrow-right-9322ba8a.esm.js +5 -0
  4. package/bluesky-cc5edd2d.esm.js +14 -0
  5. package/bookmark-c200037c.esm.js +16 -0
  6. package/chevron-down-6144c823.esm.js +12 -0
  7. package/chevron-left-ca6c66e1.esm.js +11 -0
  8. package/chevron-right-b88ed2d4.esm.js +5 -0
  9. package/chevron-up-c66bd477.esm.js +12 -0
  10. package/close-87fc0d63.esm.js +5 -0
  11. package/color-2554aad6.esm.js +122 -0
  12. package/color-primary-palette_6.entry.esm.js +778 -0
  13. package/components-section.entry.esm.js +165 -0
  14. package/copy-03b72cb6.esm.js +5 -0
  15. package/correct-use-of-colors.entry.esm.js +243 -0
  16. package/docs-palettes.entry.esm.js +29 -0
  17. package/docs-tokens.entry.esm.js +45 -0
  18. package/eds-accordion.entry.esm.js +132 -0
  19. package/eds-alert.entry.esm.js +112 -0
  20. package/eds-app-root.entry.esm.js +53 -0
  21. package/eds-avatar_27.entry.esm.js +332 -0
  22. package/eds-card-desc_2.entry.esm.js +86 -0
  23. package/eds-card-generic.entry.esm.js +114 -0
  24. package/eds-card-project.entry.esm.js +93 -0
  25. package/eds-card-section.entry.esm.js +56 -0
  26. package/eds-card-tags.entry.esm.js +27 -0
  27. package/eds-card-tool.entry.esm.js +105 -0
  28. package/eds-card-wrapper.entry.esm.js +39 -0
  29. package/eds-code-block.entry.esm.js +2290 -0
  30. package/eds-cookies-preference.entry.esm.js +47 -0
  31. package/eds-feedback.entry.esm.js +82 -0
  32. package/eds-frame.entry.esm.js +112 -0
  33. package/eds-icon-arrow-diagonal.entry.esm.js +21 -0
  34. package/eds-icon-arrow-right.entry.esm.js +21 -0
  35. package/eds-icon-bluesky.entry.esm.js +21 -0
  36. package/eds-icon-bookmark.entry.esm.js +21 -0
  37. package/eds-icon-chevron-down.entry.esm.js +21 -0
  38. package/eds-icon-chevron-left.entry.esm.js +21 -0
  39. package/eds-icon-chevron-right.entry.esm.js +21 -0
  40. package/eds-icon-chevron-up.entry.esm.js +21 -0
  41. package/eds-icon-close.entry.esm.js +21 -0
  42. package/eds-icon-copy.entry.esm.js +21 -0
  43. package/eds-icon-eu.entry.esm.js +21 -0
  44. package/eds-icon-external.entry.esm.js +21 -0
  45. package/eds-icon-facebook.entry.esm.js +21 -0
  46. package/eds-icon-gitlab.entry.esm.js +21 -0
  47. package/eds-icon-linkedin.entry.esm.js +21 -0
  48. package/eds-icon-loader.entry.esm.js +21 -0
  49. package/eds-icon-mastodon.entry.esm.js +21 -0
  50. package/eds-icon-menu.entry.esm.js +21 -0
  51. package/eds-icon-minus.entry.esm.js +21 -0
  52. package/eds-icon-more.entry.esm.js +21 -0
  53. package/eds-icon-paper.entry.esm.js +21 -0
  54. package/eds-icon-plus.entry.esm.js +21 -0
  55. package/eds-icon-portal.entry.esm.js +21 -0
  56. package/eds-icon-private.entry.esm.js +21 -0
  57. package/eds-icon-public.entry.esm.js +21 -0
  58. package/eds-icon-search.entry.esm.js +21 -0
  59. package/eds-icon-star.entry.esm.js +21 -0
  60. package/eds-icon-success.entry.esm.js +21 -0
  61. package/eds-icon-thumbs-down.entry.esm.js +21 -0
  62. package/eds-icon-thumbs-up.entry.esm.js +21 -0
  63. package/eds-icon-tutorial.entry.esm.js +21 -0
  64. package/eds-icon-twitter.entry.esm.js +21 -0
  65. package/eds-icon-unknown.entry.esm.js +21 -0
  66. package/eds-icon-updown.entry.esm.js +21 -0
  67. package/eds-icon-user.entry.esm.js +21 -0
  68. package/eds-icon-youtube.entry.esm.js +21 -0
  69. package/eds-login_2.entry.esm.js +1828 -0
  70. package/eds-matomo-notice.entry.esm.js +162 -0
  71. package/eds-pagination_2.entry.esm.js +493 -0
  72. package/eds-progress-bar.entry.esm.js +41 -0
  73. package/eds-rating.entry.esm.js +79 -0
  74. package/eds-section-core_2.entry.esm.js +69 -0
  75. package/eds-spinner.entry.esm.js +67 -0
  76. package/eds-switch.entry.esm.js +58 -0
  77. package/eds-tabs.entry.esm.js +143 -0
  78. package/eds-timeline.entry.esm.js +117 -0
  79. package/eds-toast-manager.entry.esm.js +62 -0
  80. package/eds-toast.entry.esm.js +92 -0
  81. package/eds-tooltip.entry.esm.js +125 -0
  82. package/eds-trl.entry.esm.js +68 -0
  83. package/eu-9ddde93a.esm.js +30 -0
  84. package/facebook-9cb5c17f.esm.js +14 -0
  85. package/incorrect-use-of-colors.entry.esm.js +71 -0
  86. package/index-39c58238.esm.js +58 -0
  87. package/index.esm.d.ts +1 -0
  88. package/index.esm.js +4 -0
  89. package/index.esm2.js +4833 -0
  90. package/linkedin-e8650abb.esm.js +28 -0
  91. package/loader-c9628637.esm.js +30 -0
  92. package/logo-color-7f1fd803.esm.js +115 -0
  93. package/logo-color-margins-ff8ce71b.esm.js +118 -0
  94. package/logo-space.entry.esm.js +48 -0
  95. package/logo-variations-horizontal_2.entry.esm.js +123 -0
  96. package/logo-variations-tabs.entry.esm.js +29 -0
  97. package/logo-white-no-bg-f382f86f.esm.js +1021 -0
  98. package/logo-wrong-usage.entry.esm.js +101 -0
  99. package/mastodon-3703ec61.esm.js +14 -0
  100. package/menu-340ea948.esm.js +11 -0
  101. package/minus-b30a7c71.esm.js +11 -0
  102. package/mono-53f70232.esm.js +11 -0
  103. package/more-4449d549.esm.js +13 -0
  104. package/package.json +6 -2
  105. package/paper-8e74ea31.esm.js +15 -0
  106. package/plus-89c07be2.esm.js +12 -0
  107. package/portal-d6c8ce56.esm.js +18 -0
  108. package/private-1c25ff8e.esm.js +25 -0
  109. package/public-d4d8c585.esm.js +16 -0
  110. package/search-fbcd79c2.esm.js +12 -0
  111. package/sharedUtils-a550989c.esm.js +17 -0
  112. package/src/components.d.ts +40 -0
  113. package/src/generated/components.d.ts +38 -0
  114. package/src/generated/react-component-lib/attachProps.d.ts +16 -0
  115. package/src/generated/react-component-lib/case.d.ts +2 -0
  116. package/src/generated/react-component-lib/createComponent.d.ts +10 -0
  117. package/src/generated/react-component-lib/createOverlayComponent.d.ts +21 -0
  118. package/src/generated/react-component-lib/dev.d.ts +2 -0
  119. package/src/generated/react-component-lib/interfaces.d.ts +29 -0
  120. package/src/generated/react-component-lib/utils/attachProps.d.ts +16 -0
  121. package/src/generated/react-component-lib/utils/case.d.ts +2 -0
  122. package/src/generated/react-component-lib/utils/dev.d.ts +2 -0
  123. package/src/generated/react-component-lib/utils/index.d.ts +10 -0
  124. package/src/react-component-lib/attachProps.d.ts +16 -0
  125. package/src/react-component-lib/case.d.ts +2 -0
  126. package/src/react-component-lib/createComponent.d.ts +10 -0
  127. package/src/react-component-lib/createOverlayComponent.d.ts +21 -0
  128. package/src/react-component-lib/dev.d.ts +2 -0
  129. package/src/react-component-lib/interfaces.d.ts +29 -0
  130. package/src/react-component-lib/utils/attachProps.d.ts +16 -0
  131. package/src/react-component-lib/utils/case.d.ts +2 -0
  132. package/src/react-component-lib/utils/index.d.ts +10 -0
  133. package/star-0da9b5e9.esm.js +5 -0
  134. package/success-443809da.esm.js +18 -0
  135. package/svg-repository.entry.esm.js +337 -0
  136. package/thumbs-down-a18fd049.esm.js +5 -0
  137. package/thumbs-up-c19a71bc.esm.js +6 -0
  138. package/toastManager-d9eee791.esm.js +34 -0
  139. package/token-list_3.entry.esm.js +385 -0
  140. package/token-ratios.entry.esm.js +49 -0
  141. package/token-typography.entry.esm.js +267 -0
  142. package/tutotial-150ee1fd.esm.js +27 -0
  143. package/twitter-ac21b505.esm.js +14 -0
  144. package/unknown-ed01a24c.esm.js +22 -0
  145. package/up-and-down-d747abee.esm.js +12 -0
  146. package/user-71ebdc15.esm.js +16 -0
  147. package/youtube-efbfbdc4.esm.js +14 -0
  148. package/.babelrc +0 -12
  149. package/project.json +0 -10
  150. package/rollup.config.js +0 -43
  151. package/src/components.ts +0 -49
  152. package/src/generated/components.ts +0 -47
  153. package/src/generated/react-component-lib/attachProps.ts +0 -125
  154. package/src/generated/react-component-lib/case.ts +0 -7
  155. package/src/generated/react-component-lib/createComponent.tsx +0 -106
  156. package/src/generated/react-component-lib/createOverlayComponent.tsx +0 -142
  157. package/src/generated/react-component-lib/dev.ts +0 -14
  158. package/src/generated/react-component-lib/index.tsx +0 -50
  159. package/src/generated/react-component-lib/interfaces.ts +0 -34
  160. package/src/generated/react-component-lib/utils/attachProps.ts +0 -125
  161. package/src/generated/react-component-lib/utils/case.ts +0 -7
  162. package/src/generated/react-component-lib/utils/dev.ts +0 -14
  163. package/src/generated/react-component-lib/utils/index.tsx +0 -50
  164. package/src/react-component-lib/attachProps.ts +0 -125
  165. package/src/react-component-lib/case.ts +0 -7
  166. package/src/react-component-lib/createComponent.tsx +0 -106
  167. package/src/react-component-lib/createOverlayComponent.tsx +0 -142
  168. package/src/react-component-lib/dev.ts +0 -14
  169. package/src/react-component-lib/index.tsx +0 -50
  170. package/src/react-component-lib/interfaces.ts +0 -34
  171. package/src/react-component-lib/utils/attachProps.ts +0 -125
  172. package/src/react-component-lib/utils/case.ts +0 -7
  173. package/src/react-component-lib/utils/index.tsx +0 -50
  174. package/tsconfig.json +0 -17
  175. package/tsconfig.lib.json +0 -23
  176. /package/src/generated/react-component-lib/{index.ts → index.d.ts} +0 -0
  177. /package/src/{index.ts → index.d.ts} +0 -0
  178. /package/src/react-component-lib/{index.ts → index.d.ts} +0 -0
@@ -0,0 +1,86 @@
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 edsCardDescCss = ".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-light{font-family:var(--f-ui-03-light-fontFamily);font-weight:var(--f-ui-03-light-fontWeight);font-size:var(--f-ui-03-light-fontSize);line-height:var(--f-ui-03-light-lineHeight);letter-spacing:var(--f-ui-03-light-letterSpacing)}.text-light{color:var(--grey-700)}.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}";
7
+ const EdsCardDescStyle0 = edsCardDescCss;
8
+ const EdsCardDesc = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.description = undefined;
12
+ this.descClass = 'f-ui-03-light';
13
+ this.truncate = true;
14
+ this.truncateLines = '3';
15
+ }
16
+ getTruncateClass() {
17
+ return this.truncate && this.truncateLines ? `line-clamp-${this.truncateLines}` : '';
18
+ }
19
+ render() {
20
+ return h("p", {
21
+ key: '3ea345f69bed29135df8231c79eaea0f06e813df',
22
+ class: `text-light ${this.descClass}`
23
+ }, h("span", {
24
+ key: '99c383485ec0852be81a05fe0999cb429fee4a27',
25
+ class: this.getTruncateClass()
26
+ }, this.description));
27
+ }
28
+ };
29
+ EdsCardDesc.style = EdsCardDescStyle0;
30
+ const edsCardTitleCss = "a{all:unset;display:inline;color:inherit;text-decoration:none;cursor:pointer}h1,h2,h3,h4,h5,h6{margin:0}.f-heading-01{font-family:var(--f-heading-01-fontFamily);font-weight:var(--f-heading-01-fontWeight);font-size:var(--f-heading-01-fontSize);line-height:var(--f-heading-01-lineHeight);letter-spacing:var(--f-heading-01-letterSpacing)}.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)}.break-words{overflow-wrap:break-word}.after\\:absolute::after{position:absolute}.after\\:inset-0::after{inset:0rem}.after\\:z-10::after{z-index:10}.after\\:content-\\[\\'\\'\\]::after{--tw-content:'';content:var(--tw-content)}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}";
31
+ const EdsCardTitleStyle0 = edsCardTitleCss;
32
+ const EdsCardTitle = class {
33
+ constructor(hostRef) {
34
+ registerInstance(this, hostRef);
35
+ this.url = undefined;
36
+ this.titleClass = undefined;
37
+ this.headingLevel = 'h3';
38
+ this.externalLink = false;
39
+ this.cardTitle = undefined;
40
+ this.hierarchy = true;
41
+ }
42
+ /**
43
+ * Dynamically generate the title class based on the heading level.
44
+ */
45
+ getTitleClass() {
46
+ const levelMap = this.hierarchy ? {
47
+ h1: '05',
48
+ h2: '05',
49
+ h3: '05',
50
+ h4: '05',
51
+ h5: '05',
52
+ h6: '06'
53
+ } : {
54
+ h1: '01',
55
+ h2: '02',
56
+ h3: '03',
57
+ h4: '04',
58
+ h5: '05',
59
+ h6: '06'
60
+ };
61
+ return `f-heading-${levelMap[this.headingLevel]}`;
62
+ }
63
+ /*private getTag() {
64
+ if (this.url) {
65
+ return 'a';
66
+ }
67
+ return 'span';
68
+ }*/
69
+ render() {
70
+ //const Tag = this.getTag();
71
+ const Heading = this.headingLevel;
72
+ return h(Heading, {
73
+ key: '9914950b1581456a3a875ed7383975710c05fa7f',
74
+ class: this.getTitleClass()
75
+ }, h("a", {
76
+ key: '9b3298d8bacd8fbaecd8c714329ef5e6ac7192c7',
77
+ class: "break-words after:absolute after:inset-0 after:z-10 after:content-[''] focus:outline-none",
78
+ href: this.url,
79
+ target: this.externalLink ? '_blank' : undefined,
80
+ rel: this.externalLink ? 'noopener noreferrer' : undefined
81
+ }, this.cardTitle));
82
+ }
83
+ };
84
+ EdsCardTitle.style = EdsCardTitleStyle0;
85
+
86
+ export { EdsCardDesc as eds_card_desc, EdsCardTitle as eds_card_title };
@@ -0,0 +1,114 @@
1
+ import { r as registerInstance, h, g as getElement } from './index.esm2.js';
2
+ import { p as parseData } from './sharedUtils-a550989c.esm.js';
3
+ import { s as sendAnalytics } from './analytics-44b1416b.esm.js';
4
+ import 'react';
5
+ import 'react/jsx-runtime';
6
+ import 'react-dom';
7
+
8
+ const edsCardGenericCss = ".h-auto{height:auto}.h-full{height:100%}.\\!min-h-20{min-height:1.25rem !important}.min-h-120{min-height:120px}.min-h-156{min-height:156px}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.effect-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.hover\\:shadow-hover:hover{--tw-shadow:0px 0px 16px rgba(0, 0, 0, 0.2);--tw-shadow-colored:0px 0px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.cursor-pointer{cursor:pointer}.border-soft{border-color:rgba(0, 0, 0, .15)}.border-softer{border:2px solid rgba(0, 0, 0, .1)}.effect-focus-within{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.effect-focus-within:focus-within{outline-style:solid}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.flex-col{flex-direction:column}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-12{padding:0.75rem}.p-16{padding:1rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.gap-x-1{-moz-column-gap:0.0625rem;column-gap:0.0625rem}.gap-y-4{row-gap:0.25rem}.order-first{order:-9999}.mb-10{margin-bottom:0.625rem}.mb-12{margin-bottom:0.75rem}";
9
+ const EdsCardGenericStyle0 = edsCardGenericCss;
10
+ const EdsCardGeneric = class {
11
+ constructor(hostRef) {
12
+ registerInstance(this, hostRef);
13
+ this.parentContext = null; // Accepts the entire event detail or null
14
+ this.cardTitle = undefined;
15
+ this.url = undefined;
16
+ this.description = undefined;
17
+ this.image = undefined;
18
+ this.avatar = undefined;
19
+ this.shortAbbreviation = undefined;
20
+ this.headingLevel = 'h3';
21
+ this.tags = [];
22
+ this.tiny = false;
23
+ this.bg = true;
24
+ this.withHover = true;
25
+ this.hierarchy = true;
26
+ this.parsedImage = null;
27
+ }
28
+ componentWillLoad() {
29
+ if (this.image) {
30
+ try {
31
+ if (typeof this.image === 'object') {
32
+ // If image is already an object, assign it directly
33
+ this.parsedImage = this.image;
34
+ } else if (typeof this.image === 'string') {
35
+ // If image is a string, try to parse it
36
+ this.parsedImage = JSON.parse(this.image);
37
+ }
38
+ } catch (error) {
39
+ // eslint-disable-next-line
40
+ console.error('Error parsing image prop:', error);
41
+ this.parsedImage = {}; // Assign a fallback empty object in case of an error
42
+ }
43
+ }
44
+ }
45
+ handleParentContext(event) {
46
+ if (event.target !== this.el) {
47
+ // Ignore the event if it's not targeted at this specific instance
48
+ return;
49
+ }
50
+ //console.log(event.detail);
51
+ this.parentContext = event.detail;
52
+ event.stopPropagation();
53
+ }
54
+ /**
55
+ * Parses the `tags` prop into an array of link objects.
56
+ * Returns an empty array if parsing fails or if `tags` is not a valid JSON string or object.
57
+ *
58
+ * @returns {any[]} Array of parsed link objects
59
+ */
60
+ get parsedTags() {
61
+ return parseData(this.tags);
62
+ }
63
+ articleClasses() {
64
+ return [this.description ? this.tiny ? 'min-h-120' : 'min-h-156' : 'h-auto', this.bg ? 'bg-inverse' : 'bg-default', this.withHover ? 'effect-shadow hover:shadow-hover cursor-pointer' : '', 'border-softer effect-focus-within relative flex grow flex-col rounded-lg border-2 p-16'].join(' ');
65
+ }
66
+ handleClick() {
67
+ var _a;
68
+ sendAnalytics({
69
+ category: 'ui-component',
70
+ parentContext: this.parentContext,
71
+ tag: this.el.tagName.toLowerCase(),
72
+ name: ((_a = this.cardTitle) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '',
73
+ action: 'click'
74
+ });
75
+ }
76
+ render() {
77
+ return h("article", {
78
+ key: '440a448c841370838c0c66610bd1266b46f66541',
79
+ class: this.articleClasses(),
80
+ onClick: () => this.handleClick()
81
+ }, h("eds-card-title", {
82
+ key: '292d93a9a993c6dcbfd276097a21d3984b1794c4',
83
+ "heading-level": this.headingLevel,
84
+ titleClass: this.image ? 'f-ui-01' : undefined,
85
+ "card-title": this.cardTitle,
86
+ url: this.url,
87
+ hierarchy: this.hierarchy
88
+ }), this.description && h("eds-card-desc", {
89
+ key: '4b304cc3c65a42b3b1bcbebd9968c45e79cdabf7',
90
+ class: "mt-8",
91
+ "truncate-lines": "3",
92
+ description: this.description
93
+ }), this.parsedImage ? h("eds-img", Object.assign({
94
+ class: "mt-8"
95
+ }, this.parsedImage)) : this.avatar || this.shortAbbreviation ? h("eds-avatar", {
96
+ class: "order-first mb-12",
97
+ picture: this.avatar,
98
+ initials: this.shortAbbreviation
99
+ }) : null, h("div", {
100
+ key: '8bdcbbe2982a450843e9ada727e3f6eb62872ae1',
101
+ class: "flex flex-wrap gap-y-4 gap-x-1"
102
+ }, this.parsedTags.map((tag, index) => h("eds-tag", {
103
+ key: index,
104
+ intent: tag.style,
105
+ label: tag.label
106
+ }))), ' ');
107
+ }
108
+ get el() {
109
+ return getElement(this);
110
+ }
111
+ };
112
+ EdsCardGeneric.style = EdsCardGenericStyle0;
113
+
114
+ export { EdsCardGeneric as eds_card_generic };
@@ -0,0 +1,93 @@
1
+ import { r as registerInstance, h, g as getElement } from './index.esm2.js';
2
+ import { s as sendAnalytics } from './analytics-44b1416b.esm.js';
3
+ import { g as gradientBGColorVariants } from './color-2554aad6.esm.js';
4
+ import 'react';
5
+ import 'react/jsx-runtime';
6
+ import 'react-dom';
7
+ import './index-39c58238.esm.js';
8
+
9
+ const EdsCardProject = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ this.image = undefined;
13
+ this.editorialTitle = undefined;
14
+ this.headingLevel = 'h3';
15
+ this.categoryTitle = undefined;
16
+ this.color = undefined;
17
+ this.bgOnHover = false;
18
+ this.vertical = false;
19
+ this.titleProject = undefined;
20
+ this.url = undefined;
21
+ this.parsedImage = null;
22
+ }
23
+ componentWillLoad() {
24
+ // Parse the image prop if it's provided
25
+ if (this.image) {
26
+ try {
27
+ this.parsedImage = JSON.parse(this.image);
28
+ //console.log(this.parsedImage);
29
+ } catch (error) {
30
+ //console.error('Error parsing image prop:', error);
31
+ }
32
+ }
33
+ }
34
+ handleClick(event) {
35
+ var _a;
36
+ event.preventDefault();
37
+ sendAnalytics({
38
+ category: 'ui-component',
39
+ tag: this.el.tagName.toLowerCase(),
40
+ name: ((_a = this.titleProject) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '',
41
+ action: 'click'
42
+ });
43
+ }
44
+ render() {
45
+ var _a;
46
+ const cardClasses = ['min-h-156 border-inside after:border-softest @container overflow-hidden border-0 after:rounded-lg', this.color ? gradientBGColorVariants({
47
+ color: this.color,
48
+ hover: this.bgOnHover,
49
+ class: 'before:border-2 before:rounded-lg before:border-softest'
50
+ }) : 'bg-default', this.bgOnHover && this.color ? 'effect-background bg-default focus-within:bg-transparent hover:bg-transparent' : 'effect-background hover:bg-default', this.vertical ? 'flex-col gap-y-16' : 'flex-col gap-x-16 gap-y-12 lg:flex-row'].join(' ');
51
+ const imageClasses = this.vertical ? '' : 'max-w-120 @md:max-w-192 order-first w-full lg:order-last';
52
+ return h("article", {
53
+ key: '1ffb83f3e694811d5f3d4c8235c50591bca4dec5',
54
+ class: cardClasses,
55
+ onClick: event => this.handleClick(event)
56
+ }, h("div", {
57
+ key: 'e8d7f04e95722dc8ec8bcb7f90b2b8495b8c13ef',
58
+ class: `flex grow flex-col ${this.vertical ? 'min-h-156' : ''}`
59
+ }, h("div", {
60
+ key: '5ab94ee81425c5f7a143e7f1eb7981da6508e307',
61
+ class: "lg:max-w-[720px]"
62
+ }, h("eds-card-title", {
63
+ key: 'd303425849c5df81c0b72e096313a96031d1c435',
64
+ "heading-level": this.headingLevel,
65
+ titleClass: this.image ? 'f-ui-01' : undefined,
66
+ "card-title": this.titleProject,
67
+ url: this.url
68
+ }), this.editorialTitle && h("span", {
69
+ key: '3d4c6b9422d02e4d40d29d7875e3fc651d2f7bd4',
70
+ class: `block ${this.vertical ? 'f-ui-02' : 'mt-4 f-heading-06'}`
71
+ }, this.editorialTitle)), this.categoryTitle && h("div", {
72
+ key: '2b14dee584d20e90dac0da3b93dff1dbc6f36470',
73
+ class: "mt-auto flex items-center gap-x-12 pt-12"
74
+ }, ((_a = this.categoryTitle) === null || _a === void 0 ? void 0 : _a.length) && h("eds-tag", {
75
+ key: 'cd02551d76731563ebdad89a141f70cbce5bca76',
76
+ label: this.categoryTitle
77
+ }))), this.parsedImage && h("div", {
78
+ key: '5b5cae3820ab870a7588d801151390be494d5c7e',
79
+ class: imageClasses
80
+ }, h("div", {
81
+ key: 'e7bb9f3b090f5497b315a4d2495592cfbe5a4aa0',
82
+ class: "aspect-1x1 w-full"
83
+ }, h("eds-img", Object.assign({
84
+ key: '8fdecaed876c671a08067fdb272f4932b67ae406',
85
+ sizes: this.vertical ? this.parsedImage.sizes || '' : '192px'
86
+ }, this.parsedImage)))));
87
+ }
88
+ get el() {
89
+ return getElement(this);
90
+ }
91
+ };
92
+
93
+ export { EdsCardProject as eds_card_project };
@@ -0,0 +1,56 @@
1
+ import { r as registerInstance, 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 edsCardSectionCss = "ol,ul,menu{list-style:none;margin:0;padding:0}.w-full{width:100%}.grid-layout{display:grid;grid-template-columns:repeat(var(--container-grid-columns, var(--grid-columns)), 1fr);grid-gap:var(--inner-gutter)}.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-cols-4[class*=\"grid-line-x\"][class*=\"grid-line-x\"]>*:nth-child(n)::before{border-bottom-width:1px}.grid-cols-4[class*=\"grid-line-xfull\"]>*:nth-child(n)::before{inset-inline-start:calc(var(--inner-gutter) / -2);inset-inline-end:calc(var(--inner-gutter) / -2)}.grid-cols-4[class*=\"grid-line-x\"]>*:nth-child(4n+1)::before{inset-inline-start:0}.grid-cols-4[class*=\"grid-line-x\"]>*:nth-child(4n+4)::before{inset-inline-end:0}.grid-cols-4[class*=\"grid-line-x\"]>*:nth-child(4n+1):nth-last-child(-n+4)::before{border-bottom-width:0}.grid-cols-4[class*=\"grid-line-x\"]>*:nth-child(4n+1):nth-last-child(-n+4)~*::before{border-bottom-width:0}.grid-cols-4[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(n)::after{border-inline-end-width:1px}.grid-cols-4[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(4n+4)::after{border-inline-end-width:0}.grid-cols-4[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(-n+4)::after{top:0}.grid-cols-4[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(4n+1):nth-last-child(-n+4)::after{bottom:0}.grid-cols-4[class*=\"grid-line-y\"][class*=\"grid-line-y\"]>*:nth-child(4n+1):nth-last-child(-n+4)~li::after{bottom:0}.grid-col-span-4{--container-grid-columns:4;grid-column:span 4 / span 4}.gap-y-4{row-gap:0.25rem}.gap-y-8{row-gap:0.5rem}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}@media (min-width: 750px){.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:gap-y-12{row-gap:0.75rem}.md\\:pt-28{padding-top:1.75rem}}@media (min-width: 750px){.md\\:grid-col-span-1{--container-grid-columns:1;grid-column:span 1 / span 1}.md\\:grid-col-span-2{--container-grid-columns:2;grid-column:span 2 / span 2}.md\\:grid-col-span-3{--container-grid-columns:3;grid-column:span 3 / span 3}.md\\:grid-col-span-4{--container-grid-columns:4;grid-column:span 4 / span 4}.md\\:w-10-cols{width:calc(((10 / var(--container-grid-columns, var(--grid-columns))) * 100%) - (var(--inner-gutter) - (10 / var(--container-grid-columns, var(--grid-columns)) * var(--inner-gutter))))}.cols-container>.md\\:w-10-cols{width:calc(((10 / var(--container-grid-columns, var(--grid-columns))) * (100% - var(--inner-gutter))) - (var(--inner-gutter) - (10 / var(--container-grid-columns, var(--grid-columns)) * var(--inner-gutter))))}.md\\:w-10-cols>*{--container-grid-columns:10}}@media (min-width: 900px){.lg\\:grid-col-span-5{--container-grid-columns:5;grid-column:span 5 / span 5}.lg\\:grid-col-span-6{--container-grid-columns:6;grid-column:span 6 / span 6}.lg\\:grid-col-start-7{grid-column-start:7}.lg\\:w-8-cols{width:calc(((8 / var(--container-grid-columns, var(--grid-columns))) * 100%) - (var(--inner-gutter) - (8 / var(--container-grid-columns, var(--grid-columns)) * var(--inner-gutter))))}.cols-container>.lg\\:w-8-cols{width:calc(((8 / var(--container-grid-columns, var(--grid-columns))) * (100% - var(--inner-gutter))) - (var(--inner-gutter) - (8 / var(--container-grid-columns, var(--grid-columns)) * var(--inner-gutter))))}.lg\\:w-8-cols>*{--container-grid-columns:8}.lg\\:w-10-cols{width:calc(((10 / var(--container-grid-columns, var(--grid-columns))) * 100%) - (var(--inner-gutter) - (10 / var(--container-grid-columns, var(--grid-columns)) * var(--inner-gutter))))}.cols-container>.lg\\:w-10-cols{width:calc(((10 / var(--container-grid-columns, var(--grid-columns))) * (100% - var(--inner-gutter))) - (var(--inner-gutter) - (10 / var(--container-grid-columns, var(--grid-columns)) * var(--inner-gutter))))}.lg\\:w-10-cols>*{--container-grid-columns:10}}@media (min-width: 900px){.lg\\:order-last{order:9999}.lg\\:order-none{order:0}.lg\\:mt-0{margin-top:0rem}.lg\\:block{display:block}.lg\\:flex{display:flex}.lg\\:hidden{display:none}.lg\\:w-\\[150px\\]{width:150px}.lg\\:w-auto{width:auto}.lg\\:max-w-\\[720px\\]{max-width:720px}.lg\\:flex-row{flex-direction:row}.lg\\:flex-nowrap{flex-wrap:nowrap}.lg\\:gap-y-16{row-gap:1rem}.lg\\:px-28{padding-left:1.75rem;padding-right:1.75rem}.lg\\:\\!pl-12{padding-left:0.75rem !important}.lg\\:\\!pr-12{padding-right:0.75rem !important}}";
8
+ const EdsCardSectionStyle0 = edsCardSectionCss;
9
+ const EdsCardSection = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ this.cards = [];
13
+ this.occupyCols = 1;
14
+ }
15
+ /**
16
+ * Parses the `cards` JSON string prop into an array of card objects.
17
+ * If parsing fails, returns an empty array.
18
+ *
19
+ * @returns {any[]} An array of parsed card objects.
20
+ */
21
+ get parsedCards() {
22
+ return parseData(this.cards);
23
+ }
24
+ /**
25
+ * Renders the card section as a grid layout.
26
+ * Each parsed card object is mapped to an `<eds-card-generic>` component,
27
+ * displaying card details such as title, description, avatar, etc.
28
+ *
29
+ * @returns {JSX.Element} The rendered section containing a list of cards.
30
+ */
31
+ render() {
32
+ return h("section", {
33
+ key: 'eb64be830a5a1b752fadd0a8a76be9240b70cfe8',
34
+ class: "w-full"
35
+ }, h("ul", {
36
+ key: 'd4eb8d8492a67f7491535953e0e37172fc9e09ff',
37
+ class: "grid-layout grid-cols-4 gap-y-8 md:gap-y-12 lg:gap-y-16"
38
+ }, this.parsedCards.map(card => h("li", {
39
+ class: `grid-col-span-4 md:grid-col-span-${this.occupyCols} flex flex-col`
40
+ }, h("eds-card-generic", {
41
+ cardTitle: card.title,
42
+ description: card.description,
43
+ avatar: card.avatar,
44
+ headingLevel: card.headingLevel,
45
+ tags: card.tags,
46
+ url: card.url,
47
+ bg: card.bg,
48
+ tiny: card.tiny,
49
+ image: card.image,
50
+ withHover: card.withHover
51
+ })))));
52
+ }
53
+ };
54
+ EdsCardSection.style = EdsCardSectionStyle0;
55
+
56
+ export { EdsCardSection as eds_card_section };
@@ -0,0 +1,27 @@
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 edsCardTagsCss = ".flex{display:flex}.flex-wrap{flex-wrap:wrap}.gap-y-4{row-gap:0.25rem}";
7
+ const EdsCardTagsStyle0 = edsCardTagsCss;
8
+ const EdsCardTags = class {
9
+ constructor(hostRef) {
10
+ registerInstance(this, hostRef);
11
+ this.accent = false;
12
+ this.tags = [];
13
+ }
14
+ render() {
15
+ return h("div", {
16
+ key: '7547e8ffafc22884fb26e7b5cd1da49e588fc590',
17
+ class: "flex flex-wrap gap-y-4"
18
+ }, this.tags.map((tag, index) => h("eds-tag", {
19
+ key: index,
20
+ intent: this.accent ? 'accent' : 'default',
21
+ label: tag
22
+ })));
23
+ }
24
+ };
25
+ EdsCardTags.style = EdsCardTagsStyle0;
26
+
27
+ export { EdsCardTags as eds_card_tags };
@@ -0,0 +1,105 @@
1
+ import { r as registerInstance, h, g as getElement } from './index.esm2.js';
2
+ import { s as sendAnalytics } from './analytics-44b1416b.esm.js';
3
+ import 'react';
4
+ import 'react/jsx-runtime';
5
+ import 'react-dom';
6
+
7
+ const edsCardToolCss = ".h-auto{height:auto}.h-full{height:100%}.\\!min-h-20{min-height:1.25rem !important}.min-h-120{min-height:120px}.min-h-156{min-height:156px}.bg-default{background-color:var(--grey-200)}.bg-inverse{background-color:var(--white)}.effect-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:300ms;transition-timing-function:cubic-bezier(0, 0, 0.2, 1)}.hover\\:shadow-hover:hover{--tw-shadow:0px 0px 16px rgba(0, 0, 0, 0.2);--tw-shadow-colored:0px 0px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.cursor-pointer{cursor:pointer}.border-soft{border-color:rgba(0, 0, 0, .15 )}.border-softer{border:2px solid rgba(0, 0, 0, .1 )}.effect-focus-within{outline-width:3px;outline-offset:2px;outline-color:var(--green-500)}.effect-focus-within:focus-within{outline-style:solid}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grow{flex-grow:1}.flex-col{flex-direction:column}.rounded-lg{border-radius:16px}.border-2{border-width:2px}.p-12{padding:0.75rem}.p-16{padding:1rem}.mt-6{margin-top:0.375rem}.mt-8{margin-top:0.5rem}.gap-y-4{row-gap:0.25rem}.order-first{order:-9999}.mb-10{margin-bottom:0.625rem}.mb-12{margin-bottom:0.75rem}";
8
+ const EdsCardToolStyle0 = edsCardToolCss;
9
+ const EdsCardTool = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ this.cardTitle = undefined;
13
+ this.url = undefined;
14
+ this.description = undefined;
15
+ this.image = undefined;
16
+ this.avatar = undefined;
17
+ this.shortAbbreviation = undefined;
18
+ this.headingLevel = 'h5';
19
+ this.tags = '';
20
+ this.tiny = false;
21
+ this.bg = true;
22
+ this.withHover = true;
23
+ this.external = false;
24
+ this.hierarchy = true;
25
+ }
26
+ /**
27
+ * Parses the `tags` prop into an array of link objects.
28
+ * Returns an empty array if parsing fails or if `tags` is not a valid JSON string or object.
29
+ *
30
+ * @returns {any[]} Array of parsed link objects
31
+ */
32
+ get parsedTags() {
33
+ if (typeof this.tags === 'object') {
34
+ return this.tags;
35
+ } else if (typeof this.tags === 'string') {
36
+ try {
37
+ return JSON.parse(this.tags);
38
+ } catch (e) {
39
+ // eslint-disable-next-line
40
+ console.error('Error parsing links prop:', e);
41
+ return [];
42
+ }
43
+ }
44
+ return [];
45
+ }
46
+ componentWillLoad() {}
47
+ parseTags() {
48
+ return this.tags.split(',');
49
+ }
50
+ articleClasses() {
51
+ return [this.tiny ? 'min-h-120' : 'min-h-156', this.bg ? 'bg-inverse' : 'bg-default', this.withHover ? 'effect-shadow hover:shadow-hover cursor-pointer' : '', 'border-softer effect-focus-within relative flex grow flex-col rounded-lg border-2 p-16'].join(' ');
52
+ }
53
+ handleClick() {
54
+ var _a;
55
+ //event.preventDefault();
56
+ sendAnalytics({
57
+ category: 'ui-component',
58
+ tag: this.el.tagName.toLowerCase(),
59
+ name: ((_a = this.cardTitle) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '',
60
+ action: 'click'
61
+ });
62
+ }
63
+ render() {
64
+ return h("article", {
65
+ key: '92103cb449fbdfd41adaeb29053746fb652a5203',
66
+ class: `${this.el.tagName.toLowerCase()} ${this.articleClasses()}`,
67
+ onClick: () => this.handleClick()
68
+ }, h("eds-card-title", {
69
+ key: '8aebade7b0cfe5ac529ff552113509314ffa4061',
70
+ "heading-level": this.headingLevel,
71
+ titleClass: this.image ? 'f-ui-01' : undefined,
72
+ "card-title": this.cardTitle,
73
+ url: this.url,
74
+ "external-link": this.external,
75
+ hierarchy: this.hierarchy
76
+ }), this.description && h("eds-card-desc", {
77
+ key: '38abb7a59054c6fce836322c26eab77bb508845f',
78
+ class: "mt-8",
79
+ "truncate-lines": "3",
80
+ description: this.description
81
+ }), this.image ? h("eds-img", {
82
+ src: this.image,
83
+ alt: "Sample Image",
84
+ width: 200,
85
+ height: 150
86
+ }) : this.avatar || this.shortAbbreviation ? h("eds-avatar", {
87
+ class: "order-first mb-12",
88
+ picture: this.avatar,
89
+ initials: this.shortAbbreviation
90
+ }) : null, h("div", {
91
+ key: '99158cab0d83e64bf9c45e00c06572efe7328516',
92
+ class: "flex flex-wrap gap-y-4"
93
+ }, this.parsedTags.map((tag, index) => h("eds-tag", {
94
+ key: index,
95
+ intent: tag.style,
96
+ label: tag.label
97
+ }))));
98
+ }
99
+ get el() {
100
+ return getElement(this);
101
+ }
102
+ };
103
+ EdsCardTool.style = EdsCardToolStyle0;
104
+
105
+ export { EdsCardTool as eds_card_tool };
@@ -0,0 +1,39 @@
1
+ import { r as registerInstance, h, g as getElement } from './index.esm2.js';
2
+ import 'react';
3
+ import 'react/jsx-runtime';
4
+ import 'react-dom';
5
+
6
+ const EdsCardWrapper = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.tiny = false;
10
+ this.withBg = true;
11
+ this.withHover = true;
12
+ }
13
+ hasSlot(name) {
14
+ if (name) {
15
+ return !!this.el.querySelector(`[slot="${name}"]`);
16
+ }
17
+ return !!this.el.querySelector(':not([slot])');
18
+ }
19
+ render() {
20
+ const articleClasses = [this.tiny ? 'min-h-120' : 'min-h-156', this.withBg ? 'bg-inverse' : 'bg-default', this.withHover ? 'effect-shadow hover:shadow-hover cursor-pointer' : '', 'border-softer effect-focus-within relative flex grow flex-col rounded-lg border-2 p-16'].join(' ');
21
+ return h("article", {
22
+ key: '7a191039487c388e752c964c8fd47fb397943994',
23
+ class: articleClasses
24
+ }, h("slot", {
25
+ key: 'ac497c9f36089467abcb6b52e3e356405616dfd6'
26
+ }), this.hasSlot('footer') && h("div", {
27
+ key: 'eba2425d01514dffa83ec4b4fdfe1878719addd8',
28
+ class: "mt-auto"
29
+ }, h("slot", {
30
+ key: '57f799838be78cdc8b61b9071d68f913b8eef51b',
31
+ name: "footer"
32
+ })));
33
+ }
34
+ get el() {
35
+ return getElement(this);
36
+ }
37
+ };
38
+
39
+ export { EdsCardWrapper as eds_card_wrapper };