@utrecht/form-fieldset-css 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,25 @@
1
+ # @utrecht/form-fieldset-css
2
+
3
+ ## 1.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - e497b08: Export CSS string as default export in `dist/index.mjs`.
8
+
9
+ ## 1.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - dae106c: Added metadata for form-fieldset tokens.
14
+
15
+ ## 1.1.0
16
+
17
+ ### Minor Changes
18
+
19
+ - 62f1157: Add SCSS files to `src/` directory of CSS component packages.
20
+
21
+ ## 1.0.0
22
+
23
+ ### Major Changes
24
+
25
+ - 856d996: Switch from alpha releases to semantic versioning.
package/README.md CHANGED
@@ -2,50 +2,4 @@
2
2
 
3
3
  # Fieldset
4
4
 
5
- ## States
6
-
7
- ### `disabled`
8
-
9
- Een veldengroep waar alle velden `disabled` zijn.
10
-
11
- ### `invalid`
12
-
13
- Een veldengroep die niet valide is. Gebruik deze voor veldengroepen de als geheel gevalideerd worden, bijvoorbeeld een _radio group_ of een _checkbox group_. Gebruik `invalid` niet voor veldengroepen waar één los onderdeel invalide is, bijvoorbeeld: als één van de vragen nog niet beantwoord is.
14
-
15
- ## HTML
16
-
17
- In HTML kun je de `<fieldset>` en `<legend>` elementen gebruiken, die worden automatisch gekoppeld aan radio buttons en checkboxes.
18
-
19
- Voor een radio button group gebruik je `<fieldset role="radiogroup">`, dat maakt het extra duidelijk voor screen reader gebruikers. `<fieldset>` heeft als default `role="group"` en daarom hoef je nooit `<fieldset role="group">` te gebruiken.
20
-
21
- De bijzondere browser default stylesheet voor `<fieldset>` en `<legend>` maken het erg moeilijk om CSS te gebruiken voor deze elementen, maar voor toegankelijkheid is het echter zeker de moeite waarde deze elementen toch te gebruiken. Gebruik de reset CSS voor fieldset en legend om geen default styles te gebruiken.
22
-
23
- Gebruik een extra `<div>` om je `<fieldset>` zodat het mogelijk wordt een `background-color` of `border` in te stellen, door de browser default stylesheet is dat voor `<fieldset>` niet goed mogelijk.
24
-
25
- ### HTML attributen
26
-
27
- Deze attributen moet je kunnen gebruiken in de fieldset component van een framework:
28
-
29
- - `class`
30
- - [`disabled`](https://html.spec.whatwg.org/multipage/form-elements.html#dom-fieldset-disabled)
31
- - `hidden`: om een _conditional fieldset_ te maken moet je het `hidden` attribuut kunnen gebruiken
32
- - `role`: het moet mogelijk zijn `role="radiogroup"` in te stellen
33
- - `aria-describedby`: gebruik bij voorkeur `<legend>`
34
- - `aria-invalid`
35
-
36
- Deze attributen willen mensen soms ook gebruiken:
37
-
38
- - `aria-label`: gebruik bij voorkeur `<legend>`
39
- - `aria-labelledby`: gebruik bij voorkeur `<legend>`
40
- - `aria-disabled`: gebruik bij voorkeur `disabled`, behalve als je _client-side form validation_ gebruikt om `aria-disabled` te maken.
41
- - [`form`](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-fae-form)
42
- - [`name`](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-fe-name)
43
-
44
- ## CSS
45
-
46
- De tokens voor `background-color` en `border` werken niet goed als alleen een `<fieldset>` wordt gebruikt. Voor goed resultaat is een extra `div` nodig. De HTML component heeft daarom geen goede ondersteuning voor `background-color` en `border`.
47
-
48
- ## Relevante WCAG regels
49
-
50
- - [WCAG eis 1.3.5](https://www.w3.org/TR/WCAG21/#identify-input-purpose)
51
- - voor een _radio group_ en _checkbox group_ is fieldset een goede manier het doel van de groep aan te geven
5
+ Groep van gerelateerde formuliervelden.
package/dist/index.css CHANGED
@@ -1,16 +1,8 @@
1
1
  /**
2
2
  * @license EUPL-1.2
3
- * Copyright (c) 2021 Robbert Broersma
3
+ * Copyright (c) 2020-2024 Frameless B.V.
4
+ * Copyright (c) 2021-2024 Gemeente Utrecht
4
5
  */
5
- /**
6
- * @license EUPL-1.2
7
- * Copyright (c) 2021 Robbert Broersma
8
- */
9
- /**
10
- * @license EUPL-1.2
11
- * Copyright (c) 2021 Robbert Broersma
12
- */
13
- /* stylelint-disable-next-line block-no-empty */
14
6
  .utrecht-form-fieldset {
15
7
  margin-block-end: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-margin-block-end, 0));
16
8
  margin-block-start: calc(var(--utrecht-space-around, 0) * var(--utrecht-form-fieldset-margin-block-start, 0));
@@ -18,7 +10,6 @@
18
10
 
19
11
  .utrecht-form-fieldset--html-fieldset,
20
12
  .utrecht-form-fieldset__fieldset--html-fieldset {
21
- /* `all: revert` unfortunately has as side-effect that the `hidde` attribute has no effect */
22
13
  all: revert;
23
14
  border: 0;
24
15
  margin-inline-end: 0;
@@ -0,0 +1 @@
1
+ .utrecht-form-fieldset{margin-block-end:calc(var(--utrecht-space-around, 0)*var(--utrecht-form-fieldset-margin-block-end, 0));margin-block-start:calc(var(--utrecht-space-around, 0)*var(--utrecht-form-fieldset-margin-block-start, 0))}.utrecht-form-fieldset--html-fieldset,.utrecht-form-fieldset__fieldset--html-fieldset{all:revert;border:0;margin-inline-end:0;margin-inline-start:0;min-inline-size:0;padding-block-end:0;padding-block-start:.01em;padding-inline-end:0;padding-inline-start:0}.utrecht-form-fieldset__legend--html-legend{display:table;inline-size:100%;padding-inline-end:0;padding-inline-start:0}.utrecht-form-fieldset--distanced{--utrecht-space-around:1}.utrecht-form-fieldset--section{background-color:var(--utrecht-form-fieldset-section-background-color);color:var(--utrecht-form-fieldset-section-color)}.utrecht-form-fieldset__legend{break-inside:avoid;color:var(--utrecht-form-fieldset-legend-color,var(--utrecht-document-color,inherit));font-family:var(--utrecht-form-fieldset-legend-font-family,var(--utrecht-document-font-family));font-size:var(--utrecht-form-fieldset-legend-font-size);font-weight:var(--utrecht-form-fieldset-legend-font-weight);line-height:var(--utrecht-form-fieldset-legend-line-height);page-break-after:avoid;page-break-inside:avoid}.utrecht-form-fieldset__legend--disabled{color:var(--utrecht-form-fieldset-legend-disabled-color,var(--utrecht-form-fieldset-legend-color,var(--utrecht-document-color,inherit)))}.utrecht-form-fieldset__legend--distanced{margin-block-end:calc(var(--utrecht-space-around, 0)*var(--utrecht-form-fieldset-legend-margin-block-end, 0));margin-block-start:calc(var(--utrecht-space-around, 0)*var(--utrecht-form-fieldset-legend-margin-block-start, 0))}.utrecht-form-fieldset--invalid{border-inline-start-color:var(--utrecht-form-fieldset-invalid-border-inline-start-color,var(--utrecht-form-field-invalid-border-inline-start-color));border-inline-start-style:solid;border-inline-start-width:var(--utrecht-form-fieldset-invalid-border-inline-start-width,var(--utrecht-form-field-invalid-border-inline-start-width));padding-inline-start:var(--utrecht-form-fieldset-invalid-padding-inline-start,var(--utrecht-form-field-invalid-padding-inline-start))}
package/dist/index.mjs ADDED
@@ -0,0 +1 @@
1
+ export default ".utrecht-form-fieldset{margin-block-end:calc(var(--utrecht-space-around, 0)*var(--utrecht-form-fieldset-margin-block-end, 0));margin-block-start:calc(var(--utrecht-space-around, 0)*var(--utrecht-form-fieldset-margin-block-start, 0))}.utrecht-form-fieldset--html-fieldset,.utrecht-form-fieldset__fieldset--html-fieldset{all:revert;border:0;margin-inline-end:0;margin-inline-start:0;min-inline-size:0;padding-block-end:0;padding-block-start:.01em;padding-inline-end:0;padding-inline-start:0}.utrecht-form-fieldset__legend--html-legend{display:table;inline-size:100%;padding-inline-end:0;padding-inline-start:0}.utrecht-form-fieldset--distanced{--utrecht-space-around:1}.utrecht-form-fieldset--section{background-color:var(--utrecht-form-fieldset-section-background-color);color:var(--utrecht-form-fieldset-section-color)}.utrecht-form-fieldset__legend{break-inside:avoid;color:var(--utrecht-form-fieldset-legend-color,var(--utrecht-document-color,inherit));font-family:var(--utrecht-form-fieldset-legend-font-family,var(--utrecht-document-font-family));font-size:var(--utrecht-form-fieldset-legend-font-size);font-weight:var(--utrecht-form-fieldset-legend-font-weight);line-height:var(--utrecht-form-fieldset-legend-line-height);page-break-after:avoid;page-break-inside:avoid}.utrecht-form-fieldset__legend--disabled{color:var(--utrecht-form-fieldset-legend-disabled-color,var(--utrecht-form-fieldset-legend-color,var(--utrecht-document-color,inherit)))}.utrecht-form-fieldset__legend--distanced{margin-block-end:calc(var(--utrecht-space-around, 0)*var(--utrecht-form-fieldset-legend-margin-block-end, 0));margin-block-start:calc(var(--utrecht-space-around, 0)*var(--utrecht-form-fieldset-legend-margin-block-start, 0))}.utrecht-form-fieldset--invalid{border-inline-start-color:var(--utrecht-form-fieldset-invalid-border-inline-start-color,var(--utrecht-form-field-invalid-border-inline-start-color));border-inline-start-style:solid;border-inline-start-width:var(--utrecht-form-fieldset-invalid-border-inline-start-width,var(--utrecht-form-field-invalid-border-inline-start-width));padding-inline-start:var(--utrecht-form-fieldset-invalid-padding-inline-start,var(--utrecht-form-field-invalid-padding-inline-start))}";
@@ -0,0 +1,2 @@
1
+ declare const css: string;
2
+ export default css;
@@ -0,0 +1,13 @@
1
+ <!-- @license CC0-1.0 -->
2
+
3
+ # Anatomie
4
+
5
+ ## States
6
+
7
+ ### `disabled`
8
+
9
+ Een veldengroep waar alle velden `disabled` zijn.
10
+
11
+ ### `invalid`
12
+
13
+ Een veldengroep die niet valide is. Gebruik deze voor veldengroepen de als geheel gevalideerd worden, bijvoorbeeld een _radio group_ of een _checkbox group_. Gebruik `invalid` niet voor veldengroepen waar één los onderdeel invalide is, bijvoorbeeld: als één van de vragen nog niet beantwoord is.
@@ -0,0 +1,5 @@
1
+ <!-- @license CC0-1.0 -->
2
+
3
+ # CSS
4
+
5
+ De tokens voor `background-color` en `border` werken niet goed als alleen een `<fieldset>` wordt gebruikt. Voor goed resultaat is een extra `div` nodig. De HTML component heeft daarom geen goede ondersteuning voor `background-color` en `border`.
@@ -0,0 +1,30 @@
1
+ <!-- @license CC0-1.0 -->
2
+
3
+ # HTML
4
+
5
+ In HTML kun je de `<fieldset>` en `<legend>` elementen gebruiken, die worden automatisch gekoppeld aan radio buttons en checkboxes.
6
+
7
+ Voor een radio button group gebruik je `<fieldset role="radiogroup">`, dat maakt het extra duidelijk voor screen reader gebruikers. `<fieldset>` heeft als default `role="group"` en daarom hoef je nooit `<fieldset role="group">` te gebruiken.
8
+
9
+ De bijzondere browser default stylesheet voor `<fieldset>` en `<legend>` maken het erg moeilijk om CSS te gebruiken voor deze elementen, maar voor toegankelijkheid is het echter zeker de moeite waarde deze elementen toch te gebruiken. Gebruik de reset CSS voor fieldset en legend om geen default styles te gebruiken.
10
+
11
+ Gebruik een extra `<div>` om je `<fieldset>` zodat het mogelijk wordt een `background-color` of `border` in te stellen, door de browser default stylesheet is dat voor `<fieldset>` niet goed mogelijk.
12
+
13
+ ## HTML attributen
14
+
15
+ Deze attributen moet je kunnen gebruiken in de fieldset component van een framework:
16
+
17
+ - `class`
18
+ - [`disabled`](https://html.spec.whatwg.org/multipage/form-elements.html#dom-fieldset-disabled)
19
+ - `hidden`: om een _conditional fieldset_ te maken moet je het `hidden` attribuut kunnen gebruiken
20
+ - `role`: het moet mogelijk zijn `role="radiogroup"` in te stellen
21
+ - `aria-describedby`: gebruik bij voorkeur `<legend>`
22
+ - `aria-invalid`
23
+
24
+ Deze attributen willen mensen soms ook gebruiken:
25
+
26
+ - `aria-label`: gebruik bij voorkeur `<legend>`
27
+ - `aria-labelledby`: gebruik bij voorkeur `<legend>`
28
+ - `aria-disabled`: gebruik bij voorkeur `disabled`, behalve als je _client-side form validation_ gebruikt om `aria-disabled` te maken.
29
+ - [`form`](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-fae-form)
30
+ - [`name`](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-fe-name)
@@ -0,0 +1,6 @@
1
+ <!-- @license CC0-1.0 -->
2
+
3
+ # Relevante WCAG regels
4
+
5
+ - [WCAG eis 1.3.5](https://www.w3.org/TR/WCAG21/#identify-input-purpose)
6
+ - voor een _radio group_ en _checkbox group_ is fieldset een goede manier het doel van de groep aan te geven
package/package.json CHANGED
@@ -1,16 +1,18 @@
1
1
  {
2
- "version": "1.1.0",
2
+ "version": "1.3.0",
3
3
  "author": "Community for NL Design System",
4
4
  "description": "Form fieldset component for the Municipality of Utrecht based on the NL Design System architecture",
5
5
  "license": "EUPL-1.2",
6
6
  "name": "@utrecht/form-fieldset-css",
7
7
  "files": [
8
8
  "dist/",
9
- "src/"
9
+ "docs/",
10
+ "src/",
11
+ "*.md"
10
12
  ],
11
13
  "main": "dist/index.css",
12
14
  "devDependencies": {
13
- "rollup": "3.29.4"
15
+ "@utrecht/build-utils-css": "0.0.1"
14
16
  },
15
17
  "keywords": [
16
18
  "nl-design-system"
@@ -18,8 +20,13 @@
18
20
  "publishConfig": {
19
21
  "access": "public"
20
22
  },
23
+ "repository": {
24
+ "type": "git+ssh",
25
+ "url": "git@github.com:nl-design-system/utrecht.git",
26
+ "directory": "components/form-fieldset"
27
+ },
21
28
  "scripts": {
22
- "build": "rollup -c ../rollup.config.mjs",
29
+ "build": "build-css-package",
23
30
  "clean": "rimraf dist"
24
31
  }
25
32
  }
package/src/_mixin.scss CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @license EUPL-1.2
3
- * Copyright (c) 2021 Robbert Broersma
3
+ * Copyright (c) 2020-2024 Frameless B.V.
4
+ * Copyright (c) 2021-2024 Gemeente Utrecht
4
5
  */
5
6
 
6
7
  @import "./reset";
package/src/_reset.scss CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @license EUPL-1.2
3
- * Copyright (c) 2021 Robbert Broersma
3
+ * Copyright (c) 2020-2024 Frameless B.V.
4
+ * Copyright (c) 2021-2024 Gemeente Utrecht
4
5
  */
5
6
 
6
7
  @mixin reset-fieldset {
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @license EUPL-1.2
3
- * Copyright (c) 2021 Robbert Broersma
3
+ * Copyright (c) 2020-2024 Frameless B.V.
4
+ * Copyright (c) 2021-2024 Gemeente Utrecht
4
5
  */
5
6
 
6
7
  @import "../mixin";
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @license EUPL-1.2
3
- * Copyright (c) 2021 Robbert Broersma
3
+ * Copyright (c) 2020-2024 Frameless B.V.
4
+ * Copyright (c) 2021-2024 Gemeente Utrecht
4
5
  */
5
6
 
6
7
  @import "./mixin";
package/src/index.scss CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @license EUPL-1.2
3
- * Copyright (c) 2021 Robbert Broersma
3
+ * Copyright (c) 2020-2024 Frameless B.V.
4
+ * Copyright (c) 2021-2024 Gemeente Utrecht
4
5
  */
5
6
 
6
7
  @import "./mixin";
@@ -1,7 +1,7 @@
1
- /*
1
+ /**
2
2
  * @license EUPL-1.2
3
- * Copyright (c) 2020-2022 Gemeente Utrecht
4
- * Copyright (c) 2020-2022 Frameless B.V.
3
+ * Copyright (c) 2020-2024 Frameless B.V.
4
+ * Copyright (c) 2021-2024 Gemeente Utrecht
5
5
  */
6
6
 
7
7
  import clsx from 'clsx';
package/src/tokens.json CHANGED
@@ -6,16 +6,20 @@
6
6
  "nl.nldesignsystem.css.property": {
7
7
  "syntax": "<length>",
8
8
  "inherits": true
9
- }
10
- }
9
+ },
10
+ "nl.nldesignsystem.figma.supports-token": false
11
+ },
12
+ "type": "spacing"
11
13
  },
12
14
  "margin-block-start": {
13
15
  "$extensions": {
14
16
  "nl.nldesignsystem.css.property": {
15
17
  "syntax": "<length>",
16
18
  "inherits": true
17
- }
18
- }
19
+ },
20
+ "nl.nldesignsystem.figma.supports-token": false
21
+ },
22
+ "type": "spacing"
19
23
  },
