@developer-overheid-nl/don-register-components 1.0.0 → 1.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 (61) hide show
  1. package/LICENSE.md +291 -291
  2. package/README.md +20 -20
  3. package/package.json +1 -1
  4. package/src/alert/Alert.tsx +19 -19
  5. package/src/alert/styles.module.css +3 -3
  6. package/src/alignBox/AlignBox.tsx +110 -110
  7. package/src/alignBox/styles.module.css +106 -106
  8. package/src/article/Article.tsx +10 -10
  9. package/src/block/Block.tsx +35 -35
  10. package/src/block/styles.module.css +29 -29
  11. package/src/button/Button.tsx +3 -3
  12. package/src/cardAsLink/CardAsLink.tsx +21 -21
  13. package/src/cardAsLink/styles.module.css +23 -23
  14. package/src/cardsList/CardsList.tsx +54 -54
  15. package/src/cardsList/styles.module.css +19 -19
  16. package/src/client.ts +2 -2
  17. package/src/container/Container.tsx +10 -10
  18. package/src/container/styles.module.css +28 -28
  19. package/src/copyButton/CopyButton.tsx +39 -39
  20. package/src/copyButton/styles.module.css +13 -13
  21. package/src/dataBadgeLink/DataBadgeLink.tsx +50 -50
  22. package/src/dataBadgeLink/styles.module.css +43 -43
  23. package/src/dataSummary/DataSummary.tsx +22 -22
  24. package/src/dataSummary/DataSummaryItem.tsx +21 -21
  25. package/src/dataSummary/styles.module.css +70 -70
  26. package/src/fieldset/FieldSet.tsx +3 -3
  27. package/src/filters/Filters.tsx +115 -115
  28. package/src/filters/styles.module.css +26 -26
  29. package/src/footer/Footer.tsx +76 -76
  30. package/src/footer/styles.module.css +103 -103
  31. package/src/formFieldLabel/FormFieldLabel.tsx +23 -23
  32. package/src/formFieldTextInput/FormFieldTextInput.tsx +3 -3
  33. package/src/header/Header.tsx +137 -137
  34. package/src/header/styles.module.css +71 -71
  35. package/src/heading/Heading.tsx +10 -10
  36. package/src/headingGroup/HeadingGroup.tsx +48 -48
  37. package/src/headingGroup/styles.module.css +3 -3
  38. package/src/i18n.ts +24 -24
  39. package/src/iconBadge/IconBadge.tsx +32 -32
  40. package/src/iconBadge/getAppearance.ts +47 -47
  41. package/src/iconBadge/styles.module.css +19 -19
  42. package/src/iconsSprite/Icon.tsx +17 -17
  43. package/src/iconsSprite/IconsSprite.tsx +5 -5
  44. package/src/index.ts +80 -80
  45. package/src/link/Link.tsx +10 -10
  46. package/src/markdown/Markdown.tsx +42 -42
  47. package/src/pagination/Pagination.tsx +144 -144
  48. package/src/pagination/styles.module.css +13 -13
  49. package/src/paragraph/Paragraph.tsx +10 -10
  50. package/src/pillBadge/PillBadge.examples.tsx +107 -107
  51. package/src/pillBadge/PillBadge.tsx +51 -51
  52. package/src/pillBadge/styles.module.css +194 -194
  53. package/src/readOnlyTextInput/ReadOnlyTextInput.tsx +24 -24
  54. package/src/readOnlyTextInput/styles.module.css +19 -19
  55. package/src/scoreBadge/ScoreBadge.tsx +132 -132
  56. package/src/search/Search.tsx +66 -66
  57. package/src/search/styles.module.css +39 -39
  58. package/src/siteLogo/SiteLogo.tsx +24 -24
  59. package/src/topNavigation/TopNavigation.tsx +67 -64
  60. package/src/topNavigation/styles.module.css +54 -54
  61. package/tsconfig.json +121 -121
