@postenbring/hedwig-react 0.0.87 → 0.0.89

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 (185) hide show
  1. package/dist/badge/badge.d.ts +7 -3
  2. package/dist/badge/badge.d.ts.map +1 -1
  3. package/dist/badge/badge.js.map +1 -1
  4. package/dist/badge/badge.mjs +1 -1
  5. package/dist/badge/index.js.map +1 -1
  6. package/dist/badge/index.mjs +1 -1
  7. package/dist/blockquote/blockquote.d.ts +29 -0
  8. package/dist/blockquote/blockquote.d.ts.map +1 -0
  9. package/dist/blockquote/blockquote.js +83 -0
  10. package/dist/blockquote/blockquote.js.map +1 -0
  11. package/dist/blockquote/blockquote.mjs +8 -0
  12. package/dist/blockquote/index.d.ts +3 -0
  13. package/dist/blockquote/index.d.ts.map +1 -0
  14. package/dist/blockquote/index.js +85 -0
  15. package/dist/blockquote/index.js.map +1 -0
  16. package/dist/blockquote/index.mjs +9 -0
  17. package/dist/chunk-3H7S7C3S.mjs +37 -0
  18. package/dist/chunk-3H7S7C3S.mjs.map +1 -0
  19. package/dist/{chunk-YIERXOCG.mjs → chunk-6ZO2TMOX.mjs} +2 -2
  20. package/dist/{chunk-F4EAUOJX.mjs → chunk-EAFQ3XQU.mjs} +2 -2
  21. package/dist/{chunk-OFY2FVXB.mjs → chunk-EGW3RCXD.mjs} +2 -2
  22. package/dist/chunk-EGW3RCXD.mjs.map +1 -0
  23. package/dist/{chunk-WEQIEPMT.mjs → chunk-JQGB77SS.mjs} +1 -1
  24. package/dist/chunk-JQGB77SS.mjs.map +1 -0
  25. package/dist/chunk-JYN2QSN2.mjs +36 -0
  26. package/dist/chunk-JYN2QSN2.mjs.map +1 -0
  27. package/dist/chunk-K2CB2NLY.mjs +1 -0
  28. package/dist/chunk-KFDS3IPB.mjs +1 -0
  29. package/dist/{chunk-YLBJMVIX.mjs → chunk-M7MG7ZQT.mjs} +2 -2
  30. package/dist/chunk-OE6RISJS.mjs +24 -0
  31. package/dist/chunk-OE6RISJS.mjs.map +1 -0
  32. package/dist/{chunk-TCO3ZAZW.mjs → chunk-OXZOGFNV.mjs} +1 -1
  33. package/dist/chunk-OXZOGFNV.mjs.map +1 -0
  34. package/dist/{chunk-GUNPGSAS.mjs → chunk-UL2V2Z5B.mjs} +12 -12
  35. package/dist/chunk-UL2V2Z5B.mjs.map +1 -0
  36. package/dist/chunk-XAFNJELJ.mjs +1 -0
  37. package/dist/chunk-XAFNJELJ.mjs.map +1 -0
  38. package/dist/{chunk-ZYTUK4B4.mjs → chunk-YS7HBWOI.mjs} +4 -3
  39. package/dist/chunk-YS7HBWOI.mjs.map +1 -0
  40. package/dist/figure/figure.d.ts +22 -0
  41. package/dist/figure/figure.d.ts.map +1 -0
  42. package/dist/figure/figure.js +71 -0
  43. package/dist/figure/figure.js.map +1 -0
  44. package/dist/figure/figure.mjs +8 -0
  45. package/dist/figure/figure.mjs.map +1 -0
  46. package/dist/figure/index.d.ts +3 -0
  47. package/dist/figure/index.d.ts.map +1 -0
  48. package/dist/figure/index.js +73 -0
  49. package/dist/figure/index.js.map +1 -0
  50. package/dist/figure/index.mjs +9 -0
  51. package/dist/figure/index.mjs.map +1 -0
  52. package/dist/form/checkbox/checkbox.js.map +1 -1
  53. package/dist/form/checkbox/checkbox.mjs +2 -2
  54. package/dist/form/checkbox/index.js.map +1 -1
  55. package/dist/form/checkbox/index.mjs +2 -2
  56. package/dist/form/fieldset/fieldset.d.ts +2 -2
  57. package/dist/form/fieldset/fieldset.js.map +1 -1
  58. package/dist/form/fieldset/fieldset.mjs +1 -1
  59. package/dist/form/fieldset/index.js.map +1 -1
  60. package/dist/form/fieldset/index.mjs +1 -1
  61. package/dist/form/index.d.ts +1 -1
  62. package/dist/form/index.d.ts.map +1 -1
  63. package/dist/form/index.js +13 -12
  64. package/dist/form/index.js.map +1 -1
  65. package/dist/form/index.mjs +17 -17
  66. package/dist/form/radio-button/index.d.ts +5 -0
  67. package/dist/form/radio-button/index.d.ts.map +1 -0
  68. package/dist/form/{radiobutton → radio-button}/index.js +17 -16
  69. package/dist/form/radio-button/index.js.map +1 -0
  70. package/dist/form/{radiobutton → radio-button}/index.mjs +6 -6
  71. package/dist/form/radio-button/index.mjs.map +1 -0
  72. package/dist/form/{radiobutton/radiobutton.d.ts → radio-button/radio-button.d.ts} +6 -6
  73. package/dist/form/radio-button/radio-button.d.ts.map +1 -0
  74. package/dist/form/{radiobutton/radiobutton.js → radio-button/radio-button.js} +17 -16
  75. package/dist/form/radio-button/radio-button.js.map +1 -0
  76. package/dist/form/radio-button/radio-button.mjs +13 -0
  77. package/dist/form/radio-button/radio-button.mjs.map +1 -0
  78. package/dist/form/{radiobutton/radiogroup.d.ts → radio-button/radio-group.d.ts} +7 -7
  79. package/dist/form/radio-button/radio-group.d.ts.map +1 -0
  80. package/dist/form/{radiobutton/radiogroup.js → radio-button/radio-group.js} +7 -6
  81. package/dist/form/radio-button/radio-group.js.map +1 -0
  82. package/dist/form/{radiobutton/radiogroup.mjs → radio-button/radio-group.mjs} +3 -3
  83. package/dist/form/radio-button/radio-group.mjs.map +1 -0
  84. package/dist/index.d.ts +2 -0
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +554 -498
  87. package/dist/index.js.map +1 -1
  88. package/dist/index.mjs +76 -66
  89. package/dist/layout/index.mjs +6 -6
  90. package/dist/navbar/icons.d.ts.map +1 -1
  91. package/dist/navbar/icons.js +16 -5
  92. package/dist/navbar/icons.js.map +1 -1
  93. package/dist/navbar/icons.mjs +1 -1
  94. package/dist/navbar/index.js +16 -5
  95. package/dist/navbar/index.js.map +1 -1
  96. package/dist/navbar/index.mjs +3 -3
  97. package/dist/navbar/navbar-expandable-menu.js +16 -5
  98. package/dist/navbar/navbar-expandable-menu.js.map +1 -1
  99. package/dist/navbar/navbar-expandable-menu.mjs +2 -2
  100. package/dist/navbar/navbar.js +16 -5
  101. package/dist/navbar/navbar.js.map +1 -1
  102. package/dist/navbar/navbar.mjs +3 -3
  103. package/dist/styled-html/index.js +1 -1
  104. package/dist/styled-html/index.js.map +1 -1
  105. package/dist/styled-html/index.mjs +1 -1
  106. package/dist/styled-html/styled-html.d.ts +9 -1
  107. package/dist/styled-html/styled-html.d.ts.map +1 -1
  108. package/dist/styled-html/styled-html.js +1 -1
  109. package/dist/styled-html/styled-html.js.map +1 -1
  110. package/dist/styled-html/styled-html.mjs +1 -1
  111. package/package.json +4 -4
  112. package/src/accordion/accordion.stories.tsx +8 -113
  113. package/src/badge/badge.stories.tsx +2 -30
  114. package/src/badge/badge.tsx +7 -3
  115. package/src/blockquote/blockquote.stories.tsx +22 -0
  116. package/src/blockquote/blockquote.tsx +52 -0
  117. package/src/blockquote/index.tsx +3 -0
  118. package/src/box/box.stories.tsx +14 -84
  119. package/src/breadcrumbs/breadcrumbs.stories.tsx +8 -22
  120. package/src/button/button.stories.tsx +2 -85
  121. package/src/card/card.stories.tsx +2 -42
  122. package/src/description-list/description-list.stories.tsx +6 -71
  123. package/src/figure/figure.stories.tsx +22 -0
  124. package/src/figure/figure.tsx +36 -0
  125. package/src/figure/index.tsx +3 -0
  126. package/src/form/checkbox/checkbox.stories.tsx +5 -80
  127. package/src/form/date-picker/date-picker.stories.tsx +8 -7
  128. package/src/form/error-message/error-message.stories.tsx +3 -2
  129. package/src/form/fieldset/fieldset.stories.tsx +2 -58
  130. package/src/form/fieldset/fieldset.tsx +2 -2
  131. package/src/form/index.tsx +1 -1
  132. package/src/form/input/input.stories.tsx +2 -142
  133. package/src/form/radio-button/index.tsx +4 -0
  134. package/src/form/radio-button/radio-button.stories.tsx +26 -0
  135. package/src/form/{radiobutton/radiobutton.tsx → radio-button/radio-button.tsx} +13 -13
  136. package/src/form/{radiobutton/radiogroup.stories.tsx → radio-button/radio-group.stories.tsx} +9 -9
  137. package/src/form/{radiobutton/radiogroup.tsx → radio-button/radio-group.tsx} +7 -6
  138. package/src/form/select/select.stories.tsx +2 -61
  139. package/src/form/textarea/textarea.stories.tsx +5 -85
  140. package/src/help-text/help-text.stories.tsx +20 -0
  141. package/src/index.ts +2 -0
  142. package/src/layout/container/container.stories.tsx +18 -14
  143. package/src/layout/grid/grid.stories.tsx +28 -0
  144. package/src/layout/stack/stack.stories.tsx +28 -0
  145. package/src/link/link.stories.tsx +8 -38
  146. package/src/list/link-list.stories.tsx +25 -27
  147. package/src/list/list.stories.tsx +11 -48
  148. package/src/message/message.stories.tsx +8 -65
  149. package/src/modal/modal.stories.tsx +2 -103
  150. package/src/navbar/icons.tsx +10 -3
  151. package/src/navbar/navbar.stories.tsx +23 -62
  152. package/src/show-more/show-more.stories.tsx +3 -98
  153. package/src/skeleton/skeleton.stories.tsx +3 -126
  154. package/src/step-indicator/step-indicator.stories.tsx +2 -31
  155. package/src/styled-html/styled-html.stories.tsx +22 -155
  156. package/src/styled-html/styled-html.tsx +12 -2
  157. package/src/table/table.stories.tsx +43 -0
  158. package/src/tabs/tabs.stories.tsx +8 -114
  159. package/src/text/text.stories.tsx +18 -83
  160. package/src/warning-banner/warning-banner.stories.tsx +2 -23
  161. package/dist/chunk-2KX7VFN2.mjs +0 -1
  162. package/dist/chunk-GUNPGSAS.mjs.map +0 -1
  163. package/dist/chunk-MOU6WBT2.mjs +0 -26
  164. package/dist/chunk-MOU6WBT2.mjs.map +0 -1
  165. package/dist/chunk-OFY2FVXB.mjs.map +0 -1
  166. package/dist/chunk-TCO3ZAZW.mjs.map +0 -1
  167. package/dist/chunk-WEQIEPMT.mjs.map +0 -1
  168. package/dist/chunk-ZYTUK4B4.mjs.map +0 -1
  169. package/dist/form/radiobutton/index.d.ts +0 -5
  170. package/dist/form/radiobutton/index.d.ts.map +0 -1
  171. package/dist/form/radiobutton/index.js.map +0 -1
  172. package/dist/form/radiobutton/radiobutton.d.ts.map +0 -1
  173. package/dist/form/radiobutton/radiobutton.js.map +0 -1
  174. package/dist/form/radiobutton/radiobutton.mjs +0 -13
  175. package/dist/form/radiobutton/radiogroup.d.ts.map +0 -1
  176. package/dist/form/radiobutton/radiogroup.js.map +0 -1
  177. package/src/form/radiobutton/index.tsx +0 -4
  178. package/src/form/radiobutton/radiobutton.stories.tsx +0 -93
  179. /package/dist/{chunk-2KX7VFN2.mjs.map → blockquote/blockquote.mjs.map} +0 -0
  180. /package/dist/{form/radiobutton → blockquote}/index.mjs.map +0 -0
  181. /package/dist/{chunk-YIERXOCG.mjs.map → chunk-6ZO2TMOX.mjs.map} +0 -0
  182. /package/dist/{chunk-F4EAUOJX.mjs.map → chunk-EAFQ3XQU.mjs.map} +0 -0
  183. /package/dist/{form/radiobutton/radiobutton.mjs.map → chunk-K2CB2NLY.mjs.map} +0 -0
  184. /package/dist/{form/radiobutton/radiogroup.mjs.map → chunk-KFDS3IPB.mjs.map} +0 -0
  185. /package/dist/{chunk-YLBJMVIX.mjs.map → chunk-M7MG7ZQT.mjs.map} +0 -0
