@ndla/primitives 1.0.36-alpha.0 → 1.0.37-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.
@@ -410,6 +410,7 @@
410
410
  "padding]___[value:xxsmall",
411
411
  "transition]___[value:background-color 600000s 0s, color 600000s 0s]___[cond:_autofill",
412
412
  "appearance]___[value:none]___[cond:_focus",
413
+ "color]___[value:text.subtle]___[cond:_placeholder",
413
414
  "resize]___[value:none",
414
415
  "overflowY]___[value:hidden",
415
416
  "float]___[value:left",
@@ -673,34 +674,43 @@
673
674
  "background]___[value:var(--background-hover)]___[cond:_highlighted",
674
675
  "borderStyle]___[value:dashed",
675
676
  "background]___[value:var(--background-current)]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]",
676
- "borderBlockStartColor]___[value:transparent]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]",
677
- "borderBlockEndColor]___[value:transparent]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]",
678
677
  "color]___[value:var(--color-current-hover)]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]",
678
+ "borderColor]___[value:var(--border-color-current)]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]",
679
+ "position]___[value:relative]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]",
680
+ "content]___[value:'']___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_before",
681
+ "position]___[value:absolute]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_before",
682
+ "borderInline]___[value:6px solid]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_before",
683
+ "borderColor]___[value:var(--border-color-current)]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_before",
684
+ "bottom]___[value:-1px]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_before",
685
+ "top]___[value:-1px]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_before",
686
+ "left]___[value:0]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_before",
687
+ "width]___[value:100%]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_before",
679
688
  "background]___[value:var(--background-hover)]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_hover",
680
689
  "color]___[value:text.default]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_hover",
690
+ "display]___[value:none]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_hover<___>_before",
681
691
  "background]___[value:var(--background-hover)]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_highlighted",
682
692
  "color]___[value:text.default]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>_highlighted",
683
693
  "outlineColor]___[value:var(--color-current-hover)]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>& a:focus-visible<___>_focusVisible",
684
694
  "boxShadowColor]___[value:var(--color-current-hover)]___[cond:&[aria-current=\"true\"], &[aria-current=\"page\"]<___>& button:focus-visible<___>_focusVisible",
685
- "--background-hover]___[value:colors.surface.brand.1.subtle",
686
- "--background-current]___[value:colors.surface.actionSubtle.selected",
695
+ "--background-hover]___[value:colors.surface.action.brand.1.hover",
696
+ "--background-current]___[value:colors.surface.action.brand.1.selected",
687
697
  "--border-hover]___[value:colors.stroke.hover",
688
- "--color-current-hover]___[value:colors.text.onAction",
698
+ "--color-current-hover]___[value:colors.text.default",
699
+ "--border-color-current]___[value:colors.stroke.default",
689
700
  "--background-hover]___[value:colors.surface.brand.2.moderate",
690
- "--background-current]___[value:colors.surface.brand.2.bold",
701
+ "--background-current]___[value:colors.surface.action.brand.2.selected",
691
702
  "--border-hover]___[value:colors.surface.brand.2.strong",
703
+ "--border-color-current]___[value:colors.surface.brand.2.strong",
692
704
  "--background-hover]___[value:colors.surface.action.myNdla.hover",
693
705
  "--background-current]___[value:colors.surface.action.myNdla.current",
694
706
  "--border-hover]___[value:colors.stroke.subtle",
695
- "--color-current-hover]___[value:colors.text.default",
707
+ "--border-color-current]___[value:colors.stroke.subtle",
696
708
  "borderBlockColor]___[value:stroke.subtle",
697
709
  "borderBlockColor]___[value:var(--border-hover)]___[cond:_hover",
698
710
  "borderBlockColor]___[value:var(--border-hover)]___[cond:_highlighted",
699
- "borderBlockStartColor]___[value:stroke.subtle",
700
- "borderBlockEndColor]___[value:transparent",
711
+ "borderBlockStartColor]___[value:transparent",
712
+ "borderBlockEndColor]___[value:stroke.subtle",
701
713
  "marginBlockStart]___[value:-1px",
702
- "borderBlockStartColor]___[value:transparent]___[cond:_first",
703
- "borderBlockEndColor]___[value:stroke.subtle]___[cond:_last",
704
714
  "borderBlockStartColor]___[value:var(--border-hover)]___[cond:_first<___>_hover",
705
715
  "borderBlockStartColor]___[value:var(--border-hover)]___[cond:_first<___>_highlighted",
706
716
  "borderBlockStartColor]___[value:var(--border-hover)]___[cond:&:hover + &",
package/dist/styles.css CHANGED
@@ -977,34 +977,42 @@
977
977
  border-inline-color: transparent;
978
978
  }
979
979
 
