@bbl-digital/snorre 4.0.22 → 4.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/bundle.js +113 -27
- package/esm/core/Button/Button.stories.js +50 -48
- package/esm/core/Card/index.js +4 -3
- package/esm/core/Checkbox/index.js +32 -9
- package/esm/core/CollapseList/Item.js +4 -3
- package/esm/core/CollapseList/index.js +4 -3
- package/esm/core/Datepicker/Datepicker.stories.js +7 -6
- package/esm/core/DatepickerRange/DatepickerRange.stories.js +4 -3
- package/esm/core/DropdownMenu/DropdownMenu.stories.js +34 -26
- package/esm/core/DropdownMenu/DropdownMenuOption.js +2 -0
- package/esm/core/DropdownMenu/index.js +16 -0
- package/esm/core/Editor/Editor.stories.js +31 -30
- package/esm/core/FileInput/index.js +7 -1
- package/esm/core/GoogleButton/GoogleButton.stories.js +4 -4
- package/esm/core/Header/Header.stories.js +42 -45
- package/esm/core/HighlightText/HighlightText.stories.js +11 -11
- package/esm/core/Image/index.js +19 -4
- package/esm/core/ImagePicker/ImagePicker.stories.js +2 -1
- package/esm/core/ImagePicker/index.js +4 -0
- package/esm/core/ImageViewer/index.js +15 -5
- package/esm/core/InfoButton/InfoButton.stories.js +23 -22
- package/esm/core/InfoButton/index.js +4 -0
- package/esm/core/Input/index.js +4 -0
- package/lib/core/Button/Button.stories.d.ts +20 -63
- package/lib/core/Button/Button.stories.d.ts.map +1 -1
- package/lib/core/Button/Button.stories.js +50 -48
- package/lib/core/Card/index.d.ts +14 -15
- package/lib/core/Card/index.d.ts.map +1 -1
- package/lib/core/Card/index.js +4 -3
- package/lib/core/Checkbox/index.d.ts +3 -3
- package/lib/core/Checkbox/index.d.ts.map +1 -1
- package/lib/core/Checkbox/index.js +32 -9
- package/lib/core/CollapseList/Item.d.ts +1 -1
- package/lib/core/CollapseList/Item.d.ts.map +1 -1
- package/lib/core/CollapseList/Item.js +4 -3
- package/lib/core/CollapseList/index.d.ts +1 -1
- package/lib/core/CollapseList/index.d.ts.map +1 -1
- package/lib/core/CollapseList/index.js +4 -3
- package/lib/core/Datepicker/Datepicker.stories.d.ts +6 -6
- package/lib/core/Datepicker/Datepicker.stories.d.ts.map +1 -1
- package/lib/core/Datepicker/Datepicker.stories.js +7 -6
- package/lib/core/DatepickerRange/DatepickerRange.stories.d.ts +6 -7
- package/lib/core/DatepickerRange/DatepickerRange.stories.d.ts.map +1 -1
- package/lib/core/DatepickerRange/DatepickerRange.stories.js +4 -3
- package/lib/core/DropdownMenu/DropdownMenu.stories.d.ts +8 -15
- package/lib/core/DropdownMenu/DropdownMenu.stories.d.ts.map +1 -1
- package/lib/core/DropdownMenu/DropdownMenu.stories.js +34 -26
- package/lib/core/DropdownMenu/DropdownMenuOption.d.ts.map +1 -1
- package/lib/core/DropdownMenu/DropdownMenuOption.js +2 -0
- package/lib/core/DropdownMenu/index.d.ts.map +1 -1
- package/lib/core/DropdownMenu/index.js +16 -0
- package/lib/core/Editor/Editor.stories.d.ts +10 -23
- package/lib/core/Editor/Editor.stories.d.ts.map +1 -1
- package/lib/core/Editor/Editor.stories.js +31 -30
- package/lib/core/FileInput/index.d.ts +3 -1
- package/lib/core/FileInput/index.d.ts.map +1 -1
- package/lib/core/FileInput/index.js +7 -1
- package/lib/core/GoogleButton/GoogleButton.stories.d.ts +6 -7
- package/lib/core/GoogleButton/GoogleButton.stories.d.ts.map +1 -1
- package/lib/core/GoogleButton/GoogleButton.stories.js +4 -4
- package/lib/core/Header/Header.stories.d.ts +13 -35
- package/lib/core/Header/Header.stories.d.ts.map +1 -1
- package/lib/core/Header/Header.stories.js +42 -45
- package/lib/core/HighlightText/HighlightText.stories.d.ts +7 -11
- package/lib/core/HighlightText/HighlightText.stories.d.ts.map +1 -1
- package/lib/core/HighlightText/HighlightText.stories.js +11 -11
- package/lib/core/Image/index.d.ts +1 -0
- package/lib/core/Image/index.d.ts.map +1 -1
- package/lib/core/Image/index.js +19 -4
- package/lib/core/ImagePicker/ImagePicker.stories.d.ts +6 -17
- package/lib/core/ImagePicker/ImagePicker.stories.d.ts.map +1 -1
- package/lib/core/ImagePicker/ImagePicker.stories.js +2 -1
- package/lib/core/ImagePicker/index.d.ts.map +1 -1
- package/lib/core/ImagePicker/index.js +4 -0
- package/lib/core/ImageViewer/index.d.ts.map +1 -1
- package/lib/core/ImageViewer/index.js +15 -5
- package/lib/core/InfoButton/InfoButton.stories.d.ts +10 -23
- package/lib/core/InfoButton/InfoButton.stories.d.ts.map +1 -1
- package/lib/core/InfoButton/InfoButton.stories.js +23 -22
- package/lib/core/InfoButton/index.d.ts.map +1 -1
- package/lib/core/InfoButton/index.js +4 -0
- package/lib/core/Input/index.d.ts +1 -1
- package/lib/core/Input/index.d.ts.map +1 -1
- package/lib/core/Input/index.js +4 -0
- package/package.json +1 -1
@@ -78,6 +78,7 @@ const ImagePicker = ({
|
|
78
78
|
focusable: true,
|
79
79
|
css: styles.deleteButton,
|
80
80
|
onClick: () => onImageRemove(0),
|
81
|
+
"aria-label": "Fjern bilde",
|
81
82
|
children: _jsx(IconWithBackground, {
|
82
83
|
variant: "delete",
|
83
84
|
icon: _jsx(IconDelete, {})
|
@@ -95,6 +96,7 @@ const ImagePicker = ({
|
|
95
96
|
nostyle: true,
|
96
97
|
focusable: true,
|
97
98
|
css: styles.pinButton,
|
99
|
+
"aria-label": "Sett som hovedbilde",
|
98
100
|
onClick: () => setMainImage(index + 1),
|
99
101
|
children: _jsx(IconWithBackground, {
|
100
102
|
icon: _jsx(IconImage, {}),
|
@@ -104,6 +106,7 @@ const ImagePicker = ({
|
|
104
106
|
nostyle: true,
|
105
107
|
focusable: true,
|
106
108
|
css: styles.deleteButton,
|
109
|
+
"aria-label": "Fjern bilde",
|
107
110
|
onClick: () => onImageRemove(index + 1),
|
108
111
|
children: _jsx(IconWithBackground, {
|
109
112
|
variant: "delete",
|
@@ -117,6 +120,7 @@ const ImagePicker = ({
|
|
117
120
|
...dragProps
|
118
121
|
})]
|
119
122
|
}), errors?.acceptType && _jsx(Text, {
|
123
|
+
role: "alert",
|
120
124
|
children: "Bilde formatet st\xF8ttes ikke"
|
121
125
|
})]
|
122
126
|
});
|
@@ -8,6 +8,7 @@ import IconChevronLeft from '../../icons/General/IconChevronLeft';
|
|
8
8
|
import IconClose from '../../icons/General/IconClose';
|
9
9
|
import { useEffect, useState } from 'react';
|
10
10
|
import { Key } from '../../enums/Keyboard';
|
11
|
+
import { VisuallyHidden } from 'react-aria';
|
11
12
|
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
12
13
|
import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
13
14
|
const ImageViewer = ({
|
@@ -30,10 +31,15 @@ const ImageViewer = ({
|
|
30
31
|
const hasMultipleImages = Boolean(images.length > 1);
|
31
32
|
return _jsx("div", {
|
32
33
|
css: styles.overlay,
|
33
|
-
children:
|
34
|
+
children: _jsxs("div", {
|
34
35
|
css: styles.carousel,
|
35
36
|
role: "dialog",
|
36
|
-
|
37
|
+
"aria-modal": true,
|
38
|
+
"aria-labelledby": "carousel-heading",
|
39
|
+
children: [_jsx(VisuallyHidden, {
|
40
|
+
id: "carousel-heading",
|
41
|
+
children: "Bildevisning"
|
42
|
+
}), _jsx(Carousel, {
|
37
43
|
enableKeyboardControls: true,
|
38
44
|
swiping: hasMultipleImages,
|
39
45
|
dragging: hasMultipleImages,
|
@@ -44,6 +50,7 @@ const ImageViewer = ({
|
|
44
50
|
renderTopRightControls: () => _jsx("button", {
|
45
51
|
css: styles.closeBtn,
|
46
52
|
onClick: onClose,
|
53
|
+
"aria-label": "Lukk bildevisning",
|
47
54
|
children: _jsx(IconClose, {
|
48
55
|
color: "white"
|
49
56
|
})
|
@@ -53,6 +60,7 @@ const ImageViewer = ({
|
|
53
60
|
}) => hasMultipleImages && _jsx("button", {
|
54
61
|
css: styles.controlBtn('right'),
|
55
62
|
onClick: nextSlide,
|
63
|
+
"aria-label": "Naviger til neste bilde",
|
56
64
|
children: _jsx(IconChevronLeft, {
|
57
65
|
size: 18,
|
58
66
|
color: theme.btnDefaultFontColor,
|
@@ -64,6 +72,7 @@ const ImageViewer = ({
|
|
64
72
|
}) => hasMultipleImages && _jsx("button", {
|
65
73
|
css: styles.controlBtn('left'),
|
66
74
|
onClick: previousSlide,
|
75
|
+
"aria-label": "Naviger til forrige bilde",
|
67
76
|
children: _jsx(IconChevronLeft, {
|
68
77
|
size: 18,
|
69
78
|
color: theme.btnDefaultFontColor
|
@@ -76,19 +85,20 @@ const ImageViewer = ({
|
|
76
85
|
children: _jsxs(Text, {
|
77
86
|
color: theme.btnDefaultFontColor,
|
78
87
|
size: "14px",
|
88
|
+
"aria-label": `Bilde ${currentSlide + 1} av ${images.length}`,
|
79
89
|
children: [currentSlide + 1, " / ", images.length]
|
80
90
|
})
|
81
91
|
}),
|
82
92
|
children: images.map((imageSrc, i) => _jsx("div", {
|
83
|
-
css: [styles.imageContainer(isZoomed), process.env.NODE_ENV === "production" ? "" : ";label:ImageViewer;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
93
|
+
css: [styles.imageContainer(isZoomed), process.env.NODE_ENV === "production" ? "" : ";label:ImageViewer;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWNrYWdlcy9jb3JlL0ltYWdlVmlld2VyL2luZGV4LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF5R3lCIiwiZmlsZSI6Ii4uLy4uLy4uL3NyYy9wYWNrYWdlcy9jb3JlL0ltYWdlVmlld2VyL2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAanN4SW1wb3J0U291cmNlIEBlbW90aW9uL3JlYWN0ICovXG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0J1xuaW1wb3J0IHsgc3R5bGVzIH0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQgSW1hZ2UgZnJvbSAnLi4vSW1hZ2UnXG5pbXBvcnQgQ2Fyb3VzZWwgZnJvbSAnbnVrYS1jYXJvdXNlbCdcbmltcG9ydCBUZXh0IGZyb20gJy4uL1RleHQnXG5pbXBvcnQgSWNvbkNoZXZyb25MZWZ0IGZyb20gJy4uLy4uL2ljb25zL0dlbmVyYWwvSWNvbkNoZXZyb25MZWZ0J1xuaW1wb3J0IEljb25DbG9zZSBmcm9tICcuLi8uLi9pY29ucy9HZW5lcmFsL0ljb25DbG9zZSdcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uLy4uL2VudW1zL0tleWJvYXJkJ1xuaW1wb3J0IHsgVmlzdWFsbHlIaWRkZW4gfSBmcm9tICdyZWFjdC1hcmlhJ1xuXG50eXBlIFByb3BzID0ge1xuICAvKiogSW1hZ2Ugc3JjJ3MgKi9cbiAgaW1hZ2VzOiBzdHJpbmdbXVxuICAvKiogSW1hZ2UgbGlzdCBpbmRleCB0byBkaXNwbGF5IGluaXRpYWxseSwgZGVmYXVsdHMgdG8gMCAqL1xuICBpbml0aWFsSW1hZ2U6IG51bWJlclxuICAvKiogT24gY2xvc2UgY2FsbGJhY2sgKi9cbiAgb25DbG9zZTogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBJbWFnZVZpZXdlciA9ICh7IGltYWdlcywgaW5pdGlhbEltYWdlID0gMCwgb25DbG9zZSB9OiBQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVRoZW1lKClcbiAgY29uc3QgW2lzWm9vbWVkLCBzZXRJc1pvb21lZF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIFRyaWdnZXIgY2xvc2UgZXZlbnQgb24gXCJlc2NhcGVcIiBrZXlkb3duXG4gICAgY29uc3QgaGFuZGxlS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS2V5LmVzY2FwZSkgb25DbG9zZSgpXG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVLZXlEb3duKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgaGFzTXVsdGlwbGVJbWFnZXMgPSBCb29sZWFuKGltYWdlcy5sZW5ndGggPiAxKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjc3M9e3N0eWxlcy5vdmVybGF5fT5cbiAgICAgIDxkaXZcbiAgICAgICAgY3NzPXtzdHlsZXMuY2Fyb3VzZWx9XG4gICAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgICBhcmlhLW1vZGFsPXt0cnVlfVxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJjYXJvdXNlbC1oZWFkaW5nXCJcbiAgICAgID5cbiAgICAgICAgPFZpc3VhbGx5SGlkZGVuIGlkPVwiY2Fyb3VzZWwtaGVhZGluZ1wiPkJpbGRldmlzbmluZzwvVmlzdWFsbHlIaWRkZW4+XG4gICAgICAgIDxDYXJvdXNlbFxuICAgICAgICAgIGVuYWJsZUtleWJvYXJkQ29udHJvbHNcbiAgICAgICAgICBzd2lwaW5nPXtoYXNNdWx0aXBsZUltYWdlc31cbiAgICAgICAgICBkcmFnZ2luZz17aGFzTXVsdGlwbGVJbWFnZXN9XG4gICAgICAgICAgd3JhcEFyb3VuZFxuICAgICAgICAgIHNsaWRlSW5kZXg9e2luaXRpYWxJbWFnZX1cbiAgICAgICAgICBjZWxsU3BhY2luZz17MTV9XG4gICAgICAgICAgb25Vc2VyTmF2aWdhdGlvbj17KCkgPT4gc2V0SXNab29tZWQoZmFsc2UpfVxuICAgICAgICAgIHJlbmRlclRvcFJpZ2h0Q29udHJvbHM9eygpID0+IChcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY3NzPXtzdHlsZXMuY2xvc2VCdG59XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uQ2xvc2V9XG4gICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJMdWtrIGJpbGRldmlzbmluZ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJY29uQ2xvc2UgY29sb3I9XCJ3aGl0ZVwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApfVxuICAgICAgICAgIHJlbmRlckNlbnRlclJpZ2h0Q29udHJvbHM9eyh7IG5leHRTbGlkZSB9KSA9PlxuICAgICAgICAgICAgaGFzTXVsdGlwbGVJbWFnZXMgJiYgKFxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY3NzPXtzdHlsZXMuY29udHJvbEJ0bigncmlnaHQnKX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtuZXh0U2xpZGV9XG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk5hdmlnZXIgdGlsIG5lc3RlIGJpbGRlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHsvKiBVc2VzIEljb25DaGV2cm9uTGVmdCwgYmVjYXVzZSBJY29uQ2hldnJvblJpZ2h0IGlzIG5vdCBjZW50ZXJlZCBwcm9wZXJseSAgKi99XG4gICAgICAgICAgICAgICAgPEljb25DaGV2cm9uTGVmdFxuICAgICAgICAgICAgICAgICAgc2l6ZT17MTh9XG4gICAgICAgICAgICAgICAgICBjb2xvcj17dGhlbWUuYnRuRGVmYXVsdEZvbnRDb2xvcn1cbiAgICAgICAgICAgICAgICAgIGZsaXBcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVuZGVyQ2VudGVyTGVmdENvbnRyb2xzPXsoeyBwcmV2aW91c1NsaWRlIH0pID0+XG4gICAgICAgICAgICBoYXNNdWx0aXBsZUltYWdlcyAmJiAoXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBjc3M9e3N0eWxlcy5jb250cm9sQnRuKCdsZWZ0Jyl9XG4gICAgICAgICAgICAgICAgb25DbGljaz17cHJldmlvdXNTbGlkZX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiTmF2aWdlciB0aWwgZm9ycmlnZSBiaWxkZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8SWNvbkNoZXZyb25MZWZ0IHNpemU9ezE4fSBjb2xvcj17dGhlbWUuYnRuRGVmYXVsdEZvbnRDb2xvcn0gLz5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICAgIHJlbmRlckJvdHRvbUNlbnRlckNvbnRyb2xzPXsoeyBjdXJyZW50U2xpZGUgfSkgPT4gKFxuICAgICAgICAgICAgPGRpdiBjc3M9e3N0eWxlcy5wYWdlSW5mb30+XG4gICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgY29sb3I9e3RoZW1lLmJ0bkRlZmF1bHRGb250Q29sb3J9XG4gICAgICAgICAgICAgICAgc2l6ZT1cIjE0cHhcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2BCaWxkZSAke2N1cnJlbnRTbGlkZSArIDF9IGF2ICR7aW1hZ2VzLmxlbmd0aH1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2N1cnJlbnRTbGlkZSArIDF9IC8ge2ltYWdlcy5sZW5ndGh9XG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICB7aW1hZ2VzLm1hcCgoaW1hZ2VTcmMsIGkpID0+IChcbiAgICAgICAgICAgIDxkaXYga2V5PXtpfSBjc3M9e1tzdHlsZXMuaW1hZ2VDb250YWluZXIoaXNab29tZWQpXX0+XG4gICAgICAgICAgICAgIDxJbWFnZVxuICAgICAgICAgICAgICAgIHNyYz17aW1hZ2VTcmN9XG4gICAgICAgICAgICAgICAgYWx0PXtgQmlsZGUgJHtpICsgMX0gYXYgJHtpbWFnZXMubGVuZ3RofWB9XG4gICAgICAgICAgICAgICAgb2JqZWN0Rml0PVwiY29udGFpblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNab29tZWQoIWlzWm9vbWVkKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICA8L0Nhcm91c2VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbmV4cG9ydCBkZWZhdWx0IEltYWdlVmlld2VyXG4iXX0= */"],
|
84
94
|
children: _jsx(Image, {
|
85
95
|
src: imageSrc,
|
86
|
-
alt:
|
96
|
+
alt: `Bilde ${i + 1} av ${images.length}`,
|
87
97
|
objectFit: "contain",
|
88
98
|
onClick: () => setIsZoomed(!isZoomed)
|
89
99
|
})
|
90
100
|
}, i))
|
91
|
-
})
|
101
|
+
})]
|
92
102
|
})
|
93
103
|
});
|
94
104
|
};
|
@@ -1,57 +1,58 @@
|
|
1
1
|
import InfoButton from '.';
|
2
2
|
import IconHelp from '../../icons/General/IconHelp';
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
4
|
-
|
4
|
+
const meta = {
|
5
5
|
title: 'Core/InfoButton',
|
6
6
|
component: InfoButton
|
7
7
|
};
|
8
|
+
export default meta;
|
8
9
|
export const Default = {
|
9
|
-
|
10
|
+
args: {
|
11
|
+
children: 'This will be the content',
|
10
12
|
icon: /*#__PURE__*/_jsx(IconHelp, {
|
11
13
|
primary: true
|
12
|
-
})
|
13
|
-
|
14
|
-
}),
|
14
|
+
})
|
15
|
+
},
|
15
16
|
name: 'Default'
|
16
17
|
};
|
17
18
|
export const Right = {
|
18
|
-
|
19
|
+
args: {
|
20
|
+
children: 'This will be the content. This very long and unnecessary text shows how the tooltip will handle responsiveness',
|
19
21
|
icon: /*#__PURE__*/_jsx(IconHelp, {
|
20
22
|
primary: true
|
21
23
|
}),
|
22
|
-
place:
|
23
|
-
|
24
|
-
}),
|
24
|
+
place: 'right'
|
25
|
+
},
|
25
26
|
name: 'Right'
|
26
27
|
};
|
27
28
|
export const Bottom = {
|
28
|
-
|
29
|
+
args: {
|
30
|
+
children: 'This will be the content',
|
29
31
|
icon: /*#__PURE__*/_jsx(IconHelp, {
|
30
32
|
primary: true
|
31
33
|
}),
|
32
|
-
place:
|
33
|
-
|
34
|
-
}),
|
34
|
+
place: 'bottom'
|
35
|
+
},
|
35
36
|
name: 'Bottom'
|
36
37
|
};
|
37
38
|
export const Left = {
|
38
|
-
|
39
|
+
args: {
|
40
|
+
children: 'This will be the content',
|
39
41
|
icon: /*#__PURE__*/_jsx(IconHelp, {
|
40
42
|
primary: true
|
41
43
|
}),
|
42
|
-
place:
|
43
|
-
|
44
|
-
}),
|
44
|
+
place: 'left'
|
45
|
+
},
|
45
46
|
name: 'Left'
|
46
47
|
};
|
47
48
|
export const Width = {
|
48
|
-
|
49
|
+
args: {
|
50
|
+
children: 'Custom width',
|
49
51
|
icon: /*#__PURE__*/_jsx(IconHelp, {
|
50
52
|
primary: true
|
51
53
|
}),
|
52
|
-
place:
|
53
|
-
width:
|
54
|
-
|
55
|
-
}),
|
54
|
+
place: 'right',
|
55
|
+
width: '100px'
|
56
|
+
},
|
56
57
|
name: 'Width'
|
57
58
|
};
|
@@ -40,6 +40,7 @@ const InfoButton = ({
|
|
40
40
|
}, [showTooltip, ref]);
|
41
41
|
return _jsxs(Wrapper, {
|
42
42
|
ref: ref,
|
43
|
+
className: className,
|
43
44
|
children: [_jsx(StyledButton, {
|
44
45
|
"aria-label": ariaLabel,
|
45
46
|
trackingName: trackingName,
|
@@ -52,6 +53,9 @@ const InfoButton = ({
|
|
52
53
|
timeout: 80,
|
53
54
|
classNames: "tooltip",
|
54
55
|
children: _jsx(Tooltip, {
|
56
|
+
role: "tooltip",
|
57
|
+
id: "info-tooltip",
|
58
|
+
"aria-hidden": !showTooltip,
|
55
59
|
css: () => [styles.default, place === 'top' && styles.top, place === 'right' && styles.right, place === 'bottom' && styles.bottom, place === 'left' && styles.left, width && styles.width(width, place)],
|
56
60
|
children: _jsx(Text, {
|
57
61
|
children: children ? children : ''
|
package/esm/core/Input/index.js
CHANGED
@@ -62,12 +62,14 @@ const Input = /*#__PURE__*/React.forwardRef(({
|
|
62
62
|
return _jsxs("div", {
|
63
63
|
css: styles.relative,
|
64
64
|
children: [_jsxs("label", {
|
65
|
+
htmlFor: props.id,
|
65
66
|
css: theme => [styles.default(theme), props.highlight && styles.highligted(height), type === 'search' && styles.searchLabel(theme), (props.invalid || props.invalidMessage) && styles.invalid(theme), height && styles.height(height)],
|
66
67
|
className: className,
|
67
68
|
children: [props.label && _jsx("span", {
|
68
69
|
css: info && styles.pr4,
|
69
70
|
children: props.label
|
70
71
|
}), _jsx("input", {
|
72
|
+
id: props.id,
|
71
73
|
type: type,
|
72
74
|
...(type !== 'password' && {
|
73
75
|
value
|
@@ -81,6 +83,7 @@ const Input = /*#__PURE__*/React.forwardRef(({
|
|
81
83
|
maxLength: maxlength,
|
82
84
|
ref: ref,
|
83
85
|
name: props.name,
|
86
|
+
"aria-describedby": props.invalidMessage ? 'input-error-message' : undefined,
|
84
87
|
css: theme => [type === 'text' && styles.text(theme), type === 'search' && styles.search(theme), type === 'password' && styles.password(theme), type === 'number' && styles.number(theme), props.disabled && styles.disabled(theme), cardInput && styles.cardInput(theme)],
|
85
88
|
children: React.Children.map(props.children, child => {
|
86
89
|
if (!child) {
|
@@ -91,6 +94,7 @@ const Input = /*#__PURE__*/React.forwardRef(({
|
|
91
94
|
}), type === 'search' && _jsx(IconSearch, {}), props.invalidMessage && _jsx(IconErrorOutline, {
|
92
95
|
size: "16px"
|
93
96
|
}), props.invalidMessage && _jsx("span", {
|
97
|
+
id: "input-error-message",
|
94
98
|
css: theme => [styles.errorMessage(theme), !props?.label && styles.errorMessageNoLabel],
|
95
99
|
children: props.invalidMessage
|
96
100
|
})]
|
@@ -1,64 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
export
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
export declare const
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
export declare const
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
export declare const
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
export declare const
|
21
|
-
render: () => import("react").JSX.Element;
|
22
|
-
name: string;
|
23
|
-
};
|
24
|
-
export declare const Loading: {
|
25
|
-
render: () => import("react").JSX.Element;
|
26
|
-
name: string;
|
27
|
-
};
|
28
|
-
export declare const Disabled: {
|
29
|
-
render: () => import("react").JSX.Element;
|
30
|
-
name: string;
|
31
|
-
};
|
32
|
-
export declare const Highlighted: {
|
33
|
-
render: () => import("react").JSX.Element;
|
34
|
-
name: string;
|
35
|
-
};
|
36
|
-
export declare const OutlineHighlighted: {
|
37
|
-
render: () => import("react").JSX.Element;
|
38
|
-
name: string;
|
39
|
-
};
|
40
|
-
export declare const Back: {
|
41
|
-
render: () => import("react").JSX.Element;
|
42
|
-
name: string;
|
43
|
-
};
|
44
|
-
export declare const Small: {
|
45
|
-
render: () => import("react").JSX.Element;
|
46
|
-
name: string;
|
47
|
-
};
|
48
|
-
export declare const DangerOutline: {
|
49
|
-
render: () => import("react").JSX.Element;
|
50
|
-
name: string;
|
51
|
-
};
|
52
|
-
export declare const TransparentBackground: {
|
53
|
-
render: () => import("react").JSX.Element;
|
54
|
-
name: string;
|
55
|
-
};
|
56
|
-
export declare const NoStyle: {
|
57
|
-
render: () => import("react").JSX.Element;
|
58
|
-
name: string;
|
59
|
-
};
|
60
|
-
export declare const EventKeyPresses: {
|
61
|
-
render: () => import("react").JSX.Element;
|
62
|
-
name: string;
|
63
|
-
};
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
2
|
+
import Button from '.';
|
3
|
+
declare const meta: Meta<typeof Button>;
|
4
|
+
export default meta;
|
5
|
+
declare type Story = StoryObj<typeof Button>;
|
6
|
+
export declare const Default: Story;
|
7
|
+
export declare const IconBefore: Story;
|
8
|
+
export declare const IconAfter: Story;
|
9
|
+
export declare const Success: Story;
|
10
|
+
export declare const Danger: Story;
|
11
|
+
export declare const Loading: Story;
|
12
|
+
export declare const Disabled: Story;
|
13
|
+
export declare const Highlighted: Story;
|
14
|
+
export declare const OutlineHighlighted: Story;
|
15
|
+
export declare const Back: Story;
|
16
|
+
export declare const Small: Story;
|
17
|
+
export declare const DangerOutline: Story;
|
18
|
+
export declare const TransparentBackground: Story;
|
19
|
+
export declare const NoStyle: Story;
|
20
|
+
export declare const EventKeyPresses: Story;
|
64
21
|
//# sourceMappingURL=Button.stories.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Button/Button.stories.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Button/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,MAAM,MAAM,GAAG,CAAA;AAGtB,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAG7B,CAAA;AAED,eAAe,IAAI,CAAA;AAEnB,aAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAA;AAEpC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAMxB,CAAA;AAID,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAMpB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAMzB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAOhC,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,KAMlB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAMnB,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAO3B,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAOnC,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAMrB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAW7B,CAAA"}
|
@@ -1,121 +1,123 @@
|
|
1
1
|
import Button from '.';
|
2
2
|
import IconCaretDown from '../../icons/General/IconCaretDown';
|
3
|
-
import IconEdit from '../../icons/General/IconEdit';
|
4
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
5
|
-
|
4
|
+
const meta = {
|
6
5
|
title: 'Core/Button',
|
7
6
|
component: Button
|
8
7
|
};
|
8
|
+
export default meta;
|
9
9
|
export const Default = {
|
10
|
-
|
11
|
-
children:
|
12
|
-
}
|
10
|
+
args: {
|
11
|
+
children: 'Standard button'
|
12
|
+
},
|
13
13
|
name: 'Default'
|
14
14
|
};
|
15
15
|
export const IconBefore = {
|
16
|
-
|
16
|
+
args: {
|
17
17
|
beforeIcon: /*#__PURE__*/_jsx(IconCaretDown, {}),
|
18
|
-
children:
|
19
|
-
}
|
18
|
+
children: 'Standard button'
|
19
|
+
},
|
20
20
|
name: 'Icon before'
|
21
21
|
};
|
22
|
+
|
23
|
+
// Rewrite all stories to use args instead of render
|
24
|
+
|
22
25
|
export const IconAfter = {
|
23
|
-
|
26
|
+
args: {
|
24
27
|
afterIcon: /*#__PURE__*/_jsx(IconCaretDown, {}),
|
25
|
-
children:
|
26
|
-
}
|
28
|
+
children: 'Standard button'
|
29
|
+
},
|
27
30
|
name: 'Icon after'
|
28
31
|
};
|
29
32
|
export const Success = {
|
30
|
-
|
33
|
+
args: {
|
31
34
|
success: true,
|
32
|
-
children:
|
33
|
-
}
|
35
|
+
children: 'Success button'
|
36
|
+
},
|
34
37
|
name: 'Success'
|
35
38
|
};
|
36
39
|
export const Danger = {
|
37
|
-
|
40
|
+
args: {
|
38
41
|
danger: true,
|
39
|
-
children:
|
40
|
-
}
|
42
|
+
children: 'Danger button'
|
43
|
+
},
|
41
44
|
name: 'Danger'
|
42
45
|
};
|
43
46
|
export const Loading = {
|
44
|
-
|
47
|
+
args: {
|
45
48
|
loading: true,
|
46
|
-
children:
|
47
|
-
}
|
49
|
+
children: 'Loading button'
|
50
|
+
},
|
48
51
|
name: 'Loading'
|
49
52
|
};
|
50
53
|
export const Disabled = {
|
51
|
-
|
54
|
+
args: {
|
52
55
|
disabled: true,
|
53
|
-
children:
|
54
|
-
}
|
56
|
+
children: 'Disabled button'
|
57
|
+
},
|
55
58
|
name: 'Disabled'
|
56
59
|
};
|
57
60
|
export const Highlighted = {
|
58
|
-
|
61
|
+
args: {
|
59
62
|
highlight: true,
|
60
|
-
children:
|
61
|
-
}
|
63
|
+
children: 'Hightlighted button'
|
64
|
+
},
|
62
65
|
name: 'Highlighted'
|
63
66
|
};
|
64
67
|
export const OutlineHighlighted = {
|
65
|
-
|
68
|
+
args: {
|
66
69
|
highlight: true,
|
67
70
|
outline: true,
|
68
|
-
children:
|
69
|
-
}
|
71
|
+
children: 'Hightlighted outline button'
|
72
|
+
},
|
70
73
|
name: 'Outline highlighted'
|
71
74
|
};
|
72
75
|
export const Back = {
|
73
|
-
|
76
|
+
args: {
|
74
77
|
back: true,
|
75
|
-
children:
|
76
|
-
}
|
78
|
+
children: 'Go back'
|
79
|
+
},
|
77
80
|
name: 'Back'
|
78
81
|
};
|
79
82
|
export const Small = {
|
80
|
-
|
83
|
+
args: {
|
81
84
|
small: true,
|
82
|
-
children:
|
83
|
-
}
|
85
|
+
children: 'Small button'
|
86
|
+
},
|
84
87
|
name: 'Small'
|
85
88
|
};
|
86
89
|
export const DangerOutline = {
|
87
|
-
|
90
|
+
args: {
|
88
91
|
danger: true,
|
89
92
|
outline: true,
|
90
|
-
children:
|
91
|
-
}
|
93
|
+
children: 'Danger outline'
|
94
|
+
},
|
92
95
|
name: 'Danger outline'
|
93
96
|
};
|
94
97
|
export const TransparentBackground = {
|
95
|
-
|
98
|
+
args: {
|
96
99
|
outline: true,
|
97
100
|
transparentBg: true,
|
98
|
-
children:
|
99
|
-
}
|
101
|
+
children: 'Danger outline'
|
102
|
+
},
|
100
103
|
name: 'Transparent background'
|
101
104
|
};
|
102
105
|
export const NoStyle = {
|
103
|
-
|
106
|
+
args: {
|
104
107
|
nostyle: true,
|
105
|
-
|
106
|
-
|
107
|
-
}),
|
108
|
+
children: 'No style'
|
109
|
+
},
|
108
110
|
name: 'No style'
|
109
111
|
};
|
110
112
|
export const EventKeyPresses = {
|
111
|
-
|
113
|
+
args: {
|
112
114
|
onEnterKeyPress: () => console.log('Enter pressed'),
|
113
115
|
onEscapeKeyPress: () => console.log('Escape pressed'),
|
114
116
|
onCustomKeyPress: {
|
115
117
|
key: 'E',
|
116
118
|
action: e => console.log('Key pressed', e.key)
|
117
119
|
},
|
118
|
-
children:
|
119
|
-
}
|
120
|
+
children: 'Actionlistener button'
|
121
|
+
},
|
120
122
|
name: 'Event key presses'
|
121
123
|
};
|
package/lib/core/Card/index.d.ts
CHANGED
@@ -1,34 +1,33 @@
|
|
1
1
|
/** @jsxImportSource @emotion/react */
|
2
2
|
import React from 'react';
|
3
3
|
import { SerializedStyles } from '@emotion/react';
|
4
|
-
declare
|
4
|
+
declare const Card: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
5
5
|
/** Set to true for hover effect */
|
6
|
-
withhover?: boolean;
|
6
|
+
withhover?: boolean | undefined;
|
7
7
|
/** To set primary background color*/
|
8
|
-
primary?: boolean;
|
8
|
+
primary?: boolean | undefined;
|
9
9
|
/** Gray background color */
|
10
|
-
gray?: boolean;
|
10
|
+
gray?: boolean | undefined;
|
11
11
|
/** OnClick callback function */
|
12
|
-
onClick?: () => void;
|
12
|
+
onClick?: (() => void) | undefined;
|
13
13
|
/** No padding */
|
14
|
-
noPadding?: boolean;
|
14
|
+
noPadding?: boolean | undefined;
|
15
15
|
/** Large padding around edges */
|
16
|
-
largePadding?: boolean;
|
16
|
+
largePadding?: boolean | undefined;
|
17
17
|
/** Height of card box */
|
18
|
-
height?: number;
|
18
|
+
height?: number | undefined;
|
19
19
|
/** Set to true for no background color */
|
20
|
-
nobackground?: boolean;
|
20
|
+
nobackground?: boolean | undefined;
|
21
21
|
/** Set to true to add shadow to Card border */
|
22
|
-
shadow?: boolean;
|
22
|
+
shadow?: boolean | undefined;
|
23
23
|
/** Sets overflow visible */
|
24
|
-
overflowvisible?: boolean;
|
24
|
+
overflowvisible?: boolean | undefined;
|
25
25
|
/** Override with custom CSS */
|
26
|
-
css?: SerializedStyles;
|
26
|
+
css?: SerializedStyles | undefined;
|
27
27
|
/** Classname prop */
|
28
|
-
className?: string;
|
28
|
+
className?: string | undefined;
|
29
29
|
/** Children */
|
30
30
|
children?: React.ReactNode | React.ReactNode[];
|
31
|
-
}
|
32
|
-
declare const Card: React.FC<IProps>;
|
31
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
33
32
|
export default Card;
|
34
33
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Card/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Card/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAiCjD,QAAA,MAAM,IAAI;IA5BR,mCAAmC;;IAEnC,qCAAqC;;IAErC,4BAA4B;;IAE5B,gCAAgC;qBAChB,IAAI;IACpB,iBAAiB;;IAEjB,iCAAiC;;IAEjC,yBAAyB;;IAEzB,0CAA0C;;IAE1C,+CAA+C;;IAE/C,6BAA6B;;IAE7B,+BAA+B;;IAE/B,qBAAqB;;IAErB,eAAe;eACJ,MAAM,SAAS,GAAG,MAAM,SAAS,EAAE;wCAuC/C,CAAA;AAED,eAAe,IAAI,CAAA"}
|
package/lib/core/Card/index.js
CHANGED
@@ -3,10 +3,10 @@ import React from 'react';
|
|
3
3
|
import { styles } from './styles';
|
4
4
|
import { Key } from '../../enums/Keyboard';
|
5
5
|
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
6
|
-
const Card = ({
|
6
|
+
const Card = /*#__PURE__*/React.forwardRef(({
|
7
7
|
className,
|
8
8
|
...props
|
9
|
-
}) => {
|
9
|
+
}, ref) => {
|
10
10
|
const handleOnKeyPress = e => {
|
11
11
|
if (e.key === Key.enter || e.key === Key.space) {
|
12
12
|
if (props.onClick) {
|
@@ -15,6 +15,7 @@ const Card = ({
|
|
15
15
|
}
|
16
16
|
};
|
17
17
|
return _jsx("div", {
|
18
|
+
ref: ref,
|
18
19
|
css: theme => [styles.default(theme), props.shadow && styles.shadow(theme), props.withhover && styles.withHover(theme), props.primary && styles.primary(theme), props.gray && styles.gray, props.noPadding && styles.noPadding, props.height && styles.height(props.height), props.nobackground && styles.nobackground, props.largePadding && styles.largePadding, props.overflowvisible && styles.overflowvisible, props.css && props.css],
|
19
20
|
tabIndex: props.onClick ? 0 : undefined,
|
20
21
|
onClick: props.onClick,
|
@@ -23,5 +24,5 @@ const Card = ({
|
|
23
24
|
...props,
|
24
25
|
children: props.children
|
25
26
|
});
|
26
|
-
};
|
27
|
+
});
|
27
28
|
export default Card;
|
@@ -1,10 +1,8 @@
|
|
1
1
|
/** @jsxImportSource @emotion/react */
|
2
2
|
import React from 'react';
|
3
|
-
interface IProps {
|
3
|
+
interface IProps extends React.HTMLAttributes<HTMLInputElement> {
|
4
4
|
/** Type of checkbox */
|
5
5
|
type?: 'sharp' | 'subtle';
|
6
|
-
/** Aria-label for checkbox if children is not set */
|
7
|
-
'aria-label'?: string;
|
8
6
|
/** Content within the checkbox. */
|
9
7
|
children?: NonNullable<React.ReactNode>;
|
10
8
|
/** Name of checkbox */
|
@@ -23,6 +21,8 @@ interface IProps {
|
|
23
21
|
child?: boolean;
|
24
22
|
/** Add classname */
|
25
23
|
className?: string;
|
24
|
+
/** ID for label association */
|
25
|
+
id?: string;
|
26
26
|
/** CB when checkbox changes */
|
27
27
|
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => any;
|
28
28
|
/** cb for onclick, if one for instance wants to stop propogation */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Checkbox/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAA8B,MAAM,OAAO,CAAA;AAGlD,UAAU,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Checkbox/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAA8B,MAAM,OAAO,CAAA;AAGlD,UAAU,MAAO,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC;IAC7D,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACvC,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAA;IAC1D,oEAAoE;IACpE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,GAAG,CAAA;CACrE;AAED,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAiE9B,CAAA;AAED,eAAe,QAAQ,CAAA"}
|