@ndla/primitives 0.0.21 → 0.0.23

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.
@@ -327,7 +327,7 @@
327
327
  "backgroundColor]___[value:surface.brand.2.subtle",
328
328
  "height]___[value:350px",
329
329
  "zIndex]___[value:hide",
330
- "clipPath]___[value:polygon(0 0, 100% 0, 100% 65%, 0 100%)",
330
+ "clipPath]___[value:polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0 100%)",
331
331
  "position]___[value:absolute",
332
332
  "background]___[value:primary",
333
333
  "background]___[value:blue.800",
@@ -359,13 +359,10 @@
359
359
  "appearance]___[value:none]___[cond:_focus",
360
360
  "resize]___[value:none",
361
361
  "overflowY]___[value:hidden",
362
- "float]___[value:none",
362
+ "float]___[value:left",
363
363
  "width]___[value:inherit",
364
364
  "color]___[value:text.subtle]___[cond:_disabled",
365
365
  "display]___[value:inline-block",
366
- "border]___[value:none",
367
- "padding]___[value:0",
368
- "margin]___[value:0",
369
366
  "transitionProperty]___[value:background, color",
370
367
  "textDecoration]___[value:underline]___[cond:_hover",
371
368
  "color]___[value:stroke.disabled]___[cond:_disabled<___>& svg",
@@ -449,8 +446,6 @@
449
446
  "borderBlockColor]___[value:background.subtle",
450
447
  "borderInlineStartColor]___[value:background.subtle",
451
448
  "borderInlineEndColor]___[value:stroke.default",
452
- "marginBlock]___[value:medium",
453
- "marginInline]___[value:auto",
454
449
  "borderWidth]___[value:4px",
455
450
  "height]___[value:large",
456
451
  "width]___[value:large",
package/dist/styles.css CHANGED
@@ -552,9 +552,9 @@
552
552
  z-index: var(--z-index-hide);
553
553
  }
554
554
 
555
- .cp-path_polygon\(0_0\,_100\%_0\,_100\%_65\%\,_0_100\%\) {
556
- clip-path: polygon(0 0, 100% 0, 100% 65%, 0 100%);
557
- -webkit-clip-path: polygon(0 0, 100% 0, 100% 65%, 0 100%);
555
+ .cp-path_polygon\(0_0\,_100\%_0\,_100\%_calc\(100\%_-_5vw\)\,_0_100\%\) {
556
+ clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0 100%);
557
+ -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0 100%);
558
558
  }
559
559
 
560
560
  .pos_absolute {
@@ -617,8 +617,8 @@
617
617
  resize: none;
618
618
  }
619
619
 
620
- .float_none {
621
- float: none;
620
+ .float_left {
621
+ float: left;
622
622
  }
623
623
 
624
624
  .w_inherit {
@@ -629,18 +629,6 @@
629
629
  display: inline-block;
630
630
  }
631
631
 
632
- .bd_none {
633
- border: none;
634
- }
635
-
636
- .p_0 {
637
- padding: 0;
638
- }
639
-
640
- .m_0 {
641
- margin: 0;
642
- }
643
-
644
632
  .min-w_surface\.xxsmall {
645
633
  min-width: var(--sizes-surface-xxsmall);
646
634
  }
@@ -745,14 +733,6 @@
745
733
  border-block-color: var(--colors-background-subtle);
746
734
  }
747
735
 
748
- .my_medium {
749
- margin-block: var(--spacing-medium);
750
- }
751
-
752
- .mx_auto {
753
- margin-inline: auto;
754
- }
755
-
756
736
  .h_large {
757
737
  height: var(--sizes-large);
758
738
  }
@@ -1192,19 +1172,19 @@
1192
1172
  right: var(--spacing-xxsmall);
1193
1173
  }
1194
1174
 
1195
- .disabled\:cursor_not-allowed:is(:disabled, [disabled], [data-disabled]) {
1175
+ .disabled\:cursor_not-allowed:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1196
1176
  cursor: not-allowed;
1197
1177
  }
1198
1178
 
1199
- .disabled\:bg_surface\.disabled\.subtle:is(:disabled, [disabled], [data-disabled]) {
1179
+ .disabled\:bg_surface\.disabled\.subtle:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1200
1180
  background: var(--colors-surface-disabled-subtle);
1201
1181
  }