20
24
  "invalid": {
21
25
  "border-inline-start-color": {
@@ -24,8 +28,10 @@
24
28
  "nl.nldesignsystem.css.property": {
25
29
  "syntax": "<color>",
26
30
  "inherits": true
27
- }
28
- }
31
+ },
32
+ "nl.nldesignsystem.figma.supports-token": false
33
+ },
34
+ "type": "color"
29
35
  }
30
36
  },
31
37
  "border-inline-start-width": {
@@ -33,16 +39,20 @@
33
39
  "nl.nldesignsystem.css.property": {
34
40
  "syntax": "<length>",
35
41
  "inherits": true
36
- }
37
- }
42
+ },
43
+ "nl.nldesignsystem.figma.supports-token": false
44
+ },
45
+ "type": "borderWidth"
38
46
  },
39
47
  "padding-inline-start": {
40
48
  "$extensions": {
41
49
  "nl.nldesignsystem.css.property": {
42
50
  "syntax": "<length>",
43
51
  "inherits": true
44
- }
45
- }
52
+ },
53
+ "nl.nldesignsystem.figma.supports-token": false
54
+ },
55
+ "type": "spacing"
46
56
  }
47
57
  },
48
58
  "section": {
@@ -51,16 +61,20 @@
51
61
  "nl.nldesignsystem.css.property": {
52
62
  "syntax": "<color>",
53
63
  "inherits": true
54
- }
55
- }
64
+ },
65
+ "nl.nldesignsystem.figma.supports-token": false
66
+ },
67
+ "type": "color"
56
68
  },
