@entur/typography 1.9.13 → 1.10.0-beta.10

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 (43) hide show
  1. package/README.md +101 -4
  2. package/dist/BaseHeading.d.ts +18 -0
  3. package/dist/Blockquote.d.ts +12 -0
  4. package/dist/CodeText.d.ts +16 -0
  5. package/dist/EmphasizedText.d.ts +20 -0
  6. package/dist/Heading1.d.ts +20 -0
  7. package/dist/Heading2.d.ts +20 -0
  8. package/dist/Heading3.d.ts +20 -0
  9. package/dist/Heading4.d.ts +20 -0
  10. package/dist/Heading5.d.ts +20 -0
  11. package/dist/Heading6.d.ts +20 -0
  12. package/dist/Label.d.ts +20 -0
  13. package/dist/LeadParagraph.d.ts +20 -0
  14. package/dist/Link.d.ts +22 -0
  15. package/dist/ListItem.d.ts +11 -0
  16. package/dist/NumberedList.d.ts +8 -0
  17. package/dist/Paragraph.d.ts +20 -0
  18. package/dist/PreformattedText.d.ts +16 -0
  19. package/dist/SmallText.d.ts +20 -0
  20. package/dist/StrongText.d.ts +20 -0
  21. package/dist/SubLabel.d.ts +20 -0
  22. package/dist/SubParagraph.d.ts +20 -0
  23. package/dist/UnorderedList.d.ts +8 -0
  24. package/dist/beta/BlockquoteBeta.d.ts +12 -0
  25. package/dist/beta/Heading.d.ts +21 -0
  26. package/dist/beta/LinkBeta.d.ts +16 -0
  27. package/dist/beta/Text.d.ts +21 -0
  28. package/dist/beta/index.d.ts +6 -0
  29. package/dist/beta/types.d.ts +5 -0
  30. package/dist/beta/utils.d.ts +10 -0
  31. package/dist/index.d.ts +26 -426
  32. package/dist/index.js +8 -0
  33. package/dist/styles.css +838 -2
  34. package/dist/typography.cjs.development.js +528 -0
  35. package/dist/typography.cjs.development.js.map +1 -0
  36. package/dist/typography.cjs.production.min.js +2 -0
  37. package/dist/typography.cjs.production.min.js.map +1 -0
  38. package/dist/typography.esm.js +474 -392
  39. package/dist/typography.esm.js.map +1 -1
  40. package/package.json +21 -25
  41. package/scripts/migrate-typography.js +1259 -0
  42. package/dist/typography.cjs.js +0 -416
  43. package/dist/typography.cjs.js.map +0 -1
@@ -1,416 +1,498 @@
1
- import { warnAboutMissingStyles } from "@entur/utils";
2
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
- import classNames from "classnames";
4
- import { ExternalIcon } from "@entur/icons";
5
- const Blockquote = ({ className, ref, ...rest }) => {
6
- return /* @__PURE__ */ jsx(
7
- "blockquote",
8
- {
9
- className: classNames("eds-blockquote", className),
10
- ref,
11
- ...rest
1
+ import { warnAboutMissingStyles } from '@entur/utils';
2
+ import React from 'react';
3
+ import classNames from 'classnames';
4
+ import { ExternalIcon } from '@entur/icons';
5
+
6
+ function _extends() {
7
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
8
+ for (var e = 1; e < arguments.length; e++) {
9
+ var t = arguments[e];
10
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
12
11
  }
13
- );
12
+ return n;
13
+ }, _extends.apply(null, arguments);
14
+ }
15
+ function _objectWithoutPropertiesLoose(r, e) {
16
+ if (null == r) return {};
17
+ var t = {};
18
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
19
+ if (-1 !== e.indexOf(n)) continue;
20
+ t[n] = r[n];
21
+ }
22
+ return t;
23
+ }
24
+
25
+ var _excluded$p = ["className", "ref"],
26
+ _excluded2$1 = ["className"];
27
+ var Blockquote = function Blockquote(_ref) {
28
+ var className = _ref.className,
29
+ ref = _ref.ref,
30
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$p);
31
+ return React.createElement("blockquote", _extends({
32
+ className: classNames('eds-blockquote', className),
33
+ ref: ref
34
+ }, rest));
14
35
  };
15
- const BlockquoteFooter = ({ className, ...rest }) => {
16
- return /* @__PURE__ */ jsx(
17
- "footer",
18
- {
19
- className: classNames("eds-blockquote__footer", className),
20
- ...rest
21
- }
22
- );
36
+ var BlockquoteFooter = function BlockquoteFooter(_ref2) {
37
+ var className = _ref2.className,
38
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2$1);
39
+ return React.createElement("footer", _extends({
40
+ className: classNames('eds-blockquote__footer', className)
41
+ }, rest));
23
42
  };
