@rijkshuisstijl-community/components-css 1.0.0-alpha.9 → 1.0.0-alpha.90

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 (66) hide show
  1. package/dist/index.css +22 -0
  2. package/index.scss +50 -0
  3. package/package.json +21 -11
  4. package/src/accordion/index.scss +68 -0
  5. package/src/action-group/index.scss +11 -0
  6. package/src/alert/index.scss +27 -0
  7. package/src/article/index.scss +1 -0
  8. package/src/badgecounter/index.scss +3 -0
  9. package/src/blockquote/_mixin.scss +85 -0
  10. package/src/blockquote/index.scss +41 -0
  11. package/src/breadcrumb-nav/index.scss +28 -0
  12. package/src/button/_mixin.scss +36 -0
  13. package/src/button/index.scss +18 -0
  14. package/src/card/_mixin.scss +174 -0
  15. package/src/card/index.scss +108 -0
  16. package/src/checkbox/_mixin.scss +103 -0
  17. package/src/checkbox/index.scss +34 -0
  18. package/src/code-input/_mixin.scss +26 -0
  19. package/src/code-input/index.scss +13 -0
  20. package/src/dot-badge/_mixin.scss +12 -0
  21. package/src/dot-badge/index.scss +9 -0
  22. package/src/figure/index.scss +18 -0
  23. package/src/file-input/index.scss +63 -0
  24. package/src/footer/index.scss +71 -0
  25. package/src/form/index.scss +18 -0
  26. package/src/form-field/index.scss +13 -0
  27. package/src/form-field-error-message/index.scss +15 -0
  28. package/src/form-field-radio-option/index.scss +21 -0
  29. package/src/hero/_mixin.scss +103 -0
  30. package/src/hero/index.scss +81 -0
  31. package/src/link/_mixin.scss +38 -0
  32. package/src/link/index.scss +44 -0
  33. package/src/link-list/index.scss +16 -0
  34. package/src/link-list-card/index.scss +10 -0
  35. package/src/logo/_mixin.scss +58 -0
  36. package/src/logo/index.scss +31 -0
  37. package/src/message-list/_mixin.scss +85 -0
  38. package/src/message-list/index.scss +41 -0
  39. package/src/navbar/index.scss +90 -0
  40. package/src/navigation-list/_mixin.scss +94 -0
  41. package/src/navigation-list/index.scss +43 -0
  42. package/src/ordered-list/index.scss +18 -0
  43. package/src/pre-heading/index.scss +22 -0
  44. package/src/radio/index.scss +27 -0
  45. package/src/radio-group/_mixin.scss +12 -0
  46. package/src/radio-group/index.scss +10 -0
  47. package/src/select/index.scss +16 -0
  48. package/src/separator/index.scss +14 -0
  49. package/src/side-nav/index.scss +52 -0
  50. package/src/skip-link/_mixin.scss +13 -0
  51. package/src/skip-link/index.scss +43 -0
  52. package/src/table/index.scss +56 -0
  53. package/src/textarea/index.scss +8 -0
  54. package/src/textbox/index.scss +6 -0
  55. package/src/toggletip/_mixin.scss +59 -0
  56. package/src/toggletip/index.scss +48 -0
  57. package/src/unordered-list/index.scss +27 -0
  58. package/src/visually-hidden/_mixin.scss +19 -0
  59. package/src/visually-hidden/index.scss +5 -0
  60. package/src/wrapper/_mixin.scss +1819 -0
  61. package/src/wrapper/createSpacingCSS.js +69 -0
  62. package/src/wrapper/index.scss +43 -0
  63. package/src/wrapper/spacing-matrix.json +1406 -0
  64. package/vite.config.js +18 -0
  65. package/button/README.md +0 -3
  66. package/button/index.scss +0 -16
