@ndla/primitives 1.0.18-alpha.0 → 1.0.20-alpha.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/panda.buildinfo.json +25 -13
- package/dist/styles.css +89 -38
- package/es/Accordion.js +1 -1
- package/es/Button.js +26 -16
- package/es/FileUpload.js +1 -1
- package/es/ToggleGroup.js +77 -0
- package/es/index.js +1 -0
- package/lib/Accordion.d.ts +1 -1
- package/lib/Accordion.js +1 -1
- package/lib/Button.d.ts +23 -12
- package/lib/Button.js +26 -16
- package/lib/FileUpload.js +1 -1
- package/lib/ToggleGroup.d.ts +47 -0
- package/lib/ToggleGroup.js +83 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +13 -0
- package/package.json +4 -4
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"borderBottomRadius]___[value:sharp]___[cond:_open",
|
|
34
34
|
"outline]___[value:none]___[cond:_focusVisible",
|
|
35
35
|
"boxShadowColor]___[value:stroke.default]___[cond:_focusVisible",
|
|
36
|
-
"boxShadow]___[value:inset 0 0 0
|
|
36
|
+
"boxShadow]___[value:inset 0 0 0 3px var(--shadow-color)]___[cond:_focusVisible",
|
|
37
37
|
"color]___[value:icon.strong",
|
|
38
38
|
"transformOrigin]___[value:center",
|
|
39
39
|
"transitionDuration]___[value:normal",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"background]___[value:surface.brand.2.subtle",
|
|
101
101
|
"display]___[value:inline-flex",
|
|
102
102
|
"justifyContent]___[value:center",
|
|
103
|
-
"gap]___[value:
|
|
103
|
+
"gap]___[value:xxsmall",
|
|
104
104
|
"textDecoration]___[value:none",
|
|
105
105
|
"fontWeight]___[value:bold",
|
|
106
106
|
"transitionProperty]___[value:all",
|
|
@@ -113,19 +113,19 @@
|
|
|
113
113
|
"color]___[value:text.onAction]___[cond:_disabled<___>& svg",
|
|
114
114
|
"color]___[value:text.onAction]___[cond:_disabled<___>_hover",
|
|
115
115
|
"background]___[value:surface.disabled]___[cond:_disabled<___>_hover",
|
|
116
|
-
"boxShadow]___[value:inset 0 0 0 3px var(--shadow-color)]___[cond:_focusVisible",
|
|
116
|
+
"boxShadow]___[value:inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color)]___[cond:_focusVisible",
|
|
117
117
|
"color]___[value:text.onAction",
|
|
118
118
|
"background]___[value:surface.action",
|
|
119
119
|
"color]___[value:text.onAction]___[cond:_hover",
|
|
120
120
|
"background]___[value:surface.action.hover]___[cond:_hover",
|
|
121
121
|
"color]___[value:text.onAction]___[cond:_active",
|
|
122
122
|
"background]___[value:surface.action.active]___[cond:_active",
|
|
123
|
-
"boxShadow]___[value:inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
123
|
+
"boxShadow]___[value:inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor]___[cond:_focusVisible",
|
|
124
124
|
"color]___[value:text.strong",
|
|
125
125
|
"background]___[value:surface.actionSubtle.hover.strong]___[cond:_active",
|
|
126
126
|
"background]___[value:transparent",
|
|
127
127
|
"boxShadow]___[value:inset 0 0 0 1px var(--shadow-color)]___[cond:_hover",
|
|
128
|
-
"boxShadow]___[value:inset 0 0 0 3px var(--shadow-color)]___[cond:_hover<___>_focusVisible",
|
|
128
|
+
"boxShadow]___[value:inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color)]___[cond:_hover<___>_focusVisible",
|
|
129
129
|
"borderColor]___[value:stroke.default]___[cond:_active",
|
|
130
130
|
"color]___[value:stroke.hover]___[cond:_hover",
|
|
131
131
|
"color]___[value:surface.actionSubtle.hover.strong]___[cond:_hover",
|
|
@@ -138,30 +138,39 @@
|
|
|
138
138
|
"background]___[value:surface.success.active]___[cond:_active",
|
|
139
139
|
"boxShadowColor]___[value:surface.success]___[cond:_focusVisible",
|
|
140
140
|
"color]___[value:text.link",
|
|
141
|
+
"fontWeight]___[value:normal",
|
|
141
142
|
"textDecoration]___[value:underline",
|
|
142
|
-
"
|
|
143
|
+
"transitionProperty]___[value:unset",
|
|
144
|
+
"transitionTimingFunction]___[value:unset",
|
|
145
|
+
"transitionDuration]___[value:unset",
|
|
143
146
|
"textDecoration]___[value:none]___[cond:_hover",
|
|
144
|
-
"
|
|
147
|
+
"boxShadow]___[value:none]___[cond:_focusVisible",
|
|
148
|
+
"outline]___[value:3px]___[cond:_focusVisible",
|
|
149
|
+
"borderRadius]___[value:xsmall]___[cond:_focusVisible",
|
|
150
|
+
"outlineColor]___[value:stroke.default]___[cond:_focusVisible",
|
|
151
|
+
"outlineOffset]___[value:3px]___[cond:_focusVisible",
|
|
152
|
+
"outlineStyle]___[value:solid]___[cond:_focusVisible",
|
|
145
153
|
"paddingBlock]___[value:xxsmall",
|
|
146
154
|
"minHeight]___[value:24",
|
|
147
155
|
"textStyle]___[value:label.small",
|
|
148
|
-
"minHeight]___[value:
|
|
149
|
-
"paddingBlock]___[value:
|
|
156
|
+
"minHeight]___[value:large",
|
|
157
|
+
"paddingBlock]___[value:4xsmall",
|
|
150
158
|
"lineHeight]___[value:1",
|
|
151
159
|
"minHeight]___[value:unset",
|
|
160
|
+
"--shadow-width]___[value:3px",
|
|
152
161
|
"height]___[value:xxlarge",
|
|
153
162
|
"width]___[value:xxlarge",
|
|
154
163
|
"marginInline]___[value:0]___[cond:& svg",
|
|
155
164
|
"marginBlock]___[value:0]___[cond:& svg",
|
|
156
165
|
"width]___[value:medium]___[cond:& svg",
|
|
157
166
|
"height]___[value:medium]___[cond:& svg",
|
|
167
|
+
"--shadow-width]___[value:2px",
|
|
158
168
|
"height]___[value:large",
|
|
159
169
|
"width]___[value:large",
|
|
160
170
|
"width]___[value:small]___[cond:& svg",
|
|
161
171
|
"height]___[value:small]___[cond:& svg",
|
|
162
172
|
"paddingInline]___[value:xxsmall",
|
|
163
173
|
"userSelect]___[value:none",
|
|
164
|
-
"gap]___[value:xxsmall",
|
|
165
174
|
"color]___[value:text.action]___[cond:_hover",
|
|
166
175
|
"outline]___[value:2px solid]___[cond:_focus",
|
|
167
176
|
"outlineOffset]___[value:4xsmall]___[cond:_focus",
|
|
@@ -170,9 +179,7 @@
|
|
|
170
179
|
"gap]___[value:4xsmall",
|
|
171
180
|
"background]___[value:surface.actionSubtle",
|
|
172
181
|
"outlineColor]___[value:stroke.subtle",
|
|
173
|
-
"paddingBlock]___[value:4xsmall",
|
|
174
182
|
"borderRadius]___[value:large",
|
|
175
|
-
"minHeight]___[value:large",
|
|
176
183
|
"transitionProperty]___[value:border-color, background, box-shadow, color",
|
|
177
184
|
"borderColor]___[value:stroke.disabled]___[cond:_disabled",
|
|
178
185
|
"borderColor]___[value:stroke.disabled]___[cond:_disabled<___>_hover",
|
|
@@ -307,6 +314,7 @@
|
|
|
307
314
|
"animation]___[value:drawer-out-bottom]___[cond:_closed",
|
|
308
315
|
"--size]___[value:sizes.surface.3xsmall",
|
|
309
316
|
"paddingBlockStart]___[value:medium",
|
|
317
|
+
"gap]___[value:xsmall",
|
|
310
318
|
"paddingBlockStart]___[value:small",
|
|
311
319
|
"paddingBlockEnd]___[value:medium",
|
|
312
320
|
"padding]___[value:medium",
|
|
@@ -538,6 +546,7 @@
|
|
|
538
546
|
"marginBlockEnd]___[value:-1px]___[cond:_horizontal",
|
|
539
547
|
"marginInlineEnd]___[value:-1px]___[cond:_vertical",
|
|
540
548
|
"transitionProperty]___[value:color, background, border-color",
|
|
549
|
+
"paddingBlock]___[value:3xsmall",
|
|
541
550
|
"color]___[value:text.strong]___[cond:_selected",
|
|
542
551
|
"color]___[value:text.subtle]___[cond:_disabled<___>_hover",
|
|
543
552
|
"borderColor]___[value:stroke.default]___[cond:_hover<___>_focusVisible",
|
|
@@ -557,7 +566,6 @@
|
|
|
557
566
|
"borderBottomColor]___[value:transparent]___[cond:_selected<___>_horizontal",
|
|
558
567
|
"borderRightColor]___[value:transparent]___[cond:_selected<___>_vertical",
|
|
559
568
|
"outlineOffset]___[value:-3px]___[cond:_focusVisible",
|
|
560
|
-
"outlineColor]___[value:stroke.default]___[cond:_focusVisible",
|
|
561
569
|
"paddingBlockStart]___[value:xsmall]___[cond:_horizontal",
|
|
562
570
|
"paddingInlineStart]___[value:xsmall]___[cond:_vertical",
|
|
563
571
|
"boxShadow]___[value:0 0 0 3px var(--shadow-color)]___[cond:_focusVisible",
|
|
@@ -616,6 +624,10 @@
|
|
|
616
624
|
"paddingInlineEnd]___[value:xxlarge",
|
|
617
625
|
"top]___[value:xxsmall",
|
|
618
626
|
"right]___[value:xxsmall",
|
|
627
|
+
"flexDirection]___[value:row",
|
|
628
|
+
"background]___[value:surface.action.selected]___[cond:_on",
|
|
629
|
+
"background]___[value:surface.actionSubtle.active]___[cond:_on",
|
|
630
|
+
"boxShadow]___[value:inset 0 0 0 1px var(--shadow-color)]___[cond:_on",
|
|
619
631
|
"--arrow-size]___[value:spacing.xxsmall",
|
|
620
632
|
"--arrow-background]___[value:colors.surface.action",
|
|
621
633
|
"height]___[value:200px",
|
package/dist/styles.css
CHANGED
|
@@ -202,8 +202,8 @@
|
|
|
202
202
|
display: inline-flex;
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
-
.
|
|
206
|
-
gap: var(--spacing-
|
|
205
|
+
.gap_xxsmall {
|
|
206
|
+
gap: var(--spacing-xxsmall);
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
.td_none {
|
|
@@ -255,10 +255,6 @@
|
|
|
255
255
|
text-decoration: underline;
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
-
.td-t_1px {
|
|
259
|
-
text-decoration-thickness: 1px;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
258
|
.py_xxsmall {
|
|
263
259
|
padding-block: var(--spacing-xxsmall);
|
|
264
260
|
}
|
|
@@ -267,18 +263,22 @@
|
|
|
267
263
|
min-height: var(--sizes-24);
|
|
268
264
|
}
|
|
269
265
|
|
|
270
|
-
.min-
|
|
271
|
-
min-height: var(--sizes-
|
|
266
|
+
.min-h_large {
|
|
267
|
+
min-height: var(--sizes-large);
|
|
272
268
|
}
|
|
273
269
|
|
|
274
|
-
.
|
|
275
|
-
padding-block: var(--spacing-
|
|
270
|
+
.py_4xsmall {
|
|
271
|
+
padding-block: var(--spacing-4xsmall);
|
|
276
272
|
}
|
|
277
273
|
|
|
278
274
|
.min-h_unset {
|
|
279
275
|
min-height: unset;
|
|
280
276
|
}
|
|
281
277
|
|
|
278
|
+
.\--shadow-width_3px {
|
|
279
|
+
--shadow-width: 3px;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
282
|
.h_xxlarge {
|
|
283
283
|
height: var(--sizes-xxlarge);
|
|
284
284
|
}
|
|
@@ -287,6 +287,10 @@
|
|
|
287
287
|
width: var(--sizes-xxlarge);
|
|
288
288
|
}
|
|
289
289
|
|
|
290
|
+
.\--shadow-width_2px {
|
|
291
|
+
--shadow-width: 2px;
|
|
292
|
+
}
|
|
293
|
+
|
|
290
294
|
.h_large {
|
|
291
295
|
height: var(--sizes-large);
|
|
292
296
|
}
|
|
@@ -304,10 +308,6 @@
|
|
|
304
308
|
user-select: none;
|
|
305
309
|
}
|
|
306
310
|
|
|
307
|
-
.gap_xxsmall {
|
|
308
|
-
gap: var(--spacing-xxsmall);
|
|
309
|
-
}
|
|
310
|
-
|
|
311
311
|
.gap_4xsmall {
|
|
312
312
|
gap: var(--spacing-4xsmall);
|
|
313
313
|
}
|
|
@@ -316,18 +316,10 @@
|
|
|
316
316
|
background: var(--colors-surface-action-subtle);
|
|
317
317
|
}
|
|
318
318
|
|
|
319
|
-
.py_4xsmall {
|
|
320
|
-
padding-block: var(--spacing-4xsmall);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
319
|
.bdr_large {
|
|
324
320
|
border-radius: var(--radii-large);
|
|
325
321
|
}
|
|
326
322
|
|
|
327
|
-
.min-h_large {
|
|
328
|
-
min-height: var(--sizes-large);
|
|
329
|
-
}
|
|
330
|
-
|
|
331
323
|
.w_medium {
|
|
332
324
|
width: var(--sizes-medium);
|
|
333
325
|
}
|
|
@@ -508,6 +500,10 @@
|
|
|
508
500
|
padding-block-start: var(--spacing-medium);
|
|
509
501
|
}
|
|
510
502
|
|
|
503
|
+
.gap_xsmall {
|
|
504
|
+
gap: var(--spacing-xsmall);
|
|
505
|
+
}
|
|
506
|
+
|
|
511
507
|
.pbs_small {
|
|
512
508
|
padding-block-start: var(--spacing-small);
|
|
513
509
|
}
|
|
@@ -821,6 +817,10 @@
|
|
|
821
817
|
table-layout: fixed;
|
|
822
818
|
}
|
|
823
819
|
|
|
820
|
+
.py_3xsmall {
|
|
821
|
+
padding-block: var(--spacing-3xsmall);
|
|
822
|
+
}
|
|
823
|
+
|
|
824
824
|
.ring_3px_solid {
|
|
825
825
|
outline: 3px solid;
|
|
826
826
|
}
|
|
@@ -1120,6 +1120,25 @@
|
|
|
1120
1120
|
transition-property: all;
|
|
1121
1121
|
}
|
|
1122
1122
|
|
|
1123
|
+
.fw_normal {
|
|
1124
|
+
font-weight: var(--font-weights-normal);
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1127
|
+
.trs-prop_unset {
|
|
1128
|
+
--transition-prop: unset;
|
|
1129
|
+
transition-property: unset;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
.trs-tmf_unset {
|
|
1133
|
+
--transition-easing: unset;
|
|
1134
|
+
transition-timing-function: unset;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
.trs-dur_unset {
|
|
1138
|
+
--transition-duration: unset;
|
|
1139
|
+
transition-duration: unset;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1123
1142
|
.lh_1 {
|
|
1124
1143
|
line-height: 1;
|
|
1125
1144
|
}
|
|
@@ -1345,6 +1364,10 @@
|
|
|
1345
1364
|
right: var(--spacing-xxsmall);
|
|
1346
1365
|
}
|
|
1347
1366
|
|
|
1367
|
+
.flex-d_row {
|
|
1368
|
+
flex-direction: row;
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1348
1371
|
.trs-dur_default {
|
|
1349
1372
|
--transition-duration: default;
|
|
1350
1373
|
transition-duration: default;
|
|
@@ -1791,6 +1814,18 @@
|
|
|
1791
1814
|
display: inline-block;
|
|
1792
1815
|
}
|
|
1793
1816
|
|
|
1817
|
+
.on\:bg_surface\.action\.selected:is([data-state="on"]) {
|
|
1818
|
+
background: var(--colors-surface-action-selected);
|
|
1819
|
+
}
|
|
1820
|
+
|
|
1821
|
+
.on\:bg_surface\.actionSubtle\.active:is([data-state="on"]) {
|
|
1822
|
+
background: var(--colors-surface-action-subtle-active);
|
|
1823
|
+
}
|
|
1824
|
+
|
|
1825
|
+
.on\:bx-sh_inset_0_0_0_1px_var\(--shadow-color\):is([data-state="on"]) {
|
|
1826
|
+
box-shadow: inset 0 0 0 1px var(--shadow-color);
|
|
1827
|
+
}
|
|
1828
|
+
|
|
1794
1829
|
.\[\&\]\:w_100\% {
|
|
1795
1830
|
width: 100%;
|
|
1796
1831
|
}
|
|
@@ -2024,16 +2059,16 @@
|
|
|
2024
2059
|
--shadow-color: var(--colors-stroke-default);
|
|
2025
2060
|
}
|
|
2026
2061
|
|
|
2027
|
-
.focusVisible\:bx-sh_inset_0_0_0_2px_var\(--shadow-color\):is(:focus-visible, [data-focus-visible]) {
|
|
2028
|
-
box-shadow: inset 0 0 0 2px var(--shadow-color);
|
|
2029
|
-
}
|
|
2030
|
-
|
|
2031
2062
|
.focusVisible\:bx-sh_inset_0_0_0_3px_var\(--shadow-color\):is(:focus-visible, [data-focus-visible]) {
|
|
2032
2063
|
box-shadow: inset 0 0 0 3px var(--shadow-color);
|
|
2033
2064
|
}
|
|
2034
2065
|
|
|
2035
|
-
.focusVisible\:bx-
|
|
2036
|
-
box-shadow: inset 0 0 0 3px var(--shadow-color)
|
|
2066
|
+
.focusVisible\:bx-sh_inset_0_0_0_var\(--shadow-width\,_3px\)_var\(--shadow-color\):is(:focus-visible, [data-focus-visible]) {
|
|
2067
|
+
box-shadow: inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color);
|
|
2068
|
+
}
|
|
2069
|
+
|
|
2070
|
+
.focusVisible\:bx-sh_inset_0_0_0_var\(--shadow-width\,_3px\)_var\(--shadow-color\)\,_inset_0px_0px_0px_calc\(var\(--shadow-width\,_3px\)_\*_2\)_currentcolor:is(:focus-visible, [data-focus-visible]) {
|
|
2071
|
+
box-shadow: inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor;
|
|
2037
2072
|
}
|
|
2038
2073
|
|
|
2039
2074
|
.focusVisible\:bx-sh-c_surface\.danger:is(:focus-visible, [data-focus-visible]) {
|
|
@@ -2044,6 +2079,22 @@
|
|
|
2044
2079
|
--shadow-color: var(--colors-surface-success);
|
|
2045
2080
|
}
|
|
2046
2081
|
|
|
2082
|
+
.focusVisible\:bx-sh_none:is(:focus-visible, [data-focus-visible]) {
|
|
2083
|
+
box-shadow: none;
|
|
2084
|
+
}
|
|
2085
|
+
|
|
2086
|
+
.focusVisible\:ring_3px:is(:focus-visible, [data-focus-visible]) {
|
|
2087
|
+
outline: 3px;
|
|
2088
|
+
}
|
|
2089
|
+
|
|
2090
|
+
.focusVisible\:bdr_xsmall:is(:focus-visible, [data-focus-visible]) {
|
|
2091
|
+
border-radius: var(--radii-xsmall);
|
|
2092
|
+
}
|
|
2093
|
+
|
|
2094
|
+
.focusVisible\:ring-o_3px:is(:focus-visible, [data-focus-visible]) {
|
|
2095
|
+
outline-offset: 3px;
|
|
2096
|
+
}
|
|
2097
|
+
|
|
2047
2098
|
.focus\:ring_2px_solid:is(:focus, [data-focus]) {
|
|
2048
2099
|
outline: 2px solid;
|
|
2049
2100
|
}
|
|
@@ -2113,6 +2164,14 @@
|
|
|
2113
2164
|
width: var(--width);
|
|
2114
2165
|
}
|
|
2115
2166
|
|
|
2167
|
+
.focusVisible\:ring-c_stroke\.default:is(:focus-visible, [data-focus-visible]) {
|
|
2168
|
+
outline-color: var(--colors-stroke-default);
|
|
2169
|
+
}
|
|
2170
|
+
|
|
2171
|
+
.focusVisible\:outline-style_solid:is(:focus-visible, [data-focus-visible]) {
|
|
2172
|
+
outline-style: solid;
|
|
2173
|
+
}
|
|
2174
|
+
|
|
2116
2175
|
.focus\:ring-c_stroke\.default:is(:focus, [data-focus]) {
|
|
2117
2176
|
outline-color: var(--colors-stroke-default);
|
|
2118
2177
|
}
|
|
@@ -2137,10 +2196,6 @@
|
|
|
2137
2196
|
outline-color: var(--colors-surface-action);
|
|
2138
2197
|
}
|
|
2139
2198
|
|
|
2140
|
-
.focusVisible\:ring-c_stroke\.default:is(:focus-visible, [data-focus-visible]) {
|
|
2141
|
-
outline-color: var(--colors-stroke-default);
|
|
2142
|
-
}
|
|
2143
|
-
|
|
2144
2199
|
.hover\:bg_surface\.actionSubtle\.hover:is(:hover, [data-hover]) {
|
|
2145
2200
|
background: var(--colors-surface-action-subtle-hover);
|
|
2146
2201
|
}
|
|
@@ -2273,10 +2328,6 @@
|
|
|
2273
2328
|
background: var(--colors-surface-success-active);
|
|
2274
2329
|
}
|
|
2275
2330
|
|
|
2276
|
-
.active\:bg_surface\.hover:is(:active, [data-active]) {
|
|
2277
|
-
background: var(--colors-surface-hover);
|
|
2278
|
-
}
|
|
2279
|
-
|
|
2280
2331
|
.active\:bg_surface\.active:is(:active, [data-active]) {
|
|
2281
2332
|
background: var(--colors-surface-active);
|
|
2282
2333
|
}
|
|
@@ -2567,8 +2618,8 @@
|
|
|
2567
2618
|
outline-color: var(--colors-stroke-default);
|
|
2568
2619
|
}
|
|
2569
2620
|
|
|
2570
|
-
.hover\:focusVisible\:bx-
|
|
2571
|
-
box-shadow: inset 0 0 0 3px var(--shadow-color);
|
|
2621
|
+
.hover\:focusVisible\:bx-sh_inset_0_0_0_var\(--shadow-width\,_3px\)_var\(--shadow-color\):is(:hover, [data-hover]):is(:focus-visible, [data-focus-visible]) {
|
|
2622
|
+
box-shadow: inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color);
|
|
2572
2623
|
}
|
|
2573
2624
|
|
|
2574
2625
|
.hover\:\[\&_svg\]\:c_icon\.default:is(:hover, [data-hover]) svg {
|
package/es/Accordion.js
CHANGED
package/es/Button.js
CHANGED
|
@@ -20,10 +20,9 @@ export const buttonBaseRecipe = cva({
|
|
|
20
20
|
display: "inline-flex",
|
|
21
21
|
alignItems: "center",
|
|
22
22
|
justifyContent: "center",
|
|
23
|
-
gap: "
|
|
23
|
+
gap: "xxsmall",
|
|
24
24
|
cursor: "pointer",
|
|
25
25
|
textDecoration: "none",
|
|
26
|
-
textStyle: "label.medium",
|
|
27
26
|
fontWeight: "bold",
|
|
28
27
|
transitionProperty: "all",
|
|
29
28
|
transitionDuration: "fast",
|
|
@@ -46,7 +45,7 @@ export const buttonBaseRecipe = cva({
|
|
|
46
45
|
}
|
|
47
46
|
},
|
|
48
47
|
_focusVisible: {
|
|
49
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color)"
|
|
48
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color)"
|
|
50
49
|
},
|
|
51
50
|
_motionReduce: {
|
|
52
51
|
transition: "none",
|
|
@@ -70,7 +69,7 @@ export const buttonBaseRecipe = cva({
|
|
|
70
69
|
background: "surface.action.active"
|
|
71
70
|
},
|
|
72
71
|
_focusVisible: {
|
|
73
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
72
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor"
|
|
74
73
|
}
|
|
75
74
|
},
|
|
76
75
|
secondary: {
|
|
@@ -91,7 +90,7 @@ export const buttonBaseRecipe = cva({
|
|
|
91
90
|
boxShadow: "inset 0 0 0 1px var(--shadow-color)",
|
|
92
91
|
background: "surface.actionSubtle.hover",
|
|
93
92
|
_focusVisible: {
|
|
94
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color)"
|
|
93
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color)"
|
|
95
94
|
}
|
|
96
95
|
},
|
|
97
96
|
_active: {
|
|
@@ -124,7 +123,7 @@ export const buttonBaseRecipe = cva({
|
|
|
124
123
|
},
|
|
125
124
|
_focusVisible: {
|
|
126
125
|
boxShadowColor: "surface.danger",
|
|
127
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
126
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor"
|
|
128
127
|
}
|
|
129
128
|
},
|
|
130
129
|
success: {
|
|
@@ -138,19 +137,27 @@ export const buttonBaseRecipe = cva({
|
|
|
138
137
|
},
|
|
139
138
|
_focusVisible: {
|
|
140
139
|
boxShadowColor: "surface.success",
|
|
141
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
140
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor"
|
|
142
141
|
}
|
|
143
142
|
},
|
|
144
143
|
link: {
|
|
145
144
|
background: "transparent",
|
|
146
145
|
color: "text.link",
|
|
146
|
+
fontWeight: "normal",
|
|
147
147
|
textDecoration: "underline",
|
|
148
|
-
|
|
148
|
+
transitionProperty: "unset",
|
|
149
|
+
transitionTimingFunction: "unset",
|
|
150
|
+
transitionDuration: "unset",
|
|
149
151
|
_hover: {
|
|
150
152
|
textDecoration: "none"
|
|
151
153
|
},
|
|
152
|
-
|
|
153
|
-
|
|
154
|
+
_focusVisible: {
|
|
155
|
+
boxShadow: "none",
|
|
156
|
+
outline: "3px",
|
|
157
|
+
borderRadius: "xsmall",
|
|
158
|
+
outlineColor: "stroke.default",
|
|
159
|
+
outlineOffset: "3px",
|
|
160
|
+
outlineStyle: "solid"
|
|
154
161
|
}
|
|
155
162
|
}
|
|
156
163
|
}
|
|
@@ -163,15 +170,16 @@ export const buttonRecipe = cva({
|
|
|
163
170
|
variants: {
|
|
164
171
|
size: {
|
|
165
172
|
medium: {
|
|
166
|
-
|
|
173
|
+
textStyle: "label.medium",
|
|
174
|
+
paddingInline: "medium",
|
|
167
175
|
paddingBlock: "xxsmall",
|
|
168
176
|
minHeight: "24"
|
|
169
177
|
},
|
|
170
178
|
small: {
|
|
171
179
|
textStyle: "label.small",
|
|
172
|
-
minHeight: "
|
|
173
|
-
paddingInline: "
|
|
174
|
-
paddingBlock: "
|
|
180
|
+
minHeight: "large",
|
|
181
|
+
paddingInline: "xsmall",
|
|
182
|
+
paddingBlock: "4xsmall"
|
|
175
183
|
}
|
|
176
184
|
}
|
|
177
185
|
}
|
|
@@ -187,6 +195,7 @@ export const iconButtonRecipe = cva({
|
|
|
187
195
|
variants: {
|
|
188
196
|
size: {
|
|
189
197
|
medium: {
|
|
198
|
+
"--shadow-width": "3px",
|
|
190
199
|
height: "xxlarge",
|
|
191
200
|
width: "xxlarge",
|
|
192
201
|
"& svg": {
|
|
@@ -199,6 +208,7 @@ export const iconButtonRecipe = cva({
|
|
|
199
208
|
paddingBlock: "xsmall"
|
|
200
209
|
},
|
|
201
210
|
small: {
|
|
211
|
+
"--shadow-width": "2px",
|
|
202
212
|
height: "large",
|
|
203
213
|
width: "large",
|
|
204
214
|
"& svg": {
|
|
@@ -257,9 +267,9 @@ export const Button = /*#__PURE__*/forwardRef((_ref2, ref) => {
|
|
|
257
267
|
}),
|
|
258
268
|
css: css.raw(buttonBaseRecipe.raw({
|
|
259
269
|
variant
|
|
260
|
-
}), buttonRecipe.raw({
|
|
270
|
+
}), variant !== "link" ? buttonRecipe.raw({
|
|
261
271
|
size
|
|
262
|
-
}), cssProp),
|
|
272
|
+
}) : undefined, cssProp),
|
|
263
273
|
ref: ref
|
|
264
274
|
});
|
|
265
275
|
});
|
package/es/FileUpload.js
CHANGED
|
@@ -164,11 +164,11 @@ export const FileUploadLabel = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
|
164
164
|
...props
|
|
165
165
|
} = _ref3;
|
|
166
166
|
return /*#__PURE__*/_jsx(InternalFileUploadLabel, {
|
|
167
|
+
ref: ref,
|
|
167
168
|
asChild: true,
|
|
168
169
|
children: /*#__PURE__*/_jsx(Label, {
|
|
169
170
|
textStyle: textStyle,
|
|
170
171
|
fontWeight: fontWeight,
|
|
171
|
-
ref: ref,
|
|
172
172
|
...props,
|
|
173
173
|
children: children
|
|
174
174
|
})
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2024-present, NDLA.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the GPLv3 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { forwardRef } from "react";
|
|
10
|
+
import { toggleGroupAnatomy, ToggleGroup } from "@ark-ui/react";
|
|
11
|
+
import { css, cva, sva } from "@ndla/styled-system/css";
|
|
12
|
+
import { IconButton } from "./Button";
|
|
13
|
+
import { createStyleContext } from "./createStyleContext";
|
|
14
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
const toggleGroupRecipe = sva({
|
|
16
|
+
slots: toggleGroupAnatomy.keys(),
|
|
17
|
+
base: {
|
|
18
|
+
root: {
|
|
19
|
+
display: "flex",
|
|
20
|
+
flexDirection: "row",
|
|
21
|
+
gap: "4xsmall"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const toggleGroupItemRecipe = cva({
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
variant: "primary"
|
|
28
|
+
},
|
|
29
|
+
variants: {
|
|
30
|
+
variant: {
|
|
31
|
+
primary: {
|
|
32
|
+
_on: {
|
|
33
|
+
background: "surface.action.selected"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
secondary: {
|
|
37
|
+
_on: {
|
|
38
|
+
background: "surface.actionSubtle.active"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
tertiary: {
|
|
42
|
+
_on: {
|
|
43
|
+
background: "surface.actionSubtle.active",
|
|
44
|
+
boxShadow: "inset 0 0 0 1px var(--shadow-color)"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
const {
|
|
51
|
+
withProvider,
|
|
52
|
+
withContext
|
|
53
|
+
} = createStyleContext(toggleGroupRecipe);
|
|
54
|
+
export const ToggleGroupRoot = withProvider(ToggleGroup.Root, "root", {
|
|
55
|
+
baseComponent: true
|
|
56
|
+
});
|
|
57
|
+
const InternalToggleGroupItem = withContext(ToggleGroup.Item, "item");
|
|
58
|
+
export const ToggleGroupItem = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
59
|
+
let {
|
|
60
|
+
children,
|
|
61
|
+
variant,
|
|
62
|
+
css: cssProp,
|
|
63
|
+
...props
|
|
64
|
+
} = _ref;
|
|
65
|
+
return /*#__PURE__*/_jsx(InternalToggleGroupItem, {
|
|
66
|
+
...props,
|
|
67
|
+
css: css.raw(toggleGroupItemRecipe.raw({
|
|
68
|
+
variant
|
|
69
|
+
}), cssProp),
|
|
70
|
+
ref: ref,
|
|
71
|
+
asChild: true,
|
|
72
|
+
children: /*#__PURE__*/_jsx(IconButton, {
|
|
73
|
+
variant: variant,
|
|
74
|
+
children: children
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
});
|
package/es/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export { Badge } from "./Badge";
|
|
|
12
12
|
export { BlockQuote } from "./BlockQuote";
|
|
13
13
|
export { Button, IconButton, buttonBaseRecipe, buttonRecipe, iconButtonRecipe } from "./Button";
|
|
14
14
|
export { CardRoot, CardHeading, CardContent, CardImage } from "./Card/Card";
|
|
15
|
+
export { ToggleGroupRoot, ToggleGroupItem } from "./ToggleGroup";
|
|
15
16
|
export { CheckboxRoot, CheckboxIndicator, CheckboxLabel, CheckboxControl, CheckboxGroup, CheckboxHiddenInput } from "./Checkbox";
|
|
16
17
|
export { ComboboxRoot, ComboboxClearTrigger, ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItemGroupLabel, ComboboxItemGroup, ComboboxItemIndicator, ComboboxItem, ComboboxItemText, ComboboxLabel, ComboboxPositioner, ComboboxTrigger, ComboboxList } from "./Combobox";
|
|
17
18
|
export { DialogRoot, DialogBackdrop, DialogStandaloneContent, DialogPositioner, DialogContent, DialogDescription, DialogTitle, DialogTrigger, DialogCloseTrigger, DialogHeader, DialogBody } from "./Dialog";
|
package/lib/Accordion.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ declare const accordionRecipe: import("@ndla/styled-system/types").SlotRecipeRun
|
|
|
30
30
|
_focusVisible: {
|
|
31
31
|
outline: "none";
|
|
32
32
|
boxShadowColor: "stroke.default";
|
|
33
|
-
boxShadow: "inset 0 0 0
|
|
33
|
+
boxShadow: "inset 0 0 0 3px var(--shadow-color)";
|
|
34
34
|
};
|
|
35
35
|
};
|
|
36
36
|
itemContent: {
|
package/lib/Accordion.js
CHANGED
|
@@ -112,7 +112,7 @@ const accordionRecipe = (0, _css.sva)({
|
|
|
112
112
|
_focusVisible: {
|
|
113
113
|
outline: "none",
|
|
114
114
|
boxShadowColor: "stroke.default",
|
|
115
|
-
boxShadow: "inset 0 0 0
|
|
115
|
+
boxShadow: "inset 0 0 0 3px var(--shadow-color)"
|
|
116
116
|
}
|
|
117
117
|
},
|
|
118
118
|
itemContent: {
|
package/lib/Button.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export declare const buttonBaseRecipe: import("@ndla/styled-system/types").Recip
|
|
|
23
23
|
background: "surface.action.active";
|
|
24
24
|
};
|
|
25
25
|
_focusVisible: {
|
|
26
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
26
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor";
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
secondary: {
|
|
@@ -44,7 +44,7 @@ export declare const buttonBaseRecipe: import("@ndla/styled-system/types").Recip
|
|
|
44
44
|
boxShadow: "inset 0 0 0 1px var(--shadow-color)";
|
|
45
45
|
background: "surface.actionSubtle.hover";
|
|
46
46
|
_focusVisible: {
|
|
47
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color)";
|
|
47
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color)";
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
_active: {
|
|
@@ -77,7 +77,7 @@ export declare const buttonBaseRecipe: import("@ndla/styled-system/types").Recip
|
|
|
77
77
|
};
|
|
78
78
|
_focusVisible: {
|
|
79
79
|
boxShadowColor: "surface.danger";
|
|
80
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
80
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor";
|
|
81
81
|
};
|
|
82
82
|
};
|
|
83
83
|
success: {
|
|
@@ -91,19 +91,27 @@ export declare const buttonBaseRecipe: import("@ndla/styled-system/types").Recip
|
|
|
91
91
|
};
|
|
92
92
|
_focusVisible: {
|
|
93
93
|
boxShadowColor: "surface.success";
|
|
94
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
94
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor";
|
|
95
95
|
};
|
|
96
96
|
};
|
|
97
97
|
link: {
|
|
98
98
|
background: "transparent";
|
|
99
99
|
color: "text.link";
|
|
100
|
+
fontWeight: "normal";
|
|
100
101
|
textDecoration: "underline";
|
|
101
|
-
|
|
102
|
+
transitionProperty: "unset";
|
|
103
|
+
transitionTimingFunction: "unset";
|
|
104
|
+
transitionDuration: "unset";
|
|
102
105
|
_hover: {
|
|
103
106
|
textDecoration: "none";
|
|
104
107
|
};
|
|
105
|
-
|
|
106
|
-
|
|
108
|
+
_focusVisible: {
|
|
109
|
+
boxShadow: "none";
|
|
110
|
+
outline: "3px";
|
|
111
|
+
borderRadius: "xsmall";
|
|
112
|
+
outlineColor: "stroke.default";
|
|
113
|
+
outlineOffset: "3px";
|
|
114
|
+
outlineStyle: "solid";
|
|
107
115
|
};
|
|
108
116
|
};
|
|
109
117
|
};
|
|
@@ -111,21 +119,23 @@ export declare const buttonBaseRecipe: import("@ndla/styled-system/types").Recip
|
|
|
111
119
|
export declare const buttonRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<{
|
|
112
120
|
size: {
|
|
113
121
|
medium: {
|
|
114
|
-
|
|
122
|
+
textStyle: "label.medium";
|
|
123
|
+
paddingInline: "medium";
|
|
115
124
|
paddingBlock: "xxsmall";
|
|
116
125
|
minHeight: "24";
|
|
117
126
|
};
|
|
118
127
|
small: {
|
|
119
128
|
textStyle: "label.small";
|
|
120
|
-
minHeight: "
|
|
121
|
-
paddingInline: "
|
|
122
|
-
paddingBlock: "
|
|
129
|
+
minHeight: "large";
|
|
130
|
+
paddingInline: "xsmall";
|
|
131
|
+
paddingBlock: "4xsmall";
|
|
123
132
|
};
|
|
124
133
|
};
|
|
125
134
|
}>;
|
|
126
135
|
export declare const iconButtonRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<{
|
|
127
136
|
size: {
|
|
128
137
|
medium: {
|
|
138
|
+
"--shadow-width": "3px";
|
|
129
139
|
height: "xxlarge";
|
|
130
140
|
width: "xxlarge";
|
|
131
141
|
"& svg": {
|
|
@@ -138,6 +148,7 @@ export declare const iconButtonRecipe: import("@ndla/styled-system/types").Recip
|
|
|
138
148
|
paddingBlock: "xsmall";
|
|
139
149
|
};
|
|
140
150
|
small: {
|
|
151
|
+
"--shadow-width": "2px";
|
|
141
152
|
height: "large";
|
|
142
153
|
width: "large";
|
|
143
154
|
"& svg": {
|
|
@@ -156,7 +167,7 @@ type ButtonVariant = Exclude<Variant, "clear" | "clearSubtle">;
|
|
|
156
167
|
export type ButtonVariantProps = {
|
|
157
168
|
variant?: ButtonVariant;
|
|
158
169
|
} & RecipeVariantProps<typeof buttonRecipe>;
|
|
159
|
-
interface BaseButtonProps extends HTMLArkProps<"button">, JsxStyleProps {
|
|
170
|
+
export interface BaseButtonProps extends HTMLArkProps<"button">, JsxStyleProps {
|
|
160
171
|
loading?: boolean;
|
|
161
172
|
loadingContent?: ReactNode;
|
|
162
173
|
replaceContent?: boolean;
|
package/lib/Button.js
CHANGED
|
@@ -25,10 +25,9 @@ const buttonBaseRecipe = exports.buttonBaseRecipe = (0, _css.cva)({
|
|
|
25
25
|
display: "inline-flex",
|
|
26
26
|
alignItems: "center",
|
|
27
27
|
justifyContent: "center",
|
|
28
|
-
gap: "
|
|
28
|
+
gap: "xxsmall",
|
|
29
29
|
cursor: "pointer",
|
|
30
30
|
textDecoration: "none",
|
|
31
|
-
textStyle: "label.medium",
|
|
32
31
|
fontWeight: "bold",
|
|
33
32
|
transitionProperty: "all",
|
|
34
33
|
transitionDuration: "fast",
|
|
@@ -51,7 +50,7 @@ const buttonBaseRecipe = exports.buttonBaseRecipe = (0, _css.cva)({
|
|
|
51
50
|
}
|
|
52
51
|
},
|
|
53
52
|
_focusVisible: {
|
|
54
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color)"
|
|
53
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color)"
|
|
55
54
|
},
|
|
56
55
|
_motionReduce: {
|
|
57
56
|
transition: "none",
|
|
@@ -75,7 +74,7 @@ const buttonBaseRecipe = exports.buttonBaseRecipe = (0, _css.cva)({
|
|
|
75
74
|
background: "surface.action.active"
|
|
76
75
|
},
|
|
77
76
|
_focusVisible: {
|
|
78
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
77
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor"
|
|
79
78
|
}
|
|
80
79
|
},
|
|
81
80
|
secondary: {
|
|
@@ -96,7 +95,7 @@ const buttonBaseRecipe = exports.buttonBaseRecipe = (0, _css.cva)({
|
|
|
96
95
|
boxShadow: "inset 0 0 0 1px var(--shadow-color)",
|
|
97
96
|
background: "surface.actionSubtle.hover",
|
|
98
97
|
_focusVisible: {
|
|
99
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color)"
|
|
98
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color)"
|
|
100
99
|
}
|
|
101
100
|
},
|
|
102
101
|
_active: {
|
|
@@ -129,7 +128,7 @@ const buttonBaseRecipe = exports.buttonBaseRecipe = (0, _css.cva)({
|
|
|
129
128
|
},
|
|
130
129
|
_focusVisible: {
|
|
131
130
|
boxShadowColor: "surface.danger",
|
|
132
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
131
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor"
|
|
133
132
|
}
|
|
134
133
|
},
|
|
135
134
|
success: {
|
|
@@ -143,19 +142,27 @@ const buttonBaseRecipe = exports.buttonBaseRecipe = (0, _css.cva)({
|
|
|
143
142
|
},
|
|
144
143
|
_focusVisible: {
|
|
145
144
|
boxShadowColor: "surface.success",
|
|
146
|
-
boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px
|
|
145
|
+
boxShadow: "inset 0 0 0 var(--shadow-width, 3px) var(--shadow-color), inset 0px 0px 0px calc(var(--shadow-width, 3px) * 2) currentcolor"
|
|
147
146
|
}
|
|
148
147
|
},
|
|
149
148
|
link: {
|
|
150
149
|
background: "transparent",
|
|
151
150
|
color: "text.link",
|
|
151
|
+
fontWeight: "normal",
|
|
152
152
|
textDecoration: "underline",
|
|
153
|
-
|
|
153
|
+
transitionProperty: "unset",
|
|
154
|
+
transitionTimingFunction: "unset",
|
|
155
|
+
transitionDuration: "unset",
|
|
154
156
|
_hover: {
|
|
155
157
|
textDecoration: "none"
|
|
156
158
|
},
|
|
157
|
-
|
|
158
|
-
|
|
159
|
+
_focusVisible: {
|
|
160
|
+
boxShadow: "none",
|
|
161
|
+
outline: "3px",
|
|
162
|
+
borderRadius: "xsmall",
|
|
163
|
+
outlineColor: "stroke.default",
|
|
164
|
+
outlineOffset: "3px",
|
|
165
|
+
outlineStyle: "solid"
|
|
159
166
|
}
|
|
160
167
|
}
|
|
161
168
|
}
|
|
@@ -168,15 +175,16 @@ const buttonRecipe = exports.buttonRecipe = (0, _css.cva)({
|
|
|
168
175
|
variants: {
|
|
169
176
|
size: {
|
|
170
177
|
medium: {
|
|
171
|
-
|
|
178
|
+
textStyle: "label.medium",
|
|
179
|
+
paddingInline: "medium",
|
|
172
180
|
paddingBlock: "xxsmall",
|
|
173
181
|
minHeight: "24"
|
|
174
182
|
},
|
|
175
183
|
small: {
|
|
176
184
|
textStyle: "label.small",
|
|
177
|
-
minHeight: "
|
|
178
|
-
paddingInline: "
|
|
179
|
-
paddingBlock: "
|
|
185
|
+
minHeight: "large",
|
|
186
|
+
paddingInline: "xsmall",
|
|
187
|
+
paddingBlock: "4xsmall"
|
|
180
188
|
}
|
|
181
189
|
}
|
|
182
190
|
}
|
|
@@ -192,6 +200,7 @@ const iconButtonRecipe = exports.iconButtonRecipe = (0, _css.cva)({
|
|
|
192
200
|
variants: {
|
|
193
201
|
size: {
|
|
194
202
|
medium: {
|
|
203
|
+
"--shadow-width": "3px",
|
|
195
204
|
height: "xxlarge",
|
|
196
205
|
width: "xxlarge",
|
|
197
206
|
"& svg": {
|
|
@@ -204,6 +213,7 @@ const iconButtonRecipe = exports.iconButtonRecipe = (0, _css.cva)({
|
|
|
204
213
|
paddingBlock: "xsmall"
|
|
205
214
|
},
|
|
206
215
|
small: {
|
|
216
|
+
"--shadow-width": "2px",
|
|
207
217
|
height: "large",
|
|
208
218
|
width: "large",
|
|
209
219
|
"& svg": {
|
|
@@ -262,9 +272,9 @@ const Button = exports.Button = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref)
|
|
|
262
272
|
}),
|
|
263
273
|
css: _css.css.raw(buttonBaseRecipe.raw({
|
|
264
274
|
variant
|
|
265
|
-
}), buttonRecipe.raw({
|
|
275
|
+
}), variant !== "link" ? buttonRecipe.raw({
|
|
266
276
|
size
|
|
267
|
-
}), cssProp),
|
|
277
|
+
}) : undefined, cssProp),
|
|
268
278
|
ref: ref
|
|
269
279
|
});
|
|
270
280
|
});
|
package/lib/FileUpload.js
CHANGED
|
@@ -170,11 +170,11 @@ const FileUploadLabel = exports.FileUploadLabel = /*#__PURE__*/(0, _react.forwar
|
|
|
170
170
|
...props
|
|
171
171
|
} = _ref3;
|
|
172
172
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(InternalFileUploadLabel, {
|
|
173
|
+
ref: ref,
|
|
173
174
|
asChild: true,
|
|
174
175
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Label.Label, {
|
|
175
176
|
textStyle: textStyle,
|
|
176
177
|
fontWeight: fontWeight,
|
|
177
|
-
ref: ref,
|
|
178
178
|
...props,
|
|
179
179
|
children: children
|
|
180
180
|
})
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2024-present, NDLA.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the GPLv3 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
import { ToggleGroup } from "@ark-ui/react";
|
|
9
|
+
import { RecipeVariantProps } from "@ndla/styled-system/css";
|
|
10
|
+
import { JsxStyleProps } from "@ndla/styled-system/types";
|
|
11
|
+
import { IconButtonProps } from "./Button";
|
|
12
|
+
declare const toggleGroupRecipe: import("@ndla/styled-system/types").SlotRecipeRuntimeFn<"root" | "item", import("@ndla/styled-system/types").SlotRecipeVariantRecord<"root" | "item">>;
|
|
13
|
+
declare const toggleGroupItemRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<{
|
|
14
|
+
variant: {
|
|
15
|
+
primary: {
|
|
16
|
+
_on: {
|
|
17
|
+
background: "surface.action.selected";
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
secondary: {
|
|
21
|
+
_on: {
|
|
22
|
+
background: "surface.actionSubtle.active";
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
tertiary: {
|
|
26
|
+
_on: {
|
|
27
|
+
background: "surface.actionSubtle.active";
|
|
28
|
+
boxShadow: "inset 0 0 0 1px var(--shadow-color)";
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
}>;
|
|
33
|
+
export type ToggleGroupVariantProps = RecipeVariantProps<typeof toggleGroupRecipe>;
|
|
34
|
+
export type ToggleGroupRootProps = ToggleGroup.RootProps & JsxStyleProps & ToggleGroupVariantProps;
|
|
35
|
+
export declare const ToggleGroupRoot: import("react").ForwardRefExoticComponent<ToggleGroup.RootProps & {
|
|
36
|
+
consumeCss?: boolean | undefined;
|
|
37
|
+
} & import("@ndla/styled-system/types").WithCss & {} & import("react").RefAttributes<HTMLDivElement>>;
|
|
38
|
+
export type ToggleGroupItemVariantProps = RecipeVariantProps<typeof toggleGroupItemRecipe>;
|
|
39
|
+
export type ToggleGroupItemProps = ToggleGroup.ItemProps & IconButtonProps & ToggleGroupItemVariantProps;
|
|
40
|
+
export declare const ToggleGroupItem: import("react").ForwardRefExoticComponent<ToggleGroup.ItemProps & import("./Button").BaseButtonProps & {
|
|
41
|
+
variant?: ("clear" | "primary" | "secondary" | "tertiary" | "clearSubtle" | "danger" | "success") | undefined;
|
|
42
|
+
} & {
|
|
43
|
+
size?: "small" | "medium" | undefined;
|
|
44
|
+
} & {
|
|
45
|
+
variant?: "primary" | "secondary" | "tertiary" | undefined;
|
|
46
|
+
} & import("react").RefAttributes<HTMLButtonElement>>;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ToggleGroupRoot = exports.ToggleGroupItem = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _react2 = require("@ark-ui/react");
|
|
9
|
+
var _css = require("@ndla/styled-system/css");
|
|
10
|
+
var _Button = require("./Button");
|
|
11
|
+
var _createStyleContext = require("./createStyleContext");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
/**
|
|
14
|
+
* Copyright (c) 2024-present, NDLA.
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the GPLv3 license found in the
|
|
17
|
+
* LICENSE file in the root directory of this source tree.
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
const toggleGroupRecipe = (0, _css.sva)({
|
|
22
|
+
slots: _react2.toggleGroupAnatomy.keys(),
|
|
23
|
+
base: {
|
|
24
|
+
root: {
|
|
25
|
+
display: "flex",
|
|
26
|
+
flexDirection: "row",
|
|
27
|
+
gap: "4xsmall"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const toggleGroupItemRecipe = (0, _css.cva)({
|
|
32
|
+
defaultVariants: {
|
|
33
|
+
variant: "primary"
|
|
34
|
+
},
|
|
35
|
+
variants: {
|
|
36
|
+
variant: {
|
|
37
|
+
primary: {
|
|
38
|
+
_on: {
|
|
39
|
+
background: "surface.action.selected"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
secondary: {
|
|
43
|
+
_on: {
|
|
44
|
+
background: "surface.actionSubtle.active"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
tertiary: {
|
|
48
|
+
_on: {
|
|
49
|
+
background: "surface.actionSubtle.active",
|
|
50
|
+
boxShadow: "inset 0 0 0 1px var(--shadow-color)"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
const {
|
|
57
|
+
withProvider,
|
|
58
|
+
withContext
|
|
59
|
+
} = (0, _createStyleContext.createStyleContext)(toggleGroupRecipe);
|
|
60
|
+
const ToggleGroupRoot = exports.ToggleGroupRoot = withProvider(_react2.ToggleGroup.Root, "root", {
|
|
61
|
+
baseComponent: true
|
|
62
|
+
});
|
|
63
|
+
const InternalToggleGroupItem = withContext(_react2.ToggleGroup.Item, "item");
|
|
64
|
+
const ToggleGroupItem = exports.ToggleGroupItem = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
65
|
+
let {
|
|
66
|
+
children,
|
|
67
|
+
variant,
|
|
68
|
+
css: cssProp,
|
|
69
|
+
...props
|
|
70
|
+
} = _ref;
|
|
71
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(InternalToggleGroupItem, {
|
|
72
|
+
...props,
|
|
73
|
+
css: _css.css.raw(toggleGroupItemRecipe.raw({
|
|
74
|
+
variant
|
|
75
|
+
}), cssProp),
|
|
76
|
+
ref: ref,
|
|
77
|
+
asChild: true,
|
|
78
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
|
|
79
|
+
variant: variant,
|
|
80
|
+
children: children
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
});
|
package/lib/index.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export { BlockQuote } from "./BlockQuote";
|
|
|
16
16
|
export type { ButtonProps, ButtonVariantProps, IconButtonProps, IconButtonVariantProps } from "./Button";
|
|
17
17
|
export { Button, IconButton, buttonBaseRecipe, buttonRecipe, iconButtonRecipe } from "./Button";
|
|
18
18
|
export { CardRoot, CardHeading, CardContent, CardImage } from "./Card/Card";
|
|
19
|
+
export { ToggleGroupRoot, ToggleGroupItem } from "./ToggleGroup";
|
|
20
|
+
export type { ToggleGroupRootProps, ToggleGroupVariantProps } from "./ToggleGroup";
|
|
19
21
|
export type { CheckboxVariantProps, CheckboxRootProps } from "./Checkbox";
|
|
20
22
|
export { CheckboxRoot, CheckboxIndicator, CheckboxLabel, CheckboxControl, CheckboxGroup, CheckboxHiddenInput, } from "./Checkbox";
|
|
21
23
|
export type { ComboboxVariantProps, ComboboxRootProps, ComboboxClearTriggerProps, ComboboxContentProps, ComboboxControlProps, ComboboxInputProps, ComboboxItemGroupLabelProps, ComboboxItemGroupProps, ComboboxItemProps, ComboboxItemIndicatorProps, ComboboxItemTextProps, ComboboxLabelProps, ComboboxPositionerProps, ComboboxTriggerProps, ComboboxListProps, } from "./Combobox";
|
package/lib/index.js
CHANGED
|
@@ -1017,6 +1017,18 @@ Object.defineProperty(exports, "ToastTitle", {
|
|
|
1017
1017
|
return _Toast.ToastTitle;
|
|
1018
1018
|
}
|
|
1019
1019
|
});
|
|
1020
|
+
Object.defineProperty(exports, "ToggleGroupItem", {
|
|
1021
|
+
enumerable: true,
|
|
1022
|
+
get: function () {
|
|
1023
|
+
return _ToggleGroup.ToggleGroupItem;
|
|
1024
|
+
}
|
|
1025
|
+
});
|
|
1026
|
+
Object.defineProperty(exports, "ToggleGroupRoot", {
|
|
1027
|
+
enumerable: true,
|
|
1028
|
+
get: function () {
|
|
1029
|
+
return _ToggleGroup.ToggleGroupRoot;
|
|
1030
|
+
}
|
|
1031
|
+
});
|
|
1020
1032
|
Object.defineProperty(exports, "TooltipArrow", {
|
|
1021
1033
|
enumerable: true,
|
|
1022
1034
|
get: function () {
|
|
@@ -1179,6 +1191,7 @@ var _Badge = require("./Badge");
|
|
|
1179
1191
|
var _BlockQuote = require("./BlockQuote");
|
|
1180
1192
|
var _Button = require("./Button");
|
|
1181
1193
|
var _Card = require("./Card/Card");
|
|
1194
|
+
var _ToggleGroup = require("./ToggleGroup");
|
|
1182
1195
|
var _Checkbox = require("./Checkbox");
|
|
1183
1196
|
var _Combobox = require("./Combobox");
|
|
1184
1197
|
var _Dialog = require("./Dialog");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/primitives",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.20-alpha.0",
|
|
4
4
|
"description": "Primitive components for NDLA.",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
],
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@ark-ui/react": "^3.9.0",
|
|
32
|
-
"@ndla/styled-system": "^0.0.
|
|
32
|
+
"@ndla/styled-system": "^0.0.17",
|
|
33
33
|
"@ndla/util": "^4.1.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@ndla/preset-panda": "^0.0.
|
|
36
|
+
"@ndla/preset-panda": "^0.0.25",
|
|
37
37
|
"@pandacss/dev": "^0.45.2"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "d40977f8ad6f9927572a6a62bf6a397189d0cfa4"
|
|
47
47
|
}
|