24
- const defaultElement$h = "code";
25
- const CodeText = ({
26
- className,
27
- as,
28
- ...rest
29
- }) => {
30
- const Element = as || defaultElement$h;
31
- return /* @__PURE__ */ jsx(Element, { className: classNames("eds-code-text", className), ...rest });
43
+
44
+ var _excluded$o = ["className", "as"];
45
+ var defaultElement$h = 'code';
46
+ var CodeText = function CodeText(_ref) {
47
+ var className = _ref.className,
48
+ as = _ref.as,
49
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$o);
50
+ var Element = as || defaultElement$h;
51
+ return React.createElement(Element, _extends({
52
+ className: classNames('eds-code-text', className)
53
+ }, rest));
32
54
  };
33
- const defaultElement$g = "em";
34
- const EmphasizedText = ({
35
- className,
36
- margin = "both",
37
- as,
38
- ...rest
39
- }) => {
40
- const Element = as || defaultElement$g;
41
- return /* @__PURE__ */ jsx(
42
- Element,
43
- {
44
- className: classNames(
45
- "eds-emphasized-text",
46
- {
47
- [`eds-emphasized-text--margin-top`]: margin === "top",
48
- [`eds-emphasized-text--margin-bottom`]: margin === "bottom",
49
- [`eds-emphasized-text--margin-none`]: margin === "none"
50
- },
51
- className
52
- ),
53
- ...rest
54
- }
55
- );
55
+
56
+ var _excluded$n = ["className", "margin", "as"];
57
+ var defaultElement$g = 'em';
58
+ var EmphasizedText = function EmphasizedText(_ref) {
59
+ var _classNames;
60
+ var className = _ref.className,
61
+ _ref$margin = _ref.margin,
62
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
63
+ as = _ref.as,
64
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$n);
65
+ var Element = as || defaultElement$g;
66
+ return React.createElement(Element, _extends({
67
+ className: classNames('eds-emphasized-text', (_classNames = {}, _classNames["eds-emphasized-text--margin-top"] = margin === 'top', _classNames["eds-emphasized-text--margin-bottom"] = margin === 'bottom', _classNames["eds-emphasized-text--margin-none"] = margin === 'none', _classNames), className)
68
+ }, rest));
56
69
  };
57
- const defaultElement$f = "h1";
58
- const BaseHeading = ({
59
- className,
60
- level,
61
- margin,
62
- as,
63
- ...rest
64
- }) => {
65
- const Element = as || defaultElement$f;
66
- const baseClass = `eds-h${level}`;
67
- return /* @__PURE__ */ jsx(
68
- Element,
69
- {
70
- className: classNames(
71
- baseClass,
72
- {
73
- [`${baseClass}--margin-top`]: margin === "top",
74
- [`${baseClass}--margin-bottom`]: margin === "bottom",
75
- [`${baseClass}--margin-none`]: margin === "none"
76
- },
77
- className
78
- ),
79
- ...rest
80
- }
81
- );
70
+
71
+ var _excluded$m = ["className", "level", "margin", "as"];
72
+ var defaultElement$f = 'h1';
73
+ var BaseHeading = function BaseHeading(_ref) {
74
+ var _classNames;
75
+ var className = _ref.className,
76
+ level = _ref.level,
77
+ margin = _ref.margin,
78
+ as = _ref.as,
79
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$m);
80
+ var Element = as || defaultElement$f;
81
+ var baseClass = "eds-h" + level;
82
+ return React.createElement(Element, _extends({
83
+ className: classNames(baseClass, (_classNames = {}, _classNames[baseClass + "--margin-top"] = margin === 'top', _classNames[baseClass + "--margin-bottom"] = margin === 'bottom', _classNames[baseClass + "--margin-none"] = margin === 'none', _classNames), className)
84
+ }, rest));
82
85
  };
83
- const defaultElement$e = "h1";
84
- const Heading1 = ({
85
- margin = "both",
86
- children,
87
- as,
88
- ...rest
89
- }) => {
90
- const Element = as || defaultElement$e;
91
- return /* @__PURE__ */ jsx(BaseHeading, { as: Element, margin, ...rest, level: 1, children });
86
+
87
+ var _excluded$l = ["margin", "children", "as"];
88
+ var defaultElement$e = 'h1';
89
+ var Heading1 = function Heading1(_ref) {
90
+ var _ref$margin = _ref.margin,
91
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
92
+ children = _ref.children,
93
+ as = _ref.as,
94
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$l);
95
+ var Element = as || defaultElement$e;
96
+ return React.createElement(BaseHeading, _extends({
97
+ as: Element,
98
+ margin: margin
99
+ }, rest, {
100
+ level: 1
101
+ }), children);
92
102
  };