@@ -1,51 +1,51 @@
1
- import clsx from "clsx";
2
- import type { PropsWithChildren } from "react";
3
- import styles from "./styles.module.css";
4
-
5
- export interface PillBadgeProps {
6
- className?: string;
7
- startValue: string | number | null | undefined;
8
- endValue: string | number | null | undefined;
9
- caption?: string;
10
- type?: "color" | "percentage";
11
- color?: string; // todo: enum
12
- }
13
-
14
- const PillBadge = (props: PropsWithChildren<PillBadgeProps>) => {
15
- const {
16
- className,
17
- startValue,
18
- endValue,
19
- caption,
20
- type = "color",
21
- color,
22
- children,
23
- ...restProps
24
- } = props;
25
-
26
- return (
27
- <figure
28
- className={clsx(styles["pill-badge-figure"], className)}
29
- {...restProps}
30
- >
31
- <div
32
- className={clsx(
33
- styles["pill-badge"],
34
- type === "percentage" && styles["pill-badge--type-percentage"],
35
- )}
36
- data-percentage={type === "percentage" ? endValue : undefined}
37
- data-color={color}
38
- >
39
- <span className={styles["pill-badge__start"]}>{startValue || "■"}</span>
40
- <span className={styles["pill-badge__end"]}>
41
- {endValue || "-"}
42
- {type === "percentage" ? "%" : ""}
43
- </span>
44
- </div>
45
- {children}
46
- {caption && <figcaption>{caption}</figcaption>}
47
- </figure>
48
- );
49
- };
50
-
51
- export default PillBadge;
1
+ import clsx from "clsx";
2
+ import type { PropsWithChildren } from "react";
3
+ import styles from "./styles.module.css";
4
+
5
+ export interface PillBadgeProps {
6
+ className?: string;
7
+ startValue: string | number | null | undefined;
8
+ endValue: string | number | null | undefined;
9
+ caption?: string;
10
+ type?: "color" | "percentage";
11
+ color?: string; // todo: enum
12
+ }
13
+
14
+ const PillBadge = (props: PropsWithChildren<PillBadgeProps>) => {
15
+ const {
16
+ className,
17
+ startValue,
18
+ endValue,
19
+ caption,
20
+ type = "color",
21
+ color,
22
+ children,
23
+ ...restProps
24
+ } = props;
25
+
26
+ return (
27
+ <figure
28
+ className={clsx(styles["pill-badge-figure"], className)}
29
+ {...restProps}
30
+ >
31
+ <div
32
+ className={clsx(
33
+ styles["pill-badge"],
34
+ type === "percentage" && styles["pill-badge--type-percentage"],
35
+ )}
36
+ data-percentage={type === "percentage" ? endValue : undefined}
37
+ data-color={color}
38
+ >
39
+ <span className={styles["pill-badge__start"]}>{startValue || "■"}</span>
40
+ <span className={styles["pill-badge__end"]}>
41
+ {endValue || "-"}
42
+ {type === "percentage" ? "%" : ""}
43
+ </span>
44
+ </div>
45
+ {children}
46
+ {caption && <figcaption>{caption}</figcaption>}
47
+ </figure>
48
+ );
49
+ };
50
+
51
+ export default PillBadge;
@@ -1,194 +1,194 @@
1
- :root {
2
- --don-pill-badge-font-size: 0.875rem;
3
- --don-pill-badge-gap: 0.5rem;
4
- --don-pill-badge-border-radius: 5px;
5
- --don-pill-badge-padding-inline: 0.5rem;
6
- --don-pill-badge-padding-block: 0.25rem;
7
- --don-pill-badge-background-color: var(--rhc-color-cool-grey-200);
8
- --don-pill-badge-start-color: var(--rhc-color-foreground-on-dark-color);
9
- --don-pill-badge-start-background-color: var(--rhc-color-cool-grey-700);
10
- --don-pill-badge-end-color: var(--rhc-color-foreground-on-light-color);
11
- --don-pill-badge-end-background-color: var(--rhc-color-groen-100);
12
- --don-pill-badge-border-color: linear-gradient(
13
- to top,
14
- rgba(51, 51, 51, 0.25),
15
- rgba(204, 204, 204, 0.25)
16
- );
17
- --don-pill-badge-border-width: 1px;
18
- }
19
-
20
- .pill-badge-figure {
21
- display: contents;
22
- }
23
-
24
- .pill-badge {
25
- --percentage: 100%;
26
- position: relative;
27
- display: inline-block;
28
- align-items: center;
29
- width: fit-content;
30
- height: auto;
31
- overflow: clip;
32
- font-size: var(--don-pill-badge-font-size);
33
- background-color: var(--don-pill-badge-background-color);
34
- border-radius: var(--don-pill-badge-border-radius);
35
-
36
- /* Because Biome CSS parser does not yet support modern attr() some of the following is commented out.
37
- * Fixme: remove this workaround when https://github.com/biomejs/biome/issues/6183 is closed and tested */
38
-
39
- /* Browser has modern attr() support */
40
- /*
41
- @supports (x: attr(x type(*))) {
42
- --percentage: attr(data-percentage %, 100%);
43
- }
44
- */
45
-
46
- /* Browser does not have modern attr() support */
47
- /* @supports not (x: attr(x type(*))) { */
48
- &[data-percentage^='1'] {
49
- --percentage: 10%;
50
- }
51
- &[data-percentage^='2'] {
52
- --percentage: 20%;
53
- }
54
- &[data-percentage^='3'] {
55
- --percentage: 30%;
56
- }
57
- &[data-percentage^='4'] {
58
- --percentage: 40%;
59
- }
60
- &[data-percentage^='5'] {
61
- --percentage: 50%;
62
- }
63
- &[data-percentage^='6'] {
64
- --percentage: 60%;
65
- }
66
- &[data-percentage^='7'] {
67
- --percentage: 70%;
68
- }
69
- &[data-percentage^='8'] {
70
- --percentage: 80%;
71
- }
72
- &[data-percentage^='9'] {
73
- --percentage: 90%;
74
- }
75
- &[data-percentage='100'] {
76
- --percentage: 100%;
77
- }
78
- &[data-percentage='9'],
79
- &[data-percentage='8'],
80
- &[data-percentage='7'],
81
- &[data-percentage='6'],
82
- &[data-percentage='5'],
83
- &[data-percentage='4'],
84
- &[data-percentage='3'],
85
- &[data-percentage='2'],
86
- &[data-percentage='1'],
87
- &[data-percentage='0'] {
88
- --percentage: 0%;
89
- }
90
- /*}*/
91
-
92
- /* --_don-pill-badge-end-color: attr(data-color type(<color>), var(--don-pill-badge-end-color));*/
93
- }
94
-
95
- .pill-badge::before {
96
- position: absolute;
97
- inset: 0;
98
- content: '';
99
- background: var(--don-pill-badge-border-color) border-box;
100
- border: var(--don-pill-badge-border-width) solid transparent;
101
- border-radius: var(--don-pill-badge-border-radius);
102
- mask:
103
- linear-gradient(#000 0 0) content-box,
104
- linear-gradient(#000 0 0);
105
- mask-composite: exclude;
106
- }
107
-
108
- .pill-badge__start {
109
- padding-block: var(--don-pill-badge-padding-block);
110
- padding-inline: var(--don-pill-badge-padding-inline);
111
- padding-inline-end: calc(0.5 * var(--don-pill-badge-gap));
112
- color: var(--don-pill-badge-start-color);
113
- background-color: var(--don-pill-badge-start-background-color);
114
- }
115
-
116
- .pill-badge__end {
117
- padding-block: var(--don-pill-badge-padding-block);
118
- padding-inline: var(--don-pill-badge-padding-inline);
119
- padding-inline-start: calc(0.5 * var(--don-pill-badge-gap));
120
- color: var(--don-pill-badge-end-color);
121
- background-color: var(--don-pill-badge-end-background-color);
122
- }
123
-
124
- .pill-badge--type-percentage .pill-badge__end {
125
- background: linear-gradient(
126
- to right,
127
- var(--don-pill-badge-end-background-color) var(--percentage),
128
- var(--don-pill-badge-background-color) var(--percentage)
129
- );
130
- }
131
-
132
- /* Pre-defined Rijkshuisstijl colors,
133
- * AA contrast checked, most are AAA prove, but not all because of font-size
134
- */
135
- [data-color='robijnrood'] .pill-badge__end {
136
- --don-pill-badge-end-background-color: var(--rhc-color-robijnrood-200);
137
- }
138
- [data-color='roze'] .pill-badge__end {
139
- --don-pill-badge-end-background-color: var(--rhc-color-roze-300);
140
- }
141
- [data-color='rood'] .pill-badge__end {
142
- /* Not AAA prove */
143
- --don-pill-badge-end-background-color: var(--rhc-color-rood-500);
144
- --don-pill-badge-end-color: var(--rhc-color-foreground-on-dark-color);
145
- --don-pill-badge-background-color: var(--rhc-color-cool-grey-500);
146
- }
147
- [data-color='oranje'] .pill-badge__end {
148
- --don-pill-badge-end-background-color: var(--rhc-color-oranje-300);
149
- }
150
- [data-color='donkergeel'] .pill-badge__end {
151
- --don-pill-badge-end-background-color: var(--rhc-color-donkergeel-400);
152
- }
153
- [data-color='geel'] .pill-badge__end {
154
- --don-pill-badge-end-background-color: var(--rhc-color-geel-400);
155
- }
156
- [data-color='donkergroen'] .pill-badge__end {
157
- --don-pill-badge-end-background-color: var(--rhc-color-donkergroen-500);
158
- --don-pill-badge-end-color: var(--rhc-color-foreground-on-dark-color);
159
- --don-pill-badge-background-color: var(--rhc-color-cool-grey-500);
160
- }
161
- [data-color='groen'] .pill-badge__end {
162
- --don-pill-badge-end-background-color: var(--rhc-color-groen-300);
163
- }
164
- [data-color='mosgroen'] .pill-badge__end {
165
- --don-pill-badge-end-background-color: var(--rhc-color-mosgroen-300);
166
- }
167
- [data-color='mintgroen'] .pill-badge__end {
168
- --don-pill-badge-end-background-color: var(--rhc-color-mintgroen-400);
169
- }
170
- [data-color='donkerblauw'] .pill-badge__end {
171
- /* Not AAA prove */
172
- --don-pill-badge-end-background-color: var(--rhc-color-donkerblauw-500);
173
- --don-pill-badge-end-color: var(--rhc-color-foreground-on-dark-color);
174
- --don-pill-badge-background-color: var(--rhc-color-cool-grey-500);
175
- }
176
- [data-color='hemelblauw'] .pill-badge__end {
177
- --don-pill-badge-end-background-color: var(--rhc-color-hemelblauw-200);
178
- }
179
- [data-color='paars'] .pill-badge__end {
180
- --don-pill-badge-end-background-color: var(--rhc-color-paars-500);
181
- --don-pill-badge-end-color: var(--rhc-color-foreground-on-dark-color);
182
- --don-pill-badge-background-color: var(--rhc-color-cool-grey-500);
183
- }
184
- [data-color='violet'] .pill-badge__end {
185
- --don-pill-badge-end-background-color: var(--rhc-color-violet-200);
186
- }
187
- [data-color='lichtblauw'] .pill-badge__end {
188
- --don-pill-badge-end-background-color: var(--rhc-color-lichtblauw-300);
189
- }
190
- [data-color='coolgrey'] .pill-badge__end,
191
- [data-color='grijs'] .pill-badge__end,
192
- [data-color='grey'] .pill-badge__end {
193
- --don-pill-badge-end-background-color: var(--rhc-color-cool-grey-300);
194
- }
1
+ :root {
2
+ --don-pill-badge-font-size: 0.875rem;
3
+ --don-pill-badge-gap: 0.5rem;
4
+ --don-pill-badge-border-radius: 5px;
5
+ --don-pill-badge-padding-inline: 0.5rem;
6
+ --don-pill-badge-padding-block: 0.25rem;
7
+ --don-pill-badge-background-color: var(--rhc-color-cool-grey-200);
8
+ --don-pill-badge-start-color: var(--rhc-color-foreground-on-dark-color);
9
+ --don-pill-badge-start-background-color: var(--rhc-color-cool-grey-700);
10
+ --don-pill-badge-end-color: var(--rhc-color-foreground-on-light-color);
11
+ --don-pill-badge-end-background-color: var(--rhc-color-groen-100);
12
+ --don-pill-badge-border-color: linear-gradient(
13
+ to top,
14
+ rgba(51, 51, 51, 0.25),
15
+ rgba(204, 204, 204, 0.25)
16
+ );
17
+ --don-pill-badge-border-width: 1px;
18
+ }
19
+
20
+ .pill-badge-figure {
21
+ display: contents;
22
+ }
23
+
24
+ .pill-badge {
25
+ --percentage: 100%;
26
+ position: relative;
27
+ display: inline-block;
28
+ align-items: center;
29
+ width: fit-content;
30
+ height: auto;
31
+ overflow: clip;
32
+ font-size: var(--don-pill-badge-font-size);
33
+ background-color: var(--don-pill-badge-background-color);
34
+ border-radius: var(--don-pill-badge-border-radius);
35
+
36
+ /* Because Biome CSS parser does not yet support modern attr() some of the following is commented out.
37
+ * Fixme: remove this workaround when https://github.com/biomejs/biome/issues/6183 is closed and tested */
38
+
39
+ /* Browser has modern attr() support */
40
+ /*
41
+ @supports (x: attr(x type(*))) {
42
+ --percentage: attr(data-percentage %, 100%);
43
+ }
44
+ */
45
+
46
+ /* Browser does not have modern attr() support */
47
+ /* @supports not (x: attr(x type(*))) { */
48
+ &[data-percentage^='1'] {
49
+ --percentage: 10%;
50
+ }
51
+ &[data-percentage^='2'] {
52
+ --percentage: 20%;
53
+ }
54
+ &[data-percentage^='3'] {
55
+ --percentage: 30%;
56
+ }
57
+ &[data-percentage^='4'] {
58
+ --percentage: 40%;
59
+ }
60
+ &[data-percentage^='5'] {
61
+ --percentage: 50%;
62
+ }
63
+ &[data-percentage^='6'] {
64
+ --percentage: 60%;
65
+ }
66
+ &[data-percentage^='7'] {
67
+ --percentage: 70%;
68
+ }
69
+ &[data-percentage^='8'] {
70
+ --percentage: 80%;
71
+ }
72
+ &[data-percentage^='9'] {
73
+ --percentage: 90%;
74
+ }
75
+ &[data-percentage='100'] {
76
+ --percentage: 100%;
77
+ }
78
+ &[data-percentage='9'],
79
+ &[data-percentage='8'],
80
+ &[data-percentage='7'],
81
+ &[data-percentage='6'],
82
+ &[data-percentage='5'],
83
+ &[data-percentage='4'],
84
+ &[data-percentage='3'],
85
+ &[data-percentage='2'],
86
+ &[data-percentage='1'],
87
+ &[data-percentage='0'] {
88
+ --percentage: 0%;
89
+ }
90
+ /*}*/
91
+
92
+ /* --_don-pill-badge-end-color: attr(data-color type(<color>), var(--don-pill-badge-end-color));*/
93
+ }
94
+
95
+ .pill-badge::before {
96
+ position: absolute;
97
+ inset: 0;
98
+ content: '';
99
+ background: var(--don-pill-badge-border-color) border-box;
100
+ border: var(--don-pill-badge-border-width) solid transparent;
101
+ border-radius: var(--don-pill-badge-border-radius);
102
+ mask:
103
+ linear-gradient(#000 0 0) content-box,
104
+ linear-gradient(#000 0 0);
105
+ mask-composite: exclude;
106
+ }
107
+
108
+ .pill-badge__start {
109
+ padding-block: var(--don-pill-badge-padding-block);
110
+ padding-inline: var(--don-pill-badge-padding-inline);
111
+ padding-inline-end: calc(0.5 * var(--don-pill-badge-gap));
112
+ color: var(--don-pill-badge-start-color);
113
+ background-color: var(--don-pill-badge-start-background-color);
114
+ }
115
+
116
+ .pill-badge__end {
117
+ padding-block: var(--don-pill-badge-padding-block);
118
+ padding-inline: var(--don-pill-badge-padding-inline);
119
+ padding-inline-start: calc(0.5 * var(--don-pill-badge-gap));
120
+ color: var(--don-pill-badge-end-color);
121
+ background-color: var(--don-pill-badge-end-background-color);
122
+ }
123
+
124
+ .pill-badge--type-percentage .pill-badge__end {
125
+ background: linear-gradient(
126
+ to right,
127
+ var(--don-pill-badge-end-background-color) var(--percentage),
128
+ var(--don-pill-badge-background-color) var(--percentage)
129
+ );
130
+ }
131
+
132
+ /* Pre-defined Rijkshuisstijl colors,
133
+ * AA contrast checked, most are AAA prove, but not all because of font-size
134
+ */
135
+ [data-color='robijnrood'] .pill-badge__end {
136
+ --don-pill-badge-end-background-color: var(--rhc-color-robijnrood-200);
137
+ }
138
+ [data-color='roze'] .pill-badge__end {
139
+ --don-pill-badge-end-background-color: var(--rhc-color-roze-300);
140
+ }
141
+ [data-color='rood'] .pill-badge__end {
142
+ /* Not AAA prove */
143
+ --don-pill-badge-end-background-color: var(--rhc-color-rood-500);
144
+ --don-pill-badge-end-color: var(--rhc-color-foreground-on-dark-color);
145
+ --don-pill-badge-background-color: var(--rhc-color-cool-grey-500);
146
+ }
147
+ [data-color='oranje'] .pill-badge__end {
148
+ --don-pill-badge-end-background-color: var(--rhc-color-oranje-300);
149
+ }
150
+ [data-color='donkergeel'] .pill-badge__end {
151
+ --don-pill-badge-end-background-color: var(--rhc-color-donkergeel-400);
152
+ }
153
+ [data-color='geel'] .pill-badge__end {
154
+ --don-pill-badge-end-background-color: var(--rhc-color-geel-400);
155
+ }
156
+ [data-color='donkergroen'] .pill-badge__end {
157
+ --don-pill-badge-end-background-color: var(--rhc-color-donkergroen-500);
158
+ --don-pill-badge-end-color: var(--rhc-color-foreground-on-dark-color);
159
+ --don-pill-badge-background-color: var(--rhc-color-cool-grey-500);
160
+ }
161
+ [data-color='groen'] .pill-badge__end {
162
+ --don-pill-badge-end-background-color: var(--rhc-color-groen-300);
163
+ }
164
+ [data-color='mosgroen'] .pill-badge__end {
165
+ --don-pill-badge-end-background-color: var(--rhc-color-mosgroen-300);
166
+ }
167
+ [data-color='mintgroen'] .pill-badge__end {
168
+ --don-pill-badge-end-background-color: var(--rhc-color-mintgroen-400);
169
+ }
170
+ [data-color='donkerblauw'] .pill-badge__end {
171
+ /* Not AAA prove */
172
+ --don-pill-badge-end-background-color: var(--rhc-color-donkerblauw-500);
173
+ --don-pill-badge-end-color: var(--rhc-color-foreground-on-dark-color);
174
+ --don-pill-badge-background-color: var(--rhc-color-cool-grey-500);
175
+ }
176
+ [data-color='hemelblauw'] .pill-badge__end {
177
+ --don-pill-badge-end-background-color: var(--rhc-color-hemelblauw-200);
178
+ }
179
+ [data-color='paars'] .pill-badge__end {
180
+ --don-pill-badge-end-background-color: var(--rhc-color-paars-500);
181
+ --don-pill-badge-end-color: var(--rhc-color-foreground-on-dark-color);
182
+ --don-pill-badge-background-color: var(--rhc-color-cool-grey-500);
183
+ }
184
+ [data-color='violet'] .pill-badge__end {
185
+ --don-pill-badge-end-background-color: var(--rhc-color-violet-200);
186
+ }
187
+ [data-color='lichtblauw'] .pill-badge__end {
188
+ --don-pill-badge-end-background-color: var(--rhc-color-lichtblauw-300);
189
+ }
190
+ [data-color='coolgrey'] .pill-badge__end,
191
+ [data-color='grijs'] .pill-badge__end,
192
+ [data-color='grey'] .pill-badge__end {
193
+ --don-pill-badge-end-background-color: var(--rhc-color-cool-grey-300);
194
+ }
@@ -1,24 +1,24 @@
1
- import {
2
- TextInput,
3
- type TextInputProps,
4
- } from "@rijkshuisstijl-community/components-react";
5
- import { clsx } from "clsx";
6
- import styles from "./styles.module.css";
7
-
8
- interface ReadOnlyTextInputProps extends TextInputProps {
9
- fontVariant?: "slashed-zero" | "monospace" | "normal";
10
- }
11
-
12
- const ReadOnlyTextInput = (props: ReadOnlyTextInputProps) => {
13
- const { className, fontVariant = "normal", ...restProps } = props;
14
-
15
- return (
16
- <TextInput
17
- readOnly
18
- className={clsx(styles.input, styles[fontVariant], className)}
19
- {...restProps}
20
- />
21
- );
22
- };
23
-
24
- export default ReadOnlyTextInput;
1
+ import {
2
+ TextInput,
3
+ type TextInputProps,
4
+ } from "@rijkshuisstijl-community/components-react";
5
+ import { clsx } from "clsx";
6
+ import styles from "./styles.module.css";
7
+
8
+ interface ReadOnlyTextInputProps extends TextInputProps {
9
+ fontVariant?: "slashed-zero" | "monospace" | "normal";
10
+ }
11
+
12
+ const ReadOnlyTextInput = (props: ReadOnlyTextInputProps) => {
13
+ const { className, fontVariant = "normal", ...restProps } = props;
14
+
15
+ return (
16
+ <TextInput
17
+ readOnly
18
+ className={clsx(styles.input, styles[fontVariant], className)}
19
+ {...restProps}
20
+ />
21
+ );
22
+ };
23
+
24
+ export default ReadOnlyTextInput;
@@ -1,19 +1,19 @@
1
- .input.input {
2
- --utrecht-textbox-max-inline-size: none;
3
- --utrecht-pointer-target-min-size: 36px;
4
- /* field-sizing: content; */
5
- inline-size: -webkit-fill-available;
6
- }
7
-
8
- .normal {
9
- font-variant: normal;
10
- }
11
-
12
- .input.slashed-zero {
13
- /* find a way to use RO font with slashed zero */
14
- font-variant-numeric: slashed-zero;
15
- }
16
-
17
- .input.monospace {
18
- font-family: monospace;
19
- }
1
+ .input.input {
2
+ --utrecht-textbox-max-inline-size: none;
3
+ --utrecht-pointer-target-min-size: 36px;
4
+ /* field-sizing: content; */
5
+ inline-size: -webkit-fill-available;
6
+ }
7
+
8
+ .normal {
9
+ font-variant: normal;
10
+ }
11
+
12
+ .input.slashed-zero {
13
+ /* find a way to use RO font with slashed zero */
14
+ font-variant-numeric: slashed-zero;
15
+ }
16
+
17
+ .input.monospace {
18
+ font-family: monospace;
19
+ }