@dnanpm/ui-components 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Accordion/Accordion.css +6 -3
- package/dist/components/AccordionItem/AccordionItem.css +6 -3
- package/dist/components/Breadcrumb/Breadcrumb.css +15 -12
- package/dist/components/Breadcrumb/Breadcrumb.module.css.cjs +6 -6
- package/dist/components/Breadcrumb/Breadcrumb.module.css.js +6 -6
- package/dist/components/Button/Button.css +33 -32
- package/dist/components/Button/Button.module.css.cjs +11 -11
- package/dist/components/Button/Button.module.css.js +11 -11
- package/dist/components/ButtonCard/ButtonCard.cjs +105 -0
- package/dist/components/ButtonCard/ButtonCard.cjs.map +1 -0
- package/dist/components/ButtonCard/ButtonCard.css +166 -0
- package/dist/components/ButtonCard/ButtonCard.d.ts +3 -0
- package/dist/components/ButtonCard/ButtonCard.d.ts.map +1 -0
- package/dist/components/ButtonCard/ButtonCard.js +105 -0
- package/dist/components/ButtonCard/ButtonCard.js.map +1 -0
- package/dist/components/ButtonCard/ButtonCard.module.css.cjs +18 -0
- package/dist/components/ButtonCard/ButtonCard.module.css.cjs.map +1 -0
- package/dist/components/ButtonCard/ButtonCard.module.css.js +19 -0
- package/dist/components/ButtonCard/ButtonCard.module.css.js.map +1 -0
- package/dist/components/ButtonCard/ButtonCard.types.d.ts +103 -0
- package/dist/components/ButtonCard/ButtonCard.types.d.ts.map +1 -0
- package/dist/components/ButtonCard/index.d.ts +3 -0
- package/dist/components/ButtonCard/index.d.ts.map +1 -0
- package/dist/components/ContentCard/ContentCard.cjs +96 -0
- package/dist/components/ContentCard/ContentCard.cjs.map +1 -0
- package/dist/components/ContentCard/ContentCard.css +249 -0
- package/dist/components/ContentCard/ContentCard.d.ts +3 -0
- package/dist/components/ContentCard/ContentCard.d.ts.map +1 -0
- package/dist/components/ContentCard/ContentCard.js +96 -0
- package/dist/components/ContentCard/ContentCard.js.map +1 -0
- package/dist/components/ContentCard/ContentCard.module.css.cjs +24 -0
- package/dist/components/ContentCard/ContentCard.module.css.cjs.map +1 -0
- package/dist/components/ContentCard/ContentCard.module.css.js +25 -0
- package/dist/components/ContentCard/ContentCard.module.css.js.map +1 -0
- package/dist/components/ContentCard/ContentCard.types.d.ts +99 -0
- package/dist/components/ContentCard/ContentCard.types.d.ts.map +1 -0
- package/dist/components/ContentCard/index.d.ts +3 -0
- package/dist/components/ContentCard/index.d.ts.map +1 -0
- package/dist/components/Drawer/Drawer.cjs +101 -0
- package/dist/components/Drawer/Drawer.cjs.map +1 -0
- package/dist/components/Drawer/Drawer.css +218 -0
- package/dist/components/Drawer/Drawer.d.ts +3 -0
- package/dist/components/Drawer/Drawer.d.ts.map +1 -0
- package/dist/components/Drawer/Drawer.js +101 -0
- package/dist/components/Drawer/Drawer.js.map +1 -0
- package/dist/components/Drawer/Drawer.module.css.cjs +37 -0
- package/dist/components/Drawer/Drawer.module.css.cjs.map +1 -0
- package/dist/components/Drawer/Drawer.module.css.js +37 -0
- package/dist/components/Drawer/Drawer.module.css.js.map +1 -0
- package/dist/components/Drawer/Drawer.types.d.ts +63 -0
- package/dist/components/Drawer/Drawer.types.d.ts.map +1 -0
- package/dist/components/Drawer/index.d.ts +3 -0
- package/dist/components/Drawer/index.d.ts.map +1 -0
- package/dist/components/Footer/Footer.css +87 -77
- package/dist/components/Footer/Footer.module.css.cjs +39 -39
- package/dist/components/Footer/Footer.module.css.js +39 -39
- package/dist/components/FunctionButton/FunctionButton.cjs +34 -0
- package/dist/components/FunctionButton/FunctionButton.cjs.map +1 -0
- package/dist/components/FunctionButton/FunctionButton.css +124 -0
- package/dist/components/FunctionButton/FunctionButton.d.ts +3 -0
- package/dist/components/FunctionButton/FunctionButton.d.ts.map +1 -0
- package/dist/components/FunctionButton/FunctionButton.js +34 -0
- package/dist/components/FunctionButton/FunctionButton.js.map +1 -0
- package/dist/components/FunctionButton/FunctionButton.module.css.cjs +11 -0
- package/dist/components/FunctionButton/FunctionButton.module.css.cjs.map +1 -0
- package/dist/components/FunctionButton/FunctionButton.module.css.js +12 -0
- package/dist/components/FunctionButton/FunctionButton.module.css.js.map +1 -0
- package/dist/components/FunctionButton/FunctionButton.types.d.ts +21 -0
- package/dist/components/FunctionButton/FunctionButton.types.d.ts.map +1 -0
- package/dist/components/FunctionButton/index.d.ts +3 -0
- package/dist/components/FunctionButton/index.d.ts.map +1 -0
- package/dist/components/Hero/Hero.cjs +24 -26
- package/dist/components/Hero/Hero.cjs.map +1 -1
- package/dist/components/Hero/Hero.css +81 -74
- package/dist/components/Hero/Hero.js +24 -26
- package/dist/components/Hero/Hero.js.map +1 -1
- package/dist/components/Hero/Hero.module.css.cjs +20 -17
- package/dist/components/Hero/Hero.module.css.cjs.map +1 -1
- package/dist/components/Hero/Hero.module.css.js +20 -17
- package/dist/components/Hero/Hero.module.css.js.map +1 -1
- package/dist/components/IconButton/IconButton.css +32 -34
- package/dist/components/IconButton/IconButton.module.css.cjs +9 -9
- package/dist/components/IconButton/IconButton.module.css.js +9 -9
- package/dist/components/Label/Label.css +2 -3
- package/dist/components/MainNavigation/MainNavigation.cjs +415 -120
- package/dist/components/MainNavigation/MainNavigation.cjs.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.css +265 -159
- package/dist/components/MainNavigation/MainNavigation.d.ts +1 -1
- package/dist/components/MainNavigation/MainNavigation.d.ts.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.js +417 -122
- package/dist/components/MainNavigation/MainNavigation.js.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.module.css.cjs +78 -68
- package/dist/components/MainNavigation/MainNavigation.module.css.cjs.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.module.css.js +78 -68
- package/dist/components/MainNavigation/MainNavigation.module.css.js.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.types.d.ts +64 -17
- package/dist/components/MainNavigation/MainNavigation.types.d.ts.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.utils.cjs +20 -0
- package/dist/components/MainNavigation/MainNavigation.utils.cjs.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.utils.d.ts +10 -1
- package/dist/components/MainNavigation/MainNavigation.utils.d.ts.map +1 -1
- package/dist/components/MainNavigation/MainNavigation.utils.js +20 -0
- package/dist/components/MainNavigation/MainNavigation.utils.js.map +1 -1
- package/dist/components/MainNavigation/index.d.ts +1 -1
- package/dist/components/MainNavigation/index.d.ts.map +1 -1
- package/dist/components/Modal/Modal.cjs +101 -0
- package/dist/components/Modal/Modal.cjs.map +1 -0
- package/dist/components/Modal/Modal.css +204 -0
- package/dist/components/Modal/Modal.d.ts +3 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Modal/Modal.js +101 -0
- package/dist/components/Modal/Modal.js.map +1 -0
- package/dist/components/Modal/Modal.module.css.cjs +39 -0
- package/dist/components/Modal/Modal.module.css.cjs.map +1 -0
- package/dist/components/Modal/Modal.module.css.js +39 -0
- package/dist/components/Modal/Modal.module.css.js.map +1 -0
- package/dist/components/Modal/Modal.types.d.ts +62 -0
- package/dist/components/Modal/Modal.types.d.ts.map +1 -0
- package/dist/components/Modal/index.d.ts +3 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/Modal/useDialogDismissal.cjs +41 -0
- package/dist/components/Modal/useDialogDismissal.cjs.map +1 -0
- package/dist/components/Modal/useDialogDismissal.d.ts +17 -0
- package/dist/components/Modal/useDialogDismissal.d.ts.map +1 -0
- package/dist/components/Modal/useDialogDismissal.js +41 -0
- package/dist/components/Modal/useDialogDismissal.js.map +1 -0
- package/dist/components/Modal/useNativeDialog.cjs +126 -0
- package/dist/components/Modal/useNativeDialog.cjs.map +1 -0
- package/dist/components/Modal/useNativeDialog.d.ts +14 -0
- package/dist/components/Modal/useNativeDialog.d.ts.map +1 -0
- package/dist/components/Modal/useNativeDialog.js +126 -0
- package/dist/components/Modal/useNativeDialog.js.map +1 -0
- package/dist/components/Notification/Notification.css +6 -3
- package/dist/components/Pictograph/Pictograph.css +6 -3
- package/dist/components/Pictograph/PictographItem.css +6 -3
- package/dist/components/Quote/Quote.css +2 -3
- package/dist/components/Spinner/Spinner.css +6 -3
- package/dist/index.cjs +10 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/styles/utils/elevation.css +2 -3
- package/dist/styles/utils/elevation.module.css.cjs +3 -0
- package/dist/styles/utils/elevation.module.css.cjs.map +1 -1
- package/dist/styles/utils/elevation.module.css.js +4 -1
- package/dist/styles/utils/elevation.module.css.js.map +1 -1
- package/dist/styles/utils/focus.css +26 -24
- package/dist/styles/utils/focus.module.css.cjs +3 -6
- package/dist/styles/utils/focus.module.css.cjs.map +1 -1
- package/dist/styles/utils/focus.module.css.js +4 -7
- package/dist/styles/utils/focus.module.css.js.map +1 -1
- package/dist/styles/utils/overlay.css +2 -3
- package/dist/styles/utils/text-decoration.css +4 -4
- package/dist/styles/utils/text-decoration.module.css.cjs +2 -2
- package/dist/styles/utils/text-decoration.module.css.js +2 -2
- package/dist/styles.css +17 -7
- package/package.json +3 -3
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
@layer dds-components
|
|
1
|
+
@layer dds-base, dds-components;
|
|
2
|
+
|
|
3
|
+
@layer dds-components { @layer fallback, components; }
|
|
4
|
+
|
|
5
|
+
@layer dds-components.components{/**
|
|
2
6
|
* Accordion Component Styles
|
|
3
7
|
*
|
|
4
8
|
* Layout wrapper that spaces AccordionItem children evenly.
|
|
@@ -15,5 +19,4 @@
|
|
|
15
19
|
|
|
16
20
|
._accordion--panel_18qm2_16 {
|
|
17
21
|
gap: 0;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
22
|
+
} }
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
@layer dds-components
|
|
1
|
+
@layer dds-base, dds-components;
|
|
2
|
+
|
|
3
|
+
@layer dds-components { @layer fallback, components; }
|
|
4
|
+
|
|
5
|
+
@layer dds-components.components{/**
|
|
2
6
|
* AccordionItem Component Styles
|
|
3
7
|
*
|
|
4
8
|
* Uses native <details> element for expand/collapse behavior.
|
|
@@ -124,5 +128,4 @@
|
|
|
124
128
|
/* calc-size() function allows transition to height: auto; */
|
|
125
129
|
block-size: calc-size(auto, size);
|
|
126
130
|
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
131
|
+
} }
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
@layer dds-components
|
|
1
|
+
@layer dds-base, dds-components;
|
|
2
|
+
|
|
3
|
+
@layer dds-components { @layer fallback, components; }
|
|
4
|
+
|
|
5
|
+
@layer dds-components.components{/**
|
|
2
6
|
* Breadcrumb Component Styles
|
|
3
7
|
*
|
|
4
8
|
* Design tokens are consumed via CSS custom properties (variables).
|
|
@@ -7,14 +11,14 @@
|
|
|
7
11
|
* Uses a container query (ch units) to switch between default and collapsed mode.
|
|
8
12
|
*/
|
|
9
13
|
|
|
10
|
-
.
|
|
14
|
+
._breadcrumb_1c8nk_10 {
|
|
11
15
|
container-name: breadcrumb;
|
|
12
16
|
container-type: inline-size;
|
|
13
17
|
width: 100%;
|
|
14
18
|
overflow: hidden;
|
|
15
19
|
}
|
|
16
20
|
|
|
17
|
-
.
|
|
21
|
+
._breadcrumb__list_1c8nk_17 {
|
|
18
22
|
display: flex;
|
|
19
23
|
align-items: center;
|
|
20
24
|
gap: var(--spacing-space-4);
|
|
@@ -23,7 +27,7 @@
|
|
|
23
27
|
list-style: none;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
|
-
.
|
|
30
|
+
._breadcrumb__item_1c8nk_26 {
|
|
27
31
|
flex: 0 0 auto;
|
|
28
32
|
margin: 0;
|
|
29
33
|
padding: 0;
|
|
@@ -42,21 +46,21 @@
|
|
|
42
46
|
}
|
|
43
47
|
}
|
|
44
48
|
|
|
45
|
-
.
|
|
49
|
+
._breadcrumb__link_1c8nk_45 {
|
|
46
50
|
color: var(--color-semantic-interactive-primary-default);
|
|
47
|
-
border-radius: var(--radius-semantic-sm);
|
|
48
51
|
}
|
|
49
52
|
|
|
50
|
-
.
|
|
53
|
+
._breadcrumb__link_1c8nk_45:hover,
|
|
54
|
+
._breadcrumb__link_1c8nk_45:focus-visible {
|
|
51
55
|
color: var(--color-semantic-interactive-primary-hover);
|
|
52
56
|
}
|
|
53
57
|
|
|
54
|
-
.
|
|
58
|
+
._breadcrumb__current_1c8nk_54 {
|
|
55
59
|
overflow: hidden;
|
|
56
60
|
text-overflow: ellipsis;
|
|
57
61
|
}
|
|
58
62
|
|
|
59
|
-
.
|
|
63
|
+
._breadcrumb__separator_1c8nk_59 {
|
|
60
64
|
flex: 0 0 auto;
|
|
61
65
|
width: 0.875rem;
|
|
62
66
|
height: 0.875rem;
|
|
@@ -65,8 +69,7 @@
|
|
|
65
69
|
|
|
66
70
|
/* Collapsed mode: hide all items except the last two */
|
|
67
71
|
@container breadcrumb (max-width: 75ch) {
|
|
68
|
-
.
|
|
72
|
+
._breadcrumb__item_1c8nk_26:not(:nth-last-child(-n + 2)) {
|
|
69
73
|
display: none;
|
|
70
74
|
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
75
|
+
} }
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
require('./Breadcrumb.css');
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
4
|
-
const breadcrumb = "
|
|
5
|
-
const breadcrumb__list = "
|
|
6
|
-
const breadcrumb__item = "
|
|
7
|
-
const breadcrumb__link = "
|
|
8
|
-
const breadcrumb__current = "
|
|
9
|
-
const breadcrumb__separator = "
|
|
4
|
+
const breadcrumb = "_breadcrumb_1c8nk_10";
|
|
5
|
+
const breadcrumb__list = "_breadcrumb__list_1c8nk_17";
|
|
6
|
+
const breadcrumb__item = "_breadcrumb__item_1c8nk_26";
|
|
7
|
+
const breadcrumb__link = "_breadcrumb__link_1c8nk_45";
|
|
8
|
+
const breadcrumb__current = "_breadcrumb__current_1c8nk_54";
|
|
9
|
+
const breadcrumb__separator = "_breadcrumb__separator_1c8nk_59";
|
|
10
10
|
const styles = {
|
|
11
11
|
breadcrumb,
|
|
12
12
|
breadcrumb__list,
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import './Breadcrumb.css';
|
|
2
|
-
const breadcrumb = "
|
|
3
|
-
const breadcrumb__list = "
|
|
4
|
-
const breadcrumb__item = "
|
|
5
|
-
const breadcrumb__link = "
|
|
6
|
-
const breadcrumb__current = "
|
|
7
|
-
const breadcrumb__separator = "
|
|
2
|
+
const breadcrumb = "_breadcrumb_1c8nk_10";
|
|
3
|
+
const breadcrumb__list = "_breadcrumb__list_1c8nk_17";
|
|
4
|
+
const breadcrumb__item = "_breadcrumb__item_1c8nk_26";
|
|
5
|
+
const breadcrumb__link = "_breadcrumb__link_1c8nk_45";
|
|
6
|
+
const breadcrumb__current = "_breadcrumb__current_1c8nk_54";
|
|
7
|
+
const breadcrumb__separator = "_breadcrumb__separator_1c8nk_59";
|
|
8
8
|
const styles = {
|
|
9
9
|
breadcrumb,
|
|
10
10
|
breadcrumb__list,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@layer dds-components {.
|
|
1
|
+
@layer dds-base, dds-components;@layer dds-components { @layer fallback, components; }@layer dds-components.components{._button_1utks_1 {
|
|
2
2
|
display: inline-flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
justify-content: center;
|
|
@@ -15,21 +15,21 @@
|
|
|
15
15
|
border-color 0.2s ease-in-out;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
._button--full-
|
|
18
|
+
._button--full-width_1utks_18 {
|
|
19
19
|
width: 100%;
|
|
20
20
|
min-width: 0;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/* ─── Sizes ─── */
|
|
24
24
|
|
|
25
|
-
._button--
|
|
25
|
+
._button--normal_1utks_25 {
|
|
26
26
|
font: var(--typography-label-lg-bold);
|
|
27
27
|
height: 40px;
|
|
28
28
|
min-width: 128px;
|
|
29
29
|
padding: var(--spacing-space-8) var(--spacing-space-20);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
._button--
|
|
32
|
+
._button--small_1utks_32 {
|
|
33
33
|
font: var(--typography-label-md-bold);
|
|
34
34
|
height: 32px;
|
|
35
35
|
min-width: 100px;
|
|
@@ -38,91 +38,92 @@
|
|
|
38
38
|
|
|
39
39
|
/* ─── Primary variant ─── */
|
|
40
40
|
|
|
41
|
-
._button--
|
|
41
|
+
._button--primary_1utks_41 {
|
|
42
42
|
background-color: var(--color-semantic-interactive-primary-default);
|
|
43
43
|
color: var(--color-semantic-foreground-inverse);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
._button--
|
|
46
|
+
._button--primary_1utks_41:hover {
|
|
47
47
|
background-color: var(--color-semantic-interactive-primary-hover);
|
|
48
48
|
color: var(--color-semantic-foreground-inverse);
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
._button--
|
|
51
|
+
._button--primary_1utks_41:active {
|
|
52
52
|
background-color: var(--color-semantic-interactive-primary-active);
|
|
53
53
|
color: var(--color-semantic-foreground-inverse);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
._button--
|
|
56
|
+
._button--primary_1utks_41:focus-visible {
|
|
57
57
|
background-color: var(--color-semantic-interactive-primary-focus);
|
|
58
58
|
color: var(--color-semantic-foreground-inverse);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
/* ─── Secondary variant ─── */
|
|
62
62
|
|
|
63
|
-
._button--
|
|
63
|
+
._button--secondary_1utks_63 {
|
|
64
64
|
background-color: transparent;
|
|
65
65
|
border: var(--borderwidth-semantic-sm) solid var(--color-semantic-interactive-secondary-default);
|
|
66
66
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
._button--
|
|
69
|
+
._button--secondary_1utks_63:hover {
|
|
70
70
|
background-color: var(--color-semantic-interactive-secondary-hover);
|
|
71
71
|
border-color: var(--color-semantic-interactive-secondary-hover);
|
|
72
72
|
color: var(--color-semantic-foreground-inverse);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
._button--
|
|
75
|
+
._button--secondary_1utks_63:active {
|
|
76
76
|
background-color: var(--color-semantic-interactive-secondary-active);
|
|
77
77
|
border-color: var(--color-semantic-interactive-secondary-active);
|
|
78
78
|
color: var(--color-semantic-foreground-inverse);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
._button--
|
|
81
|
+
._button--secondary_1utks_63:focus-visible {
|
|
82
82
|
background-color: var(--color-semantic-interactive-secondary-focus);
|
|
83
|
+
border-color: var(--color-semantic-interactive-secondary-focus);
|
|
83
84
|
color: var(--color-semantic-foreground-inverse);
|
|
84
85
|
}
|
|
85
86
|
|
|
86
87
|
/* ─── Tertiary variant ─── */
|
|
87
88
|
|
|
88
|
-
._button--
|
|
89
|
+
._button--tertiary_1utks_89 {
|
|
89
90
|
background-color: var(--color-semantic-interactive-neutral-default);
|
|
90
91
|
border: var(--borderwidth-semantic-sm) solid var(--color-semantic-border-neutral-mid);
|
|
91
92
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
92
93
|
}
|
|
93
94
|
|
|
94
|
-
._button--
|
|
95
|
+
._button--tertiary_1utks_89:hover {
|
|
95
96
|
background-color: var(--color-semantic-interactive-neutral-hover);
|
|
96
97
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
97
98
|
}
|
|
98
99
|
|
|
99
|
-
._button--
|
|
100
|
+
._button--tertiary_1utks_89:active {
|
|
100
101
|
background-color: var(--color-semantic-interactive-neutral-active);
|
|
101
102
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
102
103
|
}
|
|
103
104
|
|
|
104
|
-
._button--
|
|
105
|
+
._button--tertiary_1utks_89:focus-visible {
|
|
105
106
|
background-color: var(--color-semantic-interactive-neutral-focus);
|
|
106
107
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
/* ─── Disabled state ─── */
|
|
110
111
|
|
|
111
|
-
._button--
|
|
112
|
+
._button--disabled_1utks_112 {
|
|
112
113
|
pointer-events: none;
|
|
113
114
|
}
|
|
114
115
|
|
|
115
|
-
._button--
|
|
116
|
+
._button--primary_1utks_41._button--disabled_1utks_112 {
|
|
116
117
|
background-color: var(--color-semantic-interactive-primary-disabled);
|
|
117
118
|
color: var(--color-semantic-foreground-muted);
|
|
118
119
|
}
|
|
119
120
|
|
|
120
|
-
._button--
|
|
121
|
+
._button--secondary_1utks_63._button--disabled_1utks_112 {
|
|
121
122
|
border-color: var(--color-semantic-interactive-secondary-disabled);
|
|
122
123
|
color: var(--color-semantic-foreground-muted);
|
|
123
124
|
}
|
|
124
125
|
|
|
125
|
-
._button--
|
|
126
|
+
._button--tertiary_1utks_89._button--disabled_1utks_112 {
|
|
126
127
|
background-color: var(--color-semantic-interactive-neutral-disabled);
|
|
127
128
|
color: var(--color-semantic-foreground-muted);
|
|
128
129
|
}
|
|
@@ -131,38 +132,39 @@
|
|
|
131
132
|
/* Styles apply from [data-color-scheme="dark"] down to (but not into) [data-color-scheme="light"]. */
|
|
132
133
|
|
|
133
134
|
@scope ([data-color-scheme='dark']) to ([data-color-scheme='light']) {
|
|
134
|
-
._button--
|
|
135
|
+
._button--primary_1utks_41._button--disabled_1utks_112 {
|
|
135
136
|
color: var(--color-semantic-foreground-inverse-muted);
|
|
136
137
|
}
|
|
137
138
|
|
|
138
|
-
._button--
|
|
139
|
+
._button--secondary_1utks_63 {
|
|
139
140
|
border-color: var(--color-semantic-interactive-inverse-default);
|
|
140
141
|
color: var(--color-semantic-foreground-inverse);
|
|
141
142
|
}
|
|
142
143
|
|
|
143
|
-
._button--
|
|
144
|
+
._button--secondary_1utks_63:hover {
|
|
144
145
|
background-color: var(--color-semantic-interactive-inverse-hover);
|
|
145
146
|
border-color: var(--color-semantic-interactive-inverse-hover);
|
|
146
147
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
147
148
|
}
|
|
148
149
|
|
|
149
|
-
._button--
|
|
150
|
+
._button--secondary_1utks_63:active {
|
|
150
151
|
background-color: var(--color-semantic-interactive-inverse-active);
|
|
151
152
|
border-color: var(--color-semantic-interactive-inverse-active);
|
|
152
153
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
153
154
|
}
|
|
154
155
|
|
|
155
|
-
._button--
|
|
156
|
+
._button--secondary_1utks_63:focus-visible {
|
|
156
157
|
background-color: var(--color-semantic-interactive-inverse-focus);
|
|
158
|
+
border-color: var(--color-semantic-interactive-inverse-focus);
|
|
157
159
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
158
160
|
}
|
|
159
161
|
|
|
160
|
-
._button--
|
|
162
|
+
._button--secondary_1utks_63._button--disabled_1utks_112 {
|
|
161
163
|
border-color: var(--color-semantic-interactive-inverse-disabled);
|
|
162
164
|
color: var(--color-semantic-foreground-inverse-muted);
|
|
163
165
|
}
|
|
164
166
|
|
|
165
|
-
._button--
|
|
167
|
+
._button--tertiary_1utks_89._button--disabled_1utks_112 {
|
|
166
168
|
border-color: var(--color-semantic-interactive-neutral-disabled);
|
|
167
169
|
color: var(--color-semantic-foreground-inverse-muted);
|
|
168
170
|
}
|
|
@@ -170,11 +172,11 @@
|
|
|
170
172
|
|
|
171
173
|
/* ─── Loading state ─── */
|
|
172
174
|
|
|
173
|
-
._button--
|
|
175
|
+
._button--loading_1utks_175 {
|
|
174
176
|
pointer-events: none;
|
|
175
177
|
}
|
|
176
178
|
|
|
177
|
-
.
|
|
179
|
+
._button__content_1utks_179 {
|
|
178
180
|
flex: 0 1 auto;
|
|
179
181
|
min-width: 0;
|
|
180
182
|
overflow: hidden;
|
|
@@ -182,7 +184,6 @@
|
|
|
182
184
|
white-space: nowrap;
|
|
183
185
|
}
|
|
184
186
|
|
|
185
|
-
.
|
|
187
|
+
._button__spinner_1utks_187 {
|
|
186
188
|
flex: 0 0 auto;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
+
} }
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
require('./Button.css');
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
4
|
-
const button = "
|
|
5
|
-
const button__content = "
|
|
6
|
-
const button__spinner = "
|
|
4
|
+
const button = "_button_1utks_1";
|
|
5
|
+
const button__content = "_button__content_1utks_179";
|
|
6
|
+
const button__spinner = "_button__spinner_1utks_187";
|
|
7
7
|
const styles = {
|
|
8
8
|
button,
|
|
9
|
-
"button--full-width": "_button--full-
|
|
10
|
-
"button--normal": "_button--
|
|
11
|
-
"button--small": "_button--
|
|
12
|
-
"button--primary": "_button--
|
|
13
|
-
"button--secondary": "_button--
|
|
14
|
-
"button--tertiary": "_button--
|
|
15
|
-
"button--disabled": "_button--
|
|
16
|
-
"button--loading": "_button--
|
|
9
|
+
"button--full-width": "_button--full-width_1utks_18",
|
|
10
|
+
"button--normal": "_button--normal_1utks_25",
|
|
11
|
+
"button--small": "_button--small_1utks_32",
|
|
12
|
+
"button--primary": "_button--primary_1utks_41",
|
|
13
|
+
"button--secondary": "_button--secondary_1utks_63",
|
|
14
|
+
"button--tertiary": "_button--tertiary_1utks_89",
|
|
15
|
+
"button--disabled": "_button--disabled_1utks_112",
|
|
16
|
+
"button--loading": "_button--loading_1utks_175",
|
|
17
17
|
button__content,
|
|
18
18
|
button__spinner
|
|
19
19
|
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import './Button.css';
|
|
2
|
-
const button = "
|
|
3
|
-
const button__content = "
|
|
4
|
-
const button__spinner = "
|
|
2
|
+
const button = "_button_1utks_1";
|
|
3
|
+
const button__content = "_button__content_1utks_179";
|
|
4
|
+
const button__spinner = "_button__spinner_1utks_187";
|
|
5
5
|
const styles = {
|
|
6
6
|
button,
|
|
7
|
-
"button--full-width": "_button--full-
|
|
8
|
-
"button--normal": "_button--
|
|
9
|
-
"button--small": "_button--
|
|
10
|
-
"button--primary": "_button--
|
|
11
|
-
"button--secondary": "_button--
|
|
12
|
-
"button--tertiary": "_button--
|
|
13
|
-
"button--disabled": "_button--
|
|
14
|
-
"button--loading": "_button--
|
|
7
|
+
"button--full-width": "_button--full-width_1utks_18",
|
|
8
|
+
"button--normal": "_button--normal_1utks_25",
|
|
9
|
+
"button--small": "_button--small_1utks_32",
|
|
10
|
+
"button--primary": "_button--primary_1utks_41",
|
|
11
|
+
"button--secondary": "_button--secondary_1utks_63",
|
|
12
|
+
"button--tertiary": "_button--tertiary_1utks_89",
|
|
13
|
+
"button--disabled": "_button--disabled_1utks_112",
|
|
14
|
+
"button--loading": "_button--loading_1utks_175",
|
|
15
15
|
button__content,
|
|
16
16
|
button__spinner
|
|
17
17
|
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const icons = require("@dnanpm/icons");
|
|
5
|
+
const focus_module = require("../../styles/utils/focus.module.css.cjs");
|
|
6
|
+
const elevation_module = require("../../styles/utils/elevation.module.css.cjs");
|
|
7
|
+
const ButtonCard_module = require("./ButtonCard.module.css.cjs");
|
|
8
|
+
const cn = require("../../utils/cn/cn.cjs");
|
|
9
|
+
const ButtonCard = ({
|
|
10
|
+
title,
|
|
11
|
+
subtitle,
|
|
12
|
+
size = "medium",
|
|
13
|
+
icon,
|
|
14
|
+
image,
|
|
15
|
+
isExternal = false,
|
|
16
|
+
externalLinkAriaLabel = "avautuu uuteen välilehteen",
|
|
17
|
+
className,
|
|
18
|
+
ref,
|
|
19
|
+
...props
|
|
20
|
+
}) => {
|
|
21
|
+
const isAnchor = "href" in props && props.href != null;
|
|
22
|
+
const classes = cn.cn(
|
|
23
|
+
ButtonCard_module["button-card"],
|
|
24
|
+
ButtonCard_module[`button-card--${size}`],
|
|
25
|
+
focus_module.default.focusable,
|
|
26
|
+
elevation_module.default.elevationLow,
|
|
27
|
+
className
|
|
28
|
+
);
|
|
29
|
+
const IconComponent = icon;
|
|
30
|
+
const media = IconComponent != null ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
31
|
+
"span",
|
|
32
|
+
{
|
|
33
|
+
className: cn.cn(ButtonCard_module["button-card__media"], ButtonCard_module["button-card__media--icon"]),
|
|
34
|
+
"aria-hidden": "true",
|
|
35
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { "aria-hidden": "true" })
|
|
36
|
+
}
|
|
37
|
+
) : image ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn.cn(ButtonCard_module["button-card__media"], ButtonCard_module["button-card__media--image"]), children: image }) : null;
|
|
38
|
+
const explicitTarget = isAnchor ? props.target?.toLowerCase() : void 0;
|
|
39
|
+
const opensInNewTab = isExternal || explicitTarget === "_blank";
|
|
40
|
+
const Indicator = opensInNewTab ? icons.Open : icons.ChevronRight;
|
|
41
|
+
const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
42
|
+
media,
|
|
43
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: ButtonCard_module["button-card__content"], children: [
|
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: ButtonCard_module["button-card__text"], children: [
|
|
45
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ButtonCard_module["button-card__title"], children: title }),
|
|
46
|
+
subtitle != null && /* @__PURE__ */ jsxRuntime.jsx("span", { className: ButtonCard_module["button-card__subtitle"], children: subtitle })
|
|
47
|
+
] }),
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: ButtonCard_module["button-card__indicator"], "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Indicator, { "aria-hidden": "true" }) })
|
|
49
|
+
] }),
|
|
50
|
+
opensInNewTab && externalLinkAriaLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: ButtonCard_module["button-card__sr-only"], children: ` (${externalLinkAriaLabel})` })
|
|
51
|
+
] });
|
|
52
|
+
if (isAnchor) {
|
|
53
|
+
const {
|
|
54
|
+
href,
|
|
55
|
+
renderLink,
|
|
56
|
+
target: targetProp,
|
|
57
|
+
rel,
|
|
58
|
+
disabled: _disabled,
|
|
59
|
+
...safeAnchorProps
|
|
60
|
+
} = props;
|
|
61
|
+
const target = isExternal ? "_blank" : targetProp;
|
|
62
|
+
const shouldHardenRel = target?.toLowerCase() === "_blank";
|
|
63
|
+
const relTokens = new Set(
|
|
64
|
+
(rel ?? "").split(/\s+/).filter(Boolean).map((token) => token.toLowerCase())
|
|
65
|
+
);
|
|
66
|
+
if (shouldHardenRel) {
|
|
67
|
+
relTokens.add("noopener");
|
|
68
|
+
relTokens.add("noreferrer");
|
|
69
|
+
}
|
|
70
|
+
const hardenedRel = relTokens.size > 0 ? Array.from(relTokens).join(" ") : void 0;
|
|
71
|
+
const linkProps = {
|
|
72
|
+
...safeAnchorProps,
|
|
73
|
+
ref,
|
|
74
|
+
href,
|
|
75
|
+
target,
|
|
76
|
+
rel: hardenedRel,
|
|
77
|
+
className: classes,
|
|
78
|
+
children: content
|
|
79
|
+
};
|
|
80
|
+
if (renderLink) {
|
|
81
|
+
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderLink(linkProps) });
|
|
82
|
+
}
|
|
83
|
+
return /* @__PURE__ */ jsxRuntime.jsx("a", { ...linkProps });
|
|
84
|
+
}
|
|
85
|
+
const {
|
|
86
|
+
type = "button",
|
|
87
|
+
href: _href,
|
|
88
|
+
target: _target,
|
|
89
|
+
rel: _rel,
|
|
90
|
+
renderLink: _renderLink,
|
|
91
|
+
...buttonProps
|
|
92
|
+
} = props;
|
|
93
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
94
|
+
"button",
|
|
95
|
+
{
|
|
96
|
+
ref,
|
|
97
|
+
type,
|
|
98
|
+
className: classes,
|
|
99
|
+
...buttonProps,
|
|
100
|
+
children: content
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
};
|
|
104
|
+
exports.ButtonCard = ButtonCard;
|
|
105
|
+
//# sourceMappingURL=ButtonCard.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonCard.cjs","sources":["../../../src/components/ButtonCard/ButtonCard.tsx"],"sourcesContent":["import type { ComponentPropsWithRef, ReactNode, Ref } from 'react';\nimport { ChevronRight, Open } from '@dnanpm/icons';\nimport { cn } from '../../utils/cn';\nimport focusStyles from '../../styles/utils/focus.module.css';\nimport elevationStyles from '../../styles/utils/elevation.module.css';\nimport styles from './ButtonCard.module.css';\nimport type { ButtonCardLinkProps, ButtonCardProps } from './ButtonCard.types';\n\nexport const ButtonCard = ({\n title,\n subtitle,\n size = 'medium',\n icon,\n image,\n isExternal = false,\n externalLinkAriaLabel = 'avautuu uuteen välilehteen',\n className,\n ref,\n ...props\n}: ButtonCardProps) => {\n const isAnchor = 'href' in props && (props as { href?: string }).href != null;\n\n const classes = cn(\n styles['button-card'],\n styles[`button-card--${size}`],\n focusStyles.focusable,\n elevationStyles.elevationLow,\n className,\n );\n\n const IconComponent = icon;\n\n const media =\n IconComponent != null ? (\n <span\n className={cn(styles['button-card__media'], styles['button-card__media--icon'])}\n aria-hidden=\"true\"\n >\n <IconComponent aria-hidden=\"true\" />\n </span>\n ) : image ? (\n <span className={cn(styles['button-card__media'], styles['button-card__media--image'])}>\n {image}\n </span>\n ) : null;\n\n const explicitTarget = isAnchor\n ? (props as { target?: string }).target?.toLowerCase()\n : undefined;\n // The link opens a new tab when isExternal is set or the target is _blank.\n const opensInNewTab = isExternal || explicitTarget === '_blank';\n const Indicator = opensInNewTab ? Open : ChevronRight;\n\n const content = (\n <>\n {media}\n <span className={styles['button-card__content']}>\n <span className={styles['button-card__text']}>\n <span className={styles['button-card__title']}>{title}</span>\n {subtitle != null && (\n <span className={styles['button-card__subtitle']}>{subtitle}</span>\n )}\n </span>\n <span className={styles['button-card__indicator']} aria-hidden=\"true\">\n <Indicator aria-hidden=\"true\" />\n </span>\n </span>\n {opensInNewTab && externalLinkAriaLabel && (\n <span className={styles['button-card__sr-only']}>\n {` (${externalLinkAriaLabel})`}\n </span>\n )}\n </>\n );\n\n if (isAnchor) {\n const {\n href,\n renderLink,\n target: targetProp,\n rel,\n disabled: _disabled,\n ...safeAnchorProps\n } = props as unknown as ComponentPropsWithRef<'a'> & {\n href: string;\n renderLink?: (props: ButtonCardLinkProps) => ReactNode;\n disabled?: boolean;\n };\n\n // isExternal is authoritative and forces a new tab; an explicit _blank is preserved.\n const target = isExternal ? '_blank' : targetProp;\n const shouldHardenRel = target?.toLowerCase() === '_blank';\n const relTokens = new Set(\n (rel ?? '')\n .split(/\\s+/)\n .filter(Boolean)\n .map((token) => token.toLowerCase()),\n );\n\n if (shouldHardenRel) {\n relTokens.add('noopener');\n relTokens.add('noreferrer');\n }\n\n const hardenedRel = relTokens.size > 0 ? Array.from(relTokens).join(' ') : undefined;\n\n const linkProps = {\n ...safeAnchorProps,\n ref: ref as Ref<HTMLAnchorElement>,\n href,\n target,\n rel: hardenedRel,\n className: classes,\n children: content,\n };\n\n if (renderLink) {\n return <>{renderLink(linkProps)}</>;\n }\n\n return <a {...linkProps} />;\n }\n\n const {\n type = 'button',\n href: _href,\n target: _target,\n rel: _rel,\n renderLink: _renderLink,\n ...buttonProps\n } = props as unknown as ComponentPropsWithRef<'button'> & {\n href?: string;\n target?: string;\n rel?: string;\n renderLink?: unknown;\n };\n\n return (\n <button\n ref={ref as Ref<HTMLButtonElement>}\n type={type}\n className={classes}\n {...buttonProps}\n >\n {content}\n </button>\n );\n};\n"],"names":["cn","styles","focusStyles","elevationStyles","jsx","Open","ChevronRight","jsxs","Fragment"],"mappings":";;;;;;;;AAQO,MAAM,aAAa,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,wBAAwB;AAAA,EACxB;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAuB;AACnB,QAAM,WAAW,UAAU,SAAU,MAA4B,QAAQ;AAEzE,QAAM,UAAUA,GAAAA;AAAAA,IACZC,kBAAO,aAAa;AAAA,IACpBA,kBAAO,gBAAgB,IAAI,EAAE;AAAA,IAC7BC,aAAAA,QAAY;AAAA,IACZC,iBAAAA,QAAgB;AAAA,IAChB;AAAA,EAAA;AAGJ,QAAM,gBAAgB;AAEtB,QAAM,QACF,iBAAiB,OACbC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWJ,GAAAA,GAAGC,kBAAO,oBAAoB,GAAGA,kBAAO,0BAA0B,CAAC;AAAA,MAC9E,eAAY;AAAA,MAEZ,UAAAG,2BAAAA,IAAC,eAAA,EAAc,eAAY,OAAA,CAAO;AAAA,IAAA;AAAA,EAAA,IAEtC,QACAA,2BAAAA,IAAC,QAAA,EAAK,WAAWJ,GAAAA,GAAGC,kBAAO,oBAAoB,GAAGA,kBAAO,2BAA2B,CAAC,GAChF,iBACL,IACA;AAER,QAAM,iBAAiB,WAChB,MAA8B,QAAQ,gBACvC;AAEN,QAAM,gBAAgB,cAAc,mBAAmB;AACvD,QAAM,YAAY,gBAAgBI,MAAAA,OAAOC,MAAAA;AAEzC,QAAM,UACFC,2BAAAA,KAAAC,WAAAA,UAAA,EACK,UAAA;AAAA,IAAA;AAAA,IACDD,2BAAAA,KAAC,QAAA,EAAK,WAAWN,kBAAO,sBAAsB,GAC1C,UAAA;AAAA,MAAAM,2BAAAA,KAAC,QAAA,EAAK,WAAWN,kBAAO,mBAAmB,GACvC,UAAA;AAAA,QAAAG,+BAAC,QAAA,EAAK,WAAWH,kBAAO,oBAAoB,GAAI,UAAA,OAAM;AAAA,QACrD,YAAY,QACTG,2BAAAA,IAAC,QAAA,EAAK,WAAWH,kBAAO,uBAAuB,GAAI,UAAA,SAAA,CAAS;AAAA,MAAA,GAEpE;AAAA,MACAG,2BAAAA,IAAC,QAAA,EAAK,WAAWH,kBAAO,wBAAwB,GAAG,eAAY,QAC3D,UAAAG,2BAAAA,IAAC,WAAA,EAAU,eAAY,OAAA,CAAO,EAAA,CAClC;AAAA,IAAA,GACJ;AAAA,IACC,iBAAiB,yBACdA,2BAAAA,IAAC,QAAA,EAAK,WAAWH,kBAAO,sBAAsB,GACzC,UAAA,KAAK,qBAAqB,IAAA,CAC/B;AAAA,EAAA,GAER;AAGJ,MAAI,UAAU;AACV,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,MACA,UAAU;AAAA,MACV,GAAG;AAAA,IAAA,IACH;AAOJ,UAAM,SAAS,aAAa,WAAW;AACvC,UAAM,kBAAkB,QAAQ,YAAA,MAAkB;AAClD,UAAM,YAAY,IAAI;AAAA,OACjB,OAAO,IACH,MAAM,KAAK,EACX,OAAO,OAAO,EACd,IAAI,CAAC,UAAU,MAAM,aAAa;AAAA,IAAA;AAG3C,QAAI,iBAAiB;AACjB,gBAAU,IAAI,UAAU;AACxB,gBAAU,IAAI,YAAY;AAAA,IAC9B;AAEA,UAAM,cAAc,UAAU,OAAO,IAAI,MAAM,KAAK,SAAS,EAAE,KAAK,GAAG,IAAI;AAE3E,UAAM,YAAY;AAAA,MACd,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK;AAAA,MACL,WAAW;AAAA,MACX,UAAU;AAAA,IAAA;AAGd,QAAI,YAAY;AACZ,aAAOG,2BAAAA,IAAAI,WAAAA,UAAA,EAAG,UAAA,WAAW,SAAS,GAAE;AAAA,IACpC;AAEA,WAAOJ,+BAAC,KAAA,EAAG,GAAG,UAAA,CAAW;AAAA,EAC7B;AAEA,QAAM;AAAA,IACF,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,YAAY;AAAA,IACZ,GAAG;AAAA,EAAA,IACH;AAOJ,SACIA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACV,GAAG;AAAA,MAEH,UAAA;AAAA,IAAA;AAAA,EAAA;AAGb;;"}
|