@conduction/components 2.1.19 → 2.1.21

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 (175) hide show
  1. package/.github/workflows/github-actions.yml +26 -0
  2. package/.github/workflows/npm-publish.yml +39 -39
  3. package/.nvmrc +1 -0
  4. package/.prettierrc +30 -30
  5. package/README.md +11 -9
  6. package/lib/components/badgeCounter/BadgeCounter.d.ts +8 -8
  7. package/lib/components/badgeCounter/BadgeCounter.js +4 -4
  8. package/lib/components/badgeCounter/BadgeCounter.module.css +27 -27
  9. package/lib/components/card/detailsCard/DetailsCard.d.ts +14 -14
  10. package/lib/components/card/detailsCard/DetailsCard.js +10 -10
  11. package/lib/components/card/detailsCard/DetailsCard.module.css +51 -51
  12. package/lib/components/card/downloadCard/DownloadCard.d.ts +11 -11
  13. package/lib/components/card/downloadCard/DownloadCard.js +8 -8
  14. package/lib/components/card/downloadCard/DownloadCard.module.css +27 -27
  15. package/lib/components/card/horizontalImageCard/HorizontalImageCard.d.ts +13 -13
  16. package/lib/components/card/horizontalImageCard/HorizontalImageCard.js +9 -9
  17. package/lib/components/card/horizontalImageCard/HorizontalImageCard.module.css +34 -34
  18. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.d.ts +14 -14
  19. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.js +9 -9
  20. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.module.css +63 -63
  21. package/lib/components/card/index.d.ts +7 -7
  22. package/lib/components/card/index.js +7 -7
  23. package/lib/components/card/infoCard/InfoCard.d.ts +8 -8
  24. package/lib/components/card/infoCard/InfoCard.js +6 -6
  25. package/lib/components/card/infoCard/InfoCard.module.css +26 -26
  26. package/lib/components/card/richContentCard/RichContentCard.d.ts +19 -19
  27. package/lib/components/card/richContentCard/RichContentCard.js +15 -15
  28. package/lib/components/card/richContentCard/RichContentCard.module.css +93 -93
  29. package/lib/components/codeBlock/CodeBlock.d.ts +6 -6
  30. package/lib/components/codeBlock/CodeBlock.js +3 -3
  31. package/lib/components/codeBlock/CodeBlock.module.css +6 -6
  32. package/lib/components/container/Container.d.ts +6 -6
  33. package/lib/components/container/Container.js +4 -4
  34. package/lib/components/container/Container.module.css +9 -9
  35. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +222 -222
  36. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.d.ts +17 -17
  37. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.js +20 -20
  38. package/lib/components/denhaag-wrappers/pagination/Pagination.css +120 -120
  39. package/lib/components/denhaag-wrappers/pagination/Pagination.d.ts +9 -9
  40. package/lib/components/denhaag-wrappers/pagination/Pagination.js +15 -15
  41. package/lib/components/editableTableRow/EditableTableRow.d.ts +14 -14
  42. package/lib/components/editableTableRow/EditableTableRow.js +31 -31
  43. package/lib/components/editableTableRow/EditableTableRow.module.css +25 -25
  44. package/lib/components/formFields/checkbox/Checkbox.module.css +7 -7
  45. package/lib/components/formFields/checkbox/checkbox.d.ts +9 -9
  46. package/lib/components/formFields/checkbox/checkbox.js +3 -3
  47. package/lib/components/formFields/createKeyValue/CreateKeyValue.d.ts +22 -18
  48. package/lib/components/formFields/createKeyValue/CreateKeyValue.js +41 -31
  49. package/lib/components/formFields/createKeyValue/CreateKeyValue.module.css +56 -43
  50. package/lib/components/formFields/date/Date.d.ts +12 -12
  51. package/lib/components/formFields/date/Date.js +10 -10
  52. package/lib/components/formFields/date/Date.module.css +12 -12
  53. package/lib/components/formFields/errorMessage/ErrorMessage.d.ts +5 -0
  54. package/lib/components/formFields/errorMessage/ErrorMessage.js +3 -0
  55. package/lib/components/formFields/errorMessage/ErrorMessage.module.css +4 -0
  56. package/lib/components/formFields/index.d.ts +8 -8
  57. package/lib/components/formFields/index.js +8 -8
  58. package/lib/components/formFields/input.d.ts +20 -20
  59. package/lib/components/formFields/input.js +15 -15
  60. package/lib/components/formFields/radio.d.ts +9 -9
  61. package/lib/components/formFields/radio.js +3 -3
  62. package/lib/components/formFields/select/select.d.ts +18 -18
  63. package/lib/components/formFields/select/select.js +21 -21
  64. package/lib/components/formFields/select/select.module.css +38 -38
  65. package/lib/components/formFields/textarea.d.ts +8 -8
  66. package/lib/components/formFields/textarea.js +3 -3
  67. package/lib/components/formFields/types.d.ts +6 -6
  68. package/lib/components/formFields/types.js +1 -1
  69. package/lib/components/imageDivider/ImageDivider.d.ts +7 -7
  70. package/lib/components/imageDivider/ImageDivider.js +6 -6
  71. package/lib/components/imageDivider/imageDivider.module.css +5 -5
  72. package/lib/components/logo/Logo.d.ts +8 -8
  73. package/lib/components/logo/Logo.js +10 -10
  74. package/lib/components/logo/Logo.module.css +15 -15
  75. package/lib/components/metaIcon/MetaIcon.d.ts +7 -7
  76. package/lib/components/metaIcon/MetaIcon.js +3 -3
  77. package/lib/components/metaIcon/MetaIcon.module.css +29 -29
  78. package/lib/components/notificationPopUp/NotificationPopUp.d.ts +26 -26
  79. package/lib/components/notificationPopUp/NotificationPopUp.js +31 -31
  80. package/lib/components/privateRoute/PrivateRoute.d.ts +6 -6
  81. package/lib/components/privateRoute/PrivateRoute.js +15 -15
  82. package/lib/components/quoteWrapper/QuoteWrapper.d.ts +7 -7
  83. package/lib/components/quoteWrapper/QuoteWrapper.js +5 -5
  84. package/lib/components/quoteWrapper/QuoteWrapper.module.css +12 -12
  85. package/lib/components/statusSteps/StatusSteps.d.ts +13 -13
  86. package/lib/components/statusSteps/StatusSteps.js +5 -5
  87. package/lib/components/tag/Tag.d.ts +10 -10
  88. package/lib/components/tag/Tag.js +6 -6
  89. package/lib/components/tag/Tag.module.css +44 -44
  90. package/lib/components/toolTip/ToolTip.d.ts +9 -9
  91. package/lib/components/toolTip/ToolTip.js +8 -8
  92. package/lib/components/topNav/index.d.ts +3 -3
  93. package/lib/components/topNav/index.js +3 -3
  94. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.d.ts +20 -20
  95. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.js +17 -17
  96. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.module.css +145 -145
  97. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.d.ts +12 -12
  98. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.js +7 -7
  99. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +63 -63
  100. package/lib/index.d.ts +27 -27
  101. package/lib/index.js +20 -20
  102. package/package.json +9 -2
  103. package/src/components/badgeCounter/BadgeCounter.module.css +27 -27
  104. package/src/components/badgeCounter/BadgeCounter.tsx +5 -1
  105. package/src/components/card/detailsCard/DetailsCard.module.css +51 -51
  106. package/src/components/card/detailsCard/DetailsCard.tsx +2 -2
  107. package/src/components/card/downloadCard/DownloadCard.js +10 -10
  108. package/src/components/card/downloadCard/DownloadCard.module.css +27 -27
  109. package/src/components/card/downloadCard/DownloadCard.tsx +2 -2
  110. package/src/components/card/horizontalImageCard/HorizontalImageCard.js +9 -9
  111. package/src/components/card/horizontalImageCard/HorizontalImageCard.module.css +34 -34
  112. package/src/components/card/horizontalImageCard/HorizontalImageCard.tsx +2 -2
  113. package/src/components/card/imageAndDetailsCard/ImageAndDetailsCard.js +9 -9
  114. package/src/components/card/imageAndDetailsCard/ImageAndDetailsCard.module.css +63 -63
  115. package/src/components/card/imageAndDetailsCard/ImageAndDetailsCard.tsx +2 -2
  116. package/src/components/card/index.js +5 -5
  117. package/src/components/card/index.tsx +8 -8
  118. package/src/components/card/infoCard/InfoCard.module.css +26 -26
  119. package/src/components/card/infoCard/InfoCard.tsx +1 -1
  120. package/src/components/card/richContentCard/RichContentCard.js +17 -17
  121. package/src/components/card/richContentCard/RichContentCard.module.css +93 -93
  122. package/src/components/card/richContentCard/RichContentCard.tsx +4 -4
  123. package/src/components/codeBlock/CodeBlock.module.css +6 -6
  124. package/src/components/codeBlock/CodeBlock.tsx +1 -1
  125. package/src/components/container/Container.js +3 -3
  126. package/src/components/container/Container.module.css +9 -9
  127. package/src/components/container/Container.tsx +1 -1
  128. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +222 -222
  129. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.js +84 -84
  130. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.tsx +3 -3
  131. package/src/components/denhaag-wrappers/pagination/Pagination.css +120 -120
  132. package/src/components/denhaag-wrappers/pagination/Pagination.tsx +4 -4
  133. package/src/components/editableTableRow/EditableTableRow.js +34 -34
  134. package/src/components/editableTableRow/EditableTableRow.module.css +25 -25
  135. package/src/components/editableTableRow/EditableTableRow.tsx +6 -6
  136. package/src/components/formFields/checkbox/Checkbox.module.css +7 -7
  137. package/src/components/formFields/checkbox/checkbox.tsx +2 -2
  138. package/src/components/formFields/createKeyValue/CreateKeyValue.module.css +56 -43
  139. package/src/components/formFields/createKeyValue/CreateKeyValue.tsx +55 -14
  140. package/src/components/formFields/date/Date.module.css +12 -12
  141. package/src/components/formFields/date/Date.tsx +2 -2
  142. package/src/components/formFields/index.js +4 -4
  143. package/src/components/formFields/input.js +12 -12
  144. package/src/components/formFields/radio.tsx +2 -2
  145. package/src/components/formFields/select/select.module.css +38 -38
  146. package/src/components/formFields/select/select.tsx +6 -6
  147. package/src/components/formFields/textarea.js +3 -3
  148. package/src/components/formFields/textarea.tsx +4 -2
  149. package/src/components/formFields/types.js +1 -1
  150. package/src/components/imageDivider/ImageDivider.js +6 -6
  151. package/src/components/imageDivider/ImageDivider.tsx +1 -1
  152. package/src/components/imageDivider/imageDivider.module.css +5 -5
  153. package/src/components/logo/Logo.js +10 -10
  154. package/src/components/logo/Logo.module.css +15 -15
  155. package/src/components/logo/Logo.tsx +2 -2
  156. package/src/components/metaIcon/MetaIcon.js +3 -3
  157. package/src/components/metaIcon/MetaIcon.module.css +29 -29
  158. package/src/components/metaIcon/MetaIcon.tsx +1 -1
  159. package/src/components/notificationPopUp/NotificationPopUp.tsx +2 -2
  160. package/src/components/privateRoute/PrivateRoute.js +15 -15
  161. package/src/components/privateRoute/PrivateRoute.tsx +1 -1
  162. package/src/components/quoteWrapper/QuoteWrapper.module.css +12 -12
  163. package/src/components/quoteWrapper/QuoteWrapper.tsx +5 -1
  164. package/src/components/statusSteps/StatusSteps.js +5 -5
  165. package/src/components/statusSteps/StatusSteps.tsx +1 -1
  166. package/src/components/tag/Tag.module.css +44 -44
  167. package/src/components/tag/Tag.tsx +1 -1
  168. package/src/components/toolTip/ToolTip.tsx +1 -1
  169. package/src/components/topNav/index.ts +4 -4
  170. package/src/components/topNav/primaryTopNav/PrimaryTopNav.module.css +145 -145
  171. package/src/components/topNav/primaryTopNav/PrimaryTopNav.tsx +1 -1
  172. package/src/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +63 -63
  173. package/src/components/topNav/secondaryTopNav/SecondaryTopNav.tsx +1 -1
  174. package/src/custom.d.ts +4 -4
  175. package/src/index.ts +79 -79