1202
1182
 
1203
- .disabled\:bx-sh-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]) {
1183
+ .disabled\:bx-sh-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1204
1184
  --shadow-color: var(--colors-stroke-disabled);
1205
1185
  }
1206
1186
 
1207
- .disabled\:c_text\.disabled:is(:disabled, [disabled], [data-disabled]) {
1187
+ .disabled\:c_text\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1208
1188
  color: var(--colors-text-disabled);
1209
1189
  }
1210
1190
 
@@ -1245,15 +1225,15 @@
1245
1225
  margin-inline-start: var(--spacing-medium);
1246
1226
  }
1247
1227
 
1248
- .disabled\:c_text\.onAction:is(:disabled, [disabled], [data-disabled]) {
1228
+ .disabled\:c_text\.onAction:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1249
1229
  color: var(--colors-text-on-action);
1250
1230
  }
1251
1231
 
1252
- .disabled\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled]) {
1232
+ .disabled\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1253
1233
  background: var(--colors-surface-disabled);
1254
1234
  }
1255
1235
 
1256
- .disabled\:bx-sh-c_surface\.disabled:is(:disabled, [disabled], [data-disabled]) {
1236
+ .disabled\:bx-sh-c_surface\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1257
1237
  --shadow-color: var(--colors-surface-disabled);
1258
1238
  }
1259
1239
 
@@ -1297,7 +1277,7 @@
1297
1277
  display: flex;
1298
1278
  }
1299
1279
 
1300
- .disabled\:c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]) {
1280
+ .disabled\:c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1301
1281
  color: var(--colors-stroke-disabled);
1302
1282
  }
1303
1283
 
@@ -1393,7 +1373,7 @@
1393
1373
  transition: background-color 600000s 0s, color 600000s 0s;
1394
1374
  }
1395
1375
 
1396
- .disabled\:c_text\.subtle:is(:disabled, [disabled], [data-disabled]) {
1376
+ .disabled\:c_text\.subtle:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1397
1377
  color: var(--colors-text-subtle);
1398
1378
  }
1399
1379
 
@@ -1599,7 +1579,7 @@
1599
1579
  font-weight: var(--font-weights-bold);
1600
1580
  }
1601
1581
 
1602
- .disabled\:bd-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]) {
1582
+ .disabled\:bd-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1603
1583
  border-color: var(--colors-stroke-disabled);
1604
1584
  }
1605
1585
 
@@ -1698,7 +1678,7 @@
1698
1678
  flex-direction: row;
1699
1679
  }
1700
1680
 
1701
- .disabled\:bd-c_stroke\.default:is(:disabled, [disabled], [data-disabled]) {
1681
+ .disabled\:bd-c_stroke\.default:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1702
1682
  border-color: var(--colors-stroke-default);
1703
1683
  }
1704
1684
 
@@ -1996,15 +1976,15 @@
1996
1976
  border-color: var(--colors-stroke-default);
1997
1977
  }
1998
1978
 
1999
- .disabled\:hover\:bg_surface\.disabled\.subtle:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
1979
+ .disabled\:hover\:bg_surface\.disabled\.subtle:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2000
1980
  background: var(--colors-surface-disabled-subtle);
2001
1981
  }
2002
1982
 
2003
- .disabled\:hover\:bx-sh-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
1983
+ .disabled\:hover\:bx-sh-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2004
1984
  --shadow-color: var(--colors-stroke-disabled);
2005
1985
  }
2006
1986
 
2007
- .disabled\:hover\:c_text\.disabled:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
1987
+ .disabled\:hover\:c_text\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2008
1988
  color: var(--colors-text-disabled);
2009
1989
  }
2010
1990
 
@@ -2020,23 +2000,23 @@
2020
2000
  color: var(--colors-icon-strong);
2021
2001
  }
2022
2002
 
2023
- .disabled\:\[\&_svg\]\:c_text\.onAction:is(:disabled, [disabled], [data-disabled]) svg {
2003
+ .disabled\:\[\&_svg\]\:c_text\.onAction:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) svg {
2024
2004
  color: var(--colors-text-on-action);
2025
2005
  }