980
- .\--background-hover_colors\.surface\.brand\.1\.subtle {
981
- --background-hover: var(--colors-surface-brand-1-subtle);
980
+ .\--background-hover_colors\.surface\.action\.brand\.1\.hover {
981
+ --background-hover: var(--colors-surface-action-brand-1-hover);
982
982
  }
983
983
 
984
- .\--background-current_colors\.surface\.actionSubtle\.selected {
985
- --background-current: var(--colors-surface-action-subtle-selected);
984
+ .\--background-current_colors\.surface\.action\.brand\.1\.selected {
985
+ --background-current: var(--colors-surface-action-brand-1-selected);
986
986
  }
987
987
 
988
988
  .\--border-hover_colors\.stroke\.hover {
989
989
  --border-hover: var(--colors-stroke-hover);
990
990
  }
991
991
 
992
- .\--color-current-hover_colors\.text\.onAction {
993
- --color-current-hover: var(--colors-text-on-action);
992
+ .\--color-current-hover_colors\.text\.default {
993
+ --color-current-hover: var(--colors-text-default);
994
+ }
995
+
996
+ .\--border-color-current_colors\.stroke\.default {
997
+ --border-color-current: var(--colors-stroke-default);
994
998
  }
995
999
 
996
1000
  .\--background-hover_colors\.surface\.brand\.2\.moderate {
997
1001
  --background-hover: var(--colors-surface-brand-2-moderate);
998
1002
  }
999
1003
 
1000
- .\--background-current_colors\.surface\.brand\.2\.bold {
1001
- --background-current: var(--colors-surface-brand-2-bold);
1004
+ .\--background-current_colors\.surface\.action\.brand\.2\.selected {
1005
+ --background-current: var(--colors-surface-action-brand-2-selected);
1002
1006
  }
1003
1007
 
1004
1008
  .\--border-hover_colors\.surface\.brand\.2\.strong {
1005
1009
  --border-hover: var(--colors-surface-brand-2-strong);
1006
1010
  }
1007
1011
 
1012
+ .\--border-color-current_colors\.surface\.brand\.2\.strong {
1013
+ --border-color-current: var(--colors-surface-brand-2-strong);
1014
+ }
1015
+
1008
1016
  .\--background-hover_colors\.surface\.action\.myNdla\.hover {
1009
1017
  --background-hover: var(--colors-surface-action-my-ndla-hover);
1010
1018
  }
@@ -1017,8 +1025,8 @@
1017
1025
  --border-hover: var(--colors-stroke-subtle);
1018
1026
  }
1019
1027
 
1020
- .\--color-current-hover_colors\.text\.default {
1021
- --color-current-hover: var(--colors-text-default);
1028
+ .\--border-color-current_colors\.stroke\.subtle {
1029
+ --border-color-current: var(--colors-stroke-subtle);
1022
1030
  }
1023
1031
 
1024
1032
  .bd-y-c_stroke\.subtle {
@@ -1440,12 +1448,12 @@
1440
1448
  border-style: dashed;
1441
1449
  }
1442
1450
 
1443
- .bd-bs-c_stroke\.subtle {
1444
- border-block-start-color: var(--colors-stroke-subtle);
1451
+ .bd-bs-c_transparent {
1452
+ border-block-start-color: transparent;
1445
1453
  }
1446
1454
 
1447
- .bd-be-c_transparent {
1448
- border-block-end-color: transparent;
1455
+ .bd-be-c_stroke\.subtle {
1456
+ border-block-end-color: var(--colors-stroke-subtle);
1449
1457
  }
1450
1458
 
1451
1459
  .disabled\:cursor_not-allowed:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
@@ -1669,6 +1677,10 @@
1669
1677
  transition: background-color 600000s 0s, color 600000s 0s;
1670
1678
  }
1671
1679
 
1680
+ .placeholder\:c_text\.subtle::placeholder,.placeholder\:c_text\.subtle[data-placeholder] {
1681
+ color: var(--colors-text-subtle);
1682
+ }
1683
+
1672
1684
  .disabled\:c_text\.subtle:is(:disabled, [disabled], [data-disabled], [aria-disabled='true']) {
1673
1685
  color: var(--colors-text-subtle);
1674
1686
  }
@@ -1890,6 +1902,10 @@
1890
1902
  color: var(--color-current-hover);
1891
1903
  }
1892
1904
 
1905
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:pos_relative[aria-current="true"],.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:pos_relative[aria-current="page"] {
1906
+ position: relative;
1907
+ }
1908
+
1893
1909
  .highlighted\:bd-y-c_var\(--border-hover\)[data-highlighted] {
1894
1910
  border-block-color: var(--border-hover);
1895
1911
  }
@@ -2062,20 +2078,8 @@
2062
2078
  grid-column-end: -1;
2063
2079
  }
2064
2080
 
2065
- .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:bd-bs-c_transparent[aria-current="true"],.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:bd-bs-c_transparent[aria-current="page"] {
2066
- border-block-start-color: transparent;
2067
- }
2068
-
2069
- .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:bd-be-c_transparent[aria-current="true"],.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:bd-be-c_transparent[aria-current="page"] {
2070
- border-block-end-color: transparent;
2071
- }
2072
-
2073
- .first\:bd-bs-c_transparent:first-child {
2074
- border-block-start-color: transparent;
2075
- }
2076
-
2077
- .last\:bd-be-c_stroke\.subtle:last-child {
2078
- border-block-end-color: var(--colors-stroke-subtle);
2081
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:bd-c_var\(--border-color-current\)[aria-current="true"],.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:bd-c_var\(--border-color-current\)[aria-current="page"] {
2082
+ border-color: var(--border-color-current);
2079
2083
  }
2080
2084
 
2081
2085
  :is(.\[\&\[data-highlighted\]_\+_\&\]\:bd-bs-c_var\(--border-hover\))[data-highlighted] + :is(.\[\&\[data-highlighted\]_\+_\&\]\:bd-bs-c_var\(--border-hover\)) {
@@ -2590,6 +2594,18 @@
2590
2594
  color: var(--colors-stroke-hover);
2591
2595
  }
2592
2596
 
2597
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:pos_absolute[aria-current="true"]::before,.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:pos_absolute[aria-current="page"]::before {
2598
+ position: absolute;
2599
+ }
2600
+
2601
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:bd-x_6px_solid[aria-current="true"]::before,.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:bd-x_6px_solid[aria-current="page"]::before {
2602
+ border-inline: 6px solid;
2603
+ }
2604
+
2605
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:w_100\%[aria-current="true"]::before,.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:w_100\%[aria-current="page"]::before {
2606
+ width: 100%;
2607
+ }
2608
+
2593
2609
  .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:hover\:bg_var\(--background-hover\)[aria-current="true"]:is(:hover, [data-hover]),.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:hover\:bg_var\(--background-hover\)[aria-current="page"]:is(:hover, [data-hover]) {
2594
2610
  background: var(--background-hover);
2595
2611
  }
@@ -2678,6 +2694,26 @@
2678
2694
  top: var(--top);
2679
2695
  }
2680
2696
 
2697
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:content_\'\'[aria-current="true"]::before,.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:content_\'\'[aria-current="page"]::before {
2698
+ content: '';
2699
+ }
2700
+
2701
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:bd-c_var\(--border-color-current\)[aria-current="true"]::before,.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:bd-c_var\(--border-color-current\)[aria-current="page"]::before {
2702
+ border-color: var(--border-color-current);
2703
+ }
2704
+
2705
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:bottom_-1px[aria-current="true"]::before,.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:bottom_-1px[aria-current="page"]::before {
2706
+ bottom: -1px;
2707
+ }
2708
+
2709
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:top_-1px[aria-current="true"]::before,.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:top_-1px[aria-current="page"]::before {
2710
+ top: -1px;
2711
+ }
2712
+
2713
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:left_0[aria-current="true"]::before,.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:before\:left_0[aria-current="page"]::before {
2714
+ left: 0;
2715
+ }
2716
+
2681
2717
  .first\:hover\:bd-bs-c_var\(--border-hover\):first-child:is(:hover, [data-hover]) {
2682
2718
  border-block-start-color: var(--border-hover);
2683
2719
  }
@@ -2758,6 +2794,10 @@
2758
2794
  transform: translateX(120%);
2759
2795
  }
2760
2796
 
2797
+ .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:hover\:before\:d_none[aria-current="true"]:is(:hover, [data-hover])::before,.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:hover\:before\:d_none[aria-current="page"]:is(:hover, [data-hover])::before {
2798
+ display: none;
2799
+ }
2800
+
2761
2801
  .\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:\[\&_button\:focus-visible\]\:focusVisible\:bx-sh-c_var\(--color-current-hover\)[aria-current="true"] button:focus-visible:is(:focus-visible, [data-focus-visible]),.\[\&\[aria-current\=\"true\"\]\,_\&\[aria-current\=\"page\"\]\]\:\[\&_button\:focus-visible\]\:focusVisible\:bx-sh-c_var\(--color-current-hover\)[aria-current="page"] button:focus-visible:is(:focus-visible, [data-focus-visible]) {
2762
2802
  --shadow-color: var(--color-current-hover);
2763
2803
  }
package/es/Combobox.js CHANGED
@@ -164,13 +164,9 @@ export const ComboboxRoot = _ref => {
164
164
  let {
165
165
  ...props
166
166
  } = _ref;
167
- return (
168
- /*#__PURE__*/
169
- //@ts-expect-error - withProvider swallows the generic that Combobox.Root expects.
170
- _jsx(InternalComboboxRoot, {
171
- ...props
172
- })
173
- );
167
+ return /*#__PURE__*/_jsx(InternalComboboxRoot, {
168
+ ...props
169
+ });
174
170
  };
175
171
  export const ComboboxClearTrigger = withContext(Combobox.ClearTrigger, "clearTrigger", {
176
172
  baseComponent: true
package/es/Input.js CHANGED
@@ -96,6 +96,9 @@ const baseInputCss = css.raw({
96
96
  },
97
97
  _focus: {
98
98
  appearance: "none"
99
+ },
100
+ _placeholder: {
101
+ color: "text.subtle"
99
102
  }
100
103
  });
101
104
  const baseTextAreaCss = css.raw({
@@ -39,7 +39,7 @@ export const listItemRecipe = sva({
39
39
  },
40
40
  content: {
41
41
  display: "flex",
42
- alignItems: "flex-start",
42
+ alignItems: "center",
43
43
  justifyContent: "space-between",
44
44
  gap: "xsmall",
45
45
  width: "100%"
@@ -75,12 +75,25 @@ export const listItemRecipe = sva({
75
75
  root: {
76
76
  '&[aria-current="true"], &[aria-current="page"]': {
77
77
  background: "var(--background-current)",
78
- borderBlockStartColor: "transparent",
79
- borderBlockEndColor: "transparent",
80
78
  color: "var(--color-current-hover)",
79
+ borderColor: "var(--border-color-current)",
80
+ position: "relative",
81
+ _before: {
82
+ content: "''",
83
+ position: "absolute",
84
+ borderInline: "6px solid",
85
+ borderColor: "var(--border-color-current)",
86
+ bottom: "-1px",
87
+ top: "-1px",
88
+ left: "0",
89
+ width: "100%"
90
+ },
81
91
  _hover: {
82
92
  background: "var(--background-hover)",
83
- color: "text.default"
93
+ color: "text.default",
94
+ _before: {
95
+ display: "none"
96
+ }
84
97
  },
85
98
  _highlighted: {
86
99
  background: "var(--background-hover)",
@@ -109,18 +122,20 @@ export const listItemRecipe = sva({
109
122
  colorTheme: {
110
123
  brand1: {
111
124
  root: {
112
- "--background-hover": "colors.surface.brand.1.subtle",
113
- "--background-current": "colors.surface.actionSubtle.selected",
125
+ "--background-hover": "colors.surface.action.brand.1.hover",
126
+ "--background-current": "colors.surface.action.brand.1.selected",
114
127
  "--border-hover": "colors.stroke.hover",
115
- "--color-current-hover": "colors.text.onAction"
128
+ "--color-current-hover": "colors.text.default",
129
+ "--border-color-current": "colors.stroke.default"
116
130
  }
117
131
  },
118
132
  brand2: {
119
133
  root: {
120
134
  "--background-hover": "colors.surface.brand.2.moderate",
121
- "--background-current": "colors.surface.brand.2.bold",
135
+ "--background-current": "colors.surface.action.brand.2.selected",
122
136
  "--border-hover": "colors.surface.brand.2.strong",
123
- "--color-current-hover": "colors.text.onAction"
137
+ "--color-current-hover": "colors.text.default",
138
+ "--border-color-current": "colors.surface.brand.2.strong"
124
139
  }
125
140
  },
126
141
  brand3: {
@@ -128,7 +143,8 @@ export const listItemRecipe = sva({
128
143
  "--background-hover": "colors.surface.action.myNdla.hover",
129
144
  "--background-current": "colors.surface.action.myNdla.current",
130
145
  "--border-hover": "colors.stroke.subtle",
131
- "--color-current-hover": "colors.text.default"
146
+ "--color-current-hover": "colors.text.default",
147
+ "--border-color-current": "colors.stroke.subtle"
132
148
  }
133
149
  }
134
150
  },
@@ -146,15 +162,9 @@ export const listItemRecipe = sva({
146
162
  },
147
163
  list: {
148
164
  root: {
149
- borderBlockStartColor: "stroke.subtle",
150
- borderBlockEndColor: "transparent",
151
- marginBlockStart: "-1px",
152
- _first: {
153
- borderBlockStartColor: "transparent"
154
- },
155
- _last: {
156
- borderBlockEndColor: "stroke.subtle"
157
- }
165
+ borderBlockStartColor: "transparent",
166
+ borderBlockEndColor: "stroke.subtle",
167
+ marginBlockStart: "-1px"
158
168
  }
159
169
  }
160
170
  }
package/es/Select.js CHANGED
@@ -151,15 +151,11 @@ export const SelectRoot = _ref => {
151
151
  unmountOnExit = true,
152
152
  ...props
153
153
  } = _ref;
154
- return (
155
- /*#__PURE__*/
156
- //@ts-expect-error -- T does not necessarily match Select.CollectionItem. However, we prefer to use T over Select.CollectionItem to get the correct type during use.
157
- _jsx(InternalSelectRoot, {
158
- lazyMount: lazyMount,
159
- unmountOnExit: unmountOnExit,
160
- ...props
161
- })
162
- );
154
+ return /*#__PURE__*/_jsx(InternalSelectRoot, {
155
+ lazyMount: lazyMount,
156
+ unmountOnExit: unmountOnExit,
157
+ ...props
158
+ });
163
159
  };
164
160
  export const SelectClearTrigger = withContext(Select.ClearTrigger, "clearTrigger", {
165
161
  baseComponent: true
package/es/Switch.js CHANGED
@@ -129,11 +129,11 @@ export const SwitchLabel = _ref => {
129
129
  } = _ref;
130
130
  return /*#__PURE__*/_jsx(InternalSwitchLabel, {
131
131
  asChild: true,
132
+ ...props,
132
133
  children: /*#__PURE__*/_jsx(Text, {
133
134
  asChild: true,
134
135
  consumeCss: true,
135
136
  textStyle: textStyle,
136
- ...props,
137
137
  children: /*#__PURE__*/_jsx("span", {
138
138
  children: children
139
139
  })
package/es/index.js CHANGED
@@ -22,6 +22,7 @@ export { FieldRoot, FieldsetRoot } from "./Field";
22
22
  export { FieldErrorMessage, FieldsetErrorText } from "./FieldErrorMessage";
23
23
  export { FieldHelper, FieldsetHelper } from "./FieldHelper";
24
24
  export { Figure } from "./Figure";
25
+ export { FileUploadHiddenInput, FileUploadContext, FileUploadRoot, FileUploadDropzone, FileUploadTrigger, FileUploadItemGroup, FileUploadItemPreview, FileUploadItem, FileUploadItemDeleteTrigger, FileUploadItemName, FileUploadItemPreviewImage, FileUploadItemSizeText, FileUploadLabel } from "./FileUpload";
25
26
  export { FramedContent } from "./FramedContent";
26
27
  export { Hero, HeroBackground, HeroContent } from "./Hero";
27
28
  export { Picture, Img, Image, makeSrcQueryString, getSrcSet } from "./Image";
package/lib/Combobox.d.ts CHANGED
@@ -45,7 +45,7 @@ export type ComboboxVariantProps = RecipeVariantProps<typeof comboboxRecipe>;
45
45
  export type ComboboxRootProps<T extends Combobox.CollectionItem> = Combobox.RootProps<T> & ComboboxVariantProps & JsxStyleProps & {
46
46
  translations: Combobox.RootProps<T>["translations"];
47
47
  };
48
- export declare const ComboboxRoot: <T extends Combobox.CollectionItem>({ ...props }: ComboboxRootProps<T>) => import("react/jsx-runtime").JSX.Element;
48
+ export declare const ComboboxRoot: <T extends unknown>({ ...props }: ComboboxRootProps<T>) => import("react/jsx-runtime").JSX.Element;
49
49
  export type ComboboxClearTriggerProps = Combobox.ClearTriggerProps & JsxStyleProps;
50
50
  export declare const ComboboxClearTrigger: import("react").ForwardRefExoticComponent<Combobox.ClearTriggerProps & {
51
51
  consumeCss?: boolean | undefined;
package/lib/Combobox.js CHANGED
@@ -170,13 +170,9 @@ const ComboboxRoot = _ref => {
170
170
  let {
171
171
  ...props
172
172
  } = _ref;
173
- return (
174
- /*#__PURE__*/
175
- //@ts-expect-error - withProvider swallows the generic that Combobox.Root expects.
176
- (0, _jsxRuntime.jsx)(InternalComboboxRoot, {
177
- ...props
178
- })
179
- );
173
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(InternalComboboxRoot, {
174
+ ...props
175
+ });
180
176
  };
181
177
  exports.ComboboxRoot = ComboboxRoot;
182
178
  const ComboboxClearTrigger = exports.ComboboxClearTrigger = withContext(_react.Combobox.ClearTrigger, "clearTrigger", {
@@ -8,7 +8,7 @@
8
8
  import { FileUpload } from "@ark-ui/react";
9
9
  import { RecipeVariantProps } from "@ndla/styled-system/css";
10
10
  import { TextProps } from "./Text";
11
- declare const fileUploadRecipe: import("@ndla/styled-system/types").SlotRecipeRuntimeFn<"label" | "root" | "item" | "itemGroup" | "trigger" | "dropzone" | "itemDeleteTrigger" | "itemName" | "itemPreview" | "itemPreviewImage" | "itemSizeText", import("@ndla/styled-system/types").SlotRecipeVariantRecord<"label" | "root" | "item" | "itemGroup" | "trigger" | "dropzone" | "itemDeleteTrigger" | "itemName" | "itemPreview" | "itemPreviewImage" | "itemSizeText">>;
11
+ declare const fileUploadRecipe: import("@ndla/styled-system/types").SlotRecipeRuntimeFn<"label" | "root" | "item" | "clearTrigger" | "itemGroup" | "trigger" | "dropzone" | "itemDeleteTrigger" | "itemName" | "itemPreview" | "itemPreviewImage" | "itemSizeText", import("@ndla/styled-system/types").SlotRecipeVariantRecord<"label" | "root" | "item" | "clearTrigger" | "itemGroup" | "trigger" | "dropzone" | "itemDeleteTrigger" | "itemName" | "itemPreview" | "itemPreviewImage" | "itemSizeText">>;
12
12
  export type FileUploadVariantProps = RecipeVariantProps<typeof fileUploadRecipe>;
13
13
  export type FileUploadRootProps = FileUpload.RootProps & FileUploadVariantProps;
14
14
  export declare const FileUploadHiddenInput: import("react").ForwardRefExoticComponent<FileUpload.HiddenInputProps & import("react").RefAttributes<HTMLInputElement>>;
package/lib/Input.js CHANGED
@@ -102,6 +102,9 @@ const baseInputCss = _css.css.raw({
102
102
  },
103
103
  _focus: {
104
104
  appearance: "none"
105
+ },
106
+ _placeholder: {
107
+ color: "text.subtle"
105
108
  }
106
109
  });
107
110
  const baseTextAreaCss = _css.css.raw({
@@ -27,12 +27,25 @@ export declare const listItemRecipe: import("@ndla/styled-system/types").SlotRec
27
27
  root: {
28
28
  '&[aria-current="true"], &[aria-current="page"]': {
29
29
  background: "var(--background-current)";
30
- borderBlockStartColor: "transparent";
31
- borderBlockEndColor: "transparent";
32
30
  color: "var(--color-current-hover)";
31
+ borderColor: "var(--border-color-current)";
32
+ position: "relative";
33
+ _before: {
34
+ content: "''";
35
+ position: "absolute";
36
+ borderInline: "6px solid";
37
+ borderColor: "var(--border-color-current)";
38
+ bottom: "-1px";
39
+ top: "-1px";
40
+ left: "0";
41
+ width: "100%";
42
+ };
33
43
  _hover: {
34
44
  background: "var(--background-hover)";
35
45
  color: "text.default";
46
+ _before: {
47
+ display: "none";
48
+ };
36
49
  };
37
50
  _highlighted: {
38
51
  background: "var(--background-hover)";
@@ -61,18 +74,20 @@ export declare const listItemRecipe: import("@ndla/styled-system/types").SlotRec
61
74
  colorTheme: {
62
75
  brand1: {
63
76
  root: {
64
- "--background-hover": "colors.surface.brand.1.subtle";
65
- "--background-current": "colors.surface.actionSubtle.selected";
77
+ "--background-hover": "colors.surface.action.brand.1.hover";
78
+ "--background-current": "colors.surface.action.brand.1.selected";
66
79
  "--border-hover": "colors.stroke.hover";
67
- "--color-current-hover": "colors.text.onAction";
80
+ "--color-current-hover": "colors.text.default";
81
+ "--border-color-current": "colors.stroke.default";
68
82
  };
69
83
  };
70
84
  brand2: {
71
85
  root: {
72
86
  "--background-hover": "colors.surface.brand.2.moderate";
73
- "--background-current": "colors.surface.brand.2.bold";
87
+ "--background-current": "colors.surface.action.brand.2.selected";
74
88
  "--border-hover": "colors.surface.brand.2.strong";
75
- "--color-current-hover": "colors.text.onAction";
89
+ "--color-current-hover": "colors.text.default";
90
+ "--border-color-current": "colors.surface.brand.2.strong";
76
91
  };
77
92
  };
78
93
  brand3: {
@@ -81,6 +96,7 @@ export declare const listItemRecipe: import("@ndla/styled-system/types").SlotRec
81
96
  "--background-current": "colors.surface.action.myNdla.current";
82
97
  "--border-hover": "colors.stroke.subtle";
83
98
  "--color-current-hover": "colors.text.default";
99
+ "--border-color-current": "colors.stroke.subtle";
84
100
  };
85
101
  };
86
102
  };
@@ -98,15 +114,9 @@ export declare const listItemRecipe: import("@ndla/styled-system/types").SlotRec
98
114
  };
99
115
  list: {
100
116
  root: {
101
- borderBlockStartColor: "stroke.subtle";
102
- borderBlockEndColor: "transparent";
117
+ borderBlockStartColor: "transparent";
118
+ borderBlockEndColor: "stroke.subtle";
103
119
  marginBlockStart: "-1px";
104
- _first: {
105
- borderBlockStartColor: "transparent";
106
- };
107
- _last: {
108
- borderBlockEndColor: "stroke.subtle";
109
- };
110
120
  };
111
121
  };
112
122
  };
@@ -45,7 +45,7 @@ const listItemRecipe = exports.listItemRecipe = (0, _css.sva)({
45
45
  },
46
46
  content: {
47
47
  display: "flex",
48
- alignItems: "flex-start",
48
+ alignItems: "center",
49
49
  justifyContent: "space-between",
50
50
  gap: "xsmall",
51
51
  width: "100%"
@@ -81,12 +81,25 @@ const listItemRecipe = exports.listItemRecipe = (0, _css.sva)({
81
81
  root: {
82
82
  '&[aria-current="true"], &[aria-current="page"]': {
83
83
  background: "var(--background-current)",
84
- borderBlockStartColor: "transparent",
85
- borderBlockEndColor: "transparent",
86
84
  color: "var(--color-current-hover)",
85
+ borderColor: "var(--border-color-current)",
86
+ position: "relative",
87
+ _before: {
88
+ content: "''",
89
+ position: "absolute",
90
+ borderInline: "6px solid",
91
+ borderColor: "var(--border-color-current)",
92
+ bottom: "-1px",
93
+ top: "-1px",
94
+ left: "0",
95
+ width: "100%"
96
+ },
87
97
  _hover: {
88
98
  background: "var(--background-hover)",
89
- color: "text.default"
99
+ color: "text.default",
100
+ _before: {
101
+ display: "none"
102
+ }
90
103
  },
91
104
  _highlighted: {
92
105
  background: "var(--background-hover)",
@@ -115,18 +128,20 @@ const listItemRecipe = exports.listItemRecipe = (0, _css.sva)({
115
128
  colorTheme: {
116
129
  brand1: {
117
130
  root: {
118
- "--background-hover": "colors.surface.brand.1.subtle",
119
- "--background-current": "colors.surface.actionSubtle.selected",
131
+ "--background-hover": "colors.surface.action.brand.1.hover",
132
+ "--background-current": "colors.surface.action.brand.1.selected",
120
133
  "--border-hover": "colors.stroke.hover",
121
- "--color-current-hover": "colors.text.onAction"
134
+ "--color-current-hover": "colors.text.default",
135
+ "--border-color-current": "colors.stroke.default"
122
136
  }
123
137
  },
124
138
  brand2: {
125
139
  root: {
126
140
  "--background-hover": "colors.surface.brand.2.moderate",
127
- "--background-current": "colors.surface.brand.2.bold",
141
+ "--background-current": "colors.surface.action.brand.2.selected",
128
142
  "--border-hover": "colors.surface.brand.2.strong",
129
- "--color-current-hover": "colors.text.onAction"
143
+ "--color-current-hover": "colors.text.default",
144
+ "--border-color-current": "colors.surface.brand.2.strong"
130
145
  }
131
146
  },
132
147
  brand3: {
@@ -134,7 +149,8 @@ const listItemRecipe = exports.listItemRecipe = (0, _css.sva)({
134
149
  "--background-hover": "colors.surface.action.myNdla.hover",
135
150
  "--background-current": "colors.surface.action.myNdla.current",
136
151
  "--border-hover": "colors.stroke.subtle",
137
- "--color-current-hover": "colors.text.default"
152
+ "--color-current-hover": "colors.text.default",
153
+ "--border-color-current": "colors.stroke.subtle"
138
154
  }
139
155
  }
140
156
  },
@@ -152,15 +168,9 @@ const listItemRecipe = exports.listItemRecipe = (0, _css.sva)({
152
168
  },
153
169
  list: {
154
170
  root: {
155
- borderBlockStartColor: "stroke.subtle",
156
- borderBlockEndColor: "transparent",
157
- marginBlockStart: "-1px",
158
- _first: {
159
- borderBlockStartColor: "transparent"
160
- },
161
- _last: {
162
- borderBlockEndColor: "stroke.subtle"
163
- }
171
+ borderBlockStartColor: "transparent",
172
+ borderBlockEndColor: "stroke.subtle",
173
+ marginBlockStart: "-1px"
164
174
  }
165
175
  }
166
176
  }
package/lib/Select.d.ts CHANGED
@@ -9,7 +9,7 @@ import { Select } from "@ark-ui/react";
9
9
  import { JsxStyleProps } from "@ndla/styled-system/types";
10
10
  import { TextProps } from "./Text";
11
11
  export type SelectRootProps<T extends Select.CollectionItem> = Select.RootProps<T> & JsxStyleProps;
12
- export declare const SelectRoot: <T extends Select.CollectionItem>({ lazyMount, unmountOnExit, ...props }: SelectRootProps<T>) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const SelectRoot: <T extends unknown>({ lazyMount, unmountOnExit, ...props }: SelectRootProps<T>) => import("react/jsx-runtime").JSX.Element;
13
13
  export declare const SelectClearTrigger: import("react").ForwardRefExoticComponent<Select.ClearTriggerProps & {
14
14
  consumeCss?: boolean | undefined;
15
15
  } & import("@ndla/styled-system/types").WithCss & import("react").RefAttributes<HTMLButtonElement>>;
package/lib/Select.js CHANGED
@@ -157,15 +157,11 @@ const SelectRoot = _ref => {
157
157
  unmountOnExit = true,
158
158
  ...props
159
159
  } = _ref;
160
- return (
161
- /*#__PURE__*/
162
- //@ts-expect-error -- T does not necessarily match Select.CollectionItem. However, we prefer to use T over Select.CollectionItem to get the correct type during use.
163
- (0, _jsxRuntime.jsx)(InternalSelectRoot, {
164
- lazyMount: lazyMount,
165
- unmountOnExit: unmountOnExit,
166
- ...props
167
- })
168
- );
160
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(InternalSelectRoot, {
161
+ lazyMount: lazyMount,
162
+ unmountOnExit: unmountOnExit,
163
+ ...props
164
+ });
169
165
  };
170
166
  exports.SelectRoot = SelectRoot;
171
167
  const SelectClearTrigger = exports.SelectClearTrigger = withContext(_react2.Select.ClearTrigger, "clearTrigger", {
package/lib/Switch.js CHANGED
@@ -135,11 +135,11 @@ const SwitchLabel = _ref => {
135
135
  } = _ref;
136
136
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(InternalSwitchLabel, {
137
137
  asChild: true,
138
+ ...props,
138
139
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
139
140
  asChild: true,
140
141
  consumeCss: true,
141
142
  textStyle: textStyle,
142
- ...props,
143
143
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
144
144
  children: children
145
145
  })
package/lib/index.d.ts CHANGED
@@ -32,6 +32,8 @@ export { FieldErrorMessage, FieldsetErrorText } from "./FieldErrorMessage";
32
32
  export { FieldHelper, FieldsetHelper } from "./FieldHelper";
33
33
  export type { FigureSize, FigureVariantProps, FigureProps, FigureFloat } from "./Figure";
34
34
  export { Figure } from "./Figure";
35
+ export type { FileUploadRootProps, FileUploadVariantProps } from "./FileUpload";
36
+ export { FileUploadHiddenInput, FileUploadContext, FileUploadRoot, FileUploadDropzone, FileUploadTrigger, FileUploadItemGroup, FileUploadItemPreview, FileUploadItem, FileUploadItemDeleteTrigger, FileUploadItemName, FileUploadItemPreviewImage, FileUploadItemSizeText, FileUploadLabel, } from "./FileUpload";
35
37
  export type { FramedContentVariantProps, FramedContentProps } from "./FramedContent";
36
38
  export { FramedContent } from "./FramedContent";
37
39
  export type { HeroVariantProps, HeroVariant, HeroProps, HeroBackgroundProps, HeroContentProps } from "./Hero";
package/lib/index.js CHANGED
@@ -387,6 +387,84 @@ Object.defineProperty(exports, "Figure", {
387
387
  return _Figure.Figure;
388
388
  }
389
389
  });
390
+ Object.defineProperty(exports, "FileUploadContext", {
391
+ enumerable: true,
392
+ get: function () {
393
+ return _FileUpload.FileUploadContext;
394
+ }
395
+ });
396
+ Object.defineProperty(exports, "FileUploadDropzone", {
397
+ enumerable: true,
398
+ get: function () {
399
+ return _FileUpload.FileUploadDropzone;
400
+ }
401
+ });
402
+ Object.defineProperty(exports, "FileUploadHiddenInput", {
403
+ enumerable: true,
404
+ get: function () {
405
+ return _FileUpload.FileUploadHiddenInput;
406
+ }
407
+ });
408
+ Object.defineProperty(exports, "FileUploadItem", {
409
+ enumerable: true,
410
+ get: function () {
411
+ return _FileUpload.FileUploadItem;
412
+ }
413
+ });
414
+ Object.defineProperty(exports, "FileUploadItemDeleteTrigger", {
415
+ enumerable: true,
416
+ get: function () {
417
+ return _FileUpload.FileUploadItemDeleteTrigger;
418
+ }
419
+ });
420
+ Object.defineProperty(exports, "FileUploadItemGroup", {
421
+ enumerable: true,
422
+ get: function () {
423
+ return _FileUpload.FileUploadItemGroup;
424
+ }
425
+ });
426
+ Object.defineProperty(exports, "FileUploadItemName", {
427
+ enumerable: true,
428
+ get: function () {
429
+ return _FileUpload.FileUploadItemName;
430
+ }
431
+ });
432
+ Object.defineProperty(exports, "FileUploadItemPreview", {
433
+ enumerable: true,
434
+ get: function () {
435
+ return _FileUpload.FileUploadItemPreview;
436
+ }
437
+ });
438
+ Object.defineProperty(exports, "FileUploadItemPreviewImage", {
439
+ enumerable: true,
440
+ get: function () {
441
+ return _FileUpload.FileUploadItemPreviewImage;
442
+ }
443
+ });
444
+ Object.defineProperty(exports, "FileUploadItemSizeText", {
445
+ enumerable: true,
446
+ get: function () {
447
+ return _FileUpload.FileUploadItemSizeText;
448
+ }
449
+ });
450
+ Object.defineProperty(exports, "FileUploadLabel", {
451
+ enumerable: true,
452
+ get: function () {
453
+ return _FileUpload.FileUploadLabel;
454
+ }
455
+ });
456
+ Object.defineProperty(exports, "FileUploadRoot", {
457
+ enumerable: true,
458
+ get: function () {
459
+ return _FileUpload.FileUploadRoot;
460
+ }
461
+ });
462
+ Object.defineProperty(exports, "FileUploadTrigger", {
463
+ enumerable: true,
464
+ get: function () {
465
+ return _FileUpload.FileUploadTrigger;
466
+ }
467
+ });
390
468
  Object.defineProperty(exports, "FramedContent", {
391
469
  enumerable: true,
392
470
  get: function () {
@@ -1237,6 +1315,7 @@ var _Field = require("./Field");
1237
1315
  var _FieldErrorMessage = require("./FieldErrorMessage");
1238
1316
  var _FieldHelper = require("./FieldHelper");
1239
1317
  var _Figure = require("./Figure");
1318
+ var _FileUpload = require("./FileUpload");
1240
1319
  var _FramedContent = require("./FramedContent");
1241
1320
  var _Hero = require("./Hero");
1242
1321
  var _Image = require("./Image");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndla/primitives",
3
- "version": "1.0.36-alpha.0",
3
+ "version": "1.0.37-alpha.0",
4
4
  "description": "Primitive components for NDLA.",
5
5
  "license": "GPL-3.0",
6
6
  "main": "lib/index.js",
@@ -28,7 +28,7 @@
28
28
  "lib"
29
29
  ],
30
30
  "dependencies": {
31
- "@ark-ui/react": "^3.12.1",
31
+ "@ark-ui/react": "^4.0.0",
32
32
  "@ndla/styled-system": "^0.0.23",
33
33
  "@ndla/util": "^5.0.0-alpha.0"
34
34
  },
@@ -43,5 +43,5 @@
43
43
  "publishConfig": {
44
44
  "access": "public"
45
45
  },
46
- "gitHead": "84234a46743d9d044f220e90e6710e2da307d65d"
46
+ "gitHead": "29f766c461881909c892102640cd09944f64d694"
47
47
  }