@@ -1,120 +1,120 @@
1
- .denhaag-pagination {
2
- --denhaag-pagination-align: center;
3
-
4
- align-items: center;
5
- display: flex;
6
- flex-direction: row;
7
- justify-content: var(--denhaag-pagination-align);
8
- }
9
-
10
- @media (min-width: 640px) {
11
- .denhaag-pagination,
12
- .denhaag-pagination--start {
13
- --denhaag-pagination-align: flex-start;
14
- }
15
-
16
- .denhaag-pagination--center {
17
- --denhaag-pagination-align: center;
18
- }
19
-
20
- .denhaag-pagination--end {
21
- --denhaag-pagination-align: end;
22
- }
23
- }
24
-
25
- .denhaag-pagination__links {
26
- display: flex;
27
- flex-direction: row;
28
- }
29
-
30
- .denhaag-pagination__link {
31
- aspect-ratio: 1 / 1;
32
- align-items: center;
33
- background-color: var(--denhaag-pagination-background-color, transparent);
34
- border: 0;
35
- border-radius: var(
36
- --denhaag-pagination-border-radius,
37
- var(--denhaag-border-radius)
38
- );
39
- color: var(--denhaag-pagination-color, var(--denhaag-pagination-link-color));
40
- display: flex;
41
- height: var(--denhaag-pagination-size);
42
- justify-content: center;
43
- line-height: 1.5;
44
- position: relative;
45
- text-align: center;
46
- text-decoration: none;
47
- width: var(--denhaag-pagination-size);
48
- font-style: normal;
49
- font-weight: var(--denhaag-pagination-font-weight);
50
- font-size: var(--denhaag-pagination-font-size);
51
- }
52
-
53
- .denhaag-pagination__link:hover,
54
- .denhaag-pagination__link--hover {
55
- --denhaag-pagination-color: var(--denhaag-pagination-link-hover-color);
56
- cursor: pointer;
57
- }
58
-
59
- .denhaag-pagination__link:focus,
60
- .denhaag-pagination__link--focus {
61
- outline: var(--denhaag-link-focus-outline);
62
- border-radius: 0;
63
- }
64
-
65
- .denhaag-pagination__link:disabled,
66
- .denhaag-pagination__link--disabled {
67
- --denhaag-pagination-color: var(--denhaag-pagination-link-disabled-color);
68
-
69
- pointer-events: none;
70
- }
71
-
72
- .denhaag-pagination__link--arrow {
73
- --denhaag-pagination-size: var(--denhaag-pagination-arrow-size);
74
- --denhaag-pagination-font-size: var(--denhaag-pagination-arrow-font-size);
75
- }
76
-
77
- [dir="rtl"] .denhaag-pagination__link--arrow {
78
- transform: scaleX(-1);
79
- }
80
-
81
- .denhaag-pagination__link + .denhaag-pagination__links,
82
- .denhaag-pagination__links + .denhaag-pagination__link {
83
- margin-inline-start: var(--denhaag-pagination-margin-inline, 10px);
84
- }
85
-
86
- .denhaag-pagination__link:not(:first-child):not(:last-child):not(.denhaag-pagination__link--current):not([rel]) {
87
- overflow: hidden;
88
- pointer-events: none;
89
- text-indent: calc(var(--denhaag-pagination-size) * 2);
90
- }
91
-
92
- .denhaag-pagination__link:not(:first-child):not(:last-child):not(.denhaag-pagination__link--current):not([rel])::before {
93
- content: "...";
94
- left: calc(50% - 7px);
95
- line-height: 0;
96
- position: absolute;
97
- text-indent: 0;
98
- vertical-align: baseline;
99
- }
100
-
101
- .denhaag-pagination__link--current {
102
- --denhaag-pagination-color: var(--denhaag-pagination-link-current-color);
103
- --denhaag-pagination-font-weight: var(
104
- --denhaag-pagination-link-current-font-weight
105
- );
106
- }
107
-
108
- .denhaag-pagination__link--current.denhaag-pagination__link:disabled,
109
- .denhaag-pagination__link--current.denhaag-pagination__link--disabled {
110
- --denhaag-pagination-color: var(
111
- --denhaag-pagination-link-current-disabled-color
112
- );
113
- --denhaag-pagination-background-color: var(
114
- --denhaag-pagination-link-current-disabled-background-color
115
- );
116
- }
117
-
118
- .denhaag-pagination .denhaag-icon {
119
- font-size: inherit;
120
- }
1
+ .denhaag-pagination {
2
+ --denhaag-pagination-align: center;
3
+
4
+ align-items: center;
5
+ display: flex;
6
+ flex-direction: row;
7
+ justify-content: var(--denhaag-pagination-align);
8
+ }
9
+
10
+ @media (min-width: 640px) {
11
+ .denhaag-pagination,
12
+ .denhaag-pagination--start {
13
+ --denhaag-pagination-align: flex-start;
14
+ }
15
+
16
+ .denhaag-pagination--center {
17
+ --denhaag-pagination-align: center;
18
+ }
19
+
20
+ .denhaag-pagination--end {
21
+ --denhaag-pagination-align: end;
22
+ }
23
+ }
24
+
25
+ .denhaag-pagination__links {
26
+ display: flex;
27
+ flex-direction: row;
28
+ }
29
+
30
+ .denhaag-pagination__link {
31
+ aspect-ratio: 1 / 1;
32
+ align-items: center;
33
+ background-color: var(--denhaag-pagination-background-color, transparent);
34
+ border: 0;
35
+ border-radius: var(
36
+ --denhaag-pagination-border-radius,
37
+ var(--denhaag-border-radius)
38
+ );
39
+ color: var(--denhaag-pagination-color, var(--denhaag-pagination-link-color));
40
+ display: flex;
41
+ height: var(--denhaag-pagination-size);
42
+ justify-content: center;
43
+ line-height: 1.5;
44
+ position: relative;
45
+ text-align: center;
46
+ text-decoration: none;
47
+ width: var(--denhaag-pagination-size);
48
+ font-style: normal;
49
+ font-weight: var(--denhaag-pagination-font-weight);
50
+ font-size: var(--denhaag-pagination-font-size);
51
+ }
52
+
53
+ .denhaag-pagination__link:hover,
54
+ .denhaag-pagination__link--hover {
55
+ --denhaag-pagination-color: var(--denhaag-pagination-link-hover-color);
56
+ cursor: pointer;
57
+ }
58
+
59
+ .denhaag-pagination__link:focus,
60
+ .denhaag-pagination__link--focus {
61
+ outline: var(--denhaag-link-focus-outline);
62
+ border-radius: 0;
63
+ }
64
+
65
+ .denhaag-pagination__link:disabled,
66
+ .denhaag-pagination__link--disabled {
67
+ --denhaag-pagination-color: var(--denhaag-pagination-link-disabled-color);
68
+
69
+ pointer-events: none;
70
+ }
71
+
72
+ .denhaag-pagination__link--arrow {
73
+ --denhaag-pagination-size: var(--denhaag-pagination-arrow-size);
74
+ --denhaag-pagination-font-size: var(--denhaag-pagination-arrow-font-size);
75
+ }
76
+
77
+ [dir="rtl"] .denhaag-pagination__link--arrow {
78
+ transform: scaleX(-1);
79
+ }
80
+
81
+ .denhaag-pagination__link + .denhaag-pagination__links,
82
+ .denhaag-pagination__links + .denhaag-pagination__link {
83
+ margin-inline-start: var(--denhaag-pagination-margin-inline, 10px);
84
+ }
85
+
86
+ .denhaag-pagination__link:not(:first-child):not(:last-child):not(.denhaag-pagination__link--current):not([rel]) {
87
+ overflow: hidden;
88
+ pointer-events: none;
89
+ text-indent: calc(var(--denhaag-pagination-size) * 2);
90
+ }
91
+
92
+ .denhaag-pagination__link:not(:first-child):not(:last-child):not(.denhaag-pagination__link--current):not([rel])::before {
93
+ content: "...";
94
+ left: calc(50% - 7px);
95
+ line-height: 0;
96
+ position: absolute;
97
+ text-indent: 0;
98
+ vertical-align: baseline;
99
+ }
100
+
101
+ .denhaag-pagination__link--current {
102
+ --denhaag-pagination-color: var(--denhaag-pagination-link-current-color);
103
+ --denhaag-pagination-font-weight: var(
104
+ --denhaag-pagination-link-current-font-weight
105
+ );
106
+ }
107
+
108
+ .denhaag-pagination__link--current.denhaag-pagination__link:disabled,
109
+ .denhaag-pagination__link--current.denhaag-pagination__link--disabled {
110
+ --denhaag-pagination-color: var(
111
+ --denhaag-pagination-link-current-disabled-color
112
+ );
113
+ --denhaag-pagination-background-color: var(
114
+ --denhaag-pagination-link-current-disabled-background-color
115
+ );
116
+ }
117
+
118
+ .denhaag-pagination .denhaag-icon {
119
+ font-size: inherit;
120
+ }
@@ -8,7 +8,7 @@ interface PaginationProps {
8
8
  setPage: (page: number) => any;
9
9
  }