2026
2006
 
2027
- .disabled\:hover\:c_text\.onAction:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
2007
+ .disabled\:hover\:c_text\.onAction:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2028
2008
  color: var(--colors-text-on-action);
2029
2009
  }
2030
2010
 
2031
- .disabled\:hover\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
2011
+ .disabled\:hover\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2032
2012
  background: var(--colors-surface-disabled);
2033
2013
  }
2034
2014
 
2035
- .disabled\:checked\:c_text\.disabled:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) {
2015
+ .disabled\:checked\:c_text\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) {
2036
2016
  color: var(--colors-text-disabled);
2037
2017
  }
2038
2018
 
2039
- .disabled\:checked\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) {
2019
+ .disabled\:checked\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) {
2040
2020
  background: var(--colors-surface-disabled);
2041
2021
  }
2042
2022
 
@@ -2068,7 +2048,7 @@
2068
2048
  outline-offset: -2px;
2069
2049
  }
2070
2050
 
2071
- .disabled\:hover\:bx-sh_none:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
2051
+ .disabled\:hover\:bx-sh_none:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2072
2052
  box-shadow: none;
2073
2053
  }
2074
2054
 
@@ -2080,7 +2060,7 @@
2080
2060
  color: var(--colors-stroke-hover);
2081
2061
  }
2082
2062
 
2083
- .disabled\:hover\:c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
2063
+ .disabled\:hover\:c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2084
2064
  color: var(--colors-stroke-disabled);
2085
2065
  }
2086
2066
 
@@ -2096,15 +2076,15 @@
2096
2076
  margin-block-end: calc(var(--spacing-xxsmall) * -1);
2097
2077
  }
2098
2078
 
2099
- .disabled\:\[\&_svg\]\:c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]) svg {
2079
+ .disabled\:\[\&_svg\]\:c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) svg {
2100
2080
  color: var(--colors-stroke-disabled);
2101
2081
  }
2102
2082
 
2103
- .disabled\:hover\:td_none:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
2083
+ .disabled\:hover\:td_none:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2104
2084
  text-decoration: none;
2105
2085
  }
2106
2086
 
2107
- .disabled\:hover\:bg_surface\.default:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
2087
+ .disabled\:hover\:bg_surface\.default:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2108
2088
  background: var(--colors-surface-default);
2109
2089
  }
2110
2090
 
@@ -2124,19 +2104,19 @@
2124
2104
  background: var(--colors-surface-hover);
2125
2105
  }
2126
2106
 
2127
- .disabled\:highlighted\:c_text\.disabled:is(:disabled, [disabled], [data-disabled])[data-highlighted] {
2107
+ .disabled\:highlighted\:c_text\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true'])[data-highlighted] {
2128
2108
  color: var(--colors-text-disabled);
2129
2109
  }
2130
2110
 
2131
- .disabled\:highlighted\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled])[data-highlighted] {
2111
+ .disabled\:highlighted\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true'])[data-highlighted] {
2132
2112
  background: var(--colors-surface-disabled);
2133
2113
  }
2134
2114
 
2135
- .disabled\:selected\:c_text\.disabled:is(:disabled, [disabled], [data-disabled]):is([aria-selected=true], [data-selected]) {
2115
+ .disabled\:selected\:c_text\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is([aria-selected=true], [data-selected]) {
2136
2116
  color: var(--colors-text-disabled);
2137
2117
  }
2138
2118
 
2139
- .disabled\:selected\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled]):is([aria-selected=true], [data-selected]) {
2119
+ .disabled\:selected\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is([aria-selected=true], [data-selected]) {
2140
2120
  background: var(--colors-surface-disabled);
2141
2121
  }
2142
2122
 
@@ -2156,7 +2136,7 @@
2156
2136
  text-align: right;
2157
2137
  }
2158
2138
 
2159
- .disabled\:hover\:c_text\.subtle:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
2139
+ .disabled\:hover\:c_text\.subtle:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2160
2140
  color: var(--colors-text-subtle);
2161
2141
  }
2162
2142
 
@@ -2182,11 +2162,11 @@
2182
2162
  content: counter(level1, upper-alpha) '. ';