57
69
  "color": {
58
70
  "$extensions": {
59
71
  "nl.nldesignsystem.css.property": {
60
72
  "syntax": "<color>",
61
73
  "inherits": true
62
- }
63
- }
74
+ },
75
+ "nl.nldesignsystem.figma.supports-token": false
76
+ },
77
+ "type": "color"
64
78
  }
65
79
  },
66
80
  "legend": {
@@ -69,56 +83,70 @@
69
83
  "nl.nldesignsystem.css.property": {
70
84
  "syntax": "<color>",
71
85
  "inherits": true
72
- }
73
- }
86
+ },
87
+ "nl.nldesignsystem.figma.supports-token": false
88
+ },
89
+ "type": "color"
74
90
  },
75
91
  "font-family": {
76
92
  "$extensions": {
77
93
  "nl.nldesignsystem.css.property": {
78
94
  "syntax": "*",
79
95
  "inherits": true
80
- }
81
- }
96
+ },
97
+ "nl.nldesignsystem.figma.supports-token": false
98
+ },
99
+ "type": "fontFamilies"
82
100
  },
83
101
  "font-size": {
84
102
  "$extensions": {
85
103
  "nl.nldesignsystem.css.property": {
86
104
  "syntax": "<length>",
87
105
  "inherits": true
88
- }
89
- }
106
+ },
107
+ "nl.nldesignsystem.figma.supports-token": false
108
+ },
109
+ "type": "fontSizes"
90
110
  },