10
10
 
11
- export const Pagination: React.FC<PaginationProps> = ({ pages, currentPage, setPage }) => {
11
+ export const Pagination = ({ pages, currentPage, setPage }: PaginationProps): JSX.Element => {
12
12
  return (
13
13
  <nav className="denhaag-pagination">
14
14
  <PreviousButton previousPage={currentPage > 1 ? currentPage - 1 : undefined} {...{ setPage }} />
@@ -30,7 +30,7 @@ interface LinkProps {
30
30
  current?: boolean;
31
31
  }
32
32
 
33
- const Link: React.FC<LinkProps> = ({ page, current, setPage }) => {
33
+ const Link = ({ page, current, setPage }: LinkProps): JSX.Element => {
34
34
  return (
35
35
  <a
36
36
  aria-current={current && "page"}
@@ -48,7 +48,7 @@ interface PreviousButtonProps {
48
48
  previousPage?: number;
49
49
  }
50
50
 
51
- const PreviousButton: React.FC<PreviousButtonProps> = ({ previousPage, setPage }) => {
51
+ const PreviousButton = ({ previousPage, setPage }: PreviousButtonProps): JSX.Element => {
52
52
  return (
53
53
  <a
54
54
  aria-label="Previous page"
@@ -82,7 +82,7 @@ interface NextButtonProps {
82
82
  nextPage?: number;
83
83
  }
84
84
 
85
- const NextButton: React.FC<NextButtonProps> = ({ nextPage, setPage }) => {
85
+ const NextButton = ({ nextPage, setPage }: NextButtonProps): JSX.Element => {
86
86
  return (
87
87
  <a
88
88
  aria-label="Next page"
@@ -1,34 +1,34 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { TableCell, TableHeader, TableRow } from "@gemeente-denhaag/table";
3
- import * as styles from "./EditableTableRow.module.css";
4
- import * as React from "react";
5
- import { useTranslation } from "react-i18next";
6
- import { Link } from "@gemeente-denhaag/components-react";
7
- import { CheckedIcon, CloseIcon, EditIcon } from "@gemeente-denhaag/icons";
8
- import { useForm } from "react-hook-form";
9
- import { InputEmail, InputText } from "../formFields";
10
- export const EditableTableRow = ({ thead, value, inputType, handleSave, }) => {
11
- const [editing, setEditing] = React.useState(false);
12
- return (_jsxs(TableRow, { children: [_jsx(TableHeader, { className: styles.th, children: thead }), editing && _jsx(EditingTableRow, { ...{ value, inputType, handleSave, setEditing } }), !editing && _jsx(RegularTableRow, { ...{ value, setEditing } })] }));
13
- };
14
- const RegularTableRow = ({ value, setEditing }) => {
15
- const { t } = useTranslation();
16
- return (_jsxs(_Fragment, { children: [_jsx(TableCell, { children: value }), _jsx(TableCell, { children: _jsx("div", { className: styles.editButton, onClick: () => setEditing(true), children: _jsx(Link, { icon: _jsx(EditIcon, {}), iconAlign: "start", children: t("Edit") }) }) })] }));
17
- };
18
- const EditingTableRow = ({ value, setEditing, handleSave, inputType, }) => {
19
- const { t } = useTranslation();
20
- const { register, handleSubmit, formState: { errors }, } = useForm();
21
- const onSubmit = (data) => {
22
- handleSave(data.value);
23
- setEditing(false);
24
- };
25
- return (_jsxs(_Fragment, { children: [_jsx(TableCell, { children: _jsxs("form", { onSubmit: handleSubmit(onSubmit), children: [_jsx(FormField, { ...{ inputType, value, register, errors } }), _jsxs("div", { className: styles.editButtonsContainer, children: [_jsx("button", { type: "submit", className: styles.submit, children: _jsx(Link, { icon: _jsx(CheckedIcon, {}), iconAlign: "start", children: t("Save") }) }), _jsx("div", { onClick: () => setEditing(false), children: _jsx(Link, { icon: _jsx(CloseIcon, {}), iconAlign: "start", className: styles.cancel, children: t("Cancel") }) })] })] }) }), _jsx(TableCell, {})] }));
26
- };
27
- const FormField = ({ inputType, value, register, errors }) => {
28
- switch (inputType) {
29
- case "email":
30
- return _jsx(InputEmail, { defaultValue: value, ...{ register, errors }, name: "value", validation: { required: true } });
31
- case "text":
32
- return _jsx(InputText, { defaultValue: value, ...{ register, errors }, name: "value", validation: { required: true } });
33
- }
34
- };
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { TableCell, TableHeader, TableRow } from "@gemeente-denhaag/table";
3
+ import * as styles from "./EditableTableRow.module.css";
4
+ import * as React from "react";
5
+ import { useTranslation } from "react-i18next";
6
+ import { Link } from "@gemeente-denhaag/components-react";
7
+ import { CheckedIcon, CloseIcon, EditIcon } from "@gemeente-denhaag/icons";
8
+ import { useForm } from "react-hook-form";
9
+ import { InputEmail, InputText } from "../formFields";
10
+ export const EditableTableRow = ({ thead, value, inputType, handleSave, }) => {
11
+ const [editing, setEditing] = React.useState(false);
12
+ return (_jsxs(TableRow, { children: [_jsx(TableHeader, { className: styles.th, children: thead }), editing && _jsx(EditingTableRow, { ...{ value, inputType, handleSave, setEditing } }), !editing && _jsx(RegularTableRow, { ...{ value, setEditing } })] }));
13
+ };
14
+ const RegularTableRow = ({ value, setEditing }) => {
15
+ const { t } = useTranslation();
16
+ return (_jsxs(_Fragment, { children: [_jsx(TableCell, { children: value }), _jsx(TableCell, { children: _jsx("div", { className: styles.editButton, onClick: () => setEditing(true), children: _jsx(Link, { icon: _jsx(EditIcon, {}), iconAlign: "start", children: t("Edit") }) }) })] }));
17
+ };
18
+ const EditingTableRow = ({ value, setEditing, handleSave, inputType, }) => {
19
+ const { t } = useTranslation();
20
+ const { register, handleSubmit, formState: { errors }, } = useForm();
21
+ const onSubmit = (data) => {
22
+ handleSave(data.value);
23
+ setEditing(false);
24
+ };
25
+ return (_jsxs(_Fragment, { children: [_jsx(TableCell, { children: _jsxs("form", { onSubmit: handleSubmit(onSubmit), children: [_jsx(FormField, { ...{ inputType, value, register, errors } }), _jsxs("div", { className: styles.editButtonsContainer, children: [_jsx("button", { type: "submit", className: styles.submit, children: _jsx(Link, { icon: _jsx(CheckedIcon, {}), iconAlign: "start", children: t("Save") }) }), _jsx("div", { onClick: () => setEditing(false), children: _jsx(Link, { icon: _jsx(CloseIcon, {}), iconAlign: "start", className: styles.cancel, children: t("Cancel") }) })] })] }) }), _jsx(TableCell, {})] }));
26
+ };
27
+ const FormField = ({ inputType, value, register, errors }) => {
28
+ switch (inputType) {
29
+ case "email":
30
+ return _jsx(InputEmail, { defaultValue: value, ...{ register, errors }, name: "value", validation: { required: true } });
31
+ case "text":
32
+ return _jsx(InputText, { defaultValue: value, ...{ register, errors }, name: "value", validation: { required: true } });
33
+ }
34
+ };
@@ -1,25 +1,25 @@
1
- .th {
2
- width: 35%;
3
- }
4
-
5
- .cancel {
6
- color: var(--skeleton-color-grey-3) !important;
7
- }
8
-
9
- .editButtonsContainer {
10
- display: flex;
11
- margin-block-start: var(--skeleton-size-xs);
12
- }
13
-
14
- .editButtonsContainer > *:not(:last-child) {
15
- margin-inline-end: var(--skeleton-size-md);
16
- }
17
-
18
- .submit {
19
- all: unset;
20
- }
21
-
22
- .editButton {
23
- display: flex;
24
- justify-content: flex-end;
25
- }
1
+ .th {
2
+ width: 35%;
3
+ }
4
+
5
+ .cancel {
6
+ color: var(--skeleton-color-grey-3) !important;
7
+ }
8
+
9
+ .editButtonsContainer {
10
+ display: flex;
11
+ margin-block-start: var(--skeleton-size-xs);
12
+ }
13
+
14
+ .editButtonsContainer > *:not(:last-child) {
15
+ margin-inline-end: var(--skeleton-size-md);
16
+ }
17
+
18
+ .submit {
19
+ all: unset;
20
+ }
21
+
22
+ .editButton {
23
+ display: flex;
24
+ justify-content: flex-end;
25
+ }
@@ -19,7 +19,7 @@ interface EditableTableRowProps {
19
19
  handleSave: (value: any) => void;
20
20
  }
21
21
 
22
- export const EditableTableRow: React.FC<EditableTableRowProps & InputTypes> = ({
22
+ export const EditableTableRow = ({
23
23
  thead,
24
24
  value,
25
25
  inputType,
@@ -27,7 +27,7 @@ export const EditableTableRow: React.FC<EditableTableRowProps & InputTypes> = ({
27
27
  cancelLabel,
28
28
  saveLabel,
29
29
  handleSave,
30
- }) => {
30
+ }: EditableTableRowProps & InputTypes): JSX.Element => {
31
31
  const [editing, setEditing] = React.useState<boolean>(false);
32
32
 
33
33
  return (
@@ -50,7 +50,7 @@ interface RegularTableRowProps {
50
50
  setEditing: React.Dispatch<React.SetStateAction<boolean>>;
51
51
  }
52
52
 
53
- const RegularTableRow: React.FC<RegularTableRowProps> = ({ value, editLabel, setEditing }) => {
53
+ const RegularTableRow = ({ value, editLabel, setEditing }: RegularTableRowProps): JSX.Element => {
54
54
  return (
55
55
  <>
56
56
  <TableCell>{value}</TableCell>
@@ -74,14 +74,14 @@ interface EditingTableRowProps {
74
74
  handleSave: (value: any) => void;
75
75
  }
76
76
 
77
- const EditingTableRow: React.FC<EditingTableRowProps & InputTypes> = ({
77
+ const EditingTableRow = ({
78
78
  value,
79
79
  setEditing,
80
80
  handleSave,
81
81
  inputType,
82
82
  saveLabel,
83
83
  cancelLabel,
84
- }) => {
84
+ }: EditingTableRowProps & InputTypes): JSX.Element => {
85
85
  const {
86
86
  register,
87
87
  handleSubmit,
@@ -128,7 +128,7 @@ interface FormFieldProps {
128
128
  };
129
129
  }
130
130
 
131
- const FormField: React.FC<FormFieldProps & InputTypes> = ({ inputType, value, register, errors }) => {
131
+ const FormField = ({ inputType, value, register, errors }: FormFieldProps & InputTypes): JSX.Element => {
132
132
  switch (inputType) {
133
133
  case "email":
134
134
  return <InputEmail defaultValue={value} {...{ register, errors }} name="value" validation={{ required: true }} />;
@@ -1,7 +1,7 @@
1
- .container {
2
- user-select: none;
3
- }
4
-
5
- .container:hover {
6
- cursor: pointer;
7
- }
1
+ .container {
2
+ user-select: none;
3
+ }
4
+
5
+ .container:hover {
6
+ cursor: pointer;
7
+ }
@@ -8,14 +8,14 @@ export interface ICheckboxProps {
8
8
  disabled?: boolean;
9
9
  }
10
10
 
11
- export const InputCheckbox: React.FC<ICheckboxProps & IReactHookFormProps> = ({
11
+ export const InputCheckbox = ({
12
12
  name,
13
13
  validation,
14
14
  register,
15
15
  label,
16
16
  defaultChecked,
17
17
  disabled,
18
- }) => (
18
+ }: ICheckboxProps & IReactHookFormProps): JSX.Element => (
19
19
  <div className={styles.container}>
20
20
  <input
21
21
  type="checkbox"
@@ -1,43 +1,56 @@
1
- :root {
2
- --conduction-create-key-value-table-row-border: 1px solid var(--skeleton-color-grey-1);
3
- }
4
-
5
- .keyValue {
6
- width: 100%;
7
- display: flex;
8
- flex-direction: column;
9
- }
10
-
11
- .table {
12
- border-collapse: collapse;
13
- }
14
-
15
- .table td,
16
- .table th {
17
- text-align: left;
18
- padding-inline: 0;
19
- padding-block: var(--skeleton-size-md);
20
- }
21
-
22
- .tdDelete {
23
- display: flex;
24
- justify-content: flex-end;
25
- }
26
-
27
- .form {
28
- width: 100%;
29
- display: flex;
30
- }
31
-
32
- .form > *:not(:last-child) {
33
- margin-right: 10px;
34
- }
35
-
36
- .form > input {
37
- flex: 5;
38
- }
39
-
40
- .form > button {
41
- flex: 2;
42
- max-width: fit-content;
43
- }
1
+ :root {
2
+ --conduction-create-key-value-table-row-border: 1px solid var(--skeleton-color-grey-1);
3
+ --conduction-delete-button-background-color: var(--skeleton-color-red-3);
4
+ --conduction-delete-button-background-hover-color: var(--skeleton-color-red-4);
5
+ }
6
+
7
+ .keyValue {
8
+ width: 100%;
9
+ display: flex;
10
+ flex-direction: column;
11
+ }
12
+
13
+ .table {
14
+ border-collapse: collapse;
15
+ }
16
+
17
+ .table td,
18
+ .table th {
19
+ text-align: left;
20
+ padding-inline: 0;
21
+ padding-block: var(--skeleton-size-md);
22
+ }
23
+
24
+ .buttonsContainer {
25
+ display: flex;
26
+ gap: var(--skeleton-size-xs);
27
+ justify-content: flex-end;
28
+ }
29
+
30
+ .deleteButton {
31
+ white-space: nowrap;
32
+ background-color: var(--conduction-delete-button-background-color) !important;
33
+ }
34
+
35
+ .deleteButton:hover {
36
+ white-space: nowrap;
37
+ background-color: var(--conduction-delete-button-background-hover-color) !important;
38
+ }
39
+
40
+ .form {
41
+ width: 100%;
42
+ display: flex;
43
+ }
44
+
45
+ .form > *:not(:last-child) {
46
+ margin-right: 10px;
47
+ }
48
+
49
+ .form > input {
50
+ flex: 5;
51
+ }
52
+
53
+ .form > button {
54
+ flex: 2;
55
+ max-width: fit-content;
56
+ }