2183
2163
  }
2184
2164
 
2185
- .disabled\:hover\:bd-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
2165
+ .disabled\:hover\:bd-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2186
2166
  border-color: var(--colors-stroke-disabled);
2187
2167
  }
2188
2168
 
2189
- .disabled\:checked\:bd-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) {
2169
+ .disabled\:checked\:bd-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]) {
2190
2170
  border-color: var(--colors-stroke-disabled);
2191
2171
  }
2192
2172
 
@@ -2226,7 +2206,7 @@
2226
2206
  background-color: transparent;
2227
2207
  }
2228
2208
 
2229
- .disabled\:hover\:bd-c_stroke\.default:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) {
2209
+ .disabled\:hover\:bd-c_stroke\.default:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) {
2230
2210
  border-color: var(--colors-stroke-default);
2231
2211
  }
2232
2212
 
@@ -2254,7 +2234,7 @@
2254
2234
  color: var(--colors-icon-default);
2255
2235
  }
2256
2236
 
2257
- .hover\:disabled\:trf_translateX\(0\):is(:hover, [data-hover]):is(:disabled, [disabled], [data-disabled]) {
2237
+ .hover\:disabled\:trf_translateX\(0\):is(:hover, [data-hover]):is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
2258
2238
  transform: translateX(0);
2259
2239
  }
2260
2240
 
@@ -2278,19 +2258,19 @@
2278
2258
  counter-increment: level2;
2279
2259
  }
2280
2260
 
2281
- .disabled\:checked\:hover\:c_text\.disabled:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]):is(:hover, [data-hover]) {
2261
+ .disabled\:checked\:hover\:c_text\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]):is(:hover, [data-hover]) {
2282
2262
  color: var(--colors-text-disabled);
2283
2263
  }
2284
2264
 
2285
- .disabled\:checked\:hover\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]):is(:hover, [data-hover]) {
2265
+ .disabled\:checked\:hover\:bg_surface\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]):is(:hover, [data-hover]) {
2286
2266
  background: var(--colors-surface-disabled);
2287
2267
  }
2288
2268
 
2289
- .disabled\:hover\:\[\&_svg\]\:c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]):is(:hover, [data-hover]) svg {
2269
+ .disabled\:hover\:\[\&_svg\]\:c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:hover, [data-hover]) svg {
2290
2270
  color: var(--colors-stroke-disabled);
2291
2271
  }
2292
2272
 
2293
- .checked\:hover\:disabled\:trf_translateX\(120\%\):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]):is(:hover, [data-hover]):is(:disabled, [disabled], [data-disabled]) {
2273
+ .checked\:hover\:disabled\:trf_translateX\(120\%\):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]):is(:hover, [data-hover]):is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
2294
2274
  transform: translateX(120%);
2295
2275
  }
2296
2276
 
@@ -2298,7 +2278,7 @@
2298
2278
  content: counter(level1, lower-alpha) '. ';
2299
2279
  }
2300
2280
 
2301
- .disabled\:checked\:hover\:bd-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled]):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]):is(:hover, [data-hover]) {
2281
+ .disabled\:checked\:hover\:bd-c_stroke\.disabled:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']):is(:checked, [data-checked], [aria-checked=true], [data-state="checked"]):is(:hover, [data-hover]) {
2302
2282
  border-color: var(--colors-stroke-disabled);
2303
2283
  }
2304
2284
 
package/es/Button.js CHANGED
@@ -10,8 +10,10 @@ import { forwardRef } from "react";
10
10
  import { ark } from "@ark-ui/react";
11
11
  import { css, cva } from "@ndla/styled-system/css";
12
12
  import { styled } from "@ndla/styled-system/jsx";
13
- import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { Spinner } from "./Spinner";
14
+
14
15
  // TODO: Consider if any of the backgrounds should actually be transparent
