@ndla/primitives 0.0.1

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 (97) hide show
  1. package/LICENSE +674 -0
  2. package/dist/panda.buildinfo.json +426 -0
  3. package/dist/styles.css +1738 -0
  4. package/es/Accordion.js +103 -0
  5. package/es/ArticleLists.js +106 -0
  6. package/es/Badge.js +55 -0
  7. package/es/BlockQuote.js +49 -0
  8. package/es/Button.js +211 -0
  9. package/es/Checkbox.js +118 -0
  10. package/es/Dialog.js +329 -0
  11. package/es/ExpandableBox.js +55 -0
  12. package/es/FieldErrorMessage.js +44 -0
  13. package/es/FieldHelper.js +37 -0
  14. package/es/FormControl.js +163 -0
  15. package/es/FramedContent.js +54 -0
  16. package/es/Icon.js +71 -0
  17. package/es/Input.js +159 -0
  18. package/es/Label.js +104 -0
  19. package/es/Menu.js +171 -0
  20. package/es/MessageBox.js +57 -0
  21. package/es/NdlaLogo.js +284 -0
  22. package/es/Pagination.js +37 -0
  23. package/es/Popover.js +78 -0
  24. package/es/RadioGroup.js +136 -0
  25. package/es/Skeleton.js +31 -0
  26. package/es/Slider.js +102 -0
  27. package/es/Spinner.js +54 -0
  28. package/es/Switch.js +130 -0
  29. package/es/Table.js +75 -0
  30. package/es/Text.js +54 -0
  31. package/es/Toast.js +82 -0
  32. package/es/Tooltip.js +59 -0
  33. package/es/createStyleContext.js +62 -0
  34. package/es/index.js +19 -0
  35. package/lib/Accordion.d.ts +17 -0
  36. package/lib/Accordion.js +109 -0
  37. package/lib/ArticleLists.d.ts +20 -0
  38. package/lib/ArticleLists.js +115 -0
  39. package/lib/Badge.d.ts +33 -0
  40. package/lib/Badge.js +62 -0
  41. package/lib/BlockQuote.d.ts +28 -0
  42. package/lib/BlockQuote.js +56 -0
  43. package/lib/Button.d.ts +131 -0
  44. package/lib/Button.js +217 -0
  45. package/lib/Checkbox.d.ts +15 -0
  46. package/lib/Checkbox.js +125 -0
  47. package/lib/Dialog.d.ts +107 -0
  48. package/lib/Dialog.js +338 -0
  49. package/lib/ExpandableBox.d.ts +12 -0
  50. package/lib/ExpandableBox.js +63 -0
  51. package/lib/FieldErrorMessage.d.ts +11 -0
  52. package/lib/FieldErrorMessage.js +50 -0
  53. package/lib/FieldHelper.d.ts +11 -0
  54. package/lib/FieldHelper.js +43 -0
  55. package/lib/FormControl.d.ts +65 -0
  56. package/lib/FormControl.js +173 -0
  57. package/lib/FramedContent.d.ts +32 -0
  58. package/lib/FramedContent.js +61 -0
  59. package/lib/Icon.d.ts +37 -0
  60. package/lib/Icon.js +78 -0
  61. package/lib/Input.d.ts +20 -0
  62. package/lib/Input.js +165 -0
  63. package/lib/Label.d.ts +16 -0
  64. package/lib/Label.js +110 -0
  65. package/lib/Menu.d.ts +25 -0
  66. package/lib/Menu.js +179 -0
  67. package/lib/MessageBox.d.ts +33 -0
  68. package/lib/MessageBox.js +64 -0
  69. package/lib/NdlaLogo.d.ts +15 -0
  70. package/lib/NdlaLogo.js +293 -0
  71. package/lib/Pagination.d.ts +14 -0
  72. package/lib/Pagination.js +43 -0
  73. package/lib/Popover.d.ts +22 -0
  74. package/lib/Popover.js +87 -0
  75. package/lib/RadioGroup.d.ts +19 -0
  76. package/lib/RadioGroup.js +143 -0
  77. package/lib/Skeleton.d.ts +11 -0
  78. package/lib/Skeleton.js +38 -0
  79. package/lib/Slider.d.ts +17 -0
  80. package/lib/Slider.js +109 -0
  81. package/lib/Spinner.d.ts +26 -0
  82. package/lib/Spinner.js +61 -0
  83. package/lib/Switch.d.ts +21 -0
  84. package/lib/Switch.js +137 -0
  85. package/lib/Table.d.ts +10 -0
  86. package/lib/Table.js +82 -0
  87. package/lib/Text.d.ts +24 -0
  88. package/lib/Text.js +62 -0
  89. package/lib/Toast.d.ts +18 -0
  90. package/lib/Toast.js +90 -0
  91. package/lib/Tooltip.d.ts +16 -0
  92. package/lib/Tooltip.js +65 -0
  93. package/lib/createStyleContext.d.ts +27 -0
  94. package/lib/createStyleContext.js +69 -0
  95. package/lib/index.d.ts +28 -0
  96. package/lib/index.js +130 -0
  97. package/package.json +48 -0
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AccordionRoot = exports.AccordionItemTrigger = exports.AccordionItemIndicator = exports.AccordionItemContent = exports.AccordionItem = void 0;
7
+ var _anatomy = require("@ark-ui/anatomy");
8
+ var _react = require("@ark-ui/react");
9
+ var _css = require("@ndla/styled-system/css");
10
+ var _createStyleContext = require("./createStyleContext");
11
+ /**
12
+ * Copyright (c) 2024-present, NDLA.
13
+ *
14
+ * This source code is licensed under the GPLv3 license found in the
15
+ * LICENSE file in the root directory of this source tree.
16
+ *
17
+ */
18
+
19
+ const accordionRecipe = (0, _css.sva)({
20
+ slots: _anatomy.accordionAnatomy.keys(),
21
+ base: {
22
+ root: {
23
+ display: "flex",
24
+ flexDirection: "column",
25
+ gap: "3xsmall"
26
+ },
27
+ itemTrigger: {
28
+ display: "flex",
29
+ alignItems: "center",
30
+ justifyContent: "space-between",
31
+ background: "surface.default",
32
+ cursor: "pointer",
33
+ paddingInline: "medium",
34
+ paddingBlock: "medium",
35
+ boxShadowColor: "stroke.subtle",
36
+ boxShadow: "inset 0 0 0 1px var(--shadow-color)",
37
+ borderRadius: "xsmall",
38
+ transitionDuration: "fast",
39
+ transitionTimingFunction: "default",
40
+ transitionProperty: "background, border-color, border, border-radius",
41
+ width: "100%",
42
+ _closed: {
43
+ transitionProperty: "background, border-color, border, border-radius"
44
+ },
45
+ _disabled: {
46
+ cursor: "not-allowed",
47
+ background: "surface..disabled.subtle",
48
+ boxShadowColor: "stroke.disabled",
49
+ color: "text.disabled",
50
+ _hover: {
51
+ background: "surface.disabled.subtle",
52
+ boxShadowColor: "stroke.disabled",
53
+ color: "text.disabled"
54
+ }
55
+ },
56
+ _hover: {
57
+ background: "surface.actionSubtle.hover",
58
+ boxShadowColor: "stroke.hover"
59
+ },
60
+ _open: {
61
+ backgroundColor: "surface.actionSubtle.active",
62
+ boxShadowColor: "stroke.default",
63
+ borderBottomRadius: "sharp"
64
+ },
65
+ _focusVisible: {
66
+ outline: "none",
67
+ boxShadowColor: "stroke.default",
68
+ boxShadow: "inset 0 0 0 2px var(--shadow-color)"
69
+ }
70
+ },
71
+ itemIndicator: {
72
+ color: "icon.strong",
73
+ transformOrigin: "center",
74
+ transitionDuration: "normal",
75
+ transitionProperty: "transform",
76
+ transitionTimingFunction: "default",
77
+ _open: {
78
+ transform: "rotate(180deg)"
79
+ }
80
+ },
81
+ itemContent: {
82
+ overflow: "hidden",
83
+ transitionProperty: "padding-bottom",
84
+ transitionDuration: "normal",
85
+ transitionTimingFunction: "default",
86
+ paddingBlock: "xsmall",
87
+ paddingInline: "small",
88
+ borderBottomRadius: "xsmall",
89
+ borderWidth: "0 1px 1px",
90
+ borderStyle: "solid",
91
+ borderColor: "stroke.default",
92
+ _open: {
93
+ animation: "collapse-in"
94
+ },
95
+ _closed: {
96
+ animation: "collapse-out"
97
+ }
98
+ }
99
+ }
100
+ });
101
+ const {
102
+ withProvider,
103
+ withContext
104
+ } = (0, _createStyleContext.createStyleContext)(accordionRecipe);
105
+ const AccordionRoot = exports.AccordionRoot = withProvider(_react.Accordion.Root, "root");
106
+ const AccordionItemContent = exports.AccordionItemContent = withContext(_react.Accordion.ItemContent, "itemContent");
107
+ const AccordionItemIndicator = exports.AccordionItemIndicator = withContext(_react.Accordion.ItemIndicator, "itemIndicator");
108
+ const AccordionItem = exports.AccordionItem = withContext(_react.Accordion.Item, "item");
109
+ const AccordionItemTrigger = exports.AccordionItemTrigger = withContext(_react.Accordion.ItemTrigger, "itemTrigger");
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) 2024-present, NDLA.
3
+ *
4
+ * This source code is licensed under the GPLv3 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import { ComponentPropsWithoutRef } from "react";
9
+ import { StyledVariantProps } from "@ndla/styled-system/types";
10
+ declare const StyledOrderedList: import("@ndla/styled-system/jsx").StyledComponent<"ol", {
11
+ variant?: "numbers" | "letters" | undefined;
12
+ }>;
13
+ export type OrderedListVariantProps = StyledVariantProps<typeof StyledOrderedList>;
14
+ export type OrderedListProps = ComponentPropsWithoutRef<"ol"> & OrderedListVariantProps;
15
+ export declare const OrderedList: ({ variant, ...props }: OrderedListProps) => import("@emotion/react/jsx-runtime").JSX.Element;
16
+ export type UnOrderedListProps = ComponentPropsWithoutRef<"ul">;
17
+ export declare const UnOrderedList: ({ ...props }: UnOrderedListProps) => import("@emotion/react/jsx-runtime").JSX.Element;
18
+ export type DefinitionListProps = ComponentPropsWithoutRef<"dl">;
19
+ export declare const DefinitionList: ({ ...props }: DefinitionListProps) => import("@emotion/react/jsx-runtime").JSX.Element;
20
+ export {};
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.UnOrderedList = exports.OrderedList = exports.DefinitionList = void 0;
7
+ var _jsx2 = require("@ndla/styled-system/jsx");
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ /**
10
+ * Copyright (c) 2024-present, NDLA.
11
+ *
12
+ * This source code is licensed under the GPLv3 license found in the
13
+ * LICENSE file in the root directory of this source tree.
14
+ *
15
+ */
16
+
17
+ const StyledOrderedList = (0, _jsx2.styled)("ol", {
18
+ base: {
19
+ listStyle: "revert",
20
+ listStylePosition: "inside",
21
+ paddingInlineStart: "small",
22
+ "& li": {
23
+ marginBlock: "small"
24
+ }
25
+ },
26
+ defaultVariants: {
27
+ variant: "numbers"
28
+ },
29
+ variants: {
30
+ variant: {
31
+ numbers: {
32
+ "& > li": {
33
+ _marker: {
34
+ content: "counters(list-item, '.') '. '"
35
+ }
36
+ }
37
+ },
38
+ letters: {
39
+ "& ol[data-variant='numbers'] > li": {
40
+ _marker: {
41
+ content: "counter(list-item, numeric) '. '"
42
+ }
43
+ },
44
+ "& li": {
45
+ _marker: {
46
+ content: "counter(list-item, upper-alpha) '. '"
47
+ },
48
+ "& > ol > li": {
49
+ _marker: {
50
+ content: "counter(list-item, lower-alpha) '. '"
51
+ },
52
+ "& li": {
53
+ _marker: {
54
+ content: "counter(list-item, lower-roman) '. '"
55
+ }
56
+ }
57
+ }
58
+ }
59
+ }
60
+ }
61
+ }
62
+ });
63
+ const OrderedList = _ref => {
64
+ let {
65
+ variant = "numbers",
66
+ ...props
67
+ } = _ref;
68
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledOrderedList, {
69
+ variant: variant,
70
+ "data-variant": variant,
71
+ ...props
72
+ });
73
+ };
74
+ exports.OrderedList = OrderedList;
75
+ const StyledUnOrderedList = (0, _jsx2.styled)("ul", {
76
+ base: {
77
+ listStyle: "revert",
78
+ listStylePosition: "inside",
79
+ paddingInlineStart: "small",
80
+ "& li": {
81
+ marginBlock: "small",
82
+ _marker: {
83
+ color: "icon.strong"
84
+ }
85
+ }
86
+ }
87
+ });
88
+ const UnOrderedList = _ref2 => {
89
+ let {
90
+ ...props
91
+ } = _ref2;
92
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledUnOrderedList, {
93
+ ...props
94
+ });
95
+ };
96
+ exports.UnOrderedList = UnOrderedList;
97
+ const StyledDefinitionList = (0, _jsx2.styled)("dl", {
98
+ base: {
99
+ "& dt": {
100
+ fontWeight: "bold"
101
+ },
102
+ "& dd": {
103
+ marginInlineStart: "medium"
104
+ }
105
+ }
106
+ });
107
+ const DefinitionList = _ref3 => {
108
+ let {
109
+ ...props
110
+ } = _ref3;
111
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledDefinitionList, {
112
+ ...props
113
+ });
114
+ };
115
+ exports.DefinitionList = DefinitionList;
package/lib/Badge.d.ts ADDED
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Copyright (c) 2024-present, NDLA.
3
+ *
4
+ * This source code is licensed under the GPLv3 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import { ComponentPropsWithoutRef } from "react";
9
+ import { RecipeVariantProps } from "@ndla/styled-system/css";
10
+ declare const badgeRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<{
11
+ colorTheme: {
12
+ brand1: {
13
+ backgroundColor: "surface.brand.1.subtle";
14
+ borderColor: "surface.brand.1.strong";
15
+ };
16
+ brand2: {
17
+ backgroundColor: "surface.brand.2.subtle";
18
+ borderColor: "surface.brand.2.strong";
19
+ };
20
+ brand3: {
21
+ backgroundColor: "surface.brand.3.subtle";
22
+ borderColor: "surface.brand.3.strong";
23
+ };
24
+ neutral: {
25
+ backgroundColor: "surface.infoSubtle";
26
+ borderColor: "stroke.default";
27
+ };
28
+ };
29
+ }>;
30
+ export type BadgeVariantProps = RecipeVariantProps<typeof badgeRecipe>;
31
+ export type BadgeProps = BadgeVariantProps & ComponentPropsWithoutRef<"div">;
32
+ export declare const Badge: ({ colorTheme, className, ...rest }: BadgeProps) => import("@emotion/react/jsx-runtime").JSX.Element;
33
+ export {};
package/lib/Badge.js ADDED
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Badge = void 0;
7
+ var _css = require("@ndla/styled-system/css");
8
+ var _jsx2 = require("@ndla/styled-system/jsx");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * Copyright (c) 2024-present, NDLA.
12
+ *
13
+ * This source code is licensed under the GPLv3 license found in the
14
+ * LICENSE file in the root directory of this source tree.
15
+ *
16
+ */
17
+
18
+ const badgeRecipe = (0, _css.cva)({
19
+ base: {
20
+ paddingInline: "xsmall",
21
+ borderRadius: "xsmall",
22
+ border: "1px solid",
23
+ width: "fit-content"
24
+ },
25
+ defaultVariants: {
26
+ colorTheme: "neutral"
27
+ },
28
+ variants: {
29
+ colorTheme: {
30
+ brand1: {
31
+ backgroundColor: "surface.brand.1.subtle",
32
+ borderColor: "surface.brand.1.strong"
33
+ },
34
+ brand2: {
35
+ backgroundColor: "surface.brand.2.subtle",
36
+ borderColor: "surface.brand.2.strong"
37
+ },
38
+ brand3: {
39
+ backgroundColor: "surface.brand.3.subtle",
40
+ borderColor: "surface.brand.3.strong"
41
+ },
42
+ neutral: {
43
+ backgroundColor: "surface.infoSubtle",
44
+ borderColor: "stroke.default"
45
+ }
46
+ }
47
+ }
48
+ });
49
+ const Badge = _ref => {
50
+ let {
51
+ colorTheme,
52
+ className,
53
+ ...rest
54
+ } = _ref;
55
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsx2.styled.div, {
56
+ className: (0, _css.cx)(badgeRecipe({
57
+ colorTheme
58
+ }), className),
59
+ ...rest
60
+ });
61
+ };
62
+ exports.Badge = Badge;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) 2024-present, NDLA.
3
+ *
4
+ * This source code is licensed under the GPLv3 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import { ComponentPropsWithoutRef } from "react";
9
+ import { RecipeVariantProps } from "@ndla/styled-system/css";
10
+ declare const blockQuoteRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<{
11
+ variant: {
12
+ neutral: {
13
+ borderColor: "stroke.subtle";
14
+ };
15
+ brand1: {
16
+ background: "surface.brand.1.subtle";
17
+ borderColor: "surface.brand.1.strong";
18
+ };
19
+ brand2: {
20
+ background: "surface.brand.2.subtle";
21
+ borderColor: "surface.brand.2.strong";
22
+ };
23
+ };
24
+ }>;
25
+ export type BlockQuoteVariantProps = RecipeVariantProps<typeof blockQuoteRecipe>;
26
+ export type BlockQuoteProps = ComponentPropsWithoutRef<"blockquote"> & BlockQuoteVariantProps;
27
+ export declare const BlockQuote: ({ className, variant, ...rest }: BlockQuoteProps) => import("@emotion/react/jsx-runtime").JSX.Element;
28
+ export {};
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BlockQuote = void 0;
7
+ var _css = require("@ndla/styled-system/css");
8
+ var _jsx2 = require("@ndla/styled-system/jsx");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ /**
11
+ * Copyright (c) 2024-present, NDLA.
12
+ *
13
+ * This source code is licensed under the GPLv3 license found in the
14
+ * LICENSE file in the root directory of this source tree.
15
+ *
16
+ */
17
+
18
+ const blockQuoteRecipe = (0, _css.cva)({
19
+ base: {
20
+ borderInlineStart: "4px solid",
21
+ paddingInline: "medium"
22
+ },
23
+ variants: {
24
+ variant: {
25
+ neutral: {
26
+ borderColor: "stroke.subtle"
27
+ // TODO: Figure out if this should have a background color.
28
+ },
29
+ brand1: {
30
+ background: "surface.brand.1.subtle",
31
+ borderColor: "surface.brand.1.strong"
32
+ },
33
+ brand2: {
34
+ background: "surface.brand.2.subtle",
35
+ borderColor: "surface.brand.2.strong"
36
+ }
37
+ }
38
+ },
39
+ defaultVariants: {
40
+ variant: "neutral"
41
+ }
42
+ });
43
+ const BlockQuote = _ref => {
44
+ let {
45
+ className,
46
+ variant,
47
+ ...rest
48
+ } = _ref;
49
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsx2.styled.blockquote, {
50
+ className: (0, _css.cx)(blockQuoteRecipe({
51
+ variant
52
+ }), className),
53
+ ...rest
54
+ });
55
+ };
56
+ exports.BlockQuote = BlockQuote;
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Copyright (c) 2024-present, NDLA.
3
+ *
4
+ * This source code is licensed under the GPLv3 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ import { ComponentPropsWithRef } from "react";
9
+ import { RecipeVariantProps } from "@ndla/styled-system/css";
10
+ export declare const buttonBaseRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<{
11
+ variant: {
12
+ primary: {
13
+ color: "text.onAction";
14
+ background: "surface.action";
15
+ _hover: {
16
+ color: "text.onAction";
17
+ background: "surface.action.hover";
18
+ };
19
+ _active: {
20
+ color: "text.onAction";
21
+ background: "surface.action.active";
22
+ };
23
+ _focusVisible: {
24
+ boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px 6px currentcolor";
25
+ };
26
+ };
27
+ secondary: {
28
+ color: "text.strong";
29
+ background: "transparent";
30
+ boxShadow: "inset 0 0 0 1px var(--shadow-color)";
31
+ _hover: {
32
+ background: "surface.actionSubtle.hover";
33
+ };
34
+ _active: {
35
+ background: "surface.actionSubtle.active";
36
+ };
37
+ };
38
+ tertiary: {
39
+ color: "text.strong";
40
+ background: "transparent";
41
+ _hover: {
42
+ boxShadow: "inset 0 0 0 1px var(--shadow-color)";
43
+ background: "surface.actionSubtle.hover";
44
+ _focusVisible: {
45
+ boxShadow: "inset 0 0 0 3px var(--shadow-color)";
46
+ };
47
+ };
48
+ _active: {
49
+ borderColor: "stroke.default";
50
+ background: "surface.actionSubtle.active";
51
+ };
52
+ };
53
+ clear: {
54
+ background: "transparent";
55
+ color: "text.strong";
56
+ _hover: {
57
+ color: "stroke.hover";
58
+ };
59
+ };
60
+ clearSubtle: {
61
+ background: "transparent";
62
+ color: "text.onAction";
63
+ _hover: {
64
+ color: "surface.actionSubtle.hover.strong";
65
+ };
66
+ };
67
+ danger: {
68
+ background: "surface.error";
69
+ color: "text.onAction";
70
+ _hover: {
71
+ background: "surface.error.hover";
72
+ };
73
+ _active: {
74
+ background: "surface.error.active";
75
+ };
76
+ _focusVisible: {
77
+ boxShadowColor: "surface.error";
78
+ boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px 6px currentcolor";
79
+ };
80
+ };
81
+ success: {
82
+ background: "surface.success";
83
+ color: "text.onAction";
84
+ _hover: {
85
+ background: "surface.success.hover";
86
+ };
87
+ _active: {
88
+ background: "surface.success.active";
89
+ };
90
+ _focusVisible: {
91
+ boxShadowColor: "surface.success";
92
+ boxShadow: "inset 0 0 0 3px var(--shadow-color), inset 0px 0px 0px 6px currentcolor";
93
+ };
94
+ };
95
+ link: {
96
+ background: "transparent";
97
+ color: "text.link";
98
+ textDecoration: "underline";
99
+ textDecorationThickness: "1px";
100
+ _hover: {
101
+ textDecoration: "none";
102
+ };
103
+ };
104
+ };
105
+ }>;
106
+ export declare const buttonRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<{
107
+ size: {
108
+ default: {
109
+ paddingInline: "medium";
110
+ paddingBlock: "xxsmall";
111
+ minHeight: "24";
112
+ };
113
+ small: {
114
+ textStyle: "label.small";
115
+ minHeight: "19";
116
+ paddingInline: "small";
117
+ paddingBlock: "3xsmall";
118
+ };
119
+ };
120
+ }>;
121
+ export type ButtonVariantProps = RecipeVariantProps<typeof buttonBaseRecipe> & RecipeVariantProps<typeof buttonRecipe>;
122
+ export type ButtonProps = ComponentPropsWithRef<"button"> & ButtonVariantProps & {
123
+ variant?: Exclude<NonNullable<ButtonVariantProps>["variant"], "clear" | "clearSubtle">;
124
+ };
125
+ export declare const Button: import("react").ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
126
+ export type IconButtonVariantProps = RecipeVariantProps<typeof buttonBaseRecipe>;
127
+ export type IconButtonProps = ComponentPropsWithRef<"button"> & IconButtonVariantProps & {
128
+ variant?: Exclude<NonNullable<IconButtonVariantProps>["variant"], "link">;
129
+ };
130
+ export declare const IconButton: import("react").ForwardRefExoticComponent<Omit<IconButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
131
+ export declare const iconButtonRecipe: import("@ndla/styled-system/types").RecipeRuntimeFn<import("@ndla/styled-system/types").RecipeVariantRecord>;