@@ -0,0 +1,69 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ const spacingMatrix = JSON.parse(fs.readFileSync('./src/wrapper/spacing-matrix.json'));
4
+
5
+ const spaceMap = {
6
+ NVT: undefined,
7
+ Onbekenden: 'stranger',
8
+ Kennissen: 'acquaintance',
9
+ Vrienden: 'friend',
10
+ Besties: 'best-friend',
11
+ Kind: 'confidant',
12
+ };
13
+
14
+ const getSpacings = (spacingMatrix) => {
15
+ return spacingMatrix
16
+ .map((spacing) => {
17
+ const entries = Object.entries(spacing);
18
+ const [, component] = entries.shift();
19
+ return entries
20
+ .map(([sibling, space]) => {
21
+ const spacing = spaceMap[space];
22
+ return spacing && { component, sibling, spacing };
23
+ })
24
+ .filter(Boolean);
25
+ })
26
+ .filter((arr) => arr.length);
27
+ };
28
+
29
+ const getSpacingMixins = (components) =>
30
+ components.map((mixinGroup) => {
31
+ const componentName = mixinGroup[0].component;
32
+
33
+ const mixins = mixinGroup.map(
34
+ ({ component, sibling, spacing }) =>
35
+ `.${component}:has(+ .${sibling}) {
36
+ --${component}-margin-block-end: var(--utrecht-rich-text-${spacing}-margin-block-end);
37
+ }`,
38
+ );
39
+ return `@mixin ${componentName} {
40
+ .${componentName}:first-child {
41
+ --${componentName}-margin-block-start: 0;
42
+ }
43
+ ${mixins.join(';\n')}
44
+ }`;
45
+ });
46
+
47
+ const getRichTextStyles = (components) => `
48
+ /**
49
+ * @license EUPL-1.2
50
+ * Copyright (c) 2024-2025 Gemeente Utrecht
51
+ * Copyright (c) 2024-2025 Frameless B.V.
52
+ */
53
+
54
+ @import "./mixin";
55
+
56
+ .rhc-margin-block-end-wrapper {
57
+ --utrecht-space-around: 1;
58
+ ${components.map((mixinGroup) => `@include ${mixinGroup[0].component}`).join(';\n')}
59
+ }`;
60
+
61
+ const spacings = getSpacings(spacingMatrix);
62
+
63
+ fs.writeFileSync(path.resolve('./src/wrapper/_mixin.scss'), getSpacingMixins(spacings).join('\n'), {
64
+ override: true,
65
+ });
66
+
67
+ fs.writeFileSync(path.resolve('./src/wrapper/index.scss'), getRichTextStyles(spacings), {
68
+ override: true,
69
+ });
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @license EUPL-1.2
3
+ * Copyright (c) 2024-2025 Gemeente Utrecht
4
+ * Copyright (c) 2024-2025 Frameless B.V.
5
+ */
6
+
7
+ @import "./mixin";
8
+
9
+ .rhc-margin-block-end-wrapper {
10
+ --utrecht-space-around: 1;
11
+ @include utrecht-heading-1;
12
+ @include utrecht-heading-2;
13
+ @include utrecht-heading-3;
14
+ @include utrecht-heading-4;
15
+ @include utrecht-heading-5;
16
+ @include utrecht-heading-6;
17
+ @include utrecht-accordion;
18
+ @include utrecht-alert;
19
+ @include utrecht-badge-list;
20
+ @include utrecht-blockquote;
21
+ @include utrecht-breadcrumb-nav;
22
+ @include utrecht-button;
23
+ @include utrecht-button-group;
24
+ @include utrecht-data-list;
25
+ @include utrecht-figure;
26
+ @include utrecht-form-field;
27
+ @include utrecht-form-field-description;
28
+ @include utrecht-form-field-error-message;
29
+ @include utrecht-form-label;
30
+ @include utrecht-img;
31
+ @include utrecht-link;
32
+ @include utrecht-ordered-list;
33
+ @include utrecht-pagination;
34
+ @include utrecht-paragraph;
35
+ @include utrecht-select;
36
+ @include utrecht-separator;
37
+ @include utrecht-sidenav;
38
+ @include utrecht-badge-status;
39
+ @include utrecht-table;
40
+ @include utrecht-textarea;
41
+ @include utrecht-textbox;
42
+ @include utrecht-unordered-list;
43
+ }