93
- const defaultElement$d = "h2";
94
- const Heading2 = ({
95
- margin = "both",
96
- children,
97
- as,
98
- ...rest
99
- }) => {
100
- const Element = as || defaultElement$d;
101
- return /* @__PURE__ */ jsx(BaseHeading, { as: Element, margin, ...rest, level: 2, children });
103
+
104
+ var _excluded$k = ["margin", "children", "as"];
105
+ var defaultElement$d = 'h2';
106
+ var Heading2 = function Heading2(_ref) {
107
+ var _ref$margin = _ref.margin,
108
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
109
+ children = _ref.children,
110
+ as = _ref.as,
111
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$k);
112
+ var Element = as || defaultElement$d;
113
+ return React.createElement(BaseHeading, _extends({
114
+ as: Element,
115
+ margin: margin
116
+ }, rest, {
117
+ level: 2
118
+ }), children);
102
119
  };
103
- const defaultElement$c = "h3";
104
- const Heading3 = ({
105
- margin = "both",
106
- children,
107
- as,
108
- ...rest
109
- }) => {
110
- const Element = as || defaultElement$c;
111
- return /* @__PURE__ */ jsx(BaseHeading, { as: Element, margin, ...rest, level: 3, children });
120
+
121
+ var _excluded$j = ["margin", "children", "as"];
122
+ var defaultElement$c = 'h3';
123
+ var Heading3 = function Heading3(_ref) {
124
+ var _ref$margin = _ref.margin,
125
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
126
+ children = _ref.children,
127
+ as = _ref.as,
128
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$j);
129
+ var Element = as || defaultElement$c;
130
+ return React.createElement(BaseHeading, _extends({
131
+ as: Element,
132
+ margin: margin
133
+ }, rest, {
134
+ level: 3
135
+ }), children);
112
136
  };
113
- const defaultElement$b = "h4";
114
- const Heading4 = ({
115
- margin = "both",
116
- children,
117
- as,
118
- ...rest
119
- }) => {
120
- const Element = as || defaultElement$b;
121
- return /* @__PURE__ */ jsx(BaseHeading, { as: Element, margin, ...rest, level: 4, children });
137
+
138
+ var _excluded$i = ["margin", "children", "as"];
139
+ var defaultElement$b = 'h4';
140
+ var Heading4 = function Heading4(_ref) {
141
+ var _ref$margin = _ref.margin,
142
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
143
+ children = _ref.children,
144
+ as = _ref.as,
145
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$i);
146
+ var Element = as || defaultElement$b;
147
+ return React.createElement(BaseHeading, _extends({
148
+ as: Element,
149
+ margin: margin
150
+ }, rest, {
151
+ level: 4
152
+ }), children);
122
153
  };
123
- const defaultElement$a = "h5";
124
- const Heading5 = ({
125
- margin = "both",
126
- children,
127
- as,
128
- ...rest
129
- }) => {
130
- const Element = as || defaultElement$a;
131
- return /* @__PURE__ */ jsx(BaseHeading, { as: Element, margin, ...rest, level: 5, children });
154
+
155
+ var _excluded$h = ["margin", "children", "as"];
156
+ var defaultElement$a = 'h5';
157
+ var Heading5 = function Heading5(_ref) {
158
+ var _ref$margin = _ref.margin,
159
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
160
+ children = _ref.children,
161
+ as = _ref.as,
162
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$h);
163
+ var Element = as || defaultElement$a;
164
+ return React.createElement(BaseHeading, _extends({
165
+ as: Element,
166
+ margin: margin
167
+ }, rest, {
168
+ level: 5
169
+ }), children);
132
170
  };
133
- const defaultElement$9 = "h6";
134
- const Heading6 = ({
135
- margin = "both",
136
- children,
137
- as,
138
- ...rest
139
- }) => {
140
- const Element = as || defaultElement$9;
141
- return /* @__PURE__ */ jsx(BaseHeading, { as: Element, margin, ...rest, level: 6, children });
171
+
172
+ var _excluded$g = ["margin", "children", "as"];
173
+ var defaultElement$9 = 'h6';
174
+ var Heading6 = function Heading6(_ref) {
175
+ var _ref$margin = _ref.margin,
176
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
177
+ children = _ref.children,
178
+ as = _ref.as,
179
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$g);
180
+ var Element = as || defaultElement$9;
181
+ return React.createElement(BaseHeading, _extends({
182
+ as: Element,
183
+ margin: margin
184
+ }, rest, {
185
+ level: 6
186
+ }), children);
142
187
  };
