@ebrains/react 0.9.2-beta → 1.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.
Files changed (172) hide show
  1. package/README.md +3 -3
  2. package/analytics-d99780e3.esm.js +55 -0
  3. package/arrow-diagonal-black-8f0494c3.esm.js +3 -0
  4. package/arrow-right-9322ba8a.esm.js +5 -0
  5. package/bluesky-cc5edd2d.esm.js +14 -0
  6. package/bookmark-c200037c.esm.js +16 -0
  7. package/chevron-down-6144c823.esm.js +12 -0
  8. package/chevron-left-ca6c66e1.esm.js +11 -0
  9. package/chevron-right-b88ed2d4.esm.js +5 -0
  10. package/chevron-up-c66bd477.esm.js +12 -0
  11. package/close-87fc0d63.esm.js +5 -0
  12. package/color-primary-palette_6.entry.esm.js +778 -0
  13. package/components-section.entry.esm.js +171 -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_34.entry.esm.js +3594 -0
  22. package/eds-card-project.entry.esm.js +210 -0
  23. package/eds-card-section.entry.esm.js +56 -0
  24. package/eds-card-tags.entry.esm.js +27 -0
  25. package/eds-card-tool.entry.esm.js +105 -0
  26. package/eds-code-block.entry.esm.js +2290 -0
  27. package/eds-cookies-preference.entry.esm.js +47 -0
  28. package/eds-feedback.entry.esm.js +87 -0
  29. package/eds-frame.entry.esm.js +112 -0
  30. package/eds-icon-arrow-diagonal.entry.esm.js +21 -0
  31. package/eds-icon-arrow-right.entry.esm.js +21 -0
  32. package/eds-icon-bluesky.entry.esm.js +21 -0
  33. package/eds-icon-bookmark.entry.esm.js +21 -0
  34. package/eds-icon-chevron-down.entry.esm.js +21 -0
  35. package/eds-icon-chevron-left.entry.esm.js +21 -0
  36. package/eds-icon-chevron-right.entry.esm.js +21 -0
  37. package/eds-icon-chevron-up.entry.esm.js +21 -0
  38. package/eds-icon-close.entry.esm.js +21 -0
  39. package/eds-icon-copy.entry.esm.js +21 -0
  40. package/eds-icon-eu.entry.esm.js +21 -0
  41. package/eds-icon-external.entry.esm.js +21 -0
  42. package/eds-icon-facebook.entry.esm.js +21 -0
  43. package/eds-icon-gitlab.entry.esm.js +21 -0
  44. package/eds-icon-linkedin.entry.esm.js +21 -0
  45. package/eds-icon-loader.entry.esm.js +21 -0
  46. package/eds-icon-mastodon.entry.esm.js +21 -0
  47. package/eds-icon-menu.entry.esm.js +21 -0
  48. package/eds-icon-minus.entry.esm.js +21 -0
  49. package/eds-icon-more.entry.esm.js +21 -0
  50. package/eds-icon-paper.entry.esm.js +21 -0
  51. package/eds-icon-plus.entry.esm.js +21 -0
  52. package/eds-icon-portal.entry.esm.js +21 -0
  53. package/eds-icon-private.entry.esm.js +21 -0
  54. package/eds-icon-public.entry.esm.js +21 -0
  55. package/eds-icon-search.entry.esm.js +21 -0
  56. package/eds-icon-star.entry.esm.js +21 -0
  57. package/eds-icon-success.entry.esm.js +21 -0
  58. package/eds-icon-thumbs-down.entry.esm.js +21 -0
  59. package/eds-icon-thumbs-up.entry.esm.js +21 -0
  60. package/eds-icon-tutorial.entry.esm.js +21 -0
  61. package/eds-icon-twitter.entry.esm.js +21 -0
  62. package/eds-icon-unknown.entry.esm.js +21 -0
  63. package/eds-icon-updown.entry.esm.js +21 -0
  64. package/eds-icon-user.entry.esm.js +21 -0
  65. package/eds-icon-youtube.entry.esm.js +21 -0
  66. package/eds-matomo-notice.entry.esm.js +159 -0
  67. package/eds-pagination_2.entry.esm.js +493 -0
  68. package/eds-progress-bar.entry.esm.js +52 -0
  69. package/eds-rating.entry.esm.js +79 -0
  70. package/eds-section-core_2.entry.esm.js +69 -0
  71. package/eds-spinner.entry.esm.js +67 -0
  72. package/eds-splash-screen.entry.esm.js +87 -0
  73. package/eds-switch.entry.esm.js +68 -0
  74. package/eds-timeline.entry.esm.js +117 -0
  75. package/eds-toast-manager.entry.esm.js +93 -0
  76. package/eds-toast.entry.esm.js +93 -0
  77. package/eds-trl.entry.esm.js +68 -0
  78. package/eu-9ddde93a.esm.js +30 -0
  79. package/facebook-9cb5c17f.esm.js +14 -0
  80. package/incorrect-use-of-colors.entry.esm.js +74 -0
  81. package/index-39c58238.esm.js +58 -0
  82. package/index.esm.d.ts +1 -0
  83. package/index.esm.js +4 -0
  84. package/index.esm2.js +4558 -0
  85. package/linkedin-e8650abb.esm.js +28 -0
  86. package/loader-c9628637.esm.js +30 -0
  87. package/logo-color-7f1fd803.esm.js +115 -0
  88. package/logo-color-margins-ff8ce71b.esm.js +118 -0
  89. package/logo-space.entry.esm.js +48 -0
  90. package/logo-variations-horizontal_2.entry.esm.js +123 -0
  91. package/logo-variations-tabs.entry.esm.js +29 -0
  92. package/logo-white-no-bg-f382f86f.esm.js +1021 -0
  93. package/logo-wrong-usage.entry.esm.js +101 -0
  94. package/mastodon-3703ec61.esm.js +14 -0
  95. package/menu-340ea948.esm.js +11 -0
  96. package/minus-b30a7c71.esm.js +11 -0
  97. package/mono-53f70232.esm.js +11 -0
  98. package/more-4449d549.esm.js +13 -0
  99. package/package.json +6 -2
  100. package/paper-8e74ea31.esm.js +15 -0
  101. package/plus-89c07be2.esm.js +12 -0
  102. package/portal-d6c8ce56.esm.js +18 -0
  103. package/private-1c25ff8e.esm.js +25 -0
  104. package/public-d4d8c585.esm.js +16 -0
  105. package/search-fbcd79c2.esm.js +12 -0
  106. package/sharedUtils-a550989c.esm.js +17 -0
  107. package/src/components.d.ts +40 -0
  108. package/src/generated/components.d.ts +38 -0
  109. package/src/generated/react-component-lib/attachProps.d.ts +16 -0
  110. package/src/generated/react-component-lib/case.d.ts +2 -0
  111. package/src/generated/react-component-lib/createComponent.d.ts +10 -0
  112. package/src/generated/react-component-lib/createOverlayComponent.d.ts +21 -0
  113. package/src/generated/react-component-lib/dev.d.ts +2 -0
  114. package/src/generated/react-component-lib/interfaces.d.ts +29 -0
  115. package/src/generated/react-component-lib/utils/attachProps.d.ts +16 -0
  116. package/src/generated/react-component-lib/utils/case.d.ts +2 -0
  117. package/src/generated/react-component-lib/utils/dev.d.ts +2 -0
  118. package/src/generated/react-component-lib/utils/index.d.ts +10 -0
  119. package/src/react-component-lib/attachProps.d.ts +16 -0
  120. package/src/react-component-lib/case.d.ts +2 -0
  121. package/src/react-component-lib/createComponent.d.ts +10 -0
  122. package/src/react-component-lib/createOverlayComponent.d.ts +21 -0
  123. package/src/react-component-lib/dev.d.ts +2 -0
  124. package/src/react-component-lib/interfaces.d.ts +29 -0
  125. package/src/react-component-lib/utils/attachProps.d.ts +16 -0
  126. package/src/react-component-lib/utils/case.d.ts +2 -0
  127. package/src/react-component-lib/utils/index.d.ts +10 -0
  128. package/star-0da9b5e9.esm.js +5 -0
  129. package/success-443809da.esm.js +18 -0
  130. package/svg-repository.entry.esm.js +337 -0
  131. package/thumbs-down-a18fd049.esm.js +5 -0
  132. package/thumbs-up-c19a71bc.esm.js +6 -0
  133. package/token-list_3.entry.esm.js +385 -0
  134. package/token-ratios.entry.esm.js +49 -0
  135. package/token-typography.entry.esm.js +267 -0
  136. package/tutotial-150ee1fd.esm.js +27 -0
  137. package/twitter-ac21b505.esm.js +14 -0
  138. package/unknown-ed01a24c.esm.js +22 -0
  139. package/up-and-down-d747abee.esm.js +12 -0
  140. package/user-71ebdc15.esm.js +16 -0
  141. package/youtube-efbfbdc4.esm.js +14 -0
  142. package/.babelrc +0 -12
  143. package/project.json +0 -10
  144. package/rollup.config.js +0 -43
  145. package/src/components.ts +0 -49
  146. package/src/generated/components.ts +0 -47
  147. package/src/generated/react-component-lib/attachProps.ts +0 -125
  148. package/src/generated/react-component-lib/case.ts +0 -7
  149. package/src/generated/react-component-lib/createComponent.tsx +0 -106
  150. package/src/generated/react-component-lib/createOverlayComponent.tsx +0 -142
  151. package/src/generated/react-component-lib/dev.ts +0 -14
  152. package/src/generated/react-component-lib/index.tsx +0 -50
  153. package/src/generated/react-component-lib/interfaces.ts +0 -34
  154. package/src/generated/react-component-lib/utils/attachProps.ts +0 -125
  155. package/src/generated/react-component-lib/utils/case.ts +0 -7
  156. package/src/generated/react-component-lib/utils/dev.ts +0 -14
  157. package/src/generated/react-component-lib/utils/index.tsx +0 -50
  158. package/src/react-component-lib/attachProps.ts +0 -125
  159. package/src/react-component-lib/case.ts +0 -7
  160. package/src/react-component-lib/createComponent.tsx +0 -106
  161. package/src/react-component-lib/createOverlayComponent.tsx +0 -142
  162. package/src/react-component-lib/dev.ts +0 -14
  163. package/src/react-component-lib/index.tsx +0 -50
  164. package/src/react-component-lib/interfaces.ts +0 -34
  165. package/src/react-component-lib/utils/attachProps.ts +0 -125
  166. package/src/react-component-lib/utils/case.ts +0 -7
  167. package/src/react-component-lib/utils/index.tsx +0 -50
  168. package/tsconfig.json +0 -17
  169. package/tsconfig.lib.json +0 -23
  170. /package/src/generated/react-component-lib/{index.ts → index.d.ts} +0 -0
  171. /package/src/{index.ts → index.d.ts} +0 -0
  172. /package/src/react-component-lib/{index.ts → index.d.ts} +0 -0
