@amboss/design-system 1.5.19 → 1.5.20

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 (132) hide show
  1. package/build/build-tokens/_breakpoints.json.js +23 -0
  2. package/build/build-tokens/_breakpoints.json.js.map +1 -0
  3. package/build/build-tokens/_icon_sizes_map.json.js +8 -0
  4. package/build/build-tokens/_icon_sizes_map.json.js.map +1 -0
  5. package/build/build-tokens/assets/icons.json.js +199 -0
  6. package/build/build-tokens/assets/icons.json.js.map +1 -0
  7. package/build/build-tokens/assets/icons16.json.js +214 -0
  8. package/build/build-tokens/assets/icons16.json.js.map +1 -0
  9. package/build/build-tokens/assets/logo.json +1 -1
  10. package/build/build-tokens/assets/logo.json.js +6 -0
  11. package/build/build-tokens/assets/logo.json.js.map +1 -0
  12. package/build/build-tokens/visualConfig.js +1417 -0
  13. package/build/build-tokens/visualConfig.js.map +1 -0
  14. package/build/node_modules/tslib/tslib.es6.js +29 -0
  15. package/build/node_modules/tslib/tslib.es6.js.map +1 -0
  16. package/build/src/components/Badge/Badge.js +36 -0
  17. package/build/src/components/Badge/Badge.js.map +1 -0
  18. package/build/src/components/Box/Box.js +30 -0
  19. package/build/src/components/Box/Box.js.map +1 -0
  20. package/build/src/components/Button/Button.js +116 -0
  21. package/build/src/components/Button/Button.js.map +1 -0
  22. package/build/src/components/Card/Card.js +30 -0
  23. package/build/src/components/Card/Card.js.map +1 -0
  24. package/build/src/components/Card/CardBox.js +9 -0
  25. package/build/src/components/Card/CardBox.js.map +1 -0
  26. package/build/src/components/Card/CardHeader/CardHeader.js +30 -0
  27. package/build/src/components/Card/CardHeader/CardHeader.js.map +1 -0
  28. package/build/src/components/Collapsible/Collapsible.js +44 -0
  29. package/build/src/components/Collapsible/Collapsible.js.map +1 -0
  30. package/build/src/components/Column/Columns.js +78 -0
  31. package/build/src/components/Column/Columns.js.map +1 -0
  32. package/build/src/components/Container/Container.js +30 -0
  33. package/build/src/components/Container/Container.js.map +1 -0
  34. package/build/src/components/Divider/Divider.js +33 -0
  35. package/build/src/components/Divider/Divider.js.map +1 -0
  36. package/build/src/components/DropdownMenu/DropdownMenu.js +128 -0
  37. package/build/src/components/DropdownMenu/DropdownMenu.js.map +1 -0
  38. package/build/src/components/DropdownMenu/MenuItem.js +37 -0
  39. package/build/src/components/DropdownMenu/MenuItem.js.map +1 -0
  40. package/build/src/components/Form/Checkbox/Checkbox.js +86 -0
  41. package/build/src/components/Form/Checkbox/Checkbox.js.map +1 -0
  42. package/build/src/components/Form/FormErrorMessages/FormErrorMessages.js +10 -0
  43. package/build/src/components/Form/FormErrorMessages/FormErrorMessages.js.map +1 -0
  44. package/build/src/components/Form/FormField/FormField.js +26 -0
  45. package/build/src/components/Form/FormField/FormField.js.map +1 -0
  46. package/build/src/components/Form/FormFieldGroup/FormFieldGroup.js +22 -0
  47. package/build/src/components/Form/FormFieldGroup/FormFieldGroup.js.map +1 -0
  48. package/build/src/components/Form/FormLabelText/FormLabelText.js +22 -0
  49. package/build/src/components/Form/FormLabelText/FormLabelText.js.map +1 -0
  50. package/build/src/components/Form/Input/Input.js +81 -0
  51. package/build/src/components/Form/Input/Input.js.map +1 -0
  52. package/build/src/components/Form/PasswordInput/PasswordInput.js +126 -0
  53. package/build/src/components/Form/PasswordInput/PasswordInput.js.map +1 -0
  54. package/build/src/components/Form/Radio/Radio.js +82 -0
  55. package/build/src/components/Form/Radio/Radio.js.map +1 -0
  56. package/build/src/components/Form/RadioButton/RadioButton.js +87 -0
  57. package/build/src/components/Form/RadioButton/RadioButton.js.map +1 -0
  58. package/build/src/components/Form/Select/Select.js +162 -0
  59. package/build/src/components/Form/Select/Select.js.map +1 -0
  60. package/build/src/components/Form/Textarea/Textarea.js +39 -0
  61. package/build/src/components/Form/Textarea/Textarea.js.map +1 -0
  62. package/build/src/components/Form/Toggle/Toggle.js +86 -0
  63. package/build/src/components/Form/Toggle/Toggle.js.map +1 -0
  64. package/build/src/components/Form/ToggleButton/ToggleButton.js +80 -0
  65. package/build/src/components/Form/ToggleButton/ToggleButton.js.map +1 -0
  66. package/build/src/components/Icon/Icon.js +40 -0
  67. package/build/src/components/Icon/Icon.js.map +1 -0
  68. package/build/src/components/Inline/Inline.js +54 -0
  69. package/build/src/components/Inline/Inline.js.map +1 -0
  70. package/build/src/components/Link/Link.js +47 -0
  71. package/build/src/components/Link/Link.js.map +1 -0
  72. package/build/src/components/Logo/Logo.js +15 -0
  73. package/build/src/components/Logo/Logo.js.map +1 -0
  74. package/build/src/components/MediaItem/MediaItem.js +41 -0
  75. package/build/src/components/MediaItem/MediaItem.js.map +1 -0
  76. package/build/src/components/MediaViewerBar/MediaViewerBar.js +36 -0
  77. package/build/src/components/MediaViewerBar/MediaViewerBar.js.map +1 -0
  78. package/build/src/components/Notification/Notification.js +46 -0
  79. package/build/src/components/Notification/Notification.js.map +1 -0
  80. package/build/src/components/PictogramButton/PictogramButton.js +56 -0
  81. package/build/src/components/PictogramButton/PictogramButton.js.map +1 -0
  82. package/build/src/components/ProgressBar/ProgressBar.js +15 -0
  83. package/build/src/components/ProgressBar/ProgressBar.js.map +1 -0
  84. package/build/src/components/RoundButton/RoundButton.js +53 -0
  85. package/build/src/components/RoundButton/RoundButton.js.map +1 -0
  86. package/build/src/components/SearchResult/SearchResult.js +81 -0
  87. package/build/src/components/SearchResult/SearchResult.js.map +1 -0
  88. package/build/src/components/SegmentedProgressBar/SegmentedProgressBar.js +57 -0
  89. package/build/src/components/SegmentedProgressBar/SegmentedProgressBar.js.map +1 -0
  90. package/build/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js +35 -0
  91. package/build/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js.map +1 -0
  92. package/build/src/components/Stack/Stack.js +34 -0
  93. package/build/src/components/Stack/Stack.js.map +1 -0
  94. package/build/src/components/SubThemeProvider/SubThemeProvider.js +35 -0
  95. package/build/src/components/SubThemeProvider/SubThemeProvider.js.map +1 -0
  96. package/build/src/components/Tabs/Tabs.js +53 -0
  97. package/build/src/components/Tabs/Tabs.js.map +1 -0
  98. package/build/src/components/Typography/Header/Header.js +17 -0
  99. package/build/src/components/Typography/Header/Header.js.map +1 -0
  100. package/build/src/components/Typography/StyledText/StyledText.js +74 -0
  101. package/build/src/components/Typography/StyledText/StyledText.js.map +1 -0
  102. package/build/src/components/Typography/Text/Text.js +26 -0
  103. package/build/src/components/Typography/Text/Text.js.map +1 -0
  104. package/build/src/components/Typography/TextClamped/TextClamped.js +25 -0
  105. package/build/src/components/Typography/TextClamped/TextClamped.js.map +1 -0
  106. package/build/src/components/VirtualScrollList/VirtualScrollList.js +62 -0
  107. package/build/src/components/VirtualScrollList/VirtualScrollList.js.map +1 -0
  108. package/build/src/components/VirtualScrollList/VirtualScrollListReducer.js +96 -0
  109. package/build/src/components/VirtualScrollList/VirtualScrollListReducer.js.map +1 -0
  110. package/build/src/index.js +47 -0
  111. package/build/src/index.js.map +1 -0
  112. package/build/src/shared/informDeprecation.js +11 -0
  113. package/build/src/shared/informDeprecation.js.map +1 -0
  114. package/build/src/shared/mediaQueries.js +39 -0
  115. package/build/src/shared/mediaQueries.js.map +1 -0
  116. package/build/src/shared/useAutoPosition.js +52 -0
  117. package/build/src/shared/useAutoPosition.js.map +1 -0
  118. package/build/src/shared/useDocument.js +6 -0
  119. package/build/src/shared/useDocument.js.map +1 -0
  120. package/build/src/shared/useHover.js +27 -0
  121. package/build/src/shared/useHover.js.map +1 -0
  122. package/build/src/shared/useKeyboard.js +45 -0
  123. package/build/src/shared/useKeyboard.js.map +1 -0
  124. package/build/src/shared/useOutsideClick.js +31 -0
  125. package/build/src/shared/useOutsideClick.js.map +1 -0
  126. package/build/src/shared/useWindow.js +6 -0
  127. package/build/src/shared/useWindow.js.map +1 -0
  128. package/package.json +20 -6
  129. package/build/build-tokens/_subThemeType.d.ts +0 -1
  130. package/build/index.js +0 -3
  131. package/build/index.js.LICENSE.txt +0 -8
  132. package/build/index.js.map +0 -1