143
- const defaultElement$8 = "label";
144
- const Label = ({
145
- className,
146
- margin = "both",
147
- as,
148
- ...rest
149
- }) => {
150
- const Element = as || defaultElement$8;
151
- return /* @__PURE__ */ jsx(
152
- Element,
153
- {
154
- className: classNames(
155
- "eds-label",
156
- {
157
- [`eds-label--margin-top`]: margin === "top",
158
- [`eds-label--margin-bottom`]: margin === "bottom",
159
- [`eds-label--margin-none`]: margin === "none"
160
- },
161
- className
162
- ),
163
- ...rest
164
- }
165
- );
188
+
189
+ var _excluded$f = ["className", "margin", "as"];
190
+ var defaultElement$8 = 'label';
191
+ var Label = function Label(_ref) {
192
+ var _classNames;
193
+ var className = _ref.className,
194
+ _ref$margin = _ref.margin,
195
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
196
+ as = _ref.as,
197
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$f);
198
+ var Element = as || defaultElement$8;
199
+ return React.createElement(Element, _extends({
200
+ className: classNames('eds-label', (_classNames = {}, _classNames["eds-label--margin-top"] = margin === 'top', _classNames["eds-label--margin-bottom"] = margin === 'bottom', _classNames["eds-label--margin-none"] = margin === 'none', _classNames), className)
201
+ }, rest));
166
202
  };
167
- const defaultElement$7 = "p";
168
- const LeadParagraph = ({
169
- className,
170
- margin = "both",
171
- as,
172
- ...rest
173
- }) => {
174
- const Element = as || defaultElement$7;
175
- return /* @__PURE__ */ jsx(
176
- Element,
177
- {
178
- className: classNames(
179
- "eds-lead-paragraph",
180
- {
181
- [`eds-lead-paragraph--margin-top`]: margin === "top",
182
- [`eds-lead-paragraph--margin-bottom`]: margin === "bottom",
183
- [`eds-lead-paragraph--margin-none`]: margin === "none"
184
- },
185
- className
186
- ),
187
- ...rest
188
- }
189
- );
203
+
204
+ var _excluded$e = ["className", "margin", "as"];
205
+ var defaultElement$7 = 'p';
206
+ var LeadParagraph = function LeadParagraph(_ref) {
207
+ var _classNames;
208
+ var className = _ref.className,
209
+ _ref$margin = _ref.margin,
210
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
211
+ as = _ref.as,
212
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$e);
213
+ var Element = as || defaultElement$7;
214
+ return React.createElement(Element, _extends({
215
+ className: classNames('eds-lead-paragraph', (_classNames = {}, _classNames["eds-lead-paragraph--margin-top"] = margin === 'top', _classNames["eds-lead-paragraph--margin-bottom"] = margin === 'bottom', _classNames["eds-lead-paragraph--margin-none"] = margin === 'none', _classNames), className)
216
+ }, rest));
190
217
  };
191
- const defaultElement$6 = "a";
192
- const Link = ({
193
- external = false,
194
- ariaLabelExternalIcon = "(ekstern lenke)",
195
- className,
196
- margin = "both",
197
- children,
198
- as,
199
- ...rest
200
- }) => {
201
- const Element = as || defaultElement$6;
202
- return /* @__PURE__ */ jsxs(
203
- Element,
204
- {
205
- className: classNames(
206
- "eds-link",
207
- {
208
- [`eds-link--margin-top`]: margin === "top",
209
- [`eds-link--margin-bottom`]: margin === "bottom",
210
- [`eds-link--margin-none`]: margin === "none"
211
- },
212
- className
213
- ),
214
- ...rest,
215
- children: [
216
- children,
217
- external ? /* @__PURE__ */ jsx(
218
- ExternalIcon,
219
- {
220
- className: "eds-link--ext-icon",
221
- "aria-label": ariaLabelExternalIcon
222
- }
223
- ) : /* @__PURE__ */ jsx(Fragment, {})
224
- ]
225
- }
226
- );
218
+
219
+ var _excluded$d = ["external", "ariaLabelExternalIcon", "className", "margin", "children", "as"];
220
+ var defaultElement$6 = 'a';
221
+ var Link = function Link(_ref) {
222
+ var _classNames;
223
+ var _ref$external = _ref.external,
224
+ external = _ref$external === void 0 ? false : _ref$external,
225
+ _ref$ariaLabelExterna = _ref.ariaLabelExternalIcon,
226
+ ariaLabelExternalIcon = _ref$ariaLabelExterna === void 0 ? '(ekstern lenke)' : _ref$ariaLabelExterna,
227
+ className = _ref.className,
228
+ _ref$margin = _ref.margin,
229
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
230
+ children = _ref.children,
231
+ as = _ref.as,
232
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$d);
233
+ var Element = as || defaultElement$6;
234
+ return React.createElement(Element, _extends({
235
+ className: classNames('eds-link', (_classNames = {}, _classNames["eds-link--margin-top"] = margin === 'top', _classNames["eds-link--margin-bottom"] = margin === 'bottom', _classNames["eds-link--margin-none"] = margin === 'none', _classNames), className)
236
+ }, rest), children, external ? React.createElement(ExternalIcon, {
237
+ className: "eds-link--ext-icon",
238
+ "aria-label": ariaLabelExternalIcon
239
+ }) : React.createElement(React.Fragment, null));
227
240
  };
