@dnanpm/ui-components 0.2.0 → 0.3.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 +1 -1
- package/dist/components/AccordionItem/AccordionItem.css +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.css +1 -1
- package/dist/components/Button/Button.css +36 -30
- package/dist/components/Button/Button.module.css.cjs +11 -11
- package/dist/components/Button/Button.module.css.js +11 -11
- package/dist/components/Label/Label.css +1 -1
- package/dist/components/Notification/Notification.css +1 -1
- package/dist/components/Pictograph/Pictograph.cjs +33 -0
- package/dist/components/Pictograph/Pictograph.cjs.map +1 -0
- package/dist/components/Pictograph/Pictograph.css +190 -0
- package/dist/components/Pictograph/Pictograph.d.ts +3 -0
- package/dist/components/Pictograph/Pictograph.d.ts.map +1 -0
- package/dist/components/Pictograph/Pictograph.js +33 -0
- package/dist/components/Pictograph/Pictograph.js.map +1 -0
- package/dist/components/Pictograph/Pictograph.module.css.cjs +22 -0
- package/dist/components/Pictograph/Pictograph.module.css.cjs.map +1 -0
- package/dist/components/Pictograph/Pictograph.module.css.js +22 -0
- package/dist/components/Pictograph/Pictograph.module.css.js.map +1 -0
- package/dist/components/Pictograph/Pictograph.types.d.ts +46 -0
- package/dist/components/Pictograph/Pictograph.types.d.ts.map +1 -0
- package/dist/components/Pictograph/PictographItem.cjs +19 -0
- package/dist/components/Pictograph/PictographItem.cjs.map +1 -0
- package/dist/components/Pictograph/PictographItem.css +63 -0
- package/dist/components/Pictograph/PictographItem.d.ts +3 -0
- package/dist/components/Pictograph/PictographItem.d.ts.map +1 -0
- package/dist/components/Pictograph/PictographItem.js +19 -0
- package/dist/components/Pictograph/PictographItem.js.map +1 -0
- package/dist/components/Pictograph/PictographItem.module.css.cjs +9 -0
- package/dist/components/Pictograph/PictographItem.module.css.cjs.map +1 -0
- package/dist/components/Pictograph/PictographItem.module.css.js +10 -0
- package/dist/components/Pictograph/PictographItem.module.css.js.map +1 -0
- package/dist/components/Pictograph/index.d.ts +4 -0
- package/dist/components/Pictograph/index.d.ts.map +1 -0
- package/dist/components/Spinner/Spinner.css +1 -1
- package/dist/index.cjs +4 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/styles/utils/elevation.css +1 -1
- package/dist/styles/utils/focus.css +1 -1
- package/dist/styles/utils/text-decoration.css +1 -1
- package/dist/styles.css +32 -16
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@layer
|
|
1
|
+
@layer dds-components {._button_1nsz1_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_1nsz1_18 {
|
|
19
19
|
width: 100%;
|
|
20
20
|
min-width: 0;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
/* ─── Sizes ─── */
|
|
24
24
|
|
|
25
|
-
._button--
|
|
25
|
+
._button--normal_1nsz1_25 {
|
|
26
26
|
font: var(--typography-label-lg-bold);
|
|
27
27
|
height: 40px;
|
|
28
28
|
min-width: 128px;
|
|
29
29
|
padding: var(--spacing-ui-xs) var(--spacing-ui-lg);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
._button--
|
|
32
|
+
._button--small_1nsz1_32 {
|
|
33
33
|
font: var(--typography-label-md-bold);
|
|
34
34
|
height: 32px;
|
|
35
35
|
min-width: 100px;
|
|
@@ -38,85 +38,91 @@
|
|
|
38
38
|
|
|
39
39
|
/* ─── Primary variant ─── */
|
|
40
40
|
|
|
41
|
-
._button--
|
|
41
|
+
._button--primary_1nsz1_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_1nsz1_41:hover {
|
|
47
47
|
background-color: var(--color-semantic-interactive-primary-hover);
|
|
48
|
+
color: var(--color-semantic-foreground-inverse);
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
._button--
|
|
51
|
+
._button--primary_1nsz1_41:active {
|
|
51
52
|
background-color: var(--color-semantic-interactive-primary-active);
|
|
53
|
+
color: var(--color-semantic-foreground-inverse);
|
|
52
54
|
}
|
|
53
55
|
|
|
54
|
-
._button--
|
|
56
|
+
._button--primary_1nsz1_41:focus-visible {
|
|
55
57
|
background-color: var(--color-semantic-interactive-primary-focus);
|
|
58
|
+
color: var(--color-semantic-foreground-inverse);
|
|
56
59
|
}
|
|
57
60
|
|
|
58
61
|
/* ─── Secondary variant ─── */
|
|
59
62
|
|
|
60
|
-
._button--
|
|
63
|
+
._button--secondary_1nsz1_63 {
|
|
61
64
|
background-color: transparent;
|
|
62
65
|
border: var(--borderwidth-semantic-sm) solid var(--color-semantic-interactive-secondary-default);
|
|
63
66
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
64
67
|
}
|
|
65
68
|
|
|
66
|
-
._button--
|
|
69
|
+
._button--secondary_1nsz1_63:hover {
|
|
67
70
|
background-color: var(--color-semantic-interactive-secondary-hover);
|
|
68
71
|
border-color: var(--color-semantic-interactive-secondary-hover);
|
|
69
72
|
color: var(--color-semantic-foreground-inverse);
|
|
70
73
|
}
|
|
71
74
|
|
|
72
|
-
._button--
|
|
75
|
+
._button--secondary_1nsz1_63:active {
|
|
73
76
|
background-color: var(--color-semantic-interactive-secondary-active);
|
|
74
77
|
border-color: var(--color-semantic-interactive-secondary-active);
|
|
75
78
|
color: var(--color-semantic-foreground-inverse);
|
|
76
79
|
}
|
|
77
80
|
|
|
78
|
-
._button--
|
|
81
|
+
._button--secondary_1nsz1_63:focus-visible {
|
|
79
82
|
background-color: var(--color-semantic-interactive-secondary-focus);
|
|
80
83
|
color: var(--color-semantic-foreground-inverse);
|
|
81
84
|
}
|
|
82
85
|
|
|
83
86
|
/* ─── Tertiary variant ─── */
|
|
84
87
|
|
|
85
|
-
._button--
|
|
88
|
+
._button--tertiary_1nsz1_88 {
|
|
86
89
|
background-color: var(--color-semantic-interactive-neutral-default);
|
|
87
90
|
border: var(--borderwidth-semantic-sm) solid var(--color-semantic-border-neutral-mid);
|
|
88
91
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
89
92
|
}
|
|
90
93
|
|
|
91
|
-
._button--
|
|
94
|
+
._button--tertiary_1nsz1_88:hover {
|
|
92
95
|
background-color: var(--color-semantic-interactive-neutral-hover);
|
|
96
|
+
color: var(--color-semantic-foreground-secondary-strong);
|
|
93
97
|
}
|
|
94
98
|
|
|
95
|
-
._button--
|
|
99
|
+
._button--tertiary_1nsz1_88:active {
|
|
96
100
|
background-color: var(--color-semantic-interactive-neutral-active);
|
|
101
|
+
color: var(--color-semantic-foreground-secondary-strong);
|
|
97
102
|
}
|
|
98
103
|
|
|
99
|
-
._button--
|
|
104
|
+
._button--tertiary_1nsz1_88:focus-visible {
|
|
100
105
|
background-color: var(--color-semantic-interactive-neutral-focus);
|
|
106
|
+
color: var(--color-semantic-foreground-secondary-strong);
|
|
101
107
|
}
|
|
102
108
|
|
|
103
109
|
/* ─── Disabled state ─── */
|
|
104
110
|
|
|
105
|
-
._button--
|
|
111
|
+
._button--disabled_1nsz1_111 {
|
|
106
112
|
pointer-events: none;
|
|
107
113
|
}
|
|
108
114
|
|
|
109
|
-
._button--
|
|
115
|
+
._button--primary_1nsz1_41._button--disabled_1nsz1_111 {
|
|
110
116
|
background-color: var(--color-semantic-interactive-primary-disabled);
|
|
111
117
|
color: var(--color-semantic-foreground-muted);
|
|
112
118
|
}
|
|
113
119
|
|
|
114
|
-
._button--
|
|
120
|
+
._button--secondary_1nsz1_63._button--disabled_1nsz1_111 {
|
|
115
121
|
border-color: var(--color-semantic-interactive-secondary-disabled);
|
|
116
122
|
color: var(--color-semantic-foreground-muted);
|
|
117
123
|
}
|
|
118
124
|
|
|
119
|
-
._button--
|
|
125
|
+
._button--tertiary_1nsz1_88._button--disabled_1nsz1_111 {
|
|
120
126
|
background-color: var(--color-semantic-interactive-neutral-disabled);
|
|
121
127
|
color: var(--color-semantic-foreground-muted);
|
|
122
128
|
}
|
|
@@ -125,38 +131,38 @@
|
|
|
125
131
|
/* Styles apply from [data-color-scheme="dark"] down to (but not into) [data-color-scheme="light"]. */
|
|
126
132
|
|
|
127
133
|
@scope ([data-color-scheme='dark']) to ([data-color-scheme='light']) {
|
|
128
|
-
._button--
|
|
134
|
+
._button--primary_1nsz1_41._button--disabled_1nsz1_111 {
|
|
129
135
|
color: var(--color-semantic-foreground-inverse-muted);
|
|
130
136
|
}
|
|
131
137
|
|
|
132
|
-
._button--
|
|
138
|
+
._button--secondary_1nsz1_63 {
|
|
133
139
|
border-color: var(--color-semantic-interactive-inverse-default);
|
|
134
140
|
color: var(--color-semantic-foreground-inverse);
|
|
135
141
|
}
|
|
136
142
|
|
|
137
|
-
._button--
|
|
143
|
+
._button--secondary_1nsz1_63:hover {
|
|
138
144
|
background-color: var(--color-semantic-interactive-inverse-hover);
|
|
139
145
|
border-color: var(--color-semantic-interactive-inverse-hover);
|
|
140
146
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
141
147
|
}
|
|
142
148
|
|
|
143
|
-
._button--
|
|
149
|
+
._button--secondary_1nsz1_63:active {
|
|
144
150
|
background-color: var(--color-semantic-interactive-inverse-active);
|
|
145
151
|
border-color: var(--color-semantic-interactive-inverse-active);
|
|
146
152
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
147
153
|
}
|
|
148
154
|
|
|
149
|
-
._button--
|
|
155
|
+
._button--secondary_1nsz1_63:focus-visible {
|
|
150
156
|
background-color: var(--color-semantic-interactive-inverse-focus);
|
|
151
157
|
color: var(--color-semantic-foreground-secondary-strong);
|
|
152
158
|
}
|
|
153
159
|
|
|
154
|
-
._button--
|
|
160
|
+
._button--secondary_1nsz1_63._button--disabled_1nsz1_111 {
|
|
155
161
|
border-color: var(--color-semantic-interactive-inverse-disabled);
|
|
156
162
|
color: var(--color-semantic-foreground-inverse-muted);
|
|
157
163
|
}
|
|
158
164
|
|
|
159
|
-
._button--
|
|
165
|
+
._button--tertiary_1nsz1_88._button--disabled_1nsz1_111 {
|
|
160
166
|
border-color: var(--color-semantic-interactive-neutral-disabled);
|
|
161
167
|
color: var(--color-semantic-foreground-inverse-muted);
|
|
162
168
|
}
|
|
@@ -164,11 +170,11 @@
|
|
|
164
170
|
|
|
165
171
|
/* ─── Loading state ─── */
|
|
166
172
|
|
|
167
|
-
._button--
|
|
173
|
+
._button--loading_1nsz1_173 {
|
|
168
174
|
pointer-events: none;
|
|
169
175
|
}
|
|
170
176
|
|
|
171
|
-
.
|
|
177
|
+
._button__content_1nsz1_177 {
|
|
172
178
|
flex: 0 1 auto;
|
|
173
179
|
min-width: 0;
|
|
174
180
|
overflow: hidden;
|
|
@@ -176,7 +182,7 @@
|
|
|
176
182
|
white-space: nowrap;
|
|
177
183
|
}
|
|
178
184
|
|
|
179
|
-
.
|
|
185
|
+
._button__spinner_1nsz1_185 {
|
|
180
186
|
flex: 0 0 auto;
|
|
181
187
|
}
|
|
182
188
|
}
|
|
@@ -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_1nsz1_1";
|
|
5
|
+
const button__content = "_button__content_1nsz1_177";
|
|
6
|
+
const button__spinner = "_button__spinner_1nsz1_185";
|
|
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_1nsz1_18",
|
|
10
|
+
"button--normal": "_button--normal_1nsz1_25",
|
|
11
|
+
"button--small": "_button--small_1nsz1_32",
|
|
12
|
+
"button--primary": "_button--primary_1nsz1_41",
|
|
13
|
+
"button--secondary": "_button--secondary_1nsz1_63",
|
|
14
|
+
"button--tertiary": "_button--tertiary_1nsz1_88",
|
|
15
|
+
"button--disabled": "_button--disabled_1nsz1_111",
|
|
16
|
+
"button--loading": "_button--loading_1nsz1_173",
|
|
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_1nsz1_1";
|
|
3
|
+
const button__content = "_button__content_1nsz1_177";
|
|
4
|
+
const button__spinner = "_button__spinner_1nsz1_185";
|
|
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_1nsz1_18",
|
|
8
|
+
"button--normal": "_button--normal_1nsz1_25",
|
|
9
|
+
"button--small": "_button--small_1nsz1_32",
|
|
10
|
+
"button--primary": "_button--primary_1nsz1_41",
|
|
11
|
+
"button--secondary": "_button--secondary_1nsz1_63",
|
|
12
|
+
"button--tertiary": "_button--tertiary_1nsz1_88",
|
|
13
|
+
"button--disabled": "_button--disabled_1nsz1_111",
|
|
14
|
+
"button--loading": "_button--loading_1nsz1_173",
|
|
15
15
|
button__content,
|
|
16
16
|
button__spinner
|
|
17
17
|
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const Pictograph_module = require("./Pictograph.module.css.cjs");
|
|
5
|
+
const cn = require("../../utils/cn/cn.cjs");
|
|
6
|
+
const Pictograph = ({
|
|
7
|
+
iconSize = "small",
|
|
8
|
+
alignment = "center",
|
|
9
|
+
mode = "horizontal",
|
|
10
|
+
columns = 3,
|
|
11
|
+
children,
|
|
12
|
+
className,
|
|
13
|
+
ref,
|
|
14
|
+
...props
|
|
15
|
+
}) => {
|
|
16
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
17
|
+
"div",
|
|
18
|
+
{
|
|
19
|
+
ref,
|
|
20
|
+
className: cn.cn(
|
|
21
|
+
Pictograph_module.default.pictograph,
|
|
22
|
+
Pictograph_module.default[`pictograph--${mode}`],
|
|
23
|
+
alignment === "center" && Pictograph_module.default["pictograph--centered"],
|
|
24
|
+
Pictograph_module.default[`pictograph--icon-${iconSize}`],
|
|
25
|
+
className
|
|
26
|
+
),
|
|
27
|
+
...props,
|
|
28
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn.cn(Pictograph_module.default.pictograph__list, Pictograph_module.default[`pictograph__list--${columns}`]), children })
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
};
|
|
32
|
+
exports.Pictograph = Pictograph;
|
|
33
|
+
//# sourceMappingURL=Pictograph.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pictograph.cjs","sources":["../../../src/components/Pictograph/Pictograph.tsx"],"sourcesContent":["import { cn } from '../../utils/cn';\nimport styles from './Pictograph.module.css';\nimport type { PictographProps } from './Pictograph.types';\n\nexport const Pictograph = ({\n iconSize = 'small',\n alignment = 'center',\n mode = 'horizontal',\n columns = 3,\n children,\n className,\n ref,\n ...props\n}: PictographProps) => {\n return (\n <div\n ref={ref}\n className={cn(\n styles.pictograph,\n styles[`pictograph--${mode}`],\n alignment === 'center' && styles['pictograph--centered'],\n styles[`pictograph--icon-${iconSize}`],\n className,\n )}\n {...props}\n >\n <ul className={cn(styles.pictograph__list, styles[`pictograph__list--${columns}`])}>\n {children}\n </ul>\n </div>\n );\n};\n"],"names":["jsx","cn","styles"],"mappings":";;;;;AAIO,MAAM,aAAa,CAAC;AAAA,EACvB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAuB;AACnB,SACIA,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA,WAAWC,GAAAA;AAAAA,QACPC,kBAAAA,QAAO;AAAA,QACPA,kBAAAA,QAAO,eAAe,IAAI,EAAE;AAAA,QAC5B,cAAc,YAAYA,kBAAAA,QAAO,sBAAsB;AAAA,QACvDA,kBAAAA,QAAO,oBAAoB,QAAQ,EAAE;AAAA,QACrC;AAAA,MAAA;AAAA,MAEH,GAAG;AAAA,MAEJ,UAAAF,2BAAAA,IAAC,MAAA,EAAG,WAAWC,GAAAA,GAAGC,kBAAAA,QAAO,kBAAkBA,kBAAAA,QAAO,qBAAqB,OAAO,EAAE,CAAC,GAC5E,SAAA,CACL;AAAA,IAAA;AAAA,EAAA;AAGZ;;"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
@layer dds-components {/**
|
|
2
|
+
* Pictograph Component Styles
|
|
3
|
+
*
|
|
4
|
+
* Grid-based layout for pictograph items with responsive columns,
|
|
5
|
+
* alignment variants, and dark color scheme support.
|
|
6
|
+
*
|
|
7
|
+
* Uses container queries for responsive behavior and CSS custom properties
|
|
8
|
+
* to communicate layout settings to child items.
|
|
9
|
+
*
|
|
10
|
+
* Container breakpoints (matching reference):
|
|
11
|
+
* 440px — large mobile
|
|
12
|
+
* 688px — tablet
|
|
13
|
+
* 944px — desktop
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
._pictograph_11vg9_16 {
|
|
17
|
+
--pictograph-icon-size: 40px;
|
|
18
|
+
--pictograph-direction: row;
|
|
19
|
+
--pictograph-align: flex-start;
|
|
20
|
+
--pictograph-text-align: left;
|
|
21
|
+
--pictograph-item-gap: 20px;
|
|
22
|
+
--pictograph-text-color: inherit;
|
|
23
|
+
--pictograph-icon-color: var(--color-semantic-foreground-primary-strong);
|
|
24
|
+
|
|
25
|
+
margin: 0;
|
|
26
|
+
container-name: pictograph;
|
|
27
|
+
container-type: inline-size;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* ─── Mode: vertical (icon above text) ─── */
|
|
31
|
+
|
|
32
|
+
._pictograph--vertical_11vg9_32 {
|
|
33
|
+
--pictograph-direction: column;
|
|
34
|
+
--pictograph-item-gap: 10px;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* ─── List layout ─── */
|
|
38
|
+
|
|
39
|
+
._pictograph__list_11vg9_39 {
|
|
40
|
+
display: grid;
|
|
41
|
+
gap: 30px;
|
|
42
|
+
list-style: none;
|
|
43
|
+
margin: 0;
|
|
44
|
+
padding: 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* ─── Column variants (container queries) ─── */
|
|
48
|
+
|
|
49
|
+
@container pictograph (min-width: 440px) {
|
|
50
|
+
._pictograph__list--5_11vg9_50 {
|
|
51
|
+
grid-template-columns: repeat(2, 1fr);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@container pictograph (min-width: 688px) {
|
|
56
|
+
._pictograph__list--2_11vg9_56,
|
|
57
|
+
._pictograph__list--3_11vg9_57,
|
|
58
|
+
._pictograph__list--4_11vg9_58 {
|
|
59
|
+
grid-template-columns: repeat(2, 1fr);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
._pictograph__list--5_11vg9_50 {
|
|
63
|
+
grid-template-columns: repeat(3, 1fr);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@container pictograph (min-width: 944px) {
|
|
68
|
+
._pictograph__list--3_11vg9_57 {
|
|
69
|
+
grid-template-columns: repeat(3, 1fr);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
._pictograph__list--4_11vg9_58 {
|
|
73
|
+
grid-template-columns: repeat(4, 1fr);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
._pictograph__list--5_11vg9_50 {
|
|
77
|
+
grid-template-columns: repeat(5, 1fr);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/* ─── Mode: horizontal (icon beside text) ─── */
|
|
82
|
+
|
|
83
|
+
._pictograph--horizontal_11vg9_83 {
|
|
84
|
+
--pictograph-direction: row;
|
|
85
|
+
--pictograph-item-gap: 20px;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
._pictograph--horizontal_11vg9_83 ._pictograph__list_11vg9_39 {
|
|
89
|
+
gap: 20px 30px;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Horizontal mode: column overrides */
|
|
93
|
+
._pictograph--horizontal_11vg9_83 ._pictograph__list--4_11vg9_58,
|
|
94
|
+
._pictograph--horizontal_11vg9_83 ._pictograph__list--5_11vg9_50 {
|
|
95
|
+
grid-template-columns: 1fr;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@container pictograph (min-width: 440px) {
|
|
99
|
+
._pictograph--horizontal_11vg9_83 ._pictograph__list--4_11vg9_58,
|
|
100
|
+
._pictograph--horizontal_11vg9_83 ._pictograph__list--5_11vg9_50 {
|
|
101
|
+
grid-template-columns: repeat(2, 1fr);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@container pictograph (min-width: 688px) {
|
|
106
|
+
._pictograph--horizontal_11vg9_83 ._pictograph__list--5_11vg9_50 {
|
|
107
|
+
grid-template-columns: repeat(3, 1fr);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
@container pictograph (min-width: 944px) {
|
|
112
|
+
._pictograph--horizontal_11vg9_83 ._pictograph__list--4_11vg9_58 {
|
|
113
|
+
grid-template-columns: repeat(4, 1fr);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
._pictograph--horizontal_11vg9_83 ._pictograph__list--5_11vg9_50 {
|
|
117
|
+
grid-template-columns: repeat(5, 1fr);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* ─── Alignment: centered ─── */
|
|
122
|
+
|
|
123
|
+
._pictograph--centered_11vg9_123 {
|
|
124
|
+
--pictograph-align: center;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
._pictograph--vertical_11vg9_32._pictograph--centered_11vg9_123 {
|
|
128
|
+
--pictograph-text-align: center;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* ─── Icon size: small ─── */
|
|
132
|
+
|
|
133
|
+
._pictograph--icon-small_11vg9_133 {
|
|
134
|
+
--pictograph-icon-size: 40px;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
@container pictograph (min-width: 688px) {
|
|
138
|
+
._pictograph--icon-small_11vg9_133 {
|
|
139
|
+
--pictograph-icon-size: 52px;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/* ─── Icon size: large ─── */
|
|
144
|
+
|
|
145
|
+
._pictograph--icon-large_11vg9_145 {
|
|
146
|
+
--pictograph-icon-size: 52px;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
@container pictograph (min-width: 688px) {
|
|
150
|
+
._pictograph--icon-large_11vg9_145 {
|
|
151
|
+
--pictograph-icon-size: 72px;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/* ─── Vertical + short text: items are compact, allow more columns earlier ─── */
|
|
156
|
+
/* Note: :has(li > div:last-child > p:only-child) depends on PictographItem DOM structure:
|
|
157
|
+
<li> → <span>(icon) + <div>(text). If PictographItem markup changes, update these selectors. */
|
|
158
|
+
|
|
159
|
+
@container pictograph (min-width: 440px) {
|
|
160
|
+
._pictograph--vertical_11vg9_32:has(li > div:last-child > p:only-child) ._pictograph__list--4_11vg9_58 {
|
|
161
|
+
grid-template-columns: repeat(2, 1fr);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/* ─── Horizontal + long text: stack items vertically at small sizes ─── */
|
|
166
|
+
|
|
167
|
+
@container pictograph (max-width: 439px) {
|
|
168
|
+
._pictograph--horizontal_11vg9_83:not(:has(li > div:last-child > p:only-child)) ._pictograph__list_11vg9_39 {
|
|
169
|
+
--pictograph-direction: column;
|
|
170
|
+
--pictograph-align: flex-start;
|
|
171
|
+
--pictograph-item-gap: 10px;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
@container pictograph (min-width: 688px) {
|
|
176
|
+
._pictograph--horizontal_11vg9_83:not(:has(li > div:last-child > p:only-child)) ._pictograph__list_11vg9_39 {
|
|
177
|
+
gap: 30px;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/* ─── Dark color scheme ─── */
|
|
182
|
+
/* Styles apply from [data-color-scheme="dark"] down to (but not into) [data-color-scheme="light"]. */
|
|
183
|
+
|
|
184
|
+
@scope ([data-color-scheme='dark']) to ([data-color-scheme='light']) {
|
|
185
|
+
._pictograph_11vg9_16 {
|
|
186
|
+
--pictograph-text-color: var(--color-semantic-foreground-inverse);
|
|
187
|
+
--pictograph-icon-color: var(--color-semantic-foreground-inverse);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pictograph.d.ts","sourceRoot":"","sources":["../../../src/components/Pictograph/Pictograph.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,UAAU,GAAI,4EASxB,eAAe,4CAkBjB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import styles from "./Pictograph.module.css.js";
|
|
3
|
+
import { cn } from "../../utils/cn/cn.js";
|
|
4
|
+
const Pictograph = ({
|
|
5
|
+
iconSize = "small",
|
|
6
|
+
alignment = "center",
|
|
7
|
+
mode = "horizontal",
|
|
8
|
+
columns = 3,
|
|
9
|
+
children,
|
|
10
|
+
className,
|
|
11
|
+
ref,
|
|
12
|
+
...props
|
|
13
|
+
}) => {
|
|
14
|
+
return /* @__PURE__ */ jsx(
|
|
15
|
+
"div",
|
|
16
|
+
{
|
|
17
|
+
ref,
|
|
18
|
+
className: cn(
|
|
19
|
+
styles.pictograph,
|
|
20
|
+
styles[`pictograph--${mode}`],
|
|
21
|
+
alignment === "center" && styles["pictograph--centered"],
|
|
22
|
+
styles[`pictograph--icon-${iconSize}`],
|
|
23
|
+
className
|
|
24
|
+
),
|
|
25
|
+
...props,
|
|
26
|
+
children: /* @__PURE__ */ jsx("ul", { className: cn(styles.pictograph__list, styles[`pictograph__list--${columns}`]), children })
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
export {
|
|
31
|
+
Pictograph
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=Pictograph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pictograph.js","sources":["../../../src/components/Pictograph/Pictograph.tsx"],"sourcesContent":["import { cn } from '../../utils/cn';\nimport styles from './Pictograph.module.css';\nimport type { PictographProps } from './Pictograph.types';\n\nexport const Pictograph = ({\n iconSize = 'small',\n alignment = 'center',\n mode = 'horizontal',\n columns = 3,\n children,\n className,\n ref,\n ...props\n}: PictographProps) => {\n return (\n <div\n ref={ref}\n className={cn(\n styles.pictograph,\n styles[`pictograph--${mode}`],\n alignment === 'center' && styles['pictograph--centered'],\n styles[`pictograph--icon-${iconSize}`],\n className,\n )}\n {...props}\n >\n <ul className={cn(styles.pictograph__list, styles[`pictograph__list--${columns}`])}>\n {children}\n </ul>\n </div>\n );\n};\n"],"names":[],"mappings":";;;AAIO,MAAM,aAAa,CAAC;AAAA,EACvB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAuB;AACnB,SACI;AAAA,IAAC;AAAA,IAAA;AAAA,MACG;AAAA,MACA,WAAW;AAAA,QACP,OAAO;AAAA,QACP,OAAO,eAAe,IAAI,EAAE;AAAA,QAC5B,cAAc,YAAY,OAAO,sBAAsB;AAAA,QACvD,OAAO,oBAAoB,QAAQ,EAAE;AAAA,QACrC;AAAA,MAAA;AAAA,MAEH,GAAG;AAAA,MAEJ,UAAA,oBAAC,MAAA,EAAG,WAAW,GAAG,OAAO,kBAAkB,OAAO,qBAAqB,OAAO,EAAE,CAAC,GAC5E,SAAA,CACL;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require('./Pictograph.css');
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
4
|
+
const pictograph = "_pictograph_11vg9_16";
|
|
5
|
+
const pictograph__list = "_pictograph__list_11vg9_39";
|
|
6
|
+
const styles = {
|
|
7
|
+
pictograph,
|
|
8
|
+
"pictograph--vertical": "_pictograph--vertical_11vg9_32",
|
|
9
|
+
pictograph__list,
|
|
10
|
+
"pictograph__list--5": "_pictograph__list--5_11vg9_50",
|
|
11
|
+
"pictograph__list--2": "_pictograph__list--2_11vg9_56",
|
|
12
|
+
"pictograph__list--3": "_pictograph__list--3_11vg9_57",
|
|
13
|
+
"pictograph__list--4": "_pictograph__list--4_11vg9_58",
|
|
14
|
+
"pictograph--horizontal": "_pictograph--horizontal_11vg9_83",
|
|
15
|
+
"pictograph--centered": "_pictograph--centered_11vg9_123",
|
|
16
|
+
"pictograph--icon-small": "_pictograph--icon-small_11vg9_133",
|
|
17
|
+
"pictograph--icon-large": "_pictograph--icon-large_11vg9_145"
|
|
18
|
+
};
|
|
19
|
+
exports.default = styles;
|
|
20
|
+
exports.pictograph = pictograph;
|
|
21
|
+
exports.pictograph__list = pictograph__list;
|
|
22
|
+
//# sourceMappingURL=Pictograph.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pictograph.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import './Pictograph.css';
|
|
2
|
+
const pictograph = "_pictograph_11vg9_16";
|
|
3
|
+
const pictograph__list = "_pictograph__list_11vg9_39";
|
|
4
|
+
const styles = {
|
|
5
|
+
pictograph,
|
|
6
|
+
"pictograph--vertical": "_pictograph--vertical_11vg9_32",
|
|
7
|
+
pictograph__list,
|
|
8
|
+
"pictograph__list--5": "_pictograph__list--5_11vg9_50",
|
|
9
|
+
"pictograph__list--2": "_pictograph__list--2_11vg9_56",
|
|
10
|
+
"pictograph__list--3": "_pictograph__list--3_11vg9_57",
|
|
11
|
+
"pictograph__list--4": "_pictograph__list--4_11vg9_58",
|
|
12
|
+
"pictograph--horizontal": "_pictograph--horizontal_11vg9_83",
|
|
13
|
+
"pictograph--centered": "_pictograph--centered_11vg9_123",
|
|
14
|
+
"pictograph--icon-small": "_pictograph--icon-small_11vg9_133",
|
|
15
|
+
"pictograph--icon-large": "_pictograph--icon-large_11vg9_145"
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
styles as default,
|
|
19
|
+
pictograph,
|
|
20
|
+
pictograph__list
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=Pictograph.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pictograph.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ComponentPropsWithRef, ReactNode } from 'react';
|
|
2
|
+
export interface PictographProps extends ComponentPropsWithRef<'div'> {
|
|
3
|
+
/**
|
|
4
|
+
* Size of the icon area in each item.
|
|
5
|
+
* - `small`: 40px (52px on tablet and above)
|
|
6
|
+
* - `large`: 52px (72px on tablet and above)
|
|
7
|
+
* @default 'small'
|
|
8
|
+
*/
|
|
9
|
+
readonly iconSize?: 'small' | 'large';
|
|
10
|
+
/**
|
|
11
|
+
* Alignment of icon and text within items.
|
|
12
|
+
* - In horizontal mode: controls vertical alignment between icon and text
|
|
13
|
+
* (`start` = tops aligned, `center` = vertically centered). Text is always left-aligned.
|
|
14
|
+
* - In vertical mode: controls horizontal alignment of icon and text
|
|
15
|
+
* (`start` = left-aligned, `center` = centered with centered text).
|
|
16
|
+
* @default 'center'
|
|
17
|
+
*/
|
|
18
|
+
readonly alignment?: 'start' | 'center';
|
|
19
|
+
/**
|
|
20
|
+
* Layout direction of icon relative to text within each item.
|
|
21
|
+
* - `horizontal`: icon and text side by side
|
|
22
|
+
* - `vertical`: icon above text
|
|
23
|
+
* @default 'horizontal'
|
|
24
|
+
*/
|
|
25
|
+
readonly mode?: 'horizontal' | 'vertical';
|
|
26
|
+
/**
|
|
27
|
+
* Number of columns in the grid layout (1–5) in desktop view. Columns are automatically adjusted based on available layout width.
|
|
28
|
+
* @default 3
|
|
29
|
+
*/
|
|
30
|
+
readonly columns?: 1 | 2 | 3 | 4 | 5;
|
|
31
|
+
/**
|
|
32
|
+
* PictographItem elements to render.
|
|
33
|
+
*/
|
|
34
|
+
readonly children: ReactNode;
|
|
35
|
+
}
|
|
36
|
+
export interface PictographItemProps extends ComponentPropsWithRef<'li'> {
|
|
37
|
+
/**
|
|
38
|
+
* SVG icon element. Rendered as decorative with aria-hidden="true".
|
|
39
|
+
*/
|
|
40
|
+
readonly icon: ReactNode;
|
|
41
|
+
/**
|
|
42
|
+
* Text content for the pictograph item.
|
|
43
|
+
*/
|
|
44
|
+
readonly children: ReactNode;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=Pictograph.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pictograph.types.d.ts","sourceRoot":"","sources":["../../../src/components/Pictograph/Pictograph.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,MAAM,WAAW,eAAgB,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACjE;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACtC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB,CAAC,IAAI,CAAC;IACpE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAChC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const PictographItem_module = require("./PictographItem.module.css.cjs");
|
|
5
|
+
const cn = require("../../utils/cn/cn.cjs");
|
|
6
|
+
const PictographItem = ({
|
|
7
|
+
icon,
|
|
8
|
+
children,
|
|
9
|
+
className,
|
|
10
|
+
ref,
|
|
11
|
+
...props
|
|
12
|
+
}) => {
|
|
13
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("li", { ref, className: cn.cn(PictographItem_module["pictograph-item"], className), ...props, children: [
|
|
14
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: PictographItem_module["pictograph-item__icon"], "aria-hidden": "true", children: icon }),
|
|
15
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: PictographItem_module["pictograph-item__text"], children })
|
|
16
|
+
] });
|
|
17
|
+
};
|
|
18
|
+
exports.PictographItem = PictographItem;
|
|
19
|
+
//# sourceMappingURL=PictographItem.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PictographItem.cjs","sources":["../../../src/components/Pictograph/PictographItem.tsx"],"sourcesContent":["import { cn } from '../../utils/cn';\nimport styles from './PictographItem.module.css';\nimport type { PictographItemProps } from './Pictograph.types';\n\nexport const PictographItem = ({\n icon,\n children,\n className,\n ref,\n ...props\n}: PictographItemProps) => {\n return (\n <li ref={ref} className={cn(styles['pictograph-item'], className)} {...props}>\n <span className={styles['pictograph-item__icon']} aria-hidden=\"true\">\n {icon}\n </span>\n <div className={styles['pictograph-item__text']}>{children}</div>\n </li>\n );\n};\n"],"names":["jsxs","cn","styles","jsx"],"mappings":";;;;;AAIO,MAAM,iBAAiB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAA2B;AACvB,SACIA,2BAAAA,KAAC,MAAA,EAAG,KAAU,WAAWC,GAAAA,GAAGC,sBAAO,iBAAiB,GAAG,SAAS,GAAI,GAAG,OACnE,UAAA;AAAA,IAAAC,2BAAAA,IAAC,UAAK,WAAWD,sBAAO,uBAAuB,GAAG,eAAY,QACzD,UAAA,MACL;AAAA,mCACC,OAAA,EAAI,WAAWA,sBAAO,uBAAuB,GAAI,SAAA,CAAS;AAAA,EAAA,GAC/D;AAER;;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
@layer dds-components {/**
|
|
2
|
+
* PictographItem Component Styles
|
|
3
|
+
*
|
|
4
|
+
* Individual pictograph item containing an icon and text area.
|
|
5
|
+
* Reads CSS custom properties from the parent Pictograph component
|
|
6
|
+
* for direction, alignment, icon sizing, and gap.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
._pictograph-item_1udd7_9 {
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: var(--pictograph-direction);
|
|
12
|
+
align-items: var(--pictograph-align);
|
|
13
|
+
gap: var(--pictograph-item-gap);
|
|
14
|
+
margin: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
._pictograph-item__icon_1udd7_17 {
|
|
18
|
+
flex: 0 0 auto;
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
color: var(--pictograph-icon-color);
|
|
23
|
+
width: var(--pictograph-icon-size);
|
|
24
|
+
height: var(--pictograph-icon-size);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
._pictograph-item__icon_1udd7_17 svg {
|
|
28
|
+
fill: currentColor;
|
|
29
|
+
width: 100%;
|
|
30
|
+
height: 100%;
|
|
31
|
+
max-width: none;
|
|
32
|
+
max-height: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
._pictograph-item__text_1udd7_35 {
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-direction: column;
|
|
38
|
+
gap: 10px;
|
|
39
|
+
text-align: var(--pictograph-text-align);
|
|
40
|
+
text-wrap: balance;
|
|
41
|
+
color: var(--pictograph-text-color);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
._pictograph-item__text_1udd7_35 > *:not(dialog) {
|
|
45
|
+
margin-top: 0;
|
|
46
|
+
margin-bottom: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* Single paragraph gets larger font */
|
|
50
|
+
._pictograph-item__text_1udd7_35 > p:only-child {
|
|
51
|
+
font: var(--typography-body-lg);
|
|
52
|
+
margin-bottom: 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* Headings inside text area */
|
|
56
|
+
._pictograph-item__text_1udd7_35 h1,
|
|
57
|
+
._pictograph-item__text_1udd7_35 h2,
|
|
58
|
+
._pictograph-item__text_1udd7_35 h3,
|
|
59
|
+
._pictograph-item__text_1udd7_35 h4,
|
|
60
|
+
._pictograph-item__text_1udd7_35 h5 {
|
|
61
|
+
font: var(--typography-heading-xs);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PictographItem.d.ts","sourceRoot":"","sources":["../../../src/components/Pictograph/PictographItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,eAAO,MAAM,cAAc,GAAI,8CAM5B,mBAAmB,4CASrB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import styles from "./PictographItem.module.css.js";
|
|
3
|
+
import { cn } from "../../utils/cn/cn.js";
|
|
4
|
+
const PictographItem = ({
|
|
5
|
+
icon,
|
|
6
|
+
children,
|
|
7
|
+
className,
|
|
8
|
+
ref,
|
|
9
|
+
...props
|
|
10
|
+
}) => {
|
|
11
|
+
return /* @__PURE__ */ jsxs("li", { ref, className: cn(styles["pictograph-item"], className), ...props, children: [
|
|
12
|
+
/* @__PURE__ */ jsx("span", { className: styles["pictograph-item__icon"], "aria-hidden": "true", children: icon }),
|
|
13
|
+
/* @__PURE__ */ jsx("div", { className: styles["pictograph-item__text"], children })
|
|
14
|
+
] });
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
PictographItem
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=PictographItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PictographItem.js","sources":["../../../src/components/Pictograph/PictographItem.tsx"],"sourcesContent":["import { cn } from '../../utils/cn';\nimport styles from './PictographItem.module.css';\nimport type { PictographItemProps } from './Pictograph.types';\n\nexport const PictographItem = ({\n icon,\n children,\n className,\n ref,\n ...props\n}: PictographItemProps) => {\n return (\n <li ref={ref} className={cn(styles['pictograph-item'], className)} {...props}>\n <span className={styles['pictograph-item__icon']} aria-hidden=\"true\">\n {icon}\n </span>\n <div className={styles['pictograph-item__text']}>{children}</div>\n </li>\n );\n};\n"],"names":[],"mappings":";;;AAIO,MAAM,iBAAiB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAA2B;AACvB,SACI,qBAAC,MAAA,EAAG,KAAU,WAAW,GAAG,OAAO,iBAAiB,GAAG,SAAS,GAAI,GAAG,OACnE,UAAA;AAAA,IAAA,oBAAC,UAAK,WAAW,OAAO,uBAAuB,GAAG,eAAY,QACzD,UAAA,MACL;AAAA,wBACC,OAAA,EAAI,WAAW,OAAO,uBAAuB,GAAI,SAAA,CAAS;AAAA,EAAA,GAC/D;AAER;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require('./PictographItem.css');
|
|
2
|
+
"use strict";
|
|
3
|
+
const styles = {
|
|
4
|
+
"pictograph-item": "_pictograph-item_1udd7_9",
|
|
5
|
+
"pictograph-item__icon": "_pictograph-item__icon_1udd7_17",
|
|
6
|
+
"pictograph-item__text": "_pictograph-item__text_1udd7_35"
|
|
7
|
+
};
|
|
8
|
+
module.exports = styles;
|
|
9
|
+
//# sourceMappingURL=PictographItem.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PictographItem.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import './PictographItem.css';
|
|
2
|
+
const styles = {
|
|
3
|
+
"pictograph-item": "_pictograph-item_1udd7_9",
|
|
4
|
+
"pictograph-item__icon": "_pictograph-item__icon_1udd7_17",
|
|
5
|
+
"pictograph-item__text": "_pictograph-item__text_1udd7_35"
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
styles as default
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=PictographItem.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PictographItem.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Pictograph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -8,6 +8,8 @@ const Button = require("./components/Button/Button.cjs");
|
|
|
8
8
|
const ColorScheme = require("./components/ColorScheme/ColorScheme.cjs");
|
|
9
9
|
const Label = require("./components/Label/Label.cjs");
|
|
10
10
|
const Notification = require("./components/Notification/Notification.cjs");
|
|
11
|
+
const Pictograph = require("./components/Pictograph/Pictograph.cjs");
|
|
12
|
+
const PictographItem = require("./components/Pictograph/PictographItem.cjs");
|
|
11
13
|
const Spinner = require("./components/Spinner/Spinner.cjs");
|
|
12
14
|
const cn = require("./utils/cn/cn.cjs");
|
|
13
15
|
exports.Accordion = Accordion.Accordion;
|
|
@@ -17,6 +19,8 @@ exports.Button = Button.Button;
|
|
|
17
19
|
exports.ColorScheme = ColorScheme.ColorScheme;
|
|
18
20
|
exports.Label = Label.Label;
|
|
19
21
|
exports.Notification = Notification.Notification;
|
|
22
|
+
exports.Pictograph = Pictograph.Pictograph;
|
|
23
|
+
exports.PictographItem = PictographItem.PictographItem;
|
|
20
24
|
exports.Spinner = Spinner.Spinner;
|
|
21
25
|
exports.cn = cn.cn;
|
|
22
26
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { Button } from './components/Button';
|
|
|
5
5
|
export { ColorScheme } from './components/ColorScheme';
|
|
6
6
|
export { Notification } from './components/Notification';
|
|
7
7
|
export { Label } from './components/Label';
|
|
8
|
+
export { Pictograph, PictographItem } from './components/Pictograph';
|
|
8
9
|
export { Spinner } from './components/Spinner';
|
|
9
10
|
export type { AccordionProps } from './components/Accordion';
|
|
10
11
|
export type { AccordionItemProps } from './components/AccordionItem';
|
|
@@ -13,6 +14,7 @@ export type { ButtonProps, ButtonLinkProps, ButtonVariant, ButtonSize } from './
|
|
|
13
14
|
export type { ColorSchemeProps, ColorSchemeValue } from './components/ColorScheme';
|
|
14
15
|
export type { NotificationProps, NotificationVariant } from './components/Notification';
|
|
15
16
|
export type { LabelProps, LabelVariant } from './components/Label';
|
|
17
|
+
export type { PictographItemProps, PictographProps } from './components/Pictograph';
|
|
16
18
|
export type { SpinnerColor, SpinnerProps, SpinnerSize } from './components/Spinner';
|
|
17
19
|
export { cn } from './utils';
|
|
18
20
|
export type { CnDictionary, CnInput } from './utils';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACpG,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnG,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACxF,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACpG,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnG,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACxF,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACpF,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,8 @@ import { Button } from "./components/Button/Button.js";
|
|
|
6
6
|
import { ColorScheme } from "./components/ColorScheme/ColorScheme.js";
|
|
7
7
|
import { Label } from "./components/Label/Label.js";
|
|
8
8
|
import { Notification } from "./components/Notification/Notification.js";
|
|
9
|
+
import { Pictograph } from "./components/Pictograph/Pictograph.js";
|
|
10
|
+
import { PictographItem } from "./components/Pictograph/PictographItem.js";
|
|
9
11
|
import { Spinner } from "./components/Spinner/Spinner.js";
|
|
10
12
|
import { cn } from "./utils/cn/cn.js";
|
|
11
13
|
export {
|
|
@@ -16,6 +18,8 @@ export {
|
|
|
16
18
|
ColorScheme,
|
|
17
19
|
Label,
|
|
18
20
|
Notification,
|
|
21
|
+
Pictograph,
|
|
22
|
+
PictographItem,
|
|
19
23
|
Spinner,
|
|
20
24
|
cn
|
|
21
25
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
package/dist/styles.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@layer
|
|
1
|
+
@layer dds-base {
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Do not edit directly, this file was auto-generated.
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
--color-semantic-surface-secondary-strong: #551c3e;
|
|
34
34
|
--color-semantic-surface-secondary-mid: #69214c;
|
|
35
35
|
--color-semantic-surface-secondary-soft: #792a59;
|
|
36
|
+
--color-semantic-surface-base-inverse: #121212;
|
|
36
37
|
--color-semantic-border-neutral-mid: #d4d2ce;
|
|
37
38
|
--color-semantic-border-neutral-soft: #e7e5e3;
|
|
38
39
|
--color-semantic-border-neutral-base: #efeeed;
|
|
@@ -84,6 +85,11 @@
|
|
|
84
85
|
--color-semantic-interactive-inverse-focus: #ffffff;
|
|
85
86
|
--color-semantic-interactive-inverse-active: rgba(255, 255, 255, 0.9);
|
|
86
87
|
--color-semantic-interactive-inverse-disabled: rgba(255, 255, 255, 0.3);
|
|
88
|
+
--color-semantic-interactive-auxiliary-default: #ffdbad;
|
|
89
|
+
--color-semantic-interactive-auxiliary-hover: #ffb557;
|
|
90
|
+
--color-semantic-interactive-auxiliary-focus: #ffb557;
|
|
91
|
+
--color-semantic-interactive-auxiliary-active: #ffdbad;
|
|
92
|
+
--color-semantic-interactive-auxiliary-disabled: rgba(255, 219, 173, 0.3);
|
|
87
93
|
--spacing-ui-md: 16px;
|
|
88
94
|
--spacing-ui-lg: 20px;
|
|
89
95
|
--spacing-ui-sm: 12px;
|
|
@@ -113,13 +119,13 @@
|
|
|
113
119
|
--borderwidth-semantic-xl: 5px;
|
|
114
120
|
--borderwidth-semantic-xxl: 6px;
|
|
115
121
|
--borderwidth-semantic-sm: 2px;
|
|
116
|
-
--typography-font-size-heading-xxxl: 64px;
|
|
117
122
|
--typography-font-size-heading-xxl: 48px;
|
|
118
|
-
--typography-font-size-heading-xl:
|
|
119
|
-
--typography-font-size-heading-lg:
|
|
120
|
-
--typography-font-size-heading-md:
|
|
121
|
-
--typography-font-size-heading-sm:
|
|
122
|
-
--typography-font-size-heading-xs:
|
|
123
|
+
--typography-font-size-heading-xl: 40px;
|
|
124
|
+
--typography-font-size-heading-lg: 34px;
|
|
125
|
+
--typography-font-size-heading-md: 28px;
|
|
126
|
+
--typography-font-size-heading-sm: 24px;
|
|
127
|
+
--typography-font-size-heading-xs: 20px;
|
|
128
|
+
--typography-font-size-heading-xxs: 18px;
|
|
123
129
|
--typography-font-size-text-lg: 20px;
|
|
124
130
|
--typography-font-size-text-md: 16px;
|
|
125
131
|
--typography-font-size-text-sm: 14px;
|
|
@@ -141,7 +147,7 @@
|
|
|
141
147
|
}
|
|
142
148
|
}
|
|
143
149
|
|
|
144
|
-
@layer
|
|
150
|
+
@layer dds-base {
|
|
145
151
|
|
|
146
152
|
*,
|
|
147
153
|
*::before,
|
|
@@ -173,7 +179,7 @@ video {
|
|
|
173
179
|
}
|
|
174
180
|
}
|
|
175
181
|
|
|
176
|
-
@layer
|
|
182
|
+
@layer dds-base {
|
|
177
183
|
|
|
178
184
|
/* ==========================================================================
|
|
179
185
|
Typography shorthand variables
|
|
@@ -190,7 +196,8 @@ video {
|
|
|
190
196
|
========================================================================== */
|
|
191
197
|
|
|
192
198
|
:root {
|
|
193
|
-
/*
|
|
199
|
+
/* Font-family with fallbacks — Figma tokens only contain the primary font name,
|
|
200
|
+
so we override here to add the full fallback stack for CSS. */
|
|
194
201
|
--typography-font-family-heading: 'DNA Heading', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
195
202
|
--typography-font-family-text: 'DNA Text', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
196
203
|
|
|
@@ -218,12 +225,18 @@ video {
|
|
|
218
225
|
var(--typography-font-family-text);
|
|
219
226
|
|
|
220
227
|
/* Body */
|
|
221
|
-
--typography-body-lg: var(--typography-font-weight-
|
|
228
|
+
--typography-body-lg: var(--typography-font-weight-regular)
|
|
229
|
+
clamp(1.125rem, 1.083rem + 0.208cqw, 1.25rem)/var(--typography-line-height-lg)
|
|
230
|
+
var(--typography-font-family-text);
|
|
231
|
+
--typography-body-lg-medium: var(--typography-font-weight-medium)
|
|
222
232
|
clamp(1.125rem, 1.083rem + 0.208cqw, 1.25rem)/var(--typography-line-height-lg)
|
|
223
233
|
var(--typography-font-family-text);
|
|
224
234
|
--typography-body-md: var(--typography-font-weight-regular)
|
|
225
235
|
var(--typography-font-size-text-md)/var(--typography-line-height-lg)
|
|
226
236
|
var(--typography-font-family-text);
|
|
237
|
+
--typography-body-md-medium: var(--typography-font-weight-medium)
|
|
238
|
+
var(--typography-font-size-text-md)/var(--typography-line-height-lg)
|
|
239
|
+
var(--typography-font-family-text);
|
|
227
240
|
--typography-body-md-bold: var(--typography-font-weight-bold)
|
|
228
241
|
var(--typography-font-size-text-md)/var(--typography-line-height-lg)
|
|
229
242
|
var(--typography-font-family-text);
|
|
@@ -321,16 +334,19 @@ small {
|
|
|
321
334
|
/*
|
|
322
335
|
* Design decision (ADR-003): base links are color-driven, not underlined.
|
|
323
336
|
* Long-form content uses .dds-prose which adds underline + external link icon.
|
|
337
|
+
*
|
|
338
|
+
* :where() gives these base styles zero specificity so component classes
|
|
339
|
+
* (e.g. Button rendered as <a>) always win without needing !important.
|
|
324
340
|
*/
|
|
325
|
-
a {
|
|
341
|
+
:where(a) {
|
|
326
342
|
color: var(--color-semantic-foreground-link);
|
|
327
343
|
text-decoration: none;
|
|
328
344
|
cursor: pointer;
|
|
329
345
|
transition: color 0.2s ease-in-out;
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
346
|
+
}
|
|
347
|
+
:where(a:hover) {
|
|
348
|
+
color: var(--color-semantic-foreground-link-hover);
|
|
349
|
+
text-decoration: none;
|
|
334
350
|
}
|
|
335
351
|
|
|
336
352
|
ul {
|