@@ -0,0 +1,210 @@
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 { c as cva } from './index-39c58238.esm.js';
4
+ import 'react';
5
+ import 'react/jsx-runtime';
6
+ import 'react-dom';
7
+
8
+ const GRADIANT_TOKENS = ['green', 'yellow', 'among-blue', 'purple'];
9
+ const gradientBGColorVariants = cva([], {
10
+ variants: {
11
+ color: GRADIANT_TOKENS.reduce((acc, token) => Object.assign(Object.assign({}, acc), {
12
+ [token]: ''
13
+ }), {}),
14
+ direction: {
15
+ top: '',
16
+ bottom: ''
17
+ },
18
+ pseudo: {
19
+ true: 'before:effect-opacity effect-bg-behind',
20
+ false: ''
21
+ },
22
+ hover: {
23
+ true: 'before:opacity-0 hover:before:opacity-100',
24
+ false: ''
25
+ }
26
+ },
27
+ compoundVariants: [
28
+ // region GREEN
29
+ {
30
+ color: 'green',
31
+ direction: 'top',
32
+ pseudo: true,
33
+ class: 'before:bg-gradient-01-top'
34
+ }, {
35
+ color: 'green',
36
+ pseudo: true,
37
+ direction: 'bottom',
38
+ class: 'before:bg-gradient-01-bottom'
39
+ }, {
40
+ color: 'green',
41
+ direction: 'top',
42
+ pseudo: false,
43
+ class: 'bg-gradient-01-top'
44
+ }, {
45
+ color: 'green',
46
+ pseudo: false,
47
+ direction: 'bottom',
48
+ class: 'bg-gradient-01-bottom'
49
+ },
50
+ // endregion
51
+ // region YELLOW
52
+ {
53
+ color: 'yellow',
54
+ direction: 'top',
55
+ pseudo: true,
56
+ class: 'before:bg-gradient-02-top'
57
+ }, {
58
+ color: 'yellow',
59
+ direction: 'bottom',
60
+ pseudo: true,
61
+ class: 'before:bg-gradient-02-bottom'
62
+ }, {
63
+ color: 'yellow',
64
+ direction: 'top',
65
+ pseudo: false,
66
+ class: 'bg-gradient-02-top'
67
+ }, {
68
+ color: 'yellow',
69
+ direction: 'bottom',
70
+ pseudo: false,
71
+ class: 'bg-gradient-02-bottom'
72
+ },
73
+ // endregion
74
+ // region PURPLE
75
+ {
76
+ color: 'purple',
77
+ direction: 'top',
78
+ pseudo: true,
79
+ class: 'before:bg-gradient-03-top'
80
+ }, {
81
+ color: 'purple',
82
+ direction: 'bottom',
83
+ pseudo: true,
84
+ class: 'before:bg-gradient-03-bottom'
85
+ }, {
86
+ color: 'purple',
87
+ direction: 'top',
88
+ pseudo: false,
89
+ class: 'bg-gradient-03-top'
90
+ }, {
91
+ color: 'purple',
92
+ direction: 'bottom',
93
+ pseudo: false,
94
+ class: 'bg-gradient-03-bottom'
95
+ },
96
+ // endregion
97
+ // region AMONG-BLUE
98
+ {
99
+ color: 'among-blue',
100
+ direction: 'top',
101
+ pseudo: true,
102
+ class: 'before:bg-gradient-04-top'
103
+ }, {
104
+ color: 'among-blue',
105
+ direction: 'bottom',
106
+ pseudo: true,
107
+ class: 'before:bg-gradient-04-bottom'
108
+ }, {
109
+ color: 'among-blue',
110
+ direction: 'top',
111
+ pseudo: false,
112
+ class: 'bg-gradient-04-top'
113
+ }, {
114
+ color: 'among-blue',
115
+ direction: 'bottom',
116
+ pseudo: false,
117
+ class: 'bg-gradient-04-bottom'
118
+ }
119
+ // endregion
120
+ ],
121
+ defaultVariants: {
122
+ direction: 'top',
123
+ pseudo: true
124
+ }
125
+ });
126
+ const EdsCardProject = class {
127
+ constructor(hostRef) {
128
+ registerInstance(this, hostRef);
129
+ this.image = undefined;
130
+ this.editorialTitle = undefined;
131
+ this.headingLevel = 'h3';
132
+ this.categoryTitle = undefined;
133
+ this.color = undefined;
134
+ this.bgOnHover = false;
135
+ this.vertical = false;
136
+ this.titleProject = undefined;
137
+ this.url = undefined;
138
+ this.parsedImage = null;
139
+ }
140
+ componentWillLoad() {
141
+ // Parse the image prop if it's provided
142
+ if (this.image) {
143
+ try {
144
+ this.parsedImage = JSON.parse(this.image);
145
+ //console.log(this.parsedImage);
146
+ } catch (error) {
147
+ //console.error('Error parsing image prop:', error);
148
+ }
149
+ }
150
+ }
151
+ handleClick(event) {
152
+ var _a;
153
+ event.preventDefault();
154
+ sendAnalytics({
155
+ category: 'ui-component',
156
+ tag: this.el.tagName.toLowerCase(),
157
+ name: ((_a = this.titleProject) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '',
158
+ action: 'click'
159
+ });
160
+ }
161
+ render() {
162
+ var _a;
163
+ const cardClasses = ['min-h-156 border-inside after:border-softest @container overflow-hidden border-0 after:rounded-lg', this.color ? gradientBGColorVariants({
164
+ color: this.color,
165
+ hover: this.bgOnHover,
166
+ class: 'before:border-2 before:rounded-lg before:border-softest'
167
+ }) : '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(' ');
168
+ const imageClasses = this.vertical ? '' : 'max-w-120 @md:max-w-192 order-first w-full lg:order-last';
169
+ return h("article", {
170
+ key: '7a69b9f5fc30ce389267a064e82aa2cf78b676d1',
171
+ class: cardClasses,
172
+ onClick: event => this.handleClick(event)
173
+ }, h("div", {
174
+ key: '8495c7b6655418741b1d208f06f003d4ec2eaf79',
175
+ class: `flex grow flex-col ${this.vertical ? 'min-h-156' : ''}`
176
+ }, h("div", {
177
+ key: '803b274d099072e055c484e818732a48ff27ebab',
178
+ class: "lg:max-w-[720px]"
179
+ }, h("eds-card-title", {
180
+ key: '18b1d058c9d92e3df264c5f60cec0adc8f14f19e',
181
+ "heading-level": this.headingLevel,
182
+ titleClass: this.image ? 'f-ui-01' : undefined,
183
+ "card-title": this.titleProject,
184
+ url: this.url
185
+ }), this.editorialTitle && h("span", {
186
+ key: '1854001686cae69c50a97ed50534ae4329d3017a',
187
+ class: `block ${this.vertical ? 'f-ui-02' : 'mt-4 f-heading-06'}`
188
+ }, this.editorialTitle)), this.categoryTitle && h("div", {
189
+ key: 'a5e741ce22ace338988a1a0d6f0d5c2740eb685b',
190
+ class: "mt-auto flex items-center gap-x-12 pt-12"
191
+ }, ((_a = this.categoryTitle) === null || _a === void 0 ? void 0 : _a.length) && h("eds-tag", {
192
+ key: 'c1136aef565b3a35bee7d7c254434b6c06f3cf65',
193
+ label: this.categoryTitle
194
+ }))), this.parsedImage && h("div", {
195
+ key: '531cb24eafadd52397a138735436e0501b45cf76',
196
+ class: imageClasses
197
+ }, h("div", {
198
+ key: 'c692a10bfa0032d4e43fe35090e38dde3e0401f3',
199
+ class: "aspect-1x1 w-full"
200
+ }, h("eds-img", Object.assign({
201
+ key: '490983736b4cd9de3b2cfbafe11be15802746afe',
202
+ sizes: this.vertical ? this.parsedImage.sizes || '' : '192px'
203
+ }, this.parsedImage)))));
204
+ }
205
+ get el() {
206
+ return getElement(this);
207
+ }
208
+ };
209
+
210
+ 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-d99780e3.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: 'b3f0c0f3588304fb36f1c395b69b723edbfa8c95',
66
+ class: `${this.el.tagName.toLowerCase()} ${this.articleClasses()}`,
67
+ onClick: () => this.handleClick()
68
+ }, h("eds-card-title", {
69
+ key: '12f9d1363b3d171912eb00117d99056065fbcb33',
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: '780c4b035e0fff1911ee4b8b04a0729cd182d877',
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: 'a6878ba6bb2086a334282b10750234f4251c6334',
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 };