228
- const defaultElement$5 = "strong";
229
- const StrongText = ({
230
- className,
231
- margin = "both",
232
- as,
233
- ...rest
234
- }) => {
235
- const Element = as || defaultElement$5;
236
- return /* @__PURE__ */ jsx(
237
- Element,
238
- {
239
- className: classNames(
240
- "eds-strong-text",
241
- {
242
- [`eds-strong-text--margin-top`]: margin === "top",
243
- [`eds-strong-text--margin-bottom`]: margin === "bottom",
244
- [`eds-strong-text--margin-none`]: margin === "none"
245
- },
246
- className
247
- ),
248
- ...rest
249
- }
250
- );
241
+
242
+ var _excluded$c = ["className", "margin", "as"];
243
+ var defaultElement$5 = 'strong';
244
+ var StrongText = function StrongText(_ref) {
245
+ var _classNames;
246
+ var className = _ref.className,
247
+ _ref$margin = _ref.margin,
248
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
249
+ as = _ref.as,
250
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$c);
251
+ var Element = as || defaultElement$5;
252
+ return React.createElement(Element, _extends({
253
+ className: classNames('eds-strong-text', (_classNames = {}, _classNames["eds-strong-text--margin-top"] = margin === 'top', _classNames["eds-strong-text--margin-bottom"] = margin === 'bottom', _classNames["eds-strong-text--margin-none"] = margin === 'none', _classNames), className)
254
+ }, rest));
251
255
  };
252
- const ListItem = ({
253
- children,
254
- className,
255
- title,
256
- ...rest
257
- }) => /* @__PURE__ */ jsxs("li", { className: classNames("eds-list-item", className), ...rest, children: [
258
- title && /* @__PURE__ */ jsx(StrongText, { className: "eds-list-item__title", children: title }),
259
- children
260
- ] });
261
- const NumberedList = ({
262
- className,
263
- type = "1",
264
- ...rest
265
- }) => /* @__PURE__ */ jsx(
266
- "ol",
267
- {
268
- className: classNames(
269
- "eds-numbered-list",
270
- { [`eds-numbered-list--type-${type}`]: type },
271
- className
272
- ),
273
- type,
274
- ...rest
275
- }
276
- );
277
- const defaultElement$4 = "p";
278
- const Paragraph = ({
279
- margin = "bottom",
280
- className,
281
- as,
282
- ...rest
283
- }) => {
284
- const Element = as || defaultElement$4;
285
- return /* @__PURE__ */ jsx(
286
- Element,
287
- {
288
- className: classNames(
289
- "eds-paragraph",
290
- {
291
- "eds-paragraph--margin-bottom": margin === "bottom",
292
- "eds-paragraph--margin-none": margin === "none"
293
- },
294
- className
295
- ),
296
- ...rest
297
- }
298
- );
256
+
257
+ var _excluded$b = ["children", "className", "title"];
258
+ var ListItem = function ListItem(_ref) {
259
+ var children = _ref.children,
260
+ className = _ref.className,
261
+ title = _ref.title,
262
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$b);
263
+ return React.createElement("li", _extends({
264
+ className: classNames('eds-list-item', className)
265
+ }, rest), title && React.createElement(StrongText, {
266
+ className: "eds-list-item__title"
267
+ }, title), children);
299
268
  };
300
- const defaultElement$3 = "pre";
301
- const PreformattedText = ({
302
- className,
303
- as,
304
- ...rest
305
- }) => {
306
- const Element = as || defaultElement$3;
307
- return /* @__PURE__ */ jsx(
308
- Element,
309
- {
310
- className: classNames("eds-preformatted-text", className),
311
- ...rest
312
- }
313
- );
269
+
270
+ var _excluded$a = ["className", "type"];
271
+ var NumberedList = function NumberedList(_ref) {
272
+ var _classNames;
273
+ var className = _ref.className,
274
+ _ref$type = _ref.type,
275
+ type = _ref$type === void 0 ? '1' : _ref$type,
276
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$a);
277
+ return React.createElement("ol", _extends({
278
+ className: classNames('eds-numbered-list', (_classNames = {}, _classNames["eds-numbered-list--type-" + type] = type, _classNames), className),
279
+ type: type
280
+ }, rest));
314
281
  };