91
111
  "font-weight": {
92
112
  "$extensions": {
93
113
  "nl.nldesignsystem.css.property": {
94
114
  "syntax": "<number>",
95
115
  "inherits": true
96
- }
97
- }
116
+ },
117
+ "nl.nldesignsystem.figma.supports-token": false
118
+ },
119
+ "type": "fontWeights"
98
120
  },
99
121
  "line-height": {
100
122
  "$extensions": {
101
123
  "nl.nldesignsystem.css.property": {
102
- "syntax": "<length>",
124
+ "syntax": "<length> | <number>",
103
125
  "inherits": true
104
- }
105
- }
126
+ },
127
+ "nl.nldesignsystem.figma.supports-token": false
128
+ },
129
+ "type": "lineHeights"
106
130
  },
107
131
  "margin-block-end": {
108
132
  "$extensions": {
109
133
  "nl.nldesignsystem.css.property": {
110
134
  "syntax": "<length>",
111
135
  "inherits": true
112
- }
113
- }
136
+ },
137
+ "nl.nldesignsystem.figma.supports-token": false
138
+ },
139
+ "type": "spacing"
114
140
  },
115
141
  "margin-block-start": {
116
142
  "$extensions": {
117
143
  "nl.nldesignsystem.css.property": {
118
144
  "syntax": "<length>",
119
145
  "inherits": true
120
- }
121
- }
146
+ },
147
+ "nl.nldesignsystem.figma.supports-token": false
148
+ },
149
+ "type": "spacing"
122
150
  },
123
151
  "disabled": {
124
152
  "color": {
@@ -126,8 +154,10 @@
126
154
  "nl.nldesignsystem.css.property": {
127
155
  "syntax": "<color>",
128
156
  "inherits": true
129
- }
130
- }
157
+ },
158
+ "nl.nldesignsystem.figma.supports-token": false
159
+ },
160
+ "type": "color"
131
161
  }
132
162
  }
133
163
  }
package/dist/index.js DELETED
@@ -1 +0,0 @@
1
- var undefined$1 = undefined;export{undefined$1 as default};