@developer-overheid-nl/don-register-components 1.3.1 → 1.6.2

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 (139) hide show
  1. package/CHANGELOG.md +176 -130
  2. package/LICENSE.md +291 -291
  3. package/README.md +20 -20
  4. package/package.json +10 -8
  5. package/src/Introduction.mdx +52 -0
  6. package/src/alert/Alert.stories.tsx +57 -0
  7. package/src/alert/Alert.tsx +19 -19
  8. package/src/alert/styles.module.css +3 -3
  9. package/src/alignBox/AlignBox.stories.tsx +84 -0
  10. package/src/alignBox/AlignBox.tsx +114 -114
  11. package/src/alignBox/styles.module.css +110 -110
  12. package/src/amountLabel/AmountLabel.stories.tsx +28 -0
  13. package/src/amountLabel/AmountLabel.tsx +21 -16
  14. package/src/amountLabel/styles.module.css +11 -11
  15. package/src/analytics/PiwikPro.tsx +94 -94
  16. package/src/analytics/index.ts +1 -1
  17. package/src/article/Article.stories.tsx +53 -0
  18. package/src/article/Article.tsx +10 -10
  19. package/src/badgeList/BadgeList.tsx +34 -34
  20. package/src/badgeList/styles.module.css +37 -37
  21. package/src/block/Block.stories.tsx +58 -0
  22. package/src/block/Block.tsx +35 -35
  23. package/src/block/styles.module.css +29 -29
  24. package/src/button/Button.stories.tsx +56 -0
  25. package/src/button/Button.tsx +3 -3
  26. package/src/button/ButtonAction.stories.tsx +62 -0
  27. package/src/button/ButtonAction.tsx +51 -0
  28. package/src/cardAsLink/CardAsLink.stories.tsx +81 -0
  29. package/src/cardAsLink/CardAsLink.tsx +21 -21
  30. package/src/cardAsLink/styles.module.css +23 -23
  31. package/src/cardsList/CardsList.tsx +56 -56
  32. package/src/cardsList/styles.module.css +18 -19
  33. package/src/client.ts +7 -7
  34. package/src/container/Container.stories.tsx +21 -0
  35. package/src/container/Container.tsx +10 -10
  36. package/src/container/styles.module.css +28 -28
  37. package/src/copyButton/CopyButton.stories.tsx +41 -0
  38. package/src/copyButton/CopyButton.tsx +45 -39
  39. package/src/copyButton/styles.module.css +13 -13
  40. package/src/dataBadgeLink/DataBadgeLink.stories.tsx +137 -0
  41. package/src/dataBadgeLink/DataBadgeLink.tsx +59 -53
  42. package/src/dataBadgeLink/styles.module.css +89 -89
  43. package/src/dataSummary/DataSummary.tsx +22 -22
  44. package/src/dataSummary/DataSummaryItem.tsx +21 -21
  45. package/src/dataSummary/styles.module.css +75 -75
  46. package/src/facetFilters/FacetFilters.stories.tsx +93 -0
  47. package/src/facetFilters/FacetFilters.tsx +424 -419
  48. package/src/facetFilters/styles.module.css +3 -3
  49. package/src/fieldset/FieldSet.stories.tsx +45 -0
  50. package/src/fieldset/FieldSet.tsx +3 -3
  51. package/src/filters/Filters.stories.tsx +45 -0
  52. package/src/filters/Filters.tsx +116 -116
  53. package/src/filters/styles.module.css +26 -26
  54. package/src/footer/Footer.stories.tsx +127 -0
  55. package/src/footer/Footer.tsx +81 -76
  56. package/src/footer/styles.module.css +103 -103
  57. package/src/formFieldCheckboxGroup/FormFieldCheckboxGroup.stories.tsx +48 -0
  58. package/src/formFieldCheckboxGroup/FormFieldCheckboxGroup.tsx +16 -16
  59. package/src/formFieldCheckboxGroup/styles.module.css +5 -5
  60. package/src/formFieldCheckboxOption/FormFieldCheckboxOption.stories.tsx +61 -0
  61. package/src/formFieldCheckboxOption/FormFieldCheckboxOption.tsx +26 -26
  62. package/src/formFieldCheckboxOption/styles.module.css +22 -22
  63. package/src/formFieldLabel/FormFieldLabel.stories.tsx +21 -0
  64. package/src/formFieldLabel/FormFieldLabel.tsx +23 -23
  65. package/src/formFieldRadioGroup/FormFieldRadioGroup.stories.tsx +57 -0
  66. package/src/formFieldRadioGroup/FormFieldRadioGroup.tsx +13 -13
  67. package/src/formFieldRadioGroup/styles.module.css +5 -5
  68. package/src/formFieldRadioOption/FormFieldRadioOption.stories.tsx +48 -0
  69. package/src/formFieldRadioOption/FormFieldRadioOption.tsx +75 -75
  70. package/src/formFieldRadioOption/styles.module.css +49 -49
  71. package/src/formFieldSwitch/FormFieldSwitch.stories.tsx +61 -0
  72. package/src/formFieldSwitch/FormFieldSwitch.tsx +82 -79
  73. package/src/formFieldSwitch/styles.module.css +32 -32
  74. package/src/formFieldTextInput/FormFieldTextInput.stories.tsx +45 -0
  75. package/src/formFieldTextInput/FormFieldTextInput.tsx +3 -3
  76. package/src/grid/Grid.stories.tsx +37 -0
  77. package/src/grid/Grid.tsx +48 -0
  78. package/src/grid/styles.module.css +24 -0
  79. package/src/header/Header.stories.tsx +54 -0
  80. package/src/header/Header.tsx +137 -137
  81. package/src/header/styles.module.css +71 -71
  82. package/src/heading/Heading.stories.tsx +60 -0
  83. package/src/heading/Heading.tsx +15 -15
  84. package/src/headingGroup/HeadingGroup.stories.tsx +57 -0
  85. package/src/headingGroup/HeadingGroup.tsx +48 -48
  86. package/src/headingGroup/styles.module.css +3 -3
  87. package/src/i18n.ts +24 -25
  88. package/src/iconBadge/IconBadge.stories.tsx +46 -0
  89. package/src/iconBadge/IconBadge.tsx +35 -35
  90. package/src/iconBadge/getAppearance.ts +53 -53
  91. package/src/iconBadge/styles.module.css +19 -19
  92. package/src/iconsSprite/Icon.stories.tsx +73 -0
  93. package/src/iconsSprite/Icon.tsx +17 -17
  94. package/src/iconsSprite/IconsSprite.tsx +5 -5
  95. package/src/index.ts +117 -107
  96. package/src/infoButton/InfoButton.stories.tsx +52 -0
  97. package/src/infoButton/InfoButton.tsx +45 -45
  98. package/src/infoButton/styles.module.css +43 -43
  99. package/src/link/Link.stories.tsx +49 -0
  100. package/src/link/Link.tsx +10 -10
  101. package/src/markdown/Markdown.stories.tsx +48 -0
  102. package/src/markdown/Markdown.tsx +42 -42
  103. package/src/overlay/Overlay.stories.tsx +38 -0
  104. package/src/overlay/Overlay.tsx +18 -18
  105. package/src/overlay/styles.module.css +15 -15
  106. package/src/pagination/Pagination.stories.tsx +91 -0
  107. package/src/pagination/Pagination.tsx +267 -267
  108. package/src/pagination/styles.module.css +28 -28
  109. package/src/paragraph/Paragraph.stories.tsx +45 -0
  110. package/src/paragraph/Paragraph.tsx +24 -24
  111. package/src/paragraph/styles.module.css +6 -6
  112. package/src/pillBadge/PillBadge.examples.tsx +107 -107
  113. package/src/pillBadge/PillBadge.stories.tsx +257 -0
  114. package/src/pillBadge/PillBadge.tsx +60 -51
  115. package/src/pillBadge/styles.module.css +214 -214
  116. package/src/readOnlyTextInput/ReadOnlyTextInput.stories.tsx +49 -0
  117. package/src/readOnlyTextInput/ReadOnlyTextInput.tsx +24 -24
  118. package/src/readOnlyTextInput/styles.module.css +19 -19
  119. package/src/scoreBadge/ScoreBadge.stories.tsx +45 -0
  120. package/src/scoreBadge/ScoreBadge.tsx +135 -133
  121. package/src/search/Search.stories.tsx +65 -0
  122. package/src/search/Search.tsx +82 -82
  123. package/src/search/styles.module.css +40 -39
  124. package/src/siteLogo/ExampleLogo.stories.tsx +40 -0
  125. package/src/siteLogo/SiteLogo.stories.tsx +28 -0
  126. package/src/siteLogo/SiteLogo.tsx +24 -24
  127. package/src/sortForm/SortForm.stories.tsx +111 -0
  128. package/src/sortForm/SortForm.tsx +121 -0
  129. package/src/sortForm/styles.module.css +40 -0
  130. package/src/switch/Switch.stories.tsx +68 -0
  131. package/src/switch/Switch.tsx +152 -86
  132. package/src/switch/styles.module.css +54 -7
  133. package/src/toolTip/ToolTip.stories.tsx +131 -0
  134. package/src/toolTip/ToolTip.tsx +55 -55
  135. package/src/toolTip/styles.module.css +49 -49
  136. package/src/topNavigation/TopNavigation.stories.tsx +71 -0
  137. package/src/topNavigation/TopNavigation.tsx +67 -67
  138. package/src/topNavigation/styles.module.css +54 -54
  139. package/tsconfig.json +122 -121