315
- const defaultElement$2 = "span";
316
- const SmallText = ({
317
- className,
318
- margin = "both",
319
- as,
320
- ...rest
321
- }) => {
322
- const Element = as || defaultElement$2;
323
- return /* @__PURE__ */ jsx(
324
- Element,
325
- {
326
- className: classNames(
327
- "eds-small-text",
328
- {
329
- [`eds-small-text--margin-top`]: margin === "top",
330
- [`eds-small-text--margin-bottom`]: margin === "bottom",
331
- [`eds-small-text--margin-none`]: margin === "none"
332
- },
333
- className
334
- ),
335
- ...rest
336
- }
337
- );
282
+
283
+ var _excluded$9 = ["margin", "className", "as"];
284
+ var defaultElement$4 = 'p';
285
+ var Paragraph = function Paragraph(_ref) {
286
+ var _ref$margin = _ref.margin,
287
+ margin = _ref$margin === void 0 ? 'bottom' : _ref$margin,
288
+ className = _ref.className,
289
+ as = _ref.as,
290
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$9);
291
+ var Element = as || defaultElement$4;
292
+ return React.createElement(Element, _extends({
293
+ className: classNames('eds-paragraph', {
294
+ 'eds-paragraph--margin-bottom': margin === 'bottom',
295
+ 'eds-paragraph--margin-none': margin === 'none'
296
+ }, className)
297
+ }, rest));
338
298
  };
339
- const defaultElement$1 = "span";
340
- const SubLabel = ({
341
- className,
342
- margin = "both",
343
- as,
344
- ...rest
345
- }) => {
346
- const Element = as || defaultElement$1;
347
- return /* @__PURE__ */ jsx(
348
- Element,
349
- {
350
- className: classNames(
351
- "eds-sub-label",
352
- {
353
- [`eds-sub-label--margin-top`]: margin === "top",
354
- [`eds-sub-label--margin-bottom`]: margin === "bottom",
355
- [`eds-sub-label--margin-none`]: margin === "none"
356
- },
357
- className
358
- ),
359
- ...rest
360
- }
361
- );
299
+
300
+ var _excluded$8 = ["className", "as"];
301
+ var defaultElement$3 = 'pre';
302
+ var PreformattedText = function PreformattedText(_ref) {
303
+ var className = _ref.className,
304
+ as = _ref.as,
305
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$8);
306
+ var Element = as || defaultElement$3;
307
+ return React.createElement(Element, _extends({
308
+ className: classNames('eds-preformatted-text', className)
309
+ }, rest));
310
+ };
311
+
312
+ var _excluded$7 = ["className", "margin", "as"];
313
+ var defaultElement$2 = 'span';
314
+ var SmallText = function SmallText(_ref) {
315
+ var _classNames;
316
+ var className = _ref.className,
317
+ _ref$margin = _ref.margin,
318
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
319
+ as = _ref.as,
320
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$7);
321
+ var Element = as || defaultElement$2;
322
+ return React.createElement(Element, _extends({
323
+ className: classNames('eds-small-text', (_classNames = {}, _classNames["eds-small-text--margin-top"] = margin === 'top', _classNames["eds-small-text--margin-bottom"] = margin === 'bottom', _classNames["eds-small-text--margin-none"] = margin === 'none', _classNames), className)
324
+ }, rest));
325
+ };
326
+
327
+ var _excluded$6 = ["className", "margin", "as"];
328
+ var defaultElement$1 = 'span';
329
+ var SubLabel = function SubLabel(_ref) {
330
+ var _classNames;
331
+ var className = _ref.className,
332
+ _ref$margin = _ref.margin,
333
+ margin = _ref$margin === void 0 ? 'both' : _ref$margin,
334
+ as = _ref.as,
335
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
336
+ var Element = as || defaultElement$1;
337
+ return React.createElement(Element, _extends({
338
+ className: classNames('eds-sub-label', (_classNames = {}, _classNames["eds-sub-label--margin-top"] = margin === 'top', _classNames["eds-sub-label--margin-bottom"] = margin === 'bottom', _classNames["eds-sub-label--margin-none"] = margin === 'none', _classNames), className)
339
+ }, rest));
340
+ };
341
+
342
+ var _excluded$5 = ["className", "margin", "as"];
343
+ var defaultElement = 'p';
344
+ var SubParagraph = function SubParagraph(_ref) {
345
+ var _classNames;
346
+ var className = _ref.className,
347
+ margin = _ref.margin,
348
+ as = _ref.as,
349
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
350
+ var Element = as || defaultElement;
351
+ return React.createElement(Element, _extends({
352
+ className: classNames('eds-sub-paragraph', (_classNames = {}, _classNames["eds-sub-paragraph--margin-top"] = margin === 'top', _classNames["eds-sub-paragraph--margin-bottom"] = margin === 'bottom', _classNames["eds-sub-paragraph--margin-none"] = margin === 'none', _classNames), className)
353
+ }, rest));
354
+ };
355
+
356
+ var _excluded$4 = ["className"];
357
+ var UnorderedList = function UnorderedList(_ref) {
358
+ var className = _ref.className,
359
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
360
+ return React.createElement("ul", _extends({
361
+ className: classNames('eds-unordered-list', className)
362
+ }, rest));
362
363
  };