@@ -1,10 +1,6 @@
1
1
  /* eslint-disable import/no-extraneous-dependencies -- storybook story */
2
- /* eslint-disable react-hooks/rules-of-hooks -- it's ok */
2
+
3
3
  import type { Meta, StoryObj } from "@storybook/react";
4
- import { useRef, useState } from "react";
5
- import { flushSync } from "react-dom";
6
- import { StyledHtml } from "../styled-html";
7
- import { AutoAnimateHeight } from "../utils/auto-animate-height";
8
4
  import { ShowMoreButton } from ".";
9
5
 
10
6
  const meta: Meta<typeof ShowMoreButton> = {
@@ -16,7 +12,8 @@ export default meta;
16
12
 
17
13
  type Story = StoryObj<typeof ShowMoreButton>;
18
14
 
19
- export const ShowMore: Story = {
15
+ export const Preview: Story = {
16
+ tags: ["!dev"],
20
17
  args: {
21
18
  text: "Vis flere",
22
19
  onClick: () => {
@@ -25,95 +22,3 @@ export const ShowMore: Story = {
25
22
  },
26
23
  },
27
24
  };
28
-
29
- export const ShowMoreShowLess: Story = {
30
- args: {
31
- text: "Vis resten",
32
- variant: "show-more-show-less",
33
- expanded: false,
34
- },
35
- };
36
-
37
- export const ShowMoreShowLessExpanded: Story = {
38
- args: {
39
- text: "Skjul resten",
40
- variant: "show-more-show-less",
41
- expanded: true,
42
- },
43
- };
44
-
45
- export const SimpleShowMoreShowLess: Story = {
46
- render: () => {
47
- const [expanded, setExpanded] = useState(false);
48
- const elements = Array.from({ length: expanded ? 8 : 3 }, (_, i) => (
49
- <li key={i}>Hallo {Math.random()}</li>
50
- ));
51
- return (
52
- <>
53
- <StyledHtml>
54
- <AutoAnimateHeight animationDuration="quick">
55
- <ul>{elements}</ul>
56
- </AutoAnimateHeight>
57
- </StyledHtml>
58
- <ShowMoreButton
59
- variant="show-more-show-less"
60
- expanded={expanded}
61
- onClick={() => {
62
- setExpanded((prev) => !prev);
63
- }}
64
- style={{ marginTop: "var(--hds-spacing-24)" }}
65
- text={expanded ? "Vis færre hendelser" : "Vis flere hendelser"}
66
- />
67
- </>
68
- );
69
- },
70
- };
71
-
72
- export const CompleteShowMoreShowLess: Story = {
73
- render: () => {
74
- const [expanded, setExpanded] = useState(false);
75
- const ref = useRef<HTMLDivElement>(null);
76
-
77
- const elements = Array.from({ length: expanded ? 40 : 3 }, (_, i) => (
78
- <li key={i}>Hallo {Math.random()}</li>
79
- ));
80
- return (
81
- <div>
82
- <div
83
- style={{
84
- height: 1400,
85
- background: "linear-gradient(to bottom, #051937, #004d7a, #008793, #00bf72, #a8eb12)",
86
- }}
87
- />
88
- <StyledHtml ref={ref}>
89
- <AutoAnimateHeight animationDuration="normal">
90
- <ul>{elements}</ul>
91
- </AutoAnimateHeight>
92
- </StyledHtml>
93
- <ShowMoreButton
94
- variant="show-more-show-less"
95
- expanded={expanded}
96
- onClick={() => {
97
- // Using flushSync to ensure the scrollIntoView is called after the state is updated
98
- flushSync(() => {
99
- setExpanded((prev) => !prev);
100
- });
101
- if (expanded) {
102
- setTimeout(() => {
103
- ref.current?.scrollIntoView({ behavior: "smooth", block: "nearest" });
104
- }, 300); // Wait for the animation to finish
105
- }
106
- }}
107
- style={{ marginTop: "var(--hds-spacing-24)" }}
108
- text={expanded ? "Vis færre hendelser" : "Vis flere hendelser"}
109
- />
110
- <div
111
- style={{
112
- height: 1400,
113
- background: "linear-gradient(to top, #051937, #004d7a, #008793, #00bf72, #a8eb12)",
114
- }}
115
- />
116
- </div>
117
- );
118
- },
119
- };
@@ -1,12 +1,6 @@
1
- /* eslint-disable react-hooks/rules-of-hooks -- storybook story */
2
1
  /* eslint-disable import/no-extraneous-dependencies -- storybook story */
3
2
  import type { Meta, StoryObj } from "@storybook/react";
4
- import { useEffect, useState } from "react";
5
- import { StyledHtml } from "../styled-html";
6
- import { Card } from "../card";
7
- import { CardStory } from "../card/card.stories";
8
- import { Button } from "../button";
9
- import { HStack, VStack } from "../layout";
3
+ import { VStack } from "../layout";
10
4
  import { Skeleton } from ".";
11
5
 
12
6
  const meta: Meta<typeof Skeleton> = {
@@ -18,7 +12,8 @@ export default meta;
18
12
 
19
13
  type Story = StoryObj<typeof Skeleton>;
20
14
 
21
- export const Default: Story = {
15
+ export const Preview: Story = {
16
+ tags: ["!dev"],
22
17
  render: () => (
23
18
  <VStack gap="8">
24
19
  <Skeleton variant="circle">
@@ -32,121 +27,3 @@ export const Default: Story = {
32
27
  </VStack>
33
28
  ),
34
29
  };
35
-
36
- export const LoadingCards: Story = {
37
- render: () => {
38
- // @ts-expect-error -- It's ok
39
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion -- It really is
40
- const realCard = CardStory.render!({
41
- style: { width: "400px" },
42
- });
43
-
44
- const skeletonCard = (
45
- <Card
46
- aria-hidden
47
- as="div"
48
- style={{
49
- width: "400px",
50
- backgroundColor: "var(--hds-ui-colors-light-grey-fill)",
51
- }}
52
- >
53
- <Card.Media style={{ width: "100%", background: "white" }}>
54
- <Skeleton variant="rectangle" style={{ width: "100%", aspectRatio: 16 / 9 }} />
55
- </Card.Media>
56
- <Card.Body>
57
- <Card.BodyHeader as="h2">
58
- <Card.BodyHeaderOverline asChild>
59
- <Skeleton>Theme</Skeleton>
60
- </Card.BodyHeaderOverline>
61
- <Card.BodyHeaderTitle asChild>
62
- <Skeleton>Cool article</Skeleton>
63
- </Card.BodyHeaderTitle>
64
- </Card.BodyHeader>
65
- <Card.BodyDescription>
66
- <Skeleton variant="text" />
67
- <Skeleton variant="text" />
68
- <Skeleton variant="text" />
69
- <Skeleton variant="text" />
70
- <Skeleton variant="text" width="80%" />
71
- </Card.BodyDescription>
72
- <Card.BodyAction>
73
- <Skeleton variant="rectangle" height="1em" width="1em" />
74
- </Card.BodyAction>
75
- </Card.Body>
76
- </Card>
77
- );
78
-
79
- const [isLoading, setIsLoading] = useState(true);
80
- useEffect(() => {
81
- if (isLoading) {
82
- setTimeout(
83
- () => {
84
- setIsLoading(false);
85
- },
86
- randomNumberBetween(2000, 5000),
87
- );
88
- }
89
- }, [isLoading]);
90
-
91
- const card = isLoading ? skeletonCard : realCard;
92
- return (
93
- <div>
94
- <Button
95
- size="small"
96
- onClick={() => {
97
- setIsLoading(true);
98
- }}
99
- >
100
- Reload
101
- </Button>
102
- <p className="hds-mt-8">Only use greytones, never any red or green colors.</p>
103
- <HStack className="hds-mt-16" wrap gap="24">
104
- {card}
105
- {card}
106
- {card}
107
- </HStack>
108
- </div>
109
- );
110
- },
111
- };
112
-
113
- function randomNumberBetween(min: number, max: number) {
114
- return Math.floor(Math.random() * (max - min + 1) + min);
115
- }
116
- export const Article: Story = {
117
- render: () => (
118
- <StyledHtml aria-hidden>
119
- <Skeleton variant="text" style={{ font: "var(--hds-typography-h1-display)" }}>
120
- A title is loading
121
- </Skeleton>
122
- <Skeleton variant="rectangle">
123
- <figure style={{ height: 300, aspectRatio: 16 / 9 }} />
124
- </Skeleton>
125
- <Skeleton variant="text" as="h2">
126
- A subtitle with some more text is loading
127
- </Skeleton>
128
- <p>
129
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
130
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
131
- <Skeleton variant="text" width={`${randomNumberBetween(25, 60)}%`} />
132
- <Skeleton variant="text" width={`${randomNumberBetween(45, 80)}%`} />
133
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
134
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
135
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
136
- </p>
137
-
138
- <Skeleton variant="text" as="h2">
139
- Another piece of text
140
- </Skeleton>
141
- <p>
142
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
143
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
144
- <Skeleton variant="text" width={`${randomNumberBetween(25, 60)}%`} />
145
- <Skeleton variant="text" width={`${randomNumberBetween(45, 80)}%`} />
146
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
147
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
148
- <Skeleton variant="text" width={`${randomNumberBetween(75, 90)}%`} />
149
- </p>
150
- </StyledHtml>
151
- ),
152
- };
@@ -1,6 +1,5 @@
1
1
  /* eslint-disable import/no-extraneous-dependencies -- storybook story */
2
2
  import type { Meta, StoryObj } from "@storybook/react";
3
- import { Badge } from "../badge";
4
3
  import { StepIndicator } from ".";
5
4
 
6
5
  const meta: Meta<typeof StepIndicator> = {
@@ -12,39 +11,11 @@ export default meta;
12
11
 
13
12
  type Story = StoryObj<typeof StepIndicator>;
14
13
 
15
- export const Default: Story = {
14
+ export const Preview: Story = {
15
+ tags: ["!dev"],
16
16
  args: {
17
17
  label: "Progress name",
18
18
  totalSteps: 5,
19
19
  activeStep: 2,
20
20
  },
21
21
  };
22
-
23
- export const Title: Story = {
24
- args: {
25
- activeStep: 2,
26
- label: "Pakke til utlandet",
27
- lang: "no",
28
- totalSteps: 5,
29
- title: "Hvem sender pakken?",
30
- titleAs: "h2",
31
- },
32
- };
33
-
34
- export const WithBadgeInLabel: Story = {
35
- args: {
36
- activeStep: 2,
37
- label: (
38
- <>
39
- Norgespakke™ liten
40
- <Badge size="smaller" style={{ marginLeft: "var(--hds-spacing-12)" }}>
41
- 73,-
42
- </Badge>
43
- </>
44
- ),
45
- lang: "no",
46
- totalSteps: 5,
47
- title: "Størrelse og vekt",
48
- titleAs: "h2",
49
- },
50
- };
@@ -5,28 +5,7 @@ import { StyledHtml } from ".";
5
5
  const meta: Meta<typeof StyledHtml> = {
6
6
  title: "Styled Html",
7
7
  component: StyledHtml,
8
- args: {
9
- children: (
10
- <>
11
- <h1>Hello</h1>
12
- <h2>Hello</h2>
13
-
14
- <a href="https://www.postenbring.no">Postenbring</a>
15
-
16
- <ul>
17
- <li>Hei</li>
18
- <li>Hallo</li>
19
- <li>Hello</li>
20
- </ul>
21
8
 
22
- <ol>
23
- <li>En</li>
24
- <li>To</li>
25
- <li>Tre</li>
26
- </ol>
27
- </>
28
- ),
29
- },
30
9
  argTypes: {
31
10
  size: {
32
11
  defaultValue: "default",
@@ -48,142 +27,30 @@ const meta: Meta<typeof StyledHtml> = {
48
27
  export default meta;
49
28
 
50
29
  type Story = StoryObj<typeof StyledHtml>;
51
- export const Default: Story = {
52
- args: {},
53
- };
54
-
55
- export const Darkmode: Story = {
56
- args: {
57
- darkmode: true,
58
- },
59
- parameters: {
60
- backgrounds: { default: "dark" },
61
- },
62
- };
63
-
64
- export const Small: Story = {
65
- args: {
66
- size: "small",
67
- },
68
- };
69
-
70
- export const DarkmodeSmall: Story = {
30
+ export const Preview: Story = {
31
+ tags: ["!dev"],
71
32
  args: {
72
- darkmode: true,
73
- size: "small",
74
- },
75
- parameters: {
76
- backgrounds: { default: "dark" },
77
- },
78
- };
79
-
80
- export const ArticleContent: Story = {
81
- render: () => (
82
- <StyledHtml>
83
- <p>
84
- Pakkeboksene er selvbetjente, og er plassert slik at de er mulig å bruke hele døgnet. Du
85
- trenger bare mobilen din og Posten-appen for å åpne lukene.
86
- </p>
87
-
88
- <p>
89
- Akkurat nå er det satt ut pakkebokser over 1800 steder i landet, og fremover vil det komme
90
- enda flere.&nbsp;
91
- </p>
92
-
93
- <p>
94
- <a href="/motta/fleksibelt/pakkeboks" title="Les mer og finn Pakkeboks">
95
- Her kan du finne din nærmeste Pakkeboks
96
- </a>
97
- </p>
98
-
99
- <h1 className="hds-text-h3">Slik bruker du Pakkeboks:</h1>
100
-
101
- <p>
102
- For å bruke pakkeboksene må du&nbsp;
103
- <a href="/posten-app" target="_blank" title="Last ned Posten-appen">
104
- laste ned Posten-appen
105
- </a>
106
- &nbsp;på mobilen din. Med appen kan du:
107
- </p>
108
-
109
- <ul>
110
- <li>Åpne luke for å hente pakke</li>
111
- <li>Reservere og åpne luke når du skal sende pakke</li>
112
- <li>Velge om du vil ha pakker kun levert i de midterste lukene</li>
113
- <li>Dele pakkene dine&nbsp;med andre, slik at de kan hente eller sende dem for deg</li>
114
- </ul>
115
-
116
- <h2>Hente pakker</h2>
117
-
118
- <p>
119
- Du får varsel i Posten-appen når du har en pakke som skal hentes i Pakkeboks. Slik gjør du:
120
- </p>
121
-
122
- <ul>
123
- <li>Stå ved pakkeboksen og åpne appen. Husk å ha på Bluetooth</li>
124
- <li>Appen kobler til riktig boks, og viser hvilken luke pakken din er i</li>
125
- <li>Trykk på Åpne luke, og ta ut pakken din.</li>
126
- <li>Steng luken og lukk appen</li>
127
- </ul>
128
-
129
- <h2>Velge høyde på luke</h2>
130
-
131
- <p>Slik velger du at du vil ha pakkene kun i midterste luker:</p>
132
-
133
- <ul>
134
- <li>Du må ha nyeste versjon av Posten-appen</li>
135
- <li>Åpne appen, og trykk på «Profil»</li>
136
- <li>Velg «Levering i Pakkeboks», deretter&nbsp;«Luker på midten»</li>
137
- <li>Lagre valget ditt</li>
138
- </ul>
139
-
140
- <h2>Sende fra Pakkeboks</h2>
141
-
142
- <p>
143
- Nå kan du bruke Posten-appen for å reservere luker i pakkeboksen når du skal sende{" "}
144
- <a
145
- href="/sende/i-norge/norgespakke/norgespakke-0-5-kg"
146
- target="_blank"
147
- title="Les mer om Norgespakke™ liten"
148
- >
149
- Norgespakke™ liten
150
- </a>
151
- .
152
- </p>
153
-
154
- <p>Slik reserverer du luke for å sende pakke:</p>
155
-
156
- <ul>
157
- <li>
158
- Du må ha Posten-appen for å bestille sending og&nbsp;holde av en&nbsp;luke i pakkeboksen
159
- </li>
160
- <li>Velg&nbsp;Norgespakke™ liten, og følg stegene for kjøp av frakt</li>
161
- <li>Velg innlevering på Posten, og fullfør kjøpet</li>
162
- <li>
163
- Du trenger ikke reservere luke rett etter kjøp, dette kan du gjøre innenfor 2 timer før du
164
- skal sende pakken
165
- </li>
166
- <li>Pakken din blir hentet senest neste virkedag</li>
167
- </ul>
168
-
169
- <h2>Returnere fra Pakkeboks</h2>
33
+ children: (
34
+ <>
35
+ <h1>Heading</h1>
36
+ <h2>Subheading</h2>
170
37
 
171
- <ul>
172
- <li>
173
- Du må ha&nbsp;<a href="https://www.posten.no/posten-app">Posten-appen</a>&nbsp;for å
174
- reservere en luke.
175
- </li>
176
- <li>Velg retur i appen og følg stegene videre</li>
177
- <li>Fest&nbsp;adresselappen for retur&nbsp;midt på pakken med strekkoden godt synlig</li>
178
- <li>Luken holdes av i to timer fra du reserverer den.</li>
179
- <li>Du kan reservere en luke&nbsp;når som helst</li>
180
- </ul>
38
+ <p>
39
+ God dag, her er en lenke til <a href="https://www.postenbring.no">Postenbring</a>
40
+ </p>
181
41
 
182
- <p>Er det noe du lurer på?</p>
42
+ <ul>
43
+ <li>Hei</li>
44
+ <li>Hallo</li>
45
+ <li>Hello</li>
46
+ </ul>
183
47
 
184
- <p>
185
- Se flere <a href="/kundeservice/pakkeboks-hjelp">spørsmål og svar om Pakkeboks</a>.
186
- </p>
187
- </StyledHtml>
188
- ),
48
+ <ol>
49
+ <li>En</li>
50
+ <li>To</li>
51
+ <li>Tre</li>
52
+ </ol>
53
+ </>
54
+ ),
55
+ },
189
56
  };
@@ -4,8 +4,18 @@ import { Slot } from "@radix-ui/react-slot";
4
4
 
5
5
  export interface StyledHtmlProps extends React.HTMLAttributes<HTMLDivElement> {
6
6
  children?: React.ReactNode;
7
+
8
+ /**
9
+ * Size of content inside. Setting this to `small` makes the font size be `body-small`.
10
+ *
11
+ * @default "default"
12
+ */
7
13
  size?: "default" | "small";
8
- darkmode?: boolean;
14
+
15
+ /**
16
+ * 🚧 Work in progress darkmode support
17
+ */
18
+ unstable_darkmode?: boolean;
9
19
 
10
20
  /**
11
21
  * Change the default rendered element for the one passed as a child, merging their props and behavior.
@@ -38,7 +48,7 @@ export interface StyledHtmlProps extends React.HTMLAttributes<HTMLDivElement> {
38
48
  * ```
39
49
  */
40
50
  export const StyledHtml = forwardRef<HTMLDivElement, StyledHtmlProps>(
41
- ({ asChild, children, size, darkmode = false, className, ...rest }, ref) => {
51
+ ({ asChild, children, size, unstable_darkmode: darkmode = false, className, ...rest }, ref) => {
42
52
  const Component = asChild ? Slot : "div";
43
53
  return (
44
54
  <Component
@@ -0,0 +1,43 @@
1
+ /* eslint-disable import/no-extraneous-dependencies -- storybook story */
2
+ import type { Meta, StoryObj } from "@storybook/react";
3
+ import { Table } from ".";
4
+
5
+ type Story = StoryObj<typeof Table>;
6
+
7
+ const meta: Meta<typeof Table> = {
8
+ title: "Table",
9
+ component: Table,
10
+ };
11
+ export default meta;
12
+
13
+ export const Preview: Story = {
14
+ tags: ["!dev"],
15
+ args: {
16
+ caption: "Default table",
17
+ description: "A short explanation of what this table contains, If you need it.",
18
+
19
+ children: (
20
+ <>
21
+ <thead>
22
+ <tr>
23
+ <th>Header 1</th>
24
+ <th>Header 2</th>
25
+ <th>Header 3</th>
26
+ </tr>
27
+ </thead>
28
+ <tbody>
29
+ <tr>
30
+ <td>Row 1, Cell 1</td>
31
+ <td>Row 1, Cell 2</td>
32
+ <td>Row 1, Cell 3</td>
33
+ </tr>
34
+ <tr>
35
+ <td>Row 2, Cell 1</td>
36
+ <td>Row 2, Cell 2</td>
37
+ <td>Row 2, Cell 3</td>
38
+ </tr>
39
+ </tbody>
40
+ </>
41
+ ),
42
+ },
43
+ };