@@ -1,89 +1,89 @@
1
- .donDataBadge.donDataBadge {
2
- .badgeLink {
3
- display: inline-block;
4
- padding-block: 0.25rem;
5
- color: inherit;
6
- text-decoration: inherit;
7
-
8
- &:focus-visible {
9
- outline: none;
10
- }
11
-
12
- /* fix for non-clickable icons bug */
13
- &::before {
14
- position: absolute;
15
- top: 0;
16
- left: 0;
17
- display: block;
18
- width: 100%;
19
- height: 100%;
20
- content: '';
21
- border-radius: var(
22
- --utrecht-data-badge-border-radius,
23
- var(--utrecht-badge-border-radius, 0.5ch)
24
- );
25
- }
26
- }
27
-
28
- &.primary {
29
- --_utrecht-data-badge-color: oklch(
30
- from var(--utrecht-data-badge-color) calc(l - 0.1) c h
31
- );
32
- color: var(--_utrecht-data-badge-color);
33
-
34
- &:hover {
35
- color: var(--utrecht-data-badge-color);
36
- }
37
- }
38
-
39
- &.outlined {
40
- --_utrecht-data-badge-background-color: var(--rhc-color-canvas);
41
- background-color: var(--_utrecht-data-badge-background-color);
42
- border: 2px solid var(--utrecht-data-badge-color);
43
-
44
- &:hover {
45
- background-color: var(--utrecht-data-badge-background-color);
46
- border-color: var(--utrecht-data-badge-background-color);
47
- }
48
- }
49
-
50
- &.subtle {
51
- --_utrecht-data-badge-color: var(--nl-link-color);
52
- --_utrecht-data-badge-background-color: var(--rhc-color-cool-grey-200);
53
- --utrecht-data-badge-font-weight: normal;
54
- color: var(--_utrecht-data-badge-color);
55
- background-color: var(--_utrecht-data-badge-background-color);
56
-
57
- &:hover {
58
- color: var(--rhc-color-cool-grey-50);
59
- background-color: var(--rhc-color-cool-grey-500);
60
- }
61
- }
62
-
63
- &.link {
64
- --_utrecht-data-badge-color: var(--nl-link-color);
65
- --_utrecht-data-badge-background-color: var(--rhc-color-wit);
66
- --utrecht-data-badge-font-weight: normal;
67
- color: var(--_utrecht-data-badge-color);
68
- background-color: var(--_utrecht-data-badge-background-color);
69
-
70
- .badgeLink {
71
- text-decoration: underline;
72
- }
73
-
74
- &:hover {
75
- background-color: var(--rhc-color-cool-grey-100);
76
-
77
- .badgeLink {
78
- text-decoration: none;
79
- }
80
- }
81
- }
82
-
83
- &:focus-within {
84
- outline-width: var(--utrecht-focus-outline-width, revert);
85
- outline-style: var(--utrecht-focus-outline-style, revert);
86
- outline-color: var(--utrecht-focus-outline-color, revert);
87
- outline-offset: var(--utrecht-focus-outline-offset, revert);
88
- }
89
- }
1
+ .donDataBadge.donDataBadge {
2
+ .badgeLink {
3
+ display: inline-block;
4
+ padding-block: 0.25rem;
5
+ color: inherit;
6
+ text-decoration: inherit;
7
+
8
+ &:focus-visible {
9
+ outline: none;
10
+ }
11
+
12
+ /* fix for non-clickable icons bug */
13
+ &::before {
14
+ position: absolute;
15
+ top: 0;
16
+ left: 0;
17
+ display: block;
18
+ width: 100%;
19
+ height: 100%;
20
+ content: '';
21
+ border-radius: var(
22
+ --utrecht-data-badge-border-radius,
23
+ var(--utrecht-badge-border-radius, 0.5ch)
24
+ );
25
+ }
26
+ }
27
+
28
+ &.primary {
29
+ --_utrecht-data-badge-color: oklch(
30
+ from var(--utrecht-data-badge-color) calc(l - 0.1) c h
31
+ );
32
+ color: var(--_utrecht-data-badge-color);
33
+
34
+ &:hover {
35
+ color: var(--utrecht-data-badge-color);
36
+ }
37
+ }
38
+
39
+ &.outlined {
40
+ --_utrecht-data-badge-background-color: var(--rhc-color-canvas);
41
+ background-color: var(--_utrecht-data-badge-background-color);
42
+ border: 2px solid var(--utrecht-data-badge-color);
43
+
44
+ &:hover {
45
+ background-color: var(--utrecht-data-badge-background-color);
46
+ border-color: var(--utrecht-data-badge-background-color);
47
+ }
48
+ }
49
+
50
+ &.subtle {
51
+ --_utrecht-data-badge-color: var(--nl-link-color);
52
+ --_utrecht-data-badge-background-color: var(--rhc-color-cool-grey-200);
53
+ --utrecht-data-badge-font-weight: normal;
54
+ color: var(--_utrecht-data-badge-color);
55
+ background-color: var(--_utrecht-data-badge-background-color);
56
+
57
+ &:hover {
58
+ color: var(--rhc-color-cool-grey-50);
59
+ background-color: var(--rhc-color-cool-grey-500);
60
+ }
61
+ }
62
+
63
+ &.link {
64
+ --_utrecht-data-badge-color: var(--nl-link-color);
65
+ --_utrecht-data-badge-background-color: var(--rhc-color-wit);
66
+ --utrecht-data-badge-font-weight: normal;
67
+ color: var(--_utrecht-data-badge-color);
68
+ background-color: var(--_utrecht-data-badge-background-color);
69
+
70
+ .badgeLink {
71
+ text-decoration: underline;
72
+ }
73
+
74
+ &:hover {
75
+ background-color: var(--rhc-color-cool-grey-100);
76
+
77
+ .badgeLink {
78
+ text-decoration: none;
79
+ }
80
+ }
81
+ }
82
+
83
+ &:focus-within {
84
+ outline-width: var(--utrecht-focus-outline-width, revert);
85
+ outline-style: var(--utrecht-focus-outline-style, revert);
86
+ outline-color: var(--utrecht-focus-outline-color, revert);
87
+ outline-offset: var(--utrecht-focus-outline-offset, revert);
88
+ }
89
+ }
@@ -1,22 +1,22 @@
1
- import {
2
- DataSummary as RHCDataSummary,
3
- type DataSummaryProps as RHCDataSummaryProps,
4
- } from "@rijkshuisstijl-community/components-react";
5
- import clsx from "clsx";
6
- import styles from "./styles.module.css";
7
-
8
- export interface DataSummaryProps extends RHCDataSummaryProps {
9
- contained?: boolean;
10
- }
11
-
12
- const DataSummary = (props: DataSummaryProps) => {
13
- const { className, contained = false, ...restProps } = props;
14
- return (
15
- <RHCDataSummary
16
- className={clsx(className, { [styles.isContained]: contained })}
17
- {...restProps}
18
- />
19
- );
20
- };
21
-
22
- export default DataSummary;
1
+ import {
2
+ DataSummary as RHCDataSummary,
3
+ type DataSummaryProps as RHCDataSummaryProps,
4
+ } from "@rijkshuisstijl-community/components-react";
5
+ import clsx from "clsx";
6
+ import styles from "./styles.module.css";
7
+
8
+ export interface DataSummaryProps extends RHCDataSummaryProps {
9
+ contained?: boolean;
10
+ }
11
+
12
+ const DataSummary = (props: DataSummaryProps) => {
13
+ const { className, contained = false, ...restProps } = props;
14
+ return (
15
+ <RHCDataSummary
16
+ className={clsx(className, { [styles.isContained]: contained })}
17
+ {...restProps}
18
+ />
19
+ );
20
+ };
21
+
22
+ export default DataSummary;
@@ -1,21 +1,21 @@
1
- import {
2
- DataSummaryItem as RHCDataSummaryItem,
3
- type DataSummaryItemProps as RHCDataSummaryItemProps,
4
- } from "@rijkshuisstijl-community/components-react";
5
-
6
- export interface DataSummaryItemProps
7
- extends Partial<RHCDataSummaryItemProps> {}
8
-
9
- const DataSummaryItem = (props: DataSummaryItemProps) => {
10
- const { className, itemKey = "", itemValue = "-", ...restProps } = props;
11
- return (
12
- <RHCDataSummaryItem
13
- itemKey={itemKey}
14
- itemValue={itemValue}
15
- className={className}
16
- {...restProps}
17
- />
18
- );
19
- };
20
-
21
- export default DataSummaryItem;
1
+ import {
2
+ DataSummaryItem as RHCDataSummaryItem,
3
+ type DataSummaryItemProps as RHCDataSummaryItemProps,
4
+ } from "@rijkshuisstijl-community/components-react";
5
+
6
+ export interface DataSummaryItemProps
7
+ extends Partial<RHCDataSummaryItemProps> {}
8
+
9
+ const DataSummaryItem = (props: DataSummaryItemProps) => {
10
+ const { className, itemKey = "", itemValue = "-", ...restProps } = props;
11
+ return (
12
+ <RHCDataSummaryItem
13
+ itemKey={itemKey}
14
+ itemValue={itemValue}
15
+ className={className}
16
+ {...restProps}
17
+ />
18
+ );
19
+ };
20
+
21
+ export default DataSummaryItem;
@@ -1,75 +1,75 @@
1
- :global(.rhc-data-summary) {
2
- --rhc-data-summary-item-key-padding-inline-start: 0;
3
- --rhc-data-summary-item-key-padding-inline-end: 0;
4
- --rhc-data-summary-item-key-padding-block-start: 0;
5
- --rhc-data-summary-item-key-padding-block-end: 0;
6
- --rhc-data-summary-item-value-padding-inline-start: 0;
7
- --rhc-data-summary-item-value-padding-inline-end: 0;
8
- --rhc-data-summary-item-value-padding-block-start: 0;
9
- --rhc-data-summary-item-value-padding-block-end: 0;
10
- --rhc-data-summary-item-action-padding-inline-start: 0;
11
- --rhc-data-summary-item-action-padding-inline-end: 0;
12
- --rhc-data-summary-item-action-padding-block-start: 0;
13
- --rhc-data-summary-item-action-padding-block-end: 0;
14
- --rhc-data-summary-item-key-row-padding-inline-start: 0;
15
- --rhc-data-summary-item-key-row-padding-inline-end: 0;
16
- --rhc-data-summary-item-key-row-padding-block-start: 0;
17
- --rhc-data-summary-item-key-row-padding-block-end: 0.5rem;
18
- --rhc-data-summary-item-value-row-padding-inline-start: 0;
19
- --rhc-data-summary-item-value-row-padding-inline-end: 0;
20
- --rhc-data-summary-item-value-row-padding-block-start: 0;
21
- --rhc-data-summary-item-value-row-padding-block-end: 0.5rem;
22
- --rhc-data-summary-item-action-row-padding-inline-start: 0;
23
- --rhc-data-summary-item-action-row-padding-inline-end: 0;
24
- --rhc-data-summary-item-action-row-padding-block-start: 0;
25
- --rhc-data-summary-item-action-row-padding-block-end: 0.5rem;
26
- display: flex;
27
- flex-direction: column;
28
- row-gap: 0.75rem;
29
- margin-block-start: 0;
30
- margin-block-end: 1rem;
31
- }
32
-
33
- :global(.rhc-data-summary__item) {
34
- row-gap: 0.25rem;
35
- column-gap: 1rem;
36
- }
37
-
38
- :global(.rhc-data-summary--column) {
39
- :global(.rhc-data-summary__item) {
40
- padding-block-end: var(--rhc-data-summary-item-key-row-padding-block-end);
41
- }
42
- }
43
-
44
- :global(.rhc-data-summary--row) {
45
- :global(.rhc-data-summary__item) {
46
- justify-content: space-between;
47
- }
48
-
49
- :global(.rhc-data-summary__item-value:last-child) {
50
- text-align: end;
51
- }
52
- }
53
-
54
- :global(.rhc-data-summary__item-key):empty,
55
- :global(.rhc-data-summary__item-value):empty {
56
- display: none;
57
- }
58
-
59
- :global(.rhc-data-summary__item-value) {
60
- hyphens: auto;
61
- word-break: break-word;
62
- }
63
-
64
- .isContained {
65
- &:last-child {
66
- margin-block-end: 0;
67
- }
68
-
69
- :global(.rhc-data-summary__item:last-child) {
70
- --rhc-data-summary-item-border-block-end-style: none;
71
- --rhc-data-summary-item-key-row-padding-block-end: 0;
72
- --rhc-data-summary-item-value-row-padding-block-end: 0;
73
- --rhc-data-summary-item-action-row-padding-block-end: 0;
74
- }
75
- }
1
+ :global(.rhc-data-summary) {
2
+ --rhc-data-summary-item-key-padding-inline-start: 0;
3
+ --rhc-data-summary-item-key-padding-inline-end: 0;
4
+ --rhc-data-summary-item-key-padding-block-start: 0;
5
+ --rhc-data-summary-item-key-padding-block-end: 0;
6
+ --rhc-data-summary-item-value-padding-inline-start: 0;
7
+ --rhc-data-summary-item-value-padding-inline-end: 0;
8
+ --rhc-data-summary-item-value-padding-block-start: 0;
9
+ --rhc-data-summary-item-value-padding-block-end: 0;
10
+ --rhc-data-summary-item-action-padding-inline-start: 0;
11
+ --rhc-data-summary-item-action-padding-inline-end: 0;
12
+ --rhc-data-summary-item-action-padding-block-start: 0;
13
+ --rhc-data-summary-item-action-padding-block-end: 0;
14
+ --rhc-data-summary-item-key-row-padding-inline-start: 0;
15
+ --rhc-data-summary-item-key-row-padding-inline-end: 0;
16
+ --rhc-data-summary-item-key-row-padding-block-start: 0;
17
+ --rhc-data-summary-item-key-row-padding-block-end: 0.5rem;
18
+ --rhc-data-summary-item-value-row-padding-inline-start: 0;
19
+ --rhc-data-summary-item-value-row-padding-inline-end: 0;
20
+ --rhc-data-summary-item-value-row-padding-block-start: 0;
21
+ --rhc-data-summary-item-value-row-padding-block-end: 0.5rem;
22
+ --rhc-data-summary-item-action-row-padding-inline-start: 0;
23
+ --rhc-data-summary-item-action-row-padding-inline-end: 0;
24
+ --rhc-data-summary-item-action-row-padding-block-start: 0;
25
+ --rhc-data-summary-item-action-row-padding-block-end: 0.5rem;
26
+ display: flex;
27
+ flex-direction: column;
28
+ row-gap: 0.75rem;
29
+ margin-block-start: 0;
30
+ margin-block-end: 1rem;
31
+ }
32
+
33
+ :global(.rhc-data-summary__item) {
34
+ row-gap: 0.25rem;
35
+ column-gap: 1rem;
36
+ }
37
+
38
+ :global(.rhc-data-summary--column) {
39
+ :global(.rhc-data-summary__item) {
40
+ padding-block-end: var(--rhc-data-summary-item-key-row-padding-block-end);
41
+ }
42
+ }
43
+
44
+ :global(.rhc-data-summary--row) {
45
+ :global(.rhc-data-summary__item) {
46
+ justify-content: space-between;
47
+ }
48
+
49
+ :global(.rhc-data-summary__item-value:last-child) {
50
+ text-align: end;
51
+ }
52
+ }
53
+
54
+ :global(.rhc-data-summary__item-key):empty,
55
+ :global(.rhc-data-summary__item-value):empty {
56
+ display: none;
57
+ }
58
+
59
+ :global(.rhc-data-summary__item-value) {
60
+ hyphens: auto;
61
+ word-break: break-word;
62
+ }
63
+
64
+ .isContained {
65
+ &:last-child {
66
+ margin-block-end: 0;
67
+ }
68
+
69
+ :global(.rhc-data-summary__item:last-child) {
70
+ --rhc-data-summary-item-border-block-end-style: none;
71
+ --rhc-data-summary-item-key-row-padding-block-end: 0;
72
+ --rhc-data-summary-item-value-row-padding-block-end: 0;
73
+ --rhc-data-summary-item-action-row-padding-block-end: 0;
74
+ }
75
+ }
@@ -0,0 +1,93 @@
1
+ import type { Meta, StoryObj } from "@storybook/react-vite";
2
+ import type { FilterData } from "./FacetFilters";
3
+ import FacetFilters from "./FacetFilters";
4
+
5
+ const filters = [
6
+ {
7
+ key: "organisation",
8
+ label: "Organisatie",
9
+ description: "Filter op eigenaar of beheerder van de registratie.",
10
+ type: "multi-select",
11
+ options: [
12
+ {
13
+ value: "kadaster",
14
+ label: "Kadaster",
15
+ count: 12,
16
+ selected: true,
17
+ },
18
+ {
19
+ value: "geonovum",
20
+ label: "Geonovum",
21
+ description: "Standaardisatieorganisatie voor geografische informatie.",
22
+ count: 8,
23
+ selected: false,
24
+ },
25
+ {
26
+ value: "logius",
27
+ label: "Logius",
28
+ count: 5,
29
+ selected: false,
30
+ },
31
+ ],
32
+ },
33
+ {
34
+ key: "lifecycle",
35
+ label: "Levensfase",
36
+ description: "Toon alleen registraties met deze levensfase.",
37
+ type: "single-select",
38
+ options: [
39
+ {
40
+ value: "active",
41
+ label: "Actief",
42
+ count: 18,
43
+ selected: true,
44
+ },
45
+ {
46
+ value: "deprecated",
47
+ label: "Verouderd",
48
+ count: 2,
49
+ selected: false,
50
+ },
51
+ ],
52
+ },
53
+ {
54
+ key: "publiccode",
55
+ label: ["Heeft publiccode.yml", "Heeft geen publiccode.yml"],
56
+ description:
57
+ "Filter repositories op aanwezigheid van een publiccode.yml bestand.",
58
+ type: "toggle",
59
+ value: true,
60
+ count: 9,
61
+ isExplicitFalse: true,
62
+ },
63
+ ] as unknown as FilterData[];
64
+
65
+ /**
66
+ * FacetFilters rendert een set filters (meerkeuze, enkele keuze en/of
67
+ * schakelaars) op basis van een `filters`-array en meldt wijzigingen via
68
+ * `onFilterChange`, eventueel gedebounced per filtertype.
69
+ */
70
+ const meta = {
71
+ title: "Components/FacetFilters",
72
+ component: FacetFilters,
73
+ tags: ["autodocs", "todo"],
74
+ parameters: {
75
+ layout: "narrow",
76
+ },
77
+ args: {
78
+ title: "Filters",
79
+ filters,
80
+ explicitFalseFilters: ["publiccode"],
81
+ },
82
+ } satisfies Meta<typeof FacetFilters>;
83
+
84
+ export default meta;
85
+ type Story = StoryObj<typeof meta>;
86
+
87
+ export const Default: Story = {};
88
+
89
+ export const Empty: Story = {
90
+ args: {
91
+ filters: [],
92
+ },
93
+ };