363
- const defaultElement = "p";
364
- const SubParagraph = ({
365
- className,
366
- margin,
367
- as,
368
- ...rest
369
- }) => {
370
- const Element = as || defaultElement;
371
- return /* @__PURE__ */ jsx(
372
- Element,
373
- {
374
- className: classNames(
375
- "eds-sub-paragraph",
376
- {
377
- [`eds-sub-paragraph--margin-top`]: margin === "top",
378
- [`eds-sub-paragraph--margin-bottom`]: margin === "bottom",
379
- [`eds-sub-paragraph--margin-none`]: margin === "none"
380
- },
381
- className
382
- ),
383
- ...rest
364
+
365
+ function getHeadingVariantFromSemanticType(semanticType) {
366
+ // Handle string element types (like 'h1', 'div', 'span')
367
+ if (typeof semanticType === 'string') {
368
+ switch (semanticType) {
369
+ case 'h1':
370
+ return 'title-1';
371
+ case 'h2':
372
+ return 'title-2';
373
+ case 'h3':
374
+ return 'subtitle-1';
375
+ case 'h4':
376
+ return 'subtitle-2';
377
+ case 'p':
378
+ return 'paragraph';
379
+ default:
380
+ return 'title-1';
384
381
  }
385
- );
382
+ }
383
+ // Handle React component types (functions/classes) - default to 'title-1'
384
+ return 'title-1';
385
+ }
386
+ function getSemanticTypeFromTextVariant(variant) {
387
+ switch (variant) {
388
+ case 'paragraph':
389
+ case 'subparagraph':
390
+ case 'leading':
391
+ case 'quote':
392
+ return 'p';
393
+ case 'caption':
394
+ case 'sublabel':
395
+ return 'small';
396
+ case 'label':
397
+ return 'span';
398
+ case 'overline':
399
+ return 'em';
400
+ case 'emphasized':
401
+ case 'code-text':
402
+ return 'code';
403
+ default:
404
+ return 'p';
405
+ }
406
+ }
407
+ /**
408
+ * Generates spacing class names for typography components
409
+ * @param spacing - The spacing value from TypographySpacing
410
+ * @param componentPrefix - The CSS class prefix (e.g., 'eds-heading', 'eds-text')
411
+ * @returns Object with class names for the spacing prop
412
+ */
413
+ function getSpacingClasses(spacing, componentPrefix) {
414
+ var _ref;
415
+ if (!spacing) return undefined;
416
+ return _ref = {}, _ref[componentPrefix + "--spacing-none"] = spacing === 'none', _ref[componentPrefix + "--spacing-xs2"] = spacing === 'xs2', _ref[componentPrefix + "--spacing-xs2-top"] = spacing === 'xs2-top', _ref[componentPrefix + "--spacing-xs2-bottom"] = spacing === 'xs2-bottom', _ref[componentPrefix + "--spacing-xs"] = spacing === 'xs', _ref[componentPrefix + "--spacing-xs-top"] = spacing === 'xs-top', _ref[componentPrefix + "--spacing-xs-bottom"] = spacing === 'xs-bottom', _ref[componentPrefix + "--spacing-sm"] = spacing === 'sm', _ref[componentPrefix + "--spacing-sm-top"] = spacing === 'sm-top', _ref[componentPrefix + "--spacing-sm-bottom"] = spacing === 'sm-bottom', _ref[componentPrefix + "--spacing-md"] = spacing === 'md', _ref[componentPrefix + "--spacing-md-top"] = spacing === 'md-top', _ref[componentPrefix + "--spacing-md-bottom"] = spacing === 'md-bottom', _ref[componentPrefix + "--spacing-lg"] = spacing === 'lg', _ref[componentPrefix + "--spacing-lg-top"] = spacing === 'lg-top', _ref[componentPrefix + "--spacing-lg-bottom"] = spacing === 'lg-bottom', _ref[componentPrefix + "--spacing-xl"] = spacing === 'xl', _ref[componentPrefix + "--spacing-xl-top"] = spacing === 'xl-top', _ref[componentPrefix + "--spacing-xl-bottom"] = spacing === 'xl-bottom', _ref;
417
+ }
418
+
419
+ var _excluded$3 = ["children", "as", "size", "variant", "weight", "spacing", "className"];
420
+ var TypographyText = function TypographyText(_ref) {
421
+ var children = _ref.children,
422
+ as = _ref.as,
423
+ size = _ref.size,
424
+ variant = _ref.variant,
425
+ _ref$weight = _ref.weight,
426
+ weight = _ref$weight === void 0 ? 'medium' : _ref$weight,
427
+ spacing = _ref.spacing,
428
+ className = _ref.className,
429
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
430
+ var BodyElement = as || getSemanticTypeFromTextVariant(variant);
431
+ return React.createElement(BodyElement, _extends({
432
+ className: classNames('eds-text', variant && "eds-text--" + variant, size && "eds-text--" + size, weight && "eds-text--weight-" + weight, getSpacingClasses(spacing, 'eds-text'), className)
433
+ }, rest), children);
434
+ };
435
+ // Export as Text to avoid DOM conflicts
436
+ var Text = TypographyText;
437
+
438
+ var _excluded$2 = ["children", "as", "size", "variant", "spacing", "className"];
439
+ var Heading = function Heading(_ref) {
440
+ var _classNames, _classNames2;
441
+ var children = _ref.children,
442
+ as = _ref.as,
443
+ size = _ref.size,
444
+ variant = _ref.variant,
445
+ spacing = _ref.spacing,
446
+ className = _ref.className,
447
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
448
+ var HeadingElement = as || 'h1';
449
+ // Function to determine the variant based on the semantic type
450
+ var usedVariant = variant != null ? variant : getHeadingVariantFromSemanticType(HeadingElement);
451
+ // When size is explicitly provided, it should override variant styling
452
+ var shouldUseSize = size !== undefined;
453
+ return React.createElement(HeadingElement, _extends({
454
+ className: classNames('eds-heading', (_classNames = {}, _classNames["eds-heading--" + usedVariant] = !shouldUseSize, _classNames), (_classNames2 = {}, _classNames2["eds-heading--" + size] = shouldUseSize && size, _classNames2), getSpacingClasses(spacing, 'eds-heading'), className)
455
+ }, rest), children);
456
+ };
457
+
458
+ var _excluded$1 = ["className"],
459
+ _excluded2 = ["className"];
460
+ var BlockquoteBeta = function BlockquoteBeta(_ref) {
461
+ var className = _ref.className,
462
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
463
+ return React.createElement("blockquote", _extends({
464
+ className: classNames('eds-text--blockquote', className)
465
+ }, rest));
466
+ };
467
+ var BlockquoteFooterBeta = function BlockquoteFooterBeta(_ref2) {
468
+ var className = _ref2.className,
469
+ rest = _objectWithoutPropertiesLoose(_ref2, _excluded2);
470
+ return React.createElement("footer", _extends({
471
+ className: classNames('eds-text--blockquote__footer', className)
472
+ }, rest));
386
473
  };
387
- const UnorderedList = ({
388
- className,
389
- ...rest
390
- }) => /* @__PURE__ */ jsx("ul", { className: classNames("eds-unordered-list", className), ...rest });
391
- warnAboutMissingStyles("typography");
392
- export {
393
- Blockquote,
394
- BlockquoteFooter,
395
- CodeText,
396
- EmphasizedText,
397
- Heading1,
398
- Heading2,
399
- Heading3,
400
- Heading4,
401
- Heading5,
402
- Heading6,
403
- Label,
404
- LeadParagraph,
405
- Link,
406
- ListItem,
407
- NumberedList,
408
- Paragraph,
409
- PreformattedText,
410
- SmallText,
411
- StrongText,
412
- SubLabel,
413
- SubParagraph,
414
- UnorderedList
474
+
475
+ var _excluded = ["external", "ariaLabelExternalIcon", "className", "spacing", "children", "as"];
476
+ var LinkBeta = function LinkBeta(_ref) {
477
+ var _ref$external = _ref.external,
478
+ external = _ref$external === void 0 ? false : _ref$external,
479
+ _ref$ariaLabelExterna = _ref.ariaLabelExternalIcon,
480
+ ariaLabelExternalIcon = _ref$ariaLabelExterna === void 0 ? '(ekstern lenke)' : _ref$ariaLabelExterna,
481
+ className = _ref.className,
482
+ spacing = _ref.spacing,
483
+ children = _ref.children,
484
+ as = _ref.as,
485
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
486
+ var LinkElement = as || 'a';
487
+ return React.createElement(LinkElement, _extends({
488
+ className: classNames('eds-text--link', getSpacingClasses(spacing, 'eds-text--link'), className)
489
+ }, rest), children, external ? React.createElement(ExternalIcon, {
490
+ className: "eds-text--link--ext-icon",
491
+ "aria-label": ariaLabelExternalIcon
492
+ }) : null);
415
493
  };
494
+
495
+ warnAboutMissingStyles('typography');
496
+
497
+ export { Blockquote, BlockquoteBeta, BlockquoteFooter, BlockquoteFooterBeta, CodeText, EmphasizedText, Heading, Heading1, Heading2, Heading3, Heading4, Heading5, Heading6, Label, LeadParagraph, Link, LinkBeta, ListItem, NumberedList, Paragraph, PreformattedText, SmallText, StrongText, SubLabel, SubParagraph, Text, UnorderedList };
416
498
  //# sourceMappingURL=typography.esm.js.map