@@ -0,0 +1,81 @@
1
+ import React, { useRef } from 'react';
2
+ import styled from '@emotion/styled';
3
+ import { Columns, Column } from '../Column/Columns.js';
4
+ import { Icon } from '../Icon/Icon.js';
5
+ import { Inline } from '../Inline/Inline.js';
6
+ import { Stack } from '../Stack/Stack.js';
7
+ import { StyledText } from '../Typography/StyledText/StyledText.js';
8
+ import { Badge } from '../Badge/Badge.js';
9
+ import { TextClamped } from '../Typography/TextClamped/TextClamped.js';
10
+
11
+ const StyledResultContainer = styled.div(() => ({
12
+ position: "relative",
13
+ textDecoration: "none",
14
+ }));
15
+ const StyledLinkTitle = styled.div(({ theme }) => ({
16
+ color: theme.values.color.text.primary,
17
+ }));
18
+ const StyledLinkContainerOnHover = styled.div(() => ({
19
+ "> a": {
20
+ textDecoration: "none",
21
+ },
22
+ "&:hover": {
23
+ [`${StyledLinkTitle}`]: {
24
+ textDecoration: "underline",
25
+ },
26
+ },
27
+ }));
28
+ const SecondaryTargets = ({ data, renderItem, compact, }) => compact ? (React.createElement(Inline, { space: "l", vSpace: "xs" }, data && data.length && data.map((target) => renderItem(target)))) : (React.createElement(Columns, { gap: "m" }, data.map((target) => (React.createElement(Column, { "data-e2e-test-id": target["data-e2e-test-id"], size: [12, 6, 6], key: target.title }, renderItem(target))))));
29
+ const defaultProps = {
30
+ icon: null,
31
+ details: [],
32
+ body: null,
33
+ secondaryTargets: [],
34
+ isExternal: false,
35
+ labels: [],
36
+ "data-e2e-test-id": undefined,
37
+ };
38
+ function SearchResult({ title, subtitle, icon, details, body, secondaryTargets, link, labels, "data-e2e-test-id": dataE2eTestId, }) {
39
+ const containerRef = useRef(null);
40
+ const hasShallowSecondaryTargets = secondaryTargets &&
41
+ secondaryTargets.reduce((prev, curr) => (curr.body ? false : prev), true);
42
+ const MainLink = link;
43
+ return (React.createElement(StyledResultContainer, { ref: containerRef },
44
+ React.createElement(Columns, { gap: "m" },
45
+ icon && (React.createElement(Column, { size: "narrow" },
46
+ React.createElement(Icon, { name: icon, variant: "tertiary" }))),
47
+ React.createElement(Column, { size: "fill" },
48
+ React.createElement(Stack, { space: "s" },
49
+ React.createElement(StyledLinkContainerOnHover, { "data-e2e-test-id": dataE2eTestId },
50
+ React.createElement(MainLink, null,
51
+ React.createElement(Stack, { space: "xxs" },
52
+ React.createElement(Columns, { gap: "xxs" },
53
+ React.createElement(Column, { size: [12, 12, "fill"] },
54
+ React.createElement(StyledLinkTitle, null,
55
+ React.createElement(Stack, { space: "zero" },
56
+ React.createElement(TextClamped, { variant: "primary", weight: "bold", lines: 3, hyphens: "auto" },
57
+ React.createElement(StyledText, null, title)),
58
+ subtitle && (React.createElement(TextClamped, { variant: "primary", lines: 3, size: "s" },
59
+ React.createElement(StyledText, null, subtitle)))))),
60
+ React.createElement(Column, { size: "narrow" }, labels && !!labels.length && (React.createElement(Inline, { space: "xs" }, labels.map((label, i) => (
61
+ // eslint-disable-next-line react/no-array-index-key
62
+ React.createElement(Badge, { text: label, key: `${i}${label}` }))))))),
63
+ details && !!details.length && (React.createElement(Stack, { space: "zero" }, details.slice(0, 3).map((detail) => (React.createElement(TextClamped, { variant: "secondary", size: "s", key: detail, lines: 3 },
64
+ React.createElement(StyledText, null, detail)))))),
65
+ body && (React.createElement(TextClamped, { size: "s", lines: 2 },
66
+ React.createElement(StyledText, null, body)))))),
67
+ secondaryTargets && !!secondaryTargets.length && (React.createElement(SecondaryTargets, { data: secondaryTargets, compact: hasShallowSecondaryTargets, renderItem: ({ title: secTitle, link: secLink, body: secBody, "data-e2e-test-id": secDataE2eTestId, }) => {
68
+ const SecLink = secLink;
69
+ return (React.createElement(StyledLinkContainerOnHover, { key: title, "data-e2e-test-id": secDataE2eTestId },
70
+ React.createElement(SecLink, null,
71
+ React.createElement(StyledLinkTitle, null,
72
+ React.createElement(TextClamped, { size: "s", variant: "primary", weight: "bold", lines: 3 },
73
+ React.createElement(StyledText, null, secTitle))),
74
+ secBody && (React.createElement(TextClamped, { size: "s", variant: "secondary", lines: 2 },
75
+ React.createElement(StyledText, null, secBody))))));
76
+ } })))))));
77
+ }
78
+ SearchResult.defaultProps = defaultProps;
79
+
80
+ export { SearchResult };
81
+ //# sourceMappingURL=SearchResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchResult.js","sources":["../../../../../src/components/SearchResult/SearchResult.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ import styled from '@emotion/styled';
3
+ import { sanitizeInputValues, getPercentagesForVariants } from './SegmentedProgressBarUtil.js';
4
+
5
+ const defaultProps = {
6
+ "data-e2e-test-id": undefined,
7
+ weight: "fat",
8
+ squareCorners: false,
9
+ privateProps: {
10
+ monochrome: false,
11
+ },
12
+ };
13
+ const getBackgroundColor = (theme, style, monochrome) => {
14
+ switch (style) {
15
+ case "success":
16
+ return monochrome
17
+ ? theme.values.color.segementedProgressBar.monochrome
18
+ : theme.values.color.segementedProgressBar.success;
19
+ case "warning":
20
+ return monochrome
21
+ ? theme.values.color.segementedProgressBar.monochrome
22
+ : theme.values.color.segementedProgressBar.warning;
23
+ case "alert":
24
+ return monochrome
25
+ ? theme.values.color.segementedProgressBar.monochrome
26
+ : theme.values.color.segementedProgressBar.alert;
27
+ case "inProgress":
28
+ default:
29
+ return theme.values.color.segementedProgressBar.inProgress;
30
+ }
31
+ };
32
+ const StyledSegmentedProgressBar = styled.div(({ theme, squareCorners, weight }) => ({
33
+ width: "100%",
34
+ display: "flex",
35
+ flexDirection: "row",
36
+ borderRadius: squareCorners
37
+ ? 0
38
+ : theme.variables.size.borderRadius.progressBar,
39
+ overflow: "hidden",
40
+ height: weight === "thin"
41
+ ? theme.variables.size.spacing.xxs
42
+ : theme.variables.size.spacing.xs,
43
+ }));
44
+ const StyledSegment = styled.div(({ theme, styleVariant, percentage, monochrome }) => ({
45
+ height: "100%",
46
+ backgroundColor: getBackgroundColor(theme, styleVariant, monochrome),
47
+ width: `${percentage}%`,
48
+ }));
49
+ function SegmentedProgressBar({ maxValue, values, weight, squareCorners, privateProps: { monochrome }, "data-e2e-test-id": dataE2eTestId, }) {
50
+ const { sanitizedMaxValue, sanitizedValues } = sanitizeInputValues(maxValue, values);
51
+ const percentages = getPercentagesForVariants(sanitizedMaxValue, sanitizedValues);
52
+ return (React.createElement(StyledSegmentedProgressBar, { "data-e2e-test-id": dataE2eTestId, squareCorners: squareCorners, weight: weight }, percentages.map(({ percentage, style }) => (React.createElement(StyledSegment, { key: style, "data-e2e-test-id": style, styleVariant: style, monochrome: monochrome, percentage: percentage })))));
53
+ }
54
+ SegmentedProgressBar.defaultProps = defaultProps;
55
+
56
+ export { SegmentedProgressBar };
57
+ //# sourceMappingURL=SegmentedProgressBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedProgressBar.js","sources":["../../../../../src/components/SegmentedProgressBar/SegmentedProgressBar.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ const variants = ["success", "warning", "alert"];
2
+ const getTotalFilledValue = (values) => variants.reduce((currentValue, variant) => values[variant] && values[variant] > 0
3
+ ? currentValue + values[variant]
4
+ : currentValue, 0);
5
+ const getPercentagesForVariants = (maxValue, values) => {
6
+ const result = variants.map((variant) => {
7
+ const percentage = (100 * values[variant]) / maxValue;
8
+ return percentage > 0
9
+ ? { percentage, style: variant }
10
+ : null;
11
+ });
12
+ const usedPercentage = result.reduce((currentValue, item) => currentValue + (item ? item.percentage : 0), 0);
13
+ // add a last segment for the remaing percentage
14
+ if (usedPercentage < 100) {
15
+ result.push({
16
+ percentage: 100 - usedPercentage,
17
+ style: "inProgress",
18
+ });
19
+ }
20
+ // we need to filter out the null values.
21
+ return result.filter(Boolean);
22
+ };
23
+ const sanitizeInputValues = (maxValue, values) => {
24
+ const totalFilledValue = getTotalFilledValue(values);
25
+ const sanitizedMaxValue = maxValue > totalFilledValue ? maxValue : totalFilledValue;
26
+ const sanitizedValues = {};
27
+ variants.forEach((variant) => {
28
+ sanitizedValues[variant] =
29
+ values[variant] && values[variant] > 0 ? values[variant] : 0;
30
+ });
31
+ return { sanitizedMaxValue, sanitizedValues };
32
+ };
33
+
34
+ export { getPercentagesForVariants, sanitizeInputValues };
35
+ //# sourceMappingURL=SegmentedProgressBarUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedProgressBarUtil.js","sources":["../../../../../src/components/SegmentedProgressBar/SegmentedProgressBarUtil.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGA,MAAM,QAAQ,GAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAElE,MAAM,mBAAmB,GAAG,CAAC,MAA6C,KACxE,QAAQ,CAAC,MAAM,CACb,CAAC,YAAY,EAAE,OAAO,KACpB,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;AACpC,MAAE,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;AAChC,MAAE,YAAY,EAClB,CAAC,CACF,CAAC;AAEJ,MAAM,yBAAyB,GAAG,CAChC,QAAgB,EAChB,MAA6C,KACI;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAI;AACtC,QAAA,MAAM,UAAU,GAAW,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC;QAE9D,OAAO,UAAU,GAAG,CAAC;AACnB,cAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAuB,EAAE;cAC9C,IAAI,CAAC;AACX,KAAC,CAAC,CAAC;AAEH,IAAA,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAClC,CAAC,YAAY,EAAE,IAAI,KAAK,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EACnE,CAAC,CACF,CAAC;;IAGF,IAAI,cAAc,GAAG,GAAG,EAAE;QACxB,MAAM,CAAC,IAAI,CAAC;YACV,UAAU,EAAE,GAAG,GAAG,cAAc;AAChC,YAAA,KAAK,EAAE,YAA4B;AACpC,SAAA,CAAC,CAAC;AACJ,KAAA;;AAGD,IAAA,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,EAAE;AAEF,MAAM,mBAAmB,GAAG,CAC1B,QAAgB,EAChB,MAA6C,KAI3C;AACF,IAAA,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrD,IAAA,MAAM,iBAAiB,GACrB,QAAQ,GAAG,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IAE5D,MAAM,eAAe,GAA0C,EAAE,CAAC;AAClE,IAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;QAC3B,eAAe,CAAC,OAAO,CAAC;YACtB,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACjE,KAAC,CAAC,CAAC;AAEH,IAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;AAChD;;;;"}
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import styled from '@emotion/styled';
3
+ import flattenChildren from 'react-keyed-flatten-children';
4
+ import { mq } from '../../shared/mediaQueries.js';
5
+
6
+ const defaultProps = {
7
+ space: "xs",
8
+ "data-e2e-test-id": undefined,
9
+ };
10
+ const StackContainer = styled.div(({ alignItems }) => (Object.assign(Object.assign({}, mq({
11
+ alignItems: [
12
+ alignItems,
13
+ {
14
+ left: "flex-start",
15
+ right: "flex-end",
16
+ center: "center",
17
+ spaceBetween: "space-between",
18
+ },
19
+ ],
20
+ })), { display: "flex", flexDirection: "column" })));
21
+ const StackItem = styled.div(({ theme, space }) => (Object.assign(Object.assign({}, mq({
22
+ marginTop: [space, theme.variables.size.spacing],
23
+ })), { "&:first-of-type": {
24
+ marginTop: 0,
25
+ }, "&:empty": {
26
+ marginTop: 0,
27
+ } })));
28
+ function Stack({ children, space, alignItems, "data-e2e-test-id": dataE2eTestId, }) {
29
+ return (React.createElement(StackContainer, { "data-e2e-test-id": dataE2eTestId, alignItems: alignItems }, React.Children.map(flattenChildren(children), (child) => child && React.createElement(StackItem, { space: space }, child))));
30
+ }
31
+ Stack.defaultProps = defaultProps;
32
+
33
+ export { Stack };
34
+ //# sourceMappingURL=Stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stack.js","sources":["../../../../../src/components/Stack/Stack.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AA2BA,MAAM,YAAY,GAAwB;AACxC,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,kBAAkB,EAAE,SAAS;CAC9B,CAAC;AAEF,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAa,CAAC,EAAE,UAAU,EAAE,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC7D,EAAE,CAAC;AACJ,IAAA,UAAU,EAAE;QACV,UAAU;AACV,QAAA;AACE,YAAA,IAAI,EAAE,YAAY;AAClB,YAAA,KAAK,EAAE,UAAU;AACjB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,YAAY,EAAE,eAAe;AAC9B,SAAA;AACF,KAAA;CACF,CAAC,CAAA,EAAA,EACF,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,QAAQ,EACvB,CAAA,CAAA,CAAC,CAAC;AAEJ,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAK,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAC9D,EAAE,CAAC;IACJ,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;CACjD,CAAC,CAAA,EAAA,EACF,iBAAiB,EAAE;AACjB,QAAA,SAAS,EAAE,CAAC;AACb,KAAA,EACD,SAAS,EAAE;AACT,QAAA,SAAS,EAAE,CAAC;AACb,KAAA,EAAA,CAAA,CACD,CAAC,CAAC;AAEY,SAAA,KAAK,CAAC,EACpB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,kBAAkB,EAAE,aAAa,GACtB,EAAA;AACX,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,cAAc,wBAAmB,aAAa,EAAE,UAAU,EAAE,UAAU,EACpE,EAAA,KAAK,CAAC,QAAQ,CAAC,GAAG,CACjB,eAAe,CAAC,QAAQ,CAAC,EACzB,CAAC,KAAK,KAAK,KAAK,IAAI,oBAAC,SAAS,EAAA,EAAC,KAAK,EAAE,KAAK,EAAG,EAAA,KAAK,CAAa,CACjE,CACc,EACjB;AACJ,CAAC;AAED,KAAK,CAAC,YAAY,GAAG,YAAY;;;;"}
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { ThemeProvider } from '@emotion/react';
3
+
4
+ /* eslint-disable no-restricted-syntax */
5
+ function isObject(item) {
6
+ return item && typeof item === "object" && !Array.isArray(item);
7
+ }
8
+ function mergeDeep(target, ...sources) {
9
+ if (!sources.length)
10
+ return target;
11
+ const source = sources.shift();
12
+ if (isObject(target) && isObject(source)) {
13
+ for (const key in source) {
14
+ if (isObject(source[key])) {
15
+ if (!target[key])
16
+ Object.assign(target, { [key]: {} });
17
+ mergeDeep(target[key], source[key]);
18
+ }
19
+ else {
20
+ Object.assign(target, { [key]: source[key] });
21
+ }
22
+ }
23
+ }
24
+ return mergeDeep(target, ...sources);
25
+ }
26
+ const subThemeCreator = (parentTheme, name) => mergeDeep({}, parentTheme, {
27
+ values: Object.assign({}, parentTheme.values.subThemes[name]),
28
+ });
29
+ function SubThemeProvider({ name, children, "data-e2e-test-id": dataE2eTestId, }) {
30
+ return (React.createElement(ThemeProvider, { theme: (parentTheme) => subThemeCreator(parentTheme, name) },
31
+ React.createElement("div", { "data-e2e-test-id": dataE2eTestId }, children)));
32
+ }
33
+
34
+ export { SubThemeProvider };
35
+ //# sourceMappingURL=SubThemeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubThemeProvider.js","sources":["../../../../../src/components/SubThemeProvider/SubThemeProvider.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;AAeA,SAAS,QAAQ,CAAC,IAAa,EAAA;AAC7B,IAAA,OAAO,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,SAAS,CAChB,MAAsB,EACtB,GAAG,OAAyB,EAAA;IAE5B,IAAI,CAAC,OAAO,CAAC,MAAM;AAAE,QAAA,OAAO,MAAM,CAAC;AACnC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE;AACxC,QAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;AACxB,YAAA,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;AACzB,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAAE,oBAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvD,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC/C,aAAA;AACF,SAAA;AACF,KAAA;AAED,IAAA,OAAO,SAAS,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,WAAkB,EAAE,IAAmB,KAC9D,SAAS,CAAC,EAAE,EAAE,WAAW,EAAE;IACzB,MAAM,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACD,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CACtC;AACF,CAAA,CAAU,CAAC;AAER,SAAU,gBAAgB,CAAC,EAC/B,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAAE,aAAa,GACX,EAAA;AACtB,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,aAAa,EACZ,EAAA,KAAK,EAAE,CAAC,WAAkB,KACxB,eAAe,CAAC,WAAW,EAAE,IAAqB,CAAC,EAAA;AAGrD,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,kBAAA,EAAuB,aAAa,EAAG,EAAA,QAAQ,CAAO,CACxC,EAChB;AACJ;;;;"}
@@ -0,0 +1,53 @@
1
+ import { __rest } from '../../../node_modules/tslib/tslib.es6.js';
2
+ import React from 'react';
3
+ import styled from '@emotion/styled';
4
+ import { Inline } from '../Inline/Inline.js';
5
+ import { Stack } from '../Stack/Stack.js';
6
+ import { Icon } from '../Icon/Icon.js';
7
+
8
+ /* eslint-disable react/jsx-props-no-spreading */
9
+ const BORDER_WIDTH = 1;
10
+ const BORDER_WIDTH_ACTIVE_TOP = 4;
11
+ const StyledContainer = styled.div(({ theme }) => ({
12
+ width: "100%",
13
+ backgroundColor: theme.values.color.background.tabs.header,
14
+ borderBottom: `${BORDER_WIDTH}px solid`,
15
+ borderColor: theme.values.color.border.primary,
16
+ }));
17
+ const StyledTabHeader = styled.div(({ theme, active, isFirst }) => (Object.assign({ position: "relative", margin: 0, backgroundColor: theme.values.color.background.tabs.header, padding: theme.variables.size.spacing.m, color: theme.values.color.text.secondary, fontFamily: theme.variables.fontFamily.lato, fontWeight: theme.variables.weight.bold, fontSize: theme.variables.size.font.text.s, lineHeight: theme.variables.size.lineHeight.text.s, border: 0, boxSizing: "border-box", transition: "background-color 0.15s", display: "block", textDecoration: "none" }, (active
18
+ ? Object.assign(Object.assign({ border: `${BORDER_WIDTH}px solid`, borderTop: 0, paddingLeft: parseInt(theme.variables.size.spacing.m, 10) - BORDER_WIDTH, paddingRight: parseInt(theme.variables.size.spacing.m, 10) - BORDER_WIDTH, marginBottom: -BORDER_WIDTH, borderColor: theme.values.color.border.primary, borderBottomColor: theme.values.color.background.tabs.buttonActive, backgroundColor: theme.values.color.background.tabs.buttonActive }, (isFirst && {
19
+ borderLeft: 0,
20
+ paddingLeft: theme.variables.size.spacing.m,
21
+ })), { "&:after": {
22
+ content: '""',
23
+ position: "absolute",
24
+ width: "100%",
25
+ height: BORDER_WIDTH_ACTIVE_TOP,
26
+ backgroundColor: theme.values.color.border.tabs.buttonActive,
27
+ borderLeft: `${BORDER_WIDTH}px solid`,
28
+ borderRight: `${BORDER_WIDTH}px solid`,
29
+ borderColor: theme.values.color.border.tabs.buttonActive,
30
+ left: -BORDER_WIDTH,
31
+ top: 0,
32
+ } }) : {
33
+ cursor: "pointer",
34
+ "&:hover": {
35
+ backgroundColor: theme.values.color.background.tabs.buttonHover,
36
+ },
37
+ }))));
38
+ function Tabs({ tabs, activeTab = 0, children, onTabSelect, "data-e2e-test-id": dataE2eTestId, }) {
39
+ return (React.createElement(Stack, { "data-e2e-test-id": dataE2eTestId },
40
+ React.createElement(StyledContainer, null,
41
+ React.createElement(Inline, { space: "zero" }, tabs.map((_a, i) => {
42
+ var { header, as = "button", iconLeft, iconRight } = _a, rest = __rest(_a, ["header", "as", "iconLeft", "iconRight"]);
43
+ return (React.createElement(StyledTabHeader, Object.assign({ as: as, key: header, isFirst: i === 0, active: activeTab === i, onClick: () => onTabSelect && onTabSelect(i) }, rest),
44
+ React.createElement(Inline, { vAlignItems: "center", space: "xxs" },
45
+ iconLeft && React.createElement(Icon, { size: "s", name: iconLeft }),
46
+ header,
47
+ iconRight && React.createElement(Icon, { size: "s", name: iconRight }))));
48
+ }))),
49
+ children));
50
+ }
51
+
52
+ export { Tabs };
53
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.js","sources":["../../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import styled from '@emotion/styled';
2
+
3
+ const getCommonStyles = (theme) => ({
4
+ color: theme.values.color.header.primary,
5
+ fontFamily: theme.variables.fontFamily.lato,
6
+ fontWeight: theme.variables.weight.black,
7
+ margin: 0,
8
+ });
9
+ const H1 = styled.h1(({ theme }) => (Object.assign(Object.assign({}, getCommonStyles(theme)), { fontSize: theme.variables.size.font.header.xl, lineHeight: theme.variables.size.lineHeight.header.xl })));
10
+ const H2 = styled.h2(({ theme }) => (Object.assign(Object.assign({}, getCommonStyles(theme)), { fontSize: theme.variables.size.font.header.l, lineHeight: theme.variables.size.lineHeight.header.l })));
11
+ const H3 = styled.h3(({ theme }) => (Object.assign(Object.assign({}, getCommonStyles(theme)), { fontSize: theme.variables.size.font.header.m, lineHeight: theme.variables.size.lineHeight.header.m })));
12
+ const H4 = styled.h4(({ theme }) => (Object.assign(Object.assign({}, getCommonStyles(theme)), { fontSize: theme.variables.size.font.header.s, lineHeight: theme.variables.size.lineHeight.header.s })));
13
+ const H5 = styled.h5(({ theme }) => (Object.assign(Object.assign({}, getCommonStyles(theme)), { fontSize: theme.variables.size.font.header.xs, lineHeight: theme.variables.size.lineHeight.header.xs })));
14
+ const H6 = styled.h6(({ theme }) => (Object.assign(Object.assign({}, getCommonStyles(theme)), { fontSize: theme.variables.size.font.header.xxs, lineHeight: theme.variables.size.lineHeight.header.xxs, letterSpacing: "0.5px", textTransform: "uppercase", color: theme.values.color.header.secondary })));
15
+
16
+ export { H1, H2, H3, H4, H5, H6 };
17
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sources":["../../../../../../src/components/Typography/Header/Header.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import React from 'react';
2
+ import styled from '@emotion/styled';
3
+ import { Text } from '../Text/Text.js';
4
+
5
+ const Italic = styled.i({ fontStyle: "italic" });
6
+ const Bold = styled.b({ fontWeight: "bolder" });
7
+ const Components = {
8
+ b: ({ key, children }) => React.createElement(Bold, { key: key }, children),
9
+ i: ({ key, children }) => React.createElement(Italic, { key: key }, children),
10
+ p: ({ key, children }) => (React.createElement(Text, { key: key, as: "p", variant: "secondary" }, children)),
11
+ small: ({ key, children }) => (React.createElement(Text, { key: key, as: "span", variant: "tertiary" }, children)),
12
+ sup: ({ key, children }) => React.createElement("sup", { key: key }, children),
13
+ sub: ({ key, children }) => React.createElement("sub", { key: key }, children),
14
+ };
15
+ const getNodes = (string) => {
16
+ const elementNames = Object.keys(Components).join("|");
17
+ const elementRegex = new RegExp(`<(${elementNames})>.*</\\1>`);
18
+ const elementMatch = elementRegex.exec(string);
19
+ if (!elementMatch) {
20
+ return null;
21
+ }
22
+ const elementName = elementMatch[1];
23
+ const openingTagStartIndex = elementMatch.index;
24
+ const openingTagEndIndex = elementMatch.index + elementName.length + 2;
25
+ let numberOpenTags = 1;
26
+ const elementTagsRegex = new RegExp(`(<${elementName}>)|(</${elementName}>)`, "g");
27
+ let currentTagMatch = elementTagsRegex.exec(string);
28
+ let closingTagStartIndex;
29
+ let closingTagEndIndex;
30
+ do {
31
+ if (currentTagMatch.index > openingTagStartIndex) {
32
+ if (currentTagMatch[1]) {
33
+ numberOpenTags += 1;
34
+ }
35
+ else if (currentTagMatch[2]) {
36
+ numberOpenTags -= 1;
37
+ closingTagStartIndex = currentTagMatch.index;
38
+ closingTagEndIndex = closingTagStartIndex + currentTagMatch[2].length;
39
+ }
40
+ }
41
+ currentTagMatch = elementTagsRegex.exec(string);
42
+ if (!currentTagMatch)
43
+ break;
44
+ } while (numberOpenTags > 0);
45
+ return {
46
+ elementName,
47
+ prev: string.slice(0, openingTagStartIndex),
48
+ node: string.slice(openingTagEndIndex, closingTagStartIndex),
49
+ next: string.slice(closingTagEndIndex),
50
+ };
51
+ };
52
+ const makeStyledJSX = (string) => {
53
+ if (!string || string.length < 1) {
54
+ return null;
55
+ }
56
+ const nodes = getNodes(string);
57
+ if (!nodes) {
58
+ return string;
59
+ }
60
+ const { elementName, prev, node, next } = nodes;
61
+ return [
62
+ prev,
63
+ Components[elementName]({ key: node, children: makeStyledJSX(node) }),
64
+ makeStyledJSX(next),
65
+ ].filter((i) => i !== null && i !== "" && !(Array.isArray(i) && !i.length));
66
+ };
67
+ function StyledText({ children, "data-e2e-test-id": dataE2eTestId, }) {
68
+ if (typeof children !== "string")
69
+ return children;
70
+ return (React.createElement("span", { "data-e2e-test-id": dataE2eTestId }, makeStyledJSX(children)));
71
+ }
72
+
73
+ export { StyledText, makeStyledJSX };
74
+ //# sourceMappingURL=StyledText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StyledText.js","sources":["../../../../../../src/components/Typography/StyledText/StyledText.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;AASA,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEhD,MAAM,UAAU,GAGZ;AACF,IAAA,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,KAAA,CAAA,aAAA,CAAC,IAAI,EAAC,EAAA,GAAG,EAAE,GAAG,EAAA,EAAG,QAAQ,CAAQ;AAC3D,IAAA,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,KAAA,CAAA,aAAA,CAAC,MAAM,EAAC,EAAA,GAAG,EAAE,GAAG,EAAA,EAAG,QAAQ,CAAU;AAC/D,IAAA,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MACnB,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAC,GAAG,EAAC,OAAO,EAAC,WAAW,EAAA,EACvC,QAAQ,CACJ,CACR;AACD,IAAA,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MACvB,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAC,MAAM,EAAC,OAAO,EAAC,UAAU,EAAA,EACzC,QAAQ,CACJ,CACR;AACD,IAAA,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,6BAAK,GAAG,EAAE,GAAG,EAAA,EAAG,QAAQ,CAAO;AAC3D,IAAA,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,6BAAK,GAAG,EAAE,GAAG,EAAA,EAAG,QAAQ,CAAO;CAC5D,CAAC;AAEF,MAAM,QAAQ,GAAG,CACf,MAAc,KAC8D;AAC5E,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,YAAY,CAAY,UAAA,CAAA,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE/C,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AAED,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AACpC,IAAA,MAAM,oBAAoB,GAAG,YAAY,CAAC,KAAK,CAAC;IAChD,MAAM,kBAAkB,GAAG,YAAY,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IACvE,IAAI,cAAc,GAAG,CAAC,CAAC;AAEvB,IAAA,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,CAAA,EAAA,EAAK,WAAW,CAAA,MAAA,EAAS,WAAW,CAAA,EAAA,CAAI,EACxC,GAAG,CACJ,CAAC;IACF,IAAI,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACpD,IAAA,IAAI,oBAAoB,CAAC;AACzB,IAAA,IAAI,kBAAkB,CAAC;IAEvB,GAAG;AACD,QAAA,IAAI,eAAe,CAAC,KAAK,GAAG,oBAAoB,EAAE;AAChD,YAAA,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE;gBACtB,cAAc,IAAI,CAAC,CAAC;AACrB,aAAA;AAAM,iBAAA,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE;gBAC7B,cAAc,IAAI,CAAC,CAAC;AACpB,gBAAA,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC;gBAC7C,kBAAkB,GAAG,oBAAoB,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACvE,aAAA;AACF,SAAA;AACD,QAAA,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,eAAe;YAAE,MAAM;KAC7B,QAAQ,cAAc,GAAG,CAAC,EAAE;IAE7B,OAAO;QACL,WAAW;QACX,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;QAC3C,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;AAC5D,QAAA,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAEW,MAAA,aAAa,GAAG,CAC3B,MAAc,KACuB;IACrC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAChC,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;AAED,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE;AACV,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;IAED,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEhD,OAAO;QACL,IAAI;AACJ,QAAA,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,aAAa,CAAC,IAAI,CAAC;AACpB,KAAA,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9E,EAAE;AAQI,SAAU,UAAU,CAAC,EACzB,QAAQ,EACR,kBAAkB,EAAE,aAAa,GACjB,EAAA;IAChB,IAAI,OAAO,QAAQ,KAAK,QAAQ;AAAE,QAAA,OAAO,QAAQ,CAAC;IAElD,QACE,KAAwB,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,aAAa,EAAG,EAAA,aAAa,CAAC,QAAQ,CAAC,CAAQ,EACvE;AACJ;;;;"}
@@ -0,0 +1,26 @@
1
+ import styled from '@emotion/styled';
2
+ import isPropValid from '@emotion/is-prop-valid';
3
+ import { mq } from '../../../shared/mediaQueries.js';
4
+
5
+ const defaultProps = {
6
+ size: "m",
7
+ weight: "normal",
8
+ transform: "none",
9
+ as: "p",
10
+ variant: "secondary",
11
+ align: "left",
12
+ hyphens: "none",
13
+ "data-e2e-test-id": undefined,
14
+ };
15
+ const Text = styled("p", {
16
+ shouldForwardProp: (prop) => isPropValid(prop) && prop !== "transform",
17
+ })(({ theme, align, weight, size, transform, hyphens, variant }) => (Object.assign({ fontFamily: theme.variables.fontFamily.lato, margin: 0, textTransform: transform, textAlign: align,
18
+ // font-weight prop is a string becuase emotion doesn't support
19
+ // string values for "fontWeight" prop
20
+ "font-weight": String(theme.variables.weight[weight]), color: theme.values.color.text[variant], fontSize: theme.variables.size.font.text[size], lineHeight: theme.variables.size.lineHeight.text[size] }, mq({
21
+ hyphens: [hyphens, { none: "none", auto: "auto", manual: "manual" }],
22
+ }))));
23
+ Text.defaultProps = defaultProps;
24
+
25
+ export { Text };
26
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Text.js","sources":["../../../../../../src/components/Typography/Text/Text.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;AAyBA,MAAM,YAAY,GAAuB;AACvC,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,SAAS,EAAE,MAAM;AACjB,IAAA,EAAE,EAAE,GAAG;AACP,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,kBAAkB,EAAE,SAAS;CAC9B,CAAC;AAEW,MAAA,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE;AAC9B,IAAA,iBAAiB,EAAE,CAAC,IAAY,KAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,WAAW;AAC5C,CAAA,CAAC,CACA,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAC1D,MAAA,CAAA,MAAA,CAAA,EAAA,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAC3C,MAAM,EAAE,CAAC,EACT,aAAa,EAAE,SAAS,EACxB,SAAS,EAAE,KAAK;;;IAGhB,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EACrD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EACnD,EAAA,EAAE,CAAC;AACJ,IAAA,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;CACrE,CAAC,CAAA,CACF,EACF;AAEF,IAAI,CAAC,YAAY,GAAG,YAAY;;;;"}
@@ -0,0 +1,25 @@
1
+ import { __rest } from '../../../../node_modules/tslib/tslib.es6.js';
2
+ import React from 'react';
3
+ import styled from '@emotion/styled';
4
+ import { Text } from '../Text/Text.js';
5
+
6
+ const defaultProps = {
7
+ lines: 1,
8
+ size: "m",
9
+ };
10
+ const Container = styled.span(({ lines, theme, size }) => ({
11
+ display: "-webkit-box",
12
+ "-webkit-box-orient": "vertical",
13
+ overflow: "hidden",
14
+ WebkitLineClamp: lines,
15
+ maxHeight: lines * parseInt(theme.variables.size.lineHeight.text[size], 10),
16
+ }));
17
+ function TextClamped(props) {
18
+ const { lines, children, "data-e2e-test-id": dataE2eTestId } = props, textProps = __rest(props, ["lines", "children", "data-e2e-test-id"]);
19
+ return (React.createElement(Text, Object.assign({ "data-e2e-test-id": dataE2eTestId }, textProps),
20
+ React.createElement(Container, { lines: lines, size: textProps.size }, children)));
21
+ }
22
+ TextClamped.defaultProps = defaultProps;
23
+
24
+ export { TextClamped };
25
+ //# sourceMappingURL=TextClamped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextClamped.js","sources":["../../../../../../src/components/Typography/TextClamped/TextClamped.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAUA,MAAM,YAAY,GAA8B;AAC9C,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAmB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;AAC3E,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,oBAAoB,EAAE,UAAU;AAChC,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AAC5E,CAAA,CAAC,CAAC,CAAC;AAEE,SAAU,WAAW,CAAC,KAAuB,EAAA;AACjD,IAAA,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,kBAAkB,EAAE,aAAa,EAE/B,GAAA,KAAK,EADJ,SAAS,GAAA,MAAA,CACV,KAAK,EALH,CAAA,OAAA,EAAA,UAAA,EAAA,kBAAA,CAKL,CAAQ,CAAC;AAEV,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,IAAI,EAAmB,MAAA,CAAA,MAAA,CAAA,EAAA,kBAAA,EAAA,aAAa,IAAM,SAAS,CAAA;AAClD,QAAA,KAAA,CAAA,aAAA,CAAC,SAAS,EAAC,EAAA,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAC1C,EAAA,QAAQ,CACC,CACP,EACP;AACJ,CAAC;AAED,WAAW,CAAC,YAAY,GAAG,YAAY;;;;"}
@@ -0,0 +1,62 @@
1
+ import styled from '@emotion/styled';
2
+ import React, { useRef, useReducer, useLayoutEffect, useEffect } from 'react';
3
+ import { VirtualScrollReducer } from './VirtualScrollListReducer.js';
4
+
5
+ const StyledContainer = styled.div(({ maxHeight }) => ({
6
+ overflow: "auto",
7
+ width: "100%",
8
+ height: "100%",
9
+ maxHeight,
10
+ }));
11
+ const StyledScrollableContent = styled.div(({ maxContentHeight }) => ({
12
+ overflow: "hidden",
13
+ boxSizing: "border-box",
14
+ height: maxContentHeight,
15
+ }));
16
+ const overscan = 10;
17
+ function VirtualScrollList({ maxHeight, itemHeight, itemAmount, emptyState = () => null, itemInView, itemTemplate, "data-e2e-test-id": dataE2eTestId, }) {
18
+ const scrollableContainerRef = useRef(null);
19
+ const viewportRef = useRef(null);
20
+ const [{ scrolledItemCount, amountOfItemsInView, scrolledInPx, maxContentHeight = maxHeight, recommendedScrollPosition, }, dispatch,] = useReducer(VirtualScrollReducer, {});
21
+ useLayoutEffect(() => {
22
+ dispatch({ type: "reset", itemHeight, maxHeight, overscan });
23
+ scrollableContainerRef.current.scrollTop = 0;
24
+ }, [itemHeight, itemAmount, maxHeight]);
25
+ useEffect(() => {
26
+ dispatch({
27
+ type: "recommendScrollPosition",
28
+ scrollTop: scrollableContainerRef.current.scrollTop,
29
+ itemToBeInView: itemInView,
30
+ });
31
+ }, [itemInView]);
32
+ useEffect(() => {
33
+ if (recommendedScrollPosition === null)
34
+ return;
35
+ scrollableContainerRef.current.scrollTop = recommendedScrollPosition;
36
+ }, [recommendedScrollPosition]);
37
+ useLayoutEffect(() => {
38
+ if (!viewportRef.current)
39
+ return;
40
+ dispatch({
41
+ type: "updateViewport",
42
+ viewportNode: viewportRef.current,
43
+ itemAmount,
44
+ });
45
+ }, [itemAmount, scrolledItemCount]);
46
+ const itemCountToBeRendered = Math.min(Math.max(0, itemAmount - scrolledItemCount), amountOfItemsInView);
47
+ return (React.createElement(StyledContainer, { ref: scrollableContainerRef, maxHeight: maxHeight, style: { maxHeight }, "data-e2e-test-id": dataE2eTestId, onScroll: (e) => {
48
+ dispatch({
49
+ type: "scroll",
50
+ scrollTop: e.currentTarget.scrollTop,
51
+ });
52
+ } }, itemAmount === 0 ? (emptyState()) : (React.createElement(StyledScrollableContent, { maxContentHeight: maxContentHeight },
53
+ React.createElement("div", { ref: viewportRef, style: {
54
+ transform: `translateY(${scrolledInPx}px`,
55
+ } }, !!itemCountToBeRendered &&
56
+ new Array(itemCountToBeRendered)
57
+ .fill(0)
58
+ .map((_, index) => itemTemplate(scrolledItemCount + index)))))));
59
+ }
60
+
61
+ export { VirtualScrollList };
62
+ //# sourceMappingURL=VirtualScrollList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualScrollList.js","sources":["../../../../../src/components/VirtualScrollList/VirtualScrollList.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}