@ndla/primitives 0.0.17 → 0.0.19

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.
Files changed (55) hide show
  1. package/dist/panda.buildinfo.json +52 -19
  2. package/dist/styles.css +166 -32
  3. package/es/Accordion.js +58 -30
  4. package/es/ArticleLists.js +70 -18
  5. package/es/Button.js +1 -1
  6. package/es/Card/Card.js +77 -0
  7. package/es/Checkbox.js +12 -4
  8. package/es/Combobox.js +33 -10
  9. package/es/Dialog.js +9 -3
  10. package/es/Menu.js +21 -7
  11. package/es/Pagination.js +15 -5
  12. package/es/Popover.js +30 -10
  13. package/es/RadioGroup.js +12 -4
  14. package/es/Select.js +39 -12
  15. package/es/Slider.js +15 -5
  16. package/es/Switch.js +9 -3
  17. package/es/Tabs.js +28 -14
  18. package/es/TagsInput.js +27 -9
  19. package/es/Toast.js +9 -3
  20. package/es/Tooltip.js +15 -5
  21. package/es/createStyleContext.js +4 -10
  22. package/es/index.js +4 -3
  23. package/lib/Accordion.d.ts +41 -2
  24. package/lib/Accordion.js +58 -30
  25. package/lib/ArticleLists.d.ts +56 -11
  26. package/lib/ArticleLists.js +69 -17
  27. package/lib/Badge.d.ts +1 -0
  28. package/lib/Button.d.ts +1 -1
  29. package/lib/Button.js +1 -1
  30. package/lib/Card/Card.d.ts +19 -0
  31. package/lib/Card/Card.js +83 -0
  32. package/lib/Checkbox.js +12 -4
  33. package/lib/Combobox.d.ts +49 -13
  34. package/lib/Combobox.js +34 -11
  35. package/lib/Dialog.js +9 -3
  36. package/lib/Menu.js +21 -7
  37. package/lib/Pagination.d.ts +6 -2
  38. package/lib/Pagination.js +15 -5
  39. package/lib/Popover.js +30 -10
  40. package/lib/RadioGroup.js +12 -4
  41. package/lib/Select.d.ts +3 -0
  42. package/lib/Select.js +40 -13
  43. package/lib/Slider.js +15 -5
  44. package/lib/Switch.js +9 -3
  45. package/lib/Tabs.d.ts +12 -7
  46. package/lib/Tabs.js +27 -13
  47. package/lib/TagsInput.d.ts +15 -2
  48. package/lib/TagsInput.js +27 -9
  49. package/lib/Toast.js +9 -3
  50. package/lib/Tooltip.js +15 -5
  51. package/lib/createStyleContext.d.ts +5 -2
  52. package/lib/createStyleContext.js +4 -10
  53. package/lib/index.d.ts +7 -6
  54. package/lib/index.js +49 -0
  55. package/package.json +3 -3
package/es/Tabs.js CHANGED
@@ -6,12 +6,14 @@
6
6
  *
7
7
  */
8
8
 
9
- import { Tabs, tabsAnatomy } from "@ark-ui/react";
9
+ import { Tabs } from "@ark-ui/react";
10
10
  import { cx, sva } from "@ndla/styled-system/css";