16
+ import { Fragment as _Fragment, jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
15
17
  export const buttonBaseRecipe = cva({
16
18
  base: {
17
19
  display: "inline-flex",
@@ -188,15 +190,42 @@ const StyledButton = styled(ark.button, {}, {
188
190
  type: "button"
189
191
  }
190
192
  });
191
- export const Button = /*#__PURE__*/forwardRef((_ref, ref) => {
193
+ export const BaseButton = /*#__PURE__*/forwardRef((_ref, ref) => {
194
+ let {
195
+ loading,
196
+ loadingContent: loadingContentProp,
197
+ replaceContent,
198
+ onClick,
199
+ children,
200
+ ...props
201
+ } = _ref;
202
+ const ariaDisabled = loading ? {
203
+ "aria-disabled": true
204
+ } : {};
205
+ const loadingContent = replaceContent ? loadingContentProp : /*#__PURE__*/_jsxs(_Fragment, {
206
+ children: [loadingContentProp, children]
207
+ });
208
+ return /*#__PURE__*/_jsx(StyledButton, {
209
+ onClick: loading ? undefined : onClick,
210
+ ...ariaDisabled,
211
+ ...props,
212
+ ref: ref,
213
+ children: loading ? loadingContent : children
214
+ });
215
+ });
216
+ export const Button = /*#__PURE__*/forwardRef((_ref2, ref) => {
192
217
  let {
193
218
  variant,
219
+ loadingContent,
194
220
  size,
195
221
  css: cssProp,
196
222
  ...props
197
- } = _ref;
198
- return /*#__PURE__*/_jsx(StyledButton, {
223
+ } = _ref2;
224
+ return /*#__PURE__*/_jsx(BaseButton, {
199
225
  ...props,
226
+ loadingContent: loadingContent ?? /*#__PURE__*/_jsx(Spinner, {
227
+ size: "small"
228
+ }),
200
229
  css: css.raw(buttonBaseRecipe.raw({
201
230
  variant
202
231
  }), buttonRecipe.raw({
@@ -205,23 +234,23 @@ export const Button = /*#__PURE__*/forwardRef((_ref, ref) => {
205
234
  ref: ref
206
235
  });
207
236
  });
208
- const StyledIconButton = styled(ark.button, {}, {
209
- baseComponent: true,
210
- defaultProps: {
211
- type: "button"
212
- }
213
- });
214
- export const IconButton = /*#__PURE__*/forwardRef((_ref2, ref) => {
237
+ export const IconButton = /*#__PURE__*/forwardRef((_ref3, ref) => {
215
238
  let {
216
239
  variant,
217
240
  css: cssProp,
241
+ loadingContent,
242
+ replaceContent = true,
218
243
  ...props
219
- } = _ref2;
220
- return /*#__PURE__*/_jsx(StyledIconButton, {
244
+ } = _ref3;
245
+ return /*#__PURE__*/_jsx(BaseButton, {
221
246
  ...props,
222
247
  css: css.raw(buttonBaseRecipe.raw({
223
248
  variant
224
249
  }), iconButtonRecipe.raw(), cssProp),
250
+ loadingContent: loadingContent ?? /*#__PURE__*/_jsx(Spinner, {
251
+ size: "small"
252
+ }),
253
+ replaceContent: replaceContent,
225
254
  ref: ref
226
255
  });
227
256
  });
package/es/Field.js CHANGED
@@ -6,14 +6,20 @@
6
6
  *
7
7
  */
8
8
 
9
- import { Field } from "@ark-ui/react";
9
+ import { Field, Fieldset } from "@ark-ui/react";
10
10
  import { styled } from "@ndla/styled-system/jsx";
11
+ const rootStyle = {
12
+ display: "flex",
13
+ flexDirection: "column",
14
+ gap: "3xsmall"
15
+ };
11
16
  export const FieldRoot = styled(Field.Root, {
12
- base: {
13
- display: "flex",
14
- flexDirection: "column",
15
- gap: "3xsmall"
16
- }
17
+ base: rootStyle
18
+ }, {
19
+ baseComponent: true
20
+ });
21
+ export const FieldsetRoot = styled(Fieldset.Root, {
22
+ base: rootStyle
17
23
  }, {
18
24
  baseComponent: true
19
25
  });
@@ -7,16 +7,17 @@
7
7
  */
8
8
 
9
9
  import { forwardRef } from "react";
10
- import { Field } from "@ark-ui/react";
10
+ import { Field, Fieldset } from "@ark-ui/react";
11
11
  import { css } from "@ndla/styled-system/css";
12
12
  import { styled } from "@ndla/styled-system/jsx";
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
- const StyledErrorText = styled(Field.ErrorText, {
15
- base: {
16
- color: "text.error",
17
- whiteSpace: "pre-line",
18
- justifyContent: "center"
19
- }
14
+ const errorTextStyling = {
15
+ color: "text.error",
16
+ whiteSpace: "pre-line",
17
+ justifyContent: "center"
18
+ };
19
+ const StyledFieldErrorText = styled(Field.ErrorText, {
20
+ base: errorTextStyling
20
21
  }, {
21
22
  baseComponent: true
22
23
  });
@@ -29,7 +30,32 @@ export const FieldErrorMessage = /*#__PURE__*/forwardRef((_ref, ref) => {
29
30
  srOnly,
30
31
  ...props
31
32
  } = _ref;
32
- return /*#__PURE__*/_jsx(StyledErrorText, {
33
+ return /*#__PURE__*/_jsx(StyledFieldErrorText, {
34
+ css: css.raw({
35
+ textStyle,
36
+ fontWeight,
37
+ color,
38
+ srOnly
39
+ }, cssProp),
40
+ ...props,
41
+ ref: ref
42
+ });
43
+ });
44
+ const StyledFieldsetErrorText = styled(Fieldset.ErrorText, {
45
+ base: errorTextStyling
46
+ }, {
47
+ baseComponent: true
48
+ });
49
+ export const FieldsetErrorText = /*#__PURE__*/forwardRef((_ref2, ref) => {
50
+ let {
51
+ textStyle = "label.small",
52
+ fontWeight,
53
+ css: cssProp,
54
+ color,
55
+ srOnly,
56
+ ...props
57
+ } = _ref2;
58
+ return /*#__PURE__*/_jsx(StyledFieldsetErrorText, {
33
59
  css: css.raw({
34
60
  textStyle,
35
61
  fontWeight,
package/es/FieldHelper.js CHANGED
@@ -7,7 +7,7 @@
7
7
  */
8
8
 
9
9
  import { forwardRef } from "react";
10
- import { Field } from "@ark-ui/react";
10
+ import { Field, Fieldset } from "@ark-ui/react";
11
11
  import { css } from "@ndla/styled-system/css";
12
12
  import { styled } from "@ndla/styled-system/jsx";
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -33,4 +33,27 @@ export const FieldHelper = /*#__PURE__*/forwardRef((_ref, ref) => {
33
33
  ...props,
34
34
  ref: ref
35
35
  });
36
+ });
37
+ const StyledFieldsetHelper = styled(Fieldset.HelperText, {}, {
38
+ baseComponent: true
39
+ });
40
+ export const FieldsetHelper = /*#__PURE__*/forwardRef((_ref2, ref) => {
41
+ let {
42
+ textStyle = "label.small",
43
+ fontWeight,
44
+ color,
45
+ srOnly,
46
+ css: cssProp,
47
+ ...props
48
+ } = _ref2;
49
+ return /*#__PURE__*/_jsx(StyledFieldsetHelper, {
50
+ css: css.raw({
51
+ textStyle,
52
+ fontWeight,
53
+ color,
54
+ srOnly
55
+ }, cssProp),
56
+ ...props,
57
+ ref: ref
58
+ });
36
59
  });
@@ -47,6 +47,7 @@ export const FramedContent = /*#__PURE__*/forwardRef((_ref, ref) => {
47
47
  ...props
48
48
  } = _ref;
49
49
  return /*#__PURE__*/_jsx(StyledFramedContent, {
50
+ "data-embed-type": "framed-content",
50
51
  css: css.raw(framedContentRecipe.raw({
51
52
  colorTheme
52
53
  }), cssProp),
package/es/Hero.js CHANGED
@@ -22,7 +22,7 @@ const heroRecipe = sva({
22
22
  width: "100%",
23
23
  zIndex: "hide",
24
24
  overflow: "hidden",
25
- clipPath: "polygon(0 0, 100% 0, 100% 65%, 0 100%)"
25
+ clipPath: "polygon(0 0, 100% 0, 100% calc(100% - 5vw), 0 100%)"
26
26
  },
27
27
  content: {
28
28
  display: "flex",
package/es/Input.js CHANGED
@@ -121,10 +121,9 @@ export const Input = /*#__PURE__*/forwardRef((_ref2, ref) => {
121
121
  });
122
122
  export const FieldInput = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/_jsx(Field.Input, {
123
123
  asChild: true,
124
- children: /*#__PURE__*/_jsx(Input, {
125
- ...props,
126
- ref: ref
127
- })
124
+ ...props,
125
+ ref: ref,
126
+ children: /*#__PURE__*/_jsx(Input, {})
128
127
  }));
129
128
  const StyledTextArea = styled(ark.textarea, {}, {
130
129
  baseComponent: true
@@ -160,8 +159,7 @@ export const TextArea = /*#__PURE__*/forwardRef((_ref3, ref) => {
160
159
  });
161
160
  export const FieldTextArea = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/_jsx(Field.Textarea, {
162
161
  asChild: true,
163
- children: /*#__PURE__*/_jsx(TextArea, {
164
- ...props,
165
- ref: ref
166
- })
162
+ ...props,
163
+ ref: ref,
164
+ children: /*#__PURE__*/_jsx(TextArea, {})
167
165
  }));
package/es/Label.js CHANGED
@@ -7,13 +7,13 @@
7
7
  */
8
8
 
9
9
  import { forwardRef } from "react";
10
- import { Field, ark } from "@ark-ui/react";
10
+ import { Field, Fieldset, ark } from "@ark-ui/react";
11
11
  import { css } from "@ndla/styled-system/css";
12
12
  import { styled } from "@ndla/styled-system/jsx";
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  const StyledLegend = styled(ark.legend, {
15
15
  base: {
16
- float: "none",
16
+ float: "left",
17
17
  width: "inherit",
18
18
  _disabled: {
19
19
  color: "text.subtle"
@@ -22,7 +22,6 @@ const StyledLegend = styled(ark.legend, {
22
22
  }, {
23
23
  baseComponent: true
24
24
  });
25
- // TODO: This is not exported for now. Let's wait and see when ark decides to release their legend and fieldset.
26
25
  export const Legend = /*#__PURE__*/forwardRef((_ref, ref) => {
27
26
  let {
28
27
  textStyle = "label.medium",
@@ -43,6 +42,12 @@ export const Legend = /*#__PURE__*/forwardRef((_ref, ref) => {
43
42
  ref: ref
44
43
  });
45
44
  });
45
+ export const FieldsetLegend = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/_jsx(Fieldset.Legend, {
46
+ asChild: true,
47
+ ...props,
48
+ ref: ref,
49
+ children: /*#__PURE__*/_jsx(Legend, {})
50
+ }));
46
51
  const StyledLabel = styled(ark.label, {
47
52
  base: {
48
53
  display: "inline-block",
@@ -75,15 +80,7 @@ export const Label = /*#__PURE__*/forwardRef((_ref2, ref) => {
75
80
  });
76
81
  export const FieldLabel = /*#__PURE__*/forwardRef((props, ref) => /*#__PURE__*/_jsx(Field.Label, {
77
82
  asChild: true,
78
- children: /*#__PURE__*/_jsx(Label, {
79
- ...props,
80
- ref: ref
81
- })
82
- }));
83
- export const Fieldset = styled("fieldset", {
84
- base: {
85
- border: "none",
86
- padding: "0",
87
- margin: "0"
88
- }
89
- });
83
+ ...props,
84
+ ref: ref,
85
+ children: /*#__PURE__*/_jsx(Label, {})
86
+ }));
package/es/RadioGroup.js CHANGED
@@ -130,10 +130,10 @@ export const RadioGroupLabel = /*#__PURE__*/forwardRef((_ref2, ref) => {
130
130
  } = _ref2;
131
131
  return /*#__PURE__*/_jsx(InternalRadioGroupLabel, {
132
132
  ref: ref,
133
+ ...props,
133
134
  asChild: true,
134
135
  children: /*#__PURE__*/_jsx(Label, {
135
- textStyle: textStyle,
136
- ...props
136
+ textStyle: textStyle
137
137
  })
138
138
  });
139
139
  });