11
11
  import { createStyleContext } from "./createStyleContext";
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  const tabsRecipe = sva({
14
- slots: tabsAnatomy.keys(),
14
+ // TODO: This still doesn't work. Need to figure out why we need to pass keys manually.
15
+ // slots: tabsAnatomy.keys(),
16
+ slots: ["root", "list", "trigger", "content", "indicator"],
15
17
  base: {
16
18
  root: {
17
19
  position: "relative",
@@ -28,7 +30,7 @@ const tabsRecipe = sva({
28
30
  position: "relative",
29
31
  display: "flex",
30
32
  flexShrink: "0",
31
- overflow: "auto",
33
+ flexWrap: "wrap",
32
34
  _horizontal: {
33
35
  flexDirection: "row"
34
36
  },
@@ -106,10 +108,9 @@ const tabsRecipe = sva({
106
108
  },
107
109
  indicator: {
108
110
  background: "transparent",
109
- outline: "4px solid",
111
+ outline: "3px solid",
110
112
  outlineColor: "stroke.default",
111
- pointerEvents: "none",
112
- outlineOffset: "-4px",
113
+ outlineOffset: "-3px",
113
114
  _peerFocusVisible: {
114
115
  height: "var(--height)",
115
116
  width: "var(--width)",
@@ -121,14 +122,17 @@ const tabsRecipe = sva({
121
122
  }
122
123
  },
123
124
  _horizontal: {
124
- bottom: "0",
125
- height: "2",
125
+ top: "calc(var(--top) + var(--height) - 6px)",
126
+ _peerFocusVisible: {
127
+ top: "var(--top)"
128
+ },
129
+ height: "3",
126
130
  width: "var(--width)"
127
131
  },
128
132
  _vertical: {
129
133
  height: "var(--height)",
130
134
  left: "0",
131
- width: "2"
135
+ width: "3"
132
136
  }
133
137
  },
134
138
  content: {
@@ -201,7 +205,9 @@ const {
201
205
  withProvider,
202
206
  withContext
203
207
  } = createStyleContext(tabsRecipe);
204
- const InternalTabsRoot = withProvider(Tabs.Root, "root");
208
+ const InternalTabsRoot = withProvider(Tabs.Root, "root", {
209
+ baseComponent: true
210
+ });
205
211
  export const TabsRoot = _ref => {
206
212
  let {
207
213
  lazyMount = true,
@@ -214,10 +220,18 @@ export const TabsRoot = _ref => {
214
220
  ...props
215
221
  });
216
222
  };
217
- export const TabsContent = withContext(Tabs.Content, "content");
218
- export const TabsIndicator = withContext(Tabs.Indicator, "indicator");
219
- export const TabsList = withContext(Tabs.List, "list");
220
- const InternalTabsTrigger = withContext(Tabs.Trigger, "trigger");
223
+ export const TabsContent = withContext(Tabs.Content, "content", {
224
+ baseComponent: true
225
+ });
226
+ export const TabsIndicator = withContext(Tabs.Indicator, "indicator", {
227
+ baseComponent: true
228
+ });
229
+ export const TabsList = withContext(Tabs.List, "list", {
230
+ baseComponent: true
231
+ });
232
+ const InternalTabsTrigger = withContext(Tabs.Trigger, "trigger", {
233
+ baseComponent: true
234
+ });
221
235
  export const TabsTrigger = _ref2 => {
222
236
  let {
223
237
  className,
package/es/TagsInput.js CHANGED
@@ -94,15 +94,33 @@ const {
94
94
  withProvider,
95
95
  withContext
96
96
  } = createStyleContext(tagsInputRecipe);
97
- export const TagsInputRoot = withProvider(TagsInput.Root, "root");
98
- export const TagsInputClearTrigger = withContext(TagsInput.ClearTrigger, "clearTrigger");
99
- export const TagsInputControl = withContext(TagsInput.Control, "control");
100
- export const TagsInputInput = withContext(TagsInput.Input, "input");
101
- export const TagsInputItemDeleteTrigger = withContext(TagsInput.ItemDeleteTrigger, "itemDeleteTrigger");
102
- export const TagsInputItemInput = withContext(TagsInput.ItemInput, "itemInput");
103
- export const TagsInputItemPreview = withContext(TagsInput.ItemPreview, "itemPreview");
104
- export const TagsInputItem = withContext(TagsInput.Item, "item");
105
- export const TagsInputItemText = withContext(TagsInput.ItemText, "itemText");
97
+ export const TagsInputRoot = withProvider(TagsInput.Root, "root", {
98
+ baseComponent: true
99
+ });
100
+ export const TagsInputClearTrigger = withContext(TagsInput.ClearTrigger, "clearTrigger", {
101
+ baseComponent: true
102
+ });
103
+ export const TagsInputControl = withContext(TagsInput.Control, "control", {
104
+ baseComponent: true
105
+ });
106
+ export const TagsInputInput = withContext(TagsInput.Input, "input", {
107
+ baseComponent: true
108
+ });
109
+ export const TagsInputItemDeleteTrigger = withContext(TagsInput.ItemDeleteTrigger, "itemDeleteTrigger", {
110
+ baseComponent: true
111
+ });
112
+ export const TagsInputItemInput = withContext(TagsInput.ItemInput, "itemInput", {
113
+ baseComponent: true
114
+ });
115
+ export const TagsInputItemPreview = withContext(TagsInput.ItemPreview, "itemPreview", {
116
+ baseComponent: true
117
+ });
118
+ export const TagsInputItem = withContext(TagsInput.Item, "item", {
119
+ baseComponent: true
120
+ });
121
+ export const TagsInputItemText = withContext(TagsInput.ItemText, "itemText", {
122
+ baseComponent: true
123
+ });
106
124
  const InternalTagsInputLabel = withContext(TagsInput.Label, "label");
107
125
  export const TagsInputLabel = /*#__PURE__*/forwardRef((_ref, ref) => {
108
126
  let {
package/es/Toast.js CHANGED
@@ -44,9 +44,15 @@ const {
44
44
  withProvider,
45
45
  withContext
46
46
  } = createStyleContext(toastRecipe);
47
- export const ToastRoot = withProvider(Toast.Root, "root");
48
- export const ToastActionTrigger = withContext(Toast.ActionTrigger, "actionTrigger");
49
- export const ToastCloseTrigger = withContext(Toast.CloseTrigger, "closeTrigger");
47
+ export const ToastRoot = withProvider(Toast.Root, "root", {
48
+ baseComponent: true
49
+ });
50
+ export const ToastActionTrigger = withContext(Toast.ActionTrigger, "actionTrigger", {
51
+ baseComponent: true
52
+ });
53
+ export const ToastCloseTrigger = withContext(Toast.CloseTrigger, "closeTrigger", {
54
+ baseComponent: true
55
+ });
50
56
  const InternalToastDescription = withContext(Toast.Description, "description");
51
57
  export const ToastDescription = _ref => {
52
58
  let {
package/es/Tooltip.js CHANGED
@@ -36,9 +36,15 @@ const {
36
36
  withContext
37
37
  } = createStyleContext(tooltipRecipe);
38
38
  export const TooltipRoot = withRootProvider(Tooltip.Root);
39
- export const TooltipArrow = withContext(Tooltip.Arrow, "arrow");
40
- export const TooltipArrowTip = withContext(Tooltip.ArrowTip, "arrowTip");
41
- export const TooltipContentStandalone = withContext(Tooltip.Content, "content");
39
+ export const TooltipArrow = withContext(Tooltip.Arrow, "arrow", {
40
+ baseComponent: true
41
+ });
42
+ export const TooltipArrowTip = withContext(Tooltip.ArrowTip, "arrowTip", {
43
+ baseComponent: true
44
+ });
45
+ export const TooltipContentStandalone = withContext(Tooltip.Content, "content", {
46
+ baseComponent: true
47
+ });
42
48
  export const TooltipContent = /*#__PURE__*/forwardRef((_ref, ref) => {
43
49
  let {
44
50
  children,
@@ -54,5 +60,9 @@ export const TooltipContent = /*#__PURE__*/forwardRef((_ref, ref) => {
54
60
  })
55
61
  });
56
62
  });
57
- export const TooltipPositioner = withContext(Tooltip.Positioner, "positioner");
58
- export const TooltipTrigger = withContext(Tooltip.Trigger, "trigger");
63
+ export const TooltipPositioner = withContext(Tooltip.Positioner, "positioner", {
64
+ baseComponent: true
65
+ });
66
+ export const TooltipTrigger = withContext(Tooltip.Trigger, "trigger", {
67
+ baseComponent: true
68
+ });
@@ -29,11 +29,8 @@ export const createStyleContext = recipe => {
29
29
  };
30
30
  return StyledComponent;
31
31
  };
32
- const withProvider = (Component, slot) => {
33
- const opts = typeof Component === "string" ? undefined : {
34
- baseComponent: true
35
- };
36
- const StyledComponent = styled(Component, {}, opts);
32
+ const withProvider = (Component, slot, options) => {
33
+ const StyledComponent = styled(Component, {}, options);
37
34
  return /*#__PURE__*/forwardRef((_ref, ref) => {
38
35
  let {
39
36
  css: cssProp,
@@ -51,11 +48,8 @@ export const createStyleContext = recipe => {
51
48
  });
52
49
  });
53
50
  };
54
- const withContext = (Component, slot) => {
55
- const opts = typeof Component === "string" ? undefined : {
56
- baseComponent: true
57
- };
58
- const StyledComponent = styled(Component, {}, opts);
51
+ const withContext = (Component, slot, options) => {
52
+ const StyledComponent = styled(Component, {}, options);
59
53
  return /*#__PURE__*/forwardRef((_ref2, ref) => {
60
54
  let {
61
55
  css: cssProp,
package/es/index.js CHANGED
@@ -11,8 +11,9 @@ export { OrderedList, UnOrderedList, DefinitionList } from "./ArticleLists";
11
11
  export { Badge } from "./Badge";
12
12
  export { BlockQuote } from "./BlockQuote";
13
13
  export { Button, IconButton, buttonBaseRecipe, buttonRecipe, iconButtonRecipe } from "./Button";
14
+ export { CardRoot, CardHeading, CardContent, CardImage } from "./Card/Card";
14
15
  export { CheckboxRoot, CheckboxIndicator, CheckboxLabel, CheckboxControl, CheckboxGroup, CheckboxHiddenInput } from "./Checkbox";
15
- export { ComboboxRoot, ComboboxClearTrigger, ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItemGroupLabel, ComboboxItemGroup, ComboboxItemIndicator, ComboboxItem, ComboboxItemText, ComboboxLabel, ComboboxPositioner, ComboboxTrigger } from "./Combobox";
16
+ export { ComboboxRoot, ComboboxClearTrigger, ComboboxContent, ComboboxControl, ComboboxInput, ComboboxItemGroupLabel, ComboboxItemGroup, ComboboxItemIndicator, ComboboxItem, ComboboxItemText, ComboboxLabel, ComboboxPositioner, ComboboxTrigger, ComboboxList } from "./Combobox";
16
17
  export { DialogRoot, DialogBackdrop, DialogStandaloneContent, DialogPositioner, DialogContent, DialogDescription, DialogTitle, DialogTrigger, DialogCloseTrigger, DialogHeader, DialogBody } from "./Dialog";
17
18
  export { ExpandableBox, ExpandableBoxSummary } from "./ExpandableBox";
18
19
  export { FieldRoot } from "./Field";
@@ -20,7 +21,7 @@ export { FieldErrorMessage } from "./FieldErrorMessage";
20
21
  export { FieldHelper } from "./FieldHelper";
21
22
  export { Figure } from "./Figure";
22
23
  export { FramedContent } from "./FramedContent";
23
- export { Picture, Img, Image } from "./Image";
24
+ export { Picture, Img, Image, makeSrcQueryString, getSrcSet } from "./Image";
24
25
  export { Input, FieldInput, InputContainer, TextArea, FieldTextArea } from "./Input";
25
26
  export { Label, FieldLabel } from "./Label";
26
27
  export { MenuRoot, MenuContent, MenuItemGroupLabel, MenuItemGroup, MenuItem, MenuPositioner, MenuTriggerItem, MenuTrigger, MenuSeparator } from "./Menu";
@@ -29,7 +30,7 @@ export { NdlaLogoEn, NdlaLogoNb, NdlaLogoText } from "./NdlaLogo";
29
30
  export { PaginationRoot, PaginationItem, PaginationEllipsis, PaginationPrevTrigger, PaginationNextTrigger } from "./Pagination";
30
31
  export { PopoverRoot, PopoverAnchor, PopoverArrowStandalone, PopoverArrow, PopoverArrowTip, PopoverCloseTrigger, PopoverContentStandalone, PopoverContent, PopoverDescription, PopoverIndicator, PopoverPositioner, PopoverTitle, PopoverTrigger } from "./Popover";
31
32
  export { RadioGroupRoot, RadioGroupIndicator, RadioGroupItemControl, RadioGroupItem, RadioGroupItemText, RadioGroupLabel, RadioGroupItemHiddenInput } from "./RadioGroup";
32
- export { SelectRoot, SelectClearTrigger, SelectContent, SelectControl, SelectIndicator, SelectItemGroupLabel, SelectItemGroup, SelectItemIndicator, SelectItem, SelectItemText, SelectLabel, SelectPositioner, SelectTrigger, SelectValueText } from "./Select";
33
+ export { SelectRoot, SelectClearTrigger, SelectContent, SelectControl, SelectIndicator, SelectItemGroupLabel, SelectItemGroup, SelectItemIndicator, SelectItem, SelectItemText, SelectLabel, SelectPositioner, SelectTrigger, SelectValueText, SelectList } from "./Select";
33
34
  export { Skeleton } from "./Skeleton";
34
35
  export { SliderRoot, SliderControl, SliderTrack, SliderRange, SliderThumb, SliderLabel, SliderHiddenInput } from "./Slider";
35
36
  export { Spinner } from "./Spinner";
@@ -6,10 +6,48 @@
6
6
  *
7
7
  */
8
8
  import { Accordion } from "@ark-ui/react";
9
- import { JsxStyleProps } from "@ndla/styled-system/types";
9
+ import { JsxStyleProps, RecipeVariantProps } from "@ndla/styled-system/types";
10
+ declare const accordionRecipe: import("@ndla/styled-system/types").SlotRecipeRuntimeFn<"root" | "item" | "itemTrigger" | "itemContent" | "itemIndicator", {
11
+ variant: {
12
+ clean: {};
13
+ bordered: {
14
+ itemTrigger: {
15
+ paddingInline: "medium";
16
+ paddingBlock: "medium";
17
+ width: "100%";
18
+ borderRadius: "xsmall";
19
+ boxShadowColor: "stroke.subtle";
20
+ boxShadow: "inset 0 0 0 1px var(--shadow-color)";
21
+ _hover: {
22
+ background: "surface.actionSubtle.hover";
23
+ boxShadowColor: "stroke.hover";
24
+ };
25
+ _open: {
26
+ backgroundColor: "surface.actionSubtle.active";
27
+ boxShadowColor: "stroke.default";
28
+ borderBottomRadius: "sharp";
29
+ };
30
+ _focusVisible: {
31
+ outline: "none";
32
+ boxShadowColor: "stroke.default";
33
+ boxShadow: "inset 0 0 0 2px var(--shadow-color)";
34
+ };
35
+ };
36
+ itemContent: {
37
+ borderBottomRadius: "xsmall";
38
+ borderWidth: "0 1px 1px";
39
+ borderStyle: "solid";
40
+ borderColor: "stroke.default";
41
+ };
42
+ };
43
+ };
44
+ }>;
45
+ export type AccordionVariantProps = RecipeVariantProps<typeof accordionRecipe>;
10
46
  export interface AccordionRootProps extends JsxStyleProps, Accordion.RootProps {
11
47
  }
12
- export declare const AccordionRoot: import("react").ForwardRefExoticComponent<AccordionRootProps & import("react").RefAttributes<HTMLDivElement>>;
48
+ export declare const AccordionRoot: import("react").ForwardRefExoticComponent<AccordionRootProps & {
49
+ variant?: "bordered" | "clean" | undefined;
50
+ } & import("react").RefAttributes<HTMLDivElement>>;
13
51
  export declare const AccordionItemContent: import("react").ForwardRefExoticComponent<{
14
52
  consumeCss?: boolean | undefined;
15
53
  } & import("@ndla/styled-system/types").WithCss & Accordion.ItemContentProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -22,3 +60,4 @@ export declare const AccordionItem: import("react").ForwardRefExoticComponent<{
22
60
  export declare const AccordionItemTrigger: import("react").ForwardRefExoticComponent<{
23
61
  consumeCss?: boolean | undefined;
24
62
  } & import("@ndla/styled-system/types").WithCss & Accordion.ItemTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
63
+ export {};
package/lib/Accordion.js CHANGED
@@ -29,21 +29,15 @@ const accordionRecipe = (0, _css.sva)({
29
29
  justifyContent: "space-between",
30
30
  background: "surface.default",
31
31
  cursor: "pointer",
32
- paddingInline: "medium",
33
- paddingBlock: "medium",
34
- boxShadowColor: "stroke.subtle",
35
- boxShadow: "inset 0 0 0 1px var(--shadow-color)",
36
- borderRadius: "xsmall",
37
32
  transitionDuration: "fast",
38
33
  transitionTimingFunction: "default",
39
34
  transitionProperty: "background, border-color, border, border-radius",
40
- width: "100%",
41
35
  _closed: {
42
36
  transitionProperty: "background, border-color, border, border-radius"
43
37
  },
44
38
  _disabled: {
45
39
  cursor: "not-allowed",
46
- background: "surface..disabled.subtle",
40
+ background: "surface.disabled.subtle",
47
41
  boxShadowColor: "stroke.disabled",
48
42
  color: "text.disabled",
49
43
  _hover: {
@@ -51,20 +45,6 @@ const accordionRecipe = (0, _css.sva)({
51
45
  boxShadowColor: "stroke.disabled",
52
46
  color: "text.disabled"
53
47
  }
54
- },
55
- _hover: {
56
- background: "surface.actionSubtle.hover",
57
- boxShadowColor: "stroke.hover"
58
- },
59
- _open: {
60
- backgroundColor: "surface.actionSubtle.active",
61
- boxShadowColor: "stroke.default",
62
- borderBottomRadius: "sharp"
63
- },
64
- _focusVisible: {
65
- outline: "none",
66
- boxShadowColor: "stroke.default",
67
- boxShadow: "inset 0 0 0 2px var(--shadow-color)"
68
48
  }
69
49
  },
70
50
  itemIndicator: {
@@ -79,21 +59,59 @@ const accordionRecipe = (0, _css.sva)({
79
59
  },
80
60
  itemContent: {
81
61
  overflow: "hidden",
62
+ // TODO: Is this needed?
82
63
  transitionProperty: "padding-bottom",
83
64
  transitionDuration: "normal",
84
65
  transitionTimingFunction: "default",
85
66
  paddingBlock: "xsmall",
86
67
  paddingInline: "small",
87
- borderBottomRadius: "xsmall",
88
- borderWidth: "0 1px 1px",
89
- borderStyle: "solid",
90
- borderColor: "stroke.default",
91
68
  _open: {
92
69
  animation: "collapse-in"
93
70
  },
94
71
  _closed: {
95
72
  animation: "collapse-out"
96
73
  }
74
+ },
75
+ item: {
76
+ width: "100%"
77
+ }
78
+ },
79
+ defaultVariants: {
80
+ variant: "bordered"
81
+ },
82
+ variants: {
83
+ variant: {
84
+ clean: {},
85
+ bordered: {
86
+ itemTrigger: {
87
+ paddingInline: "medium",
88
+ paddingBlock: "medium",
89
+ width: "100%",
90
+ borderRadius: "xsmall",
91
+ boxShadowColor: "stroke.subtle",
92
+ boxShadow: "inset 0 0 0 1px var(--shadow-color)",
93
+ _hover: {
94
+ background: "surface.actionSubtle.hover",
95
+ boxShadowColor: "stroke.hover"
96
+ },
97
+ _open: {
98
+ backgroundColor: "surface.actionSubtle.active",
99
+ boxShadowColor: "stroke.default",
100
+ borderBottomRadius: "sharp"
101
+ },
102
+ _focusVisible: {
103
+ outline: "none",
104
+ boxShadowColor: "stroke.default",
105
+ boxShadow: "inset 0 0 0 2px var(--shadow-color)"
106
+ }
107
+ },
108
+ itemContent: {
109
+ borderBottomRadius: "xsmall",
110
+ borderWidth: "0 1px 1px",
111
+ borderStyle: "solid",
112
+ borderColor: "stroke.default"
113
+ }
114
+ }
97
115
  }
98
116
  }
99
117
  });
@@ -101,8 +119,18 @@ const {
101
119
  withProvider,
102
120
  withContext
103
121
  } = (0, _createStyleContext.createStyleContext)(accordionRecipe);
104
- const AccordionRoot = exports.AccordionRoot = withProvider(_react.Accordion.Root, "root");
105
- const AccordionItemContent = exports.AccordionItemContent = withContext(_react.Accordion.ItemContent, "itemContent");
106
- const AccordionItemIndicator = exports.AccordionItemIndicator = withContext(_react.Accordion.ItemIndicator, "itemIndicator");
107
- const AccordionItem = exports.AccordionItem = withContext(_react.Accordion.Item, "item");
108
- const AccordionItemTrigger = exports.AccordionItemTrigger = withContext(_react.Accordion.ItemTrigger, "itemTrigger");
122
+ const AccordionRoot = exports.AccordionRoot = withProvider(_react.Accordion.Root, "root", {
123
+ baseComponent: true
124
+ });
125
+ const AccordionItemContent = exports.AccordionItemContent = withContext(_react.Accordion.ItemContent, "itemContent", {
126
+ baseComponent: true
127
+ });
128
+ const AccordionItemIndicator = exports.AccordionItemIndicator = withContext(_react.Accordion.ItemIndicator, "itemIndicator", {
129
+ baseComponent: true
130
+ });
131
+ const AccordionItem = exports.AccordionItem = withContext(_react.Accordion.Item, "item", {
132
+ baseComponent: true
133
+ });
134
+ const AccordionItemTrigger = exports.AccordionItemTrigger = withContext(_react.Accordion.ItemTrigger, "itemTrigger", {
135
+ baseComponent: true
136
+ });
@@ -10,29 +10,74 @@ import { JsxStyleProps, RecipeVariantProps } from "@ndla/styled-system/types";
10
10
  declare const orderedListRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<{
11
11
  variant: {
12
12
  numbers: {
13
+ counterReset: "level1";
14
+ "&[data-count='true']": {
15
+ counterReset: "level1 var(--start, 0)";
16
+ };
17
+ marginInline: "small";
13
18
  "& > li": {
19
+ counterIncrement: "level1";
14
20
  _marker: {
15
- content: "counters(list-item, '.') '. '";
21
+ content: "counter(level1, decimal) '. '";
22
+ };
23
+ "& > ol:not([data-variant='letters'])": {
24
+ marginInlineStart: "xlarge";
25
+ counterReset: "level2";
26
+ "&[data-count='true']": {
27
+ counterReset: "level2 var(--start, 0)";
28
+ };
29
+ "& > li": {
30
+ counterIncrement: "level2";
31
+ _marker: {
32
+ content: "counter(level1, decimal) '.' counter(level2, decimal) '. '";
33
+ };
34
+ "& > ol:not([data-variant='letters'])": {
35
+ marginInlineStart: "xxlarge";
36
+ counterReset: "level3";
37
+ "&[data-count='true']": {
38
+ counterReset: "level3 var(--start, 0)";
39
+ };
40
+ "& > li": {
41
+ counterIncrement: "level3";
42
+ _marker: {
43
+ content: "counter(level1, decimal) '.' counter(level2, decimal) '.' counter(level3, decimal) '. '";
44
+ };
45
+ };
46
+ "& > ol:not([data-variant='letters'])": {
47
+ counterReset: "level4";
48
+ "&[data-count='true']": {
49
+ counterReset: "level4 var(--start, 0)";
50
+ };
51
+ "& > li": {
52
+ counterIncrement: "level4";
53
+ _marker: {
54
+ content: "counter(level1, decimal) '.' counter(level2, decimal) '.' counter(level3, decimal) '.' counter(level4, decimal) '. '";
55
+ };
56
+ };
57
+ };
58
+ };
59
+ };
16
60
  };
17
61
  };
18
62
  };
19
63
  letters: {
20
- "& ol[data-variant='numbers'] > li": {
21
- _marker: {
22
- content: "counter(list-item, numeric) '. '";
23
- };
64
+ counterReset: "level1";
65
+ "&[data-count='true']": {
66
+ counterReset: "level1 var(--start, 0)";
24
67
  };
25
- "& li": {
68
+ paddingInlineStart: "small";
69
+ "& > li": {
70
+ counterIncrement: "level1";
26
71
  _marker: {
27
- content: "counter(list-item, upper-alpha) '. '";
72
+ content: "counter(level1, upper-alpha) '. '";
28
73
  };
29
- "& > ol > li": {
74
+ "& > ol[data-variant='letters'] > li": {
30
75
  _marker: {
31
- content: "counter(list-item, lower-alpha) '. '";
76
+ content: "counter(level1, lower-alpha) '. '";
32
77
  };
33
- "& li": {
78
+ "& > ol[data-variant='letters'] > li": {
34
79
  _marker: {
35
- content: "counter(list-item, lower-roman) '. '";
80
+ content: "counter(level1, lower-roman) '. '";
36
81
  };
37
82
  };
38
83
  };
@@ -19,9 +19,6 @@ var _jsxRuntime = require("react/jsx-runtime");
19
19
 
20
20
  const orderedListRecipe = (0, _css.cva)({
21
21
  base: {
22
- listStyle: "revert",
23
- listStylePosition: "inside",
24
- paddingInlineStart: "small",
25
22
  "& li": {
26
23
  marginBlock: "small"
27
24
  }
@@ -32,29 +29,74 @@ const orderedListRecipe = (0, _css.cva)({
32
29
  variants: {
33
30
  variant: {
34
31
  numbers: {
32
+ counterReset: "level1",
33
+ "&[data-count='true']": {
34
+ counterReset: "level1 var(--start, 0)"
35
+ },
36
+ marginInline: "small",
35
37
  "& > li": {
38
+ counterIncrement: "level1",
36
39
  _marker: {
37
- content: "counters(list-item, '.') '. '"
40
+ content: "counter(level1, decimal) '. '"
41
+ },
42
+ "& > ol:not([data-variant='letters'])": {
43
+ marginInlineStart: "xlarge",
44
+ counterReset: "level2",
45
+ "&[data-count='true']": {
46
+ counterReset: "level2 var(--start, 0)"
47
+ },
48
+ "& > li": {
49
+ counterIncrement: "level2",
50
+ _marker: {
51
+ content: "counter(level1, decimal) '.' counter(level2, decimal) '. '"
52
+ },
53
+ "& > ol:not([data-variant='letters'])": {
54
+ marginInlineStart: "xxlarge",
55
+ counterReset: "level3",
56
+ "&[data-count='true']": {
57
+ counterReset: "level3 var(--start, 0)"
58
+ },
59
+ "& > li": {
60
+ counterIncrement: "level3",
61
+ _marker: {
62
+ content: "counter(level1, decimal) '.' counter(level2, decimal) '.' counter(level3, decimal) '. '"
63
+ }
64
+ },
65
+ "& > ol:not([data-variant='letters'])": {
66
+ counterReset: "level4",
67
+ "&[data-count='true']": {
68
+ counterReset: "level4 var(--start, 0)"
69
+ },
70
+ "& > li": {
71
+ counterIncrement: "level4",
72
+ _marker: {
73
+ content: "counter(level1, decimal) '.' counter(level2, decimal) '.' counter(level3, decimal) '.' counter(level4, decimal) '. '"
74
+ }
75
+ }
76
+ }
77
+ }
78
+ }
38
79
  }
39
80
  }
40
81
  },
41
82
  letters: {
42
- "& ol[data-variant='numbers'] > li": {
43
- _marker: {
44
- content: "counter(list-item, numeric) '. '"
45
- }
83
+ counterReset: "level1",
84
+ "&[data-count='true']": {
85
+ counterReset: "level1 var(--start, 0)"
46
86
  },
47
- "& li": {
87
+ paddingInlineStart: "small",
88
+ "& > li": {
89
+ counterIncrement: "level1",
48
90
  _marker: {
49
- content: "counter(list-item, upper-alpha) '. '"
91
+ content: "counter(level1, upper-alpha) '. '"
50
92
  },
51
- "& > ol > li": {
93
+ "& > ol[data-variant='letters'] > li": {
52
94
  _marker: {
53
- content: "counter(list-item, lower-alpha) '. '"
95
+ content: "counter(level1, lower-alpha) '. '"
54
96
  },
55
- "& li": {
97
+ "& > ol[data-variant='letters'] > li": {
56
98
  _marker: {
57
- content: "counter(list-item, lower-roman) '. '"
99
+ content: "counter(level1, lower-roman) '. '"
58
100
  }
59
101
  }
60
102
  }
@@ -70,26 +112,36 @@ const OrderedList = exports.OrderedList = /*#__PURE__*/(0, _react.forwardRef)((_
70
112
  let {
71
113
  variant,
72
114
  css: cssProp,
115
+ start,
73
116
  ...props
74
117
  } = _ref;
118
+ const style = (0, _react.useMemo)(() => ({
119
+ "--start": start ? start - 1 : undefined
120
+ }), [start]);
75
121
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledOrderedList, {
122
+ "data-variant": variant,
123
+ "data-count": start !== undefined,
76
124
  css: _css.css.raw(orderedListRecipe.raw({
77
125
  variant
78
126
  }), cssProp),
79
- ...props,
80
- ref: ref
127
+ style: style,
128
+ ref: ref,
129
+ ...props
81
130
  });
82
131
  });
83
132
  const UnOrderedList = exports.UnOrderedList = (0, _jsx2.styled)("ul", {
84
133
  base: {
85
134
  listStyle: "revert",
86
135
  listStylePosition: "inside",
87
- paddingInlineStart: "small",
136
+ paddingInlineStart: "medium",
88
137
  "& li": {
89
138
  marginBlock: "small",
90
139
  _marker: {
91
140
  color: "icon.strong"
92
141
  }
142
+ },
143
+ "& li > *:not(ol, ul, li)": {
144
+ display: "inline"
93
145
  }
94
146
  }
95
147
  });
package/lib/Badge.d.ts CHANGED
@@ -29,6 +29,7 @@ declare const badgeRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<{
29
29
  };
30
30
  }>;
31
31
  export type BadgeVariantProps = RecipeVariantProps<typeof badgeRecipe>;
32
+ export type BadgeVariant = NonNullable<BadgeVariantProps>["colorTheme"];
32
33
  export type BadgeProps = HTMLArkProps<"div"> & JsxStyleProps & BadgeVariantProps;
33
34
  export declare const Badge: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("@ark-ui/react").PolymorphicProps & {
34
35
  consumeCss?: boolean | undefined;