@conduction/components 2.0.28 → 2.0.29

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 (172) hide show
  1. package/.github/workflows/npm-publish.yml +39 -39
  2. package/.prettierrc +30 -30
  3. package/README.md +56 -53
  4. package/lib/components/badgeCounter/BadgeCounter.d.ts +8 -8
  5. package/lib/components/badgeCounter/BadgeCounter.js +4 -4
  6. package/lib/components/badgeCounter/BadgeCounter.module.css +27 -27
  7. package/lib/components/card/detailsCard/DetailsCard.d.ts +14 -14
  8. package/lib/components/card/detailsCard/DetailsCard.js +10 -10
  9. package/lib/components/card/detailsCard/DetailsCard.module.css +51 -51
  10. package/lib/components/card/downloadCard/DownloadCard.d.ts +11 -11
  11. package/lib/components/card/downloadCard/DownloadCard.js +8 -8
  12. package/lib/components/card/downloadCard/DownloadCard.module.css +27 -27
  13. package/lib/components/card/horizontalImageCard/HorizontalImageCard.d.ts +13 -13
  14. package/lib/components/card/horizontalImageCard/HorizontalImageCard.js +9 -9
  15. package/lib/components/card/horizontalImageCard/HorizontalImageCard.module.css +34 -34
  16. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.d.ts +14 -14
  17. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.js +9 -9
  18. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.module.css +63 -63
  19. package/lib/components/card/index.d.ts +7 -7
  20. package/lib/components/card/index.js +7 -7
  21. package/lib/components/card/infoCard/InfoCard.d.ts +8 -8
  22. package/lib/components/card/infoCard/InfoCard.js +6 -6
  23. package/lib/components/card/infoCard/InfoCard.module.css +26 -26
  24. package/lib/components/card/richContentCard/RichContentCard.d.ts +19 -19
  25. package/lib/components/card/richContentCard/RichContentCard.js +15 -15
  26. package/lib/components/card/richContentCard/RichContentCard.module.css +93 -93
  27. package/lib/components/codeBlock/CodeBlock.d.ts +6 -6
  28. package/lib/components/codeBlock/CodeBlock.js +3 -3
  29. package/lib/components/codeBlock/CodeBlock.module.css +6 -6
  30. package/lib/components/container/Container.d.ts +6 -6
  31. package/lib/components/container/Container.js +4 -4
  32. package/lib/components/container/Container.module.css +9 -9
  33. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +222 -222
  34. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.d.ts +17 -17
  35. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.js +20 -20
  36. package/lib/components/denhaag-wrappers/pagination/Pagination.css +120 -120
  37. package/lib/components/denhaag-wrappers/pagination/Pagination.d.ts +9 -9
  38. package/lib/components/denhaag-wrappers/pagination/Pagination.js +15 -15
  39. package/lib/components/editableTableRow/EditableTableRow.d.ts +14 -14
  40. package/lib/components/editableTableRow/EditableTableRow.js +31 -31
  41. package/lib/components/editableTableRow/EditableTableRow.module.css +25 -25
  42. package/lib/components/formFields/checkbox.d.ts +9 -9
  43. package/lib/components/formFields/checkbox.js +3 -3
  44. package/lib/components/formFields/createKeyValue/CreateKeyValue.d.ts +17 -17
  45. package/lib/components/formFields/createKeyValue/CreateKeyValue.js +31 -31
  46. package/lib/components/formFields/createKeyValue/CreateKeyValue.module.css +43 -43
  47. package/lib/components/formFields/index.d.ts +7 -7
  48. package/lib/components/formFields/index.js +7 -7
  49. package/lib/components/formFields/input.d.ts +22 -22
  50. package/lib/components/formFields/input.js +16 -16
  51. package/lib/components/formFields/radio.d.ts +9 -9
  52. package/lib/components/formFields/radio.js +3 -3
  53. package/lib/components/formFields/select/select.d.ts +18 -18
  54. package/lib/components/formFields/select/select.js +21 -21
  55. package/lib/components/formFields/select/select.module.css +38 -38
  56. package/lib/components/formFields/textarea.d.ts +8 -8
  57. package/lib/components/formFields/textarea.js +3 -3
  58. package/lib/components/formFields/types.d.ts +6 -6
  59. package/lib/components/formFields/types.js +1 -1
  60. package/lib/components/imageDivider/ImageDivider.d.ts +7 -7
  61. package/lib/components/imageDivider/ImageDivider.js +6 -6
  62. package/lib/components/imageDivider/imageDivider.module.css +5 -5
  63. package/lib/components/logo/Logo.d.ts +8 -8
  64. package/lib/components/logo/Logo.js +10 -10
  65. package/lib/components/logo/Logo.module.css +15 -15
  66. package/lib/components/metaIcon/MetaIcon.d.ts +7 -7
  67. package/lib/components/metaIcon/MetaIcon.js +3 -3
  68. package/lib/components/metaIcon/MetaIcon.module.css +29 -29
  69. package/lib/components/notificationPopUp/NotificationPopUp.d.ts +24 -24
  70. package/lib/components/notificationPopUp/NotificationPopUp.js +31 -31
  71. package/lib/components/notificationPopUp/NotificationPopUp.module.css +61 -61
  72. package/lib/components/privateRoute/PrivateRoute.d.ts +6 -6
  73. package/lib/components/privateRoute/PrivateRoute.js +15 -15
  74. package/lib/components/quoteWrapper/QuoteWrapper.d.ts +7 -7
  75. package/lib/components/quoteWrapper/QuoteWrapper.js +5 -5
  76. package/lib/components/quoteWrapper/QuoteWrapper.module.css +12 -12
  77. package/lib/components/statusSteps/StatusSteps.d.ts +13 -13
  78. package/lib/components/statusSteps/StatusSteps.js +5 -5
  79. package/lib/components/tag/Tag.d.ts +10 -9
  80. package/lib/components/tag/Tag.js +6 -4
  81. package/lib/components/tag/Tag.module.css +44 -28
  82. package/lib/components/toolTip/ToolTip.d.ts +9 -9
  83. package/lib/components/toolTip/ToolTip.js +7 -7
  84. package/lib/components/toolTip/ToolTip.module.css +4 -4
  85. package/lib/components/topNav/index.d.ts +3 -3
  86. package/lib/components/topNav/index.js +3 -3
  87. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.d.ts +20 -20
  88. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.js +17 -17
  89. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.module.css +139 -139
  90. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.d.ts +12 -12
  91. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.js +7 -7
  92. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +63 -63
  93. package/lib/index.d.ts +27 -27
  94. package/lib/index.js +20 -20
  95. package/package.json +46 -46
  96. package/src/components/badgeCounter/BadgeCounter.module.css +27 -27
  97. package/src/components/badgeCounter/BadgeCounter.tsx +16 -16
  98. package/src/components/card/detailsCard/DetailsCard.module.css +51 -51
  99. package/src/components/card/detailsCard/DetailsCard.tsx +56 -56
  100. package/src/components/card/downloadCard/DownloadCard.js +10 -10
  101. package/src/components/card/downloadCard/DownloadCard.module.css +27 -27
  102. package/src/components/card/downloadCard/DownloadCard.tsx +40 -40
  103. package/src/components/card/horizontalImageCard/HorizontalImageCard.js +9 -9
  104. package/src/components/card/horizontalImageCard/HorizontalImageCard.module.css +34 -34
  105. package/src/components/card/horizontalImageCard/HorizontalImageCard.tsx +37 -37
  106. package/src/components/card/imageAndDetailsCard/ImageAndDetailsCard.js +9 -9
  107. package/src/components/card/imageAndDetailsCard/ImageAndDetailsCard.module.css +63 -63
  108. package/src/components/card/imageAndDetailsCard/ImageAndDetailsCard.tsx +49 -49
  109. package/src/components/card/index.js +5 -5
  110. package/src/components/card/index.tsx +8 -8
  111. package/src/components/card/infoCard/InfoCard.module.css +26 -26
  112. package/src/components/card/infoCard/InfoCard.tsx +19 -19
  113. package/src/components/card/richContentCard/RichContentCard.js +17 -17
  114. package/src/components/card/richContentCard/RichContentCard.module.css +93 -93
  115. package/src/components/card/richContentCard/RichContentCard.tsx +98 -98
  116. package/src/components/codeBlock/CodeBlock.module.css +6 -6
  117. package/src/components/codeBlock/CodeBlock.tsx +8 -8
  118. package/src/components/container/Container.js +3 -3
  119. package/src/components/container/Container.module.css +9 -9
  120. package/src/components/container/Container.tsx +11 -11
  121. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +222 -222
  122. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.js +20 -20
  123. package/src/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.tsx +89 -89
  124. package/src/components/denhaag-wrappers/pagination/Pagination.css +120 -120
  125. package/src/components/denhaag-wrappers/pagination/Pagination.tsx +112 -112
  126. package/src/components/editableTableRow/EditableTableRow.js +34 -34
  127. package/src/components/editableTableRow/EditableTableRow.module.css +25 -25
  128. package/src/components/editableTableRow/EditableTableRow.tsx +138 -138
  129. package/src/components/formFields/checkbox.js +3 -3
  130. package/src/components/formFields/checkbox.tsx +23 -23
  131. package/src/components/formFields/createKeyValue/CreateKeyValue.module.css +43 -43
  132. package/src/components/formFields/createKeyValue/CreateKeyValue.tsx +125 -125
  133. package/src/components/formFields/index.js +4 -4
  134. package/src/components/formFields/index.tsx +32 -32
  135. package/src/components/formFields/input.js +12 -12
  136. package/src/components/formFields/input.tsx +176 -176
  137. package/src/components/formFields/radio.tsx +21 -21
  138. package/src/components/formFields/select/select.module.css +38 -38
  139. package/src/components/formFields/select/select.tsx +99 -98
  140. package/src/components/formFields/textarea.js +3 -3
  141. package/src/components/formFields/textarea.tsx +17 -17
  142. package/src/components/formFields/types.js +1 -1
  143. package/src/components/formFields/types.ts +7 -7
  144. package/src/components/imageDivider/ImageDivider.js +6 -6
  145. package/src/components/imageDivider/ImageDivider.tsx +12 -12
  146. package/src/components/imageDivider/imageDivider.module.css +5 -5
  147. package/src/components/logo/Logo.js +10 -10
  148. package/src/components/logo/Logo.module.css +15 -15
  149. package/src/components/logo/Logo.tsx +25 -25
  150. package/src/components/metaIcon/MetaIcon.js +3 -3
  151. package/src/components/metaIcon/MetaIcon.module.css +29 -29
  152. package/src/components/metaIcon/MetaIcon.tsx +18 -18
  153. package/src/components/notificationPopUp/NotificationPopUp.module.css +61 -61
  154. package/src/components/notificationPopUp/NotificationPopUp.tsx +87 -87
  155. package/src/components/privateRoute/PrivateRoute.js +15 -15
  156. package/src/components/privateRoute/PrivateRoute.tsx +22 -22
  157. package/src/components/quoteWrapper/QuoteWrapper.module.css +12 -12
  158. package/src/components/quoteWrapper/QuoteWrapper.tsx +15 -15
  159. package/src/components/statusSteps/StatusSteps.js +5 -5
  160. package/src/components/statusSteps/StatusSteps.tsx +54 -54
  161. package/src/components/tag/Tag.module.css +44 -28
  162. package/src/components/tag/Tag.tsx +37 -17
  163. package/src/components/toolTip/ToolTip.module.css +4 -4
  164. package/src/components/toolTip/ToolTip.tsx +24 -24
  165. package/src/components/topNav/index.ts +4 -4
  166. package/src/components/topNav/primaryTopNav/PrimaryTopNav.module.css +139 -139
  167. package/src/components/topNav/primaryTopNav/PrimaryTopNav.tsx +79 -79
  168. package/src/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +63 -63
  169. package/src/components/topNav/secondaryTopNav/SecondaryTopNav.tsx +27 -27
  170. package/src/custom.d.ts +4 -4
  171. package/src/index.js +14 -14
  172. package/src/index.ts +79 -79
@@ -1,89 +1,89 @@
1
- /**
2
- * This is a wrapper element based on https://nl-design-system.github.io/denhaag/?path=/docs/css-navigation-breadcrumb--default-story
3
- *
4
- * IMPORTANT: DO NOT MAKE CHANGES TO THIS FILE, AS ALL CHANGES WILL BE LOST UPON PACKAGE IMPLEMENTATION
5
- *
6
- * Note: we do not use css modules here due to this component being a wrapper
7
- */
8
-
9
- import { Link } from "gatsby";
10
- import * as React from "react";
11
- import "./Breadcrumbs.css";
12
-
13
- interface BreadcrumbsProps {
14
- crumbs: {
15
- pathname: string;
16
- crumbLabel: string;
17
- }[];
18
- }
19
-
20
- export const Breadcrumbs: React.FC<BreadcrumbsProps> = ({ crumbs }) => {
21
- return (
22
- <nav aria-label="Breadcrumb" className="denhaag-breadcrumb">
23
- <ol className="denhaag-breadcrumb__list" itemScope itemType="https://schema.org/BreadcrumbList">
24
- {crumbs.map((crumb, idx) => {
25
- if (crumbs.length !== idx + 1) {
26
- return <CrumbItem key={idx} {...crumb} {...{ idx }} />;
27
- }
28
-
29
- return <LastCrumbItem key={idx} {...crumb} {...{ idx }} />;
30
- })}
31
- </ol>
32
- </nav>
33
- );
34
- };
35
-
36
- interface CrumbItemProps {
37
- pathname: string;
38
- crumbLabel: string;
39
- idx: number;
40
- }
41
-
42
- const CrumbItem: React.FC<CrumbItemProps> = ({ pathname, crumbLabel, idx }) => (
43
- <li className="denhaag-breadcrumb__item" itemProp="itemListElement" itemScope itemType="https://schema.org/ListItem">
44
- <Link className="denhaag-breadcrumb__link" to={pathname} itemProp="item">
45
- <span className="denhaag-breadcrumb__text" itemProp="name">
46
- {crumbLabel}
47
- </span>
48
- <svg
49
- aria-hidden="true"
50
- className="denhaag-icon"
51
- fill="none"
52
- focusable="false"
53
- height="1em"
54
- shape-rendering="auto"
55
- viewBox="0 0 24 24"
56
- width="1em"
57
- xmlns="http://www.w3.org/2000/svg"
58
- >
59
- <path
60
- d="M9.293 18.707a1 1 0 010-1.414L14.586 12 9.293 6.707a1 1 0 011.414-1.414l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0z"
61
- fill="currentColor"
62
- />
63
- </svg>
64
- <meta content={idx.toString()} itemProp="position" />
65
- </Link>
66
- </li>
67
- );
68
-
69
- const LastCrumbItem: React.FC<CrumbItemProps> = ({ pathname, crumbLabel, idx }) => (
70
- <li
71
- aria-current="page"
72
- className="denhaag-breadcrumb__item"
73
- itemProp="itemListElement"
74
- itemScope
75
- itemType="https://schema.org/ListItem"
76
- >
77
- <Link
78
- aria-current="page"
79
- className="denhaag-breadcrumb__link denhaag-breadcrumb__link--current"
80
- to={pathname}
81
- itemProp="item"
82
- >
83
- <span className="denhaag-breadcrumb__text" itemProp="name">
84
- {crumbLabel}
85
- </span>
86
- <meta content={idx.toString()} itemProp="position" />
87
- </Link>
88
- </li>
89
- );
1
+ /**
2
+ * This is a wrapper element based on https://nl-design-system.github.io/denhaag/?path=/docs/css-navigation-breadcrumb--default-story
3
+ *
4
+ * IMPORTANT: DO NOT MAKE CHANGES TO THIS FILE, AS ALL CHANGES WILL BE LOST UPON PACKAGE IMPLEMENTATION
5
+ *
6
+ * Note: we do not use css modules here due to this component being a wrapper
7
+ */
8
+
9
+ import { Link } from "gatsby";
10
+ import * as React from "react";
11
+ import "./Breadcrumbs.css";
12
+
13
+ interface BreadcrumbsProps {
14
+ crumbs: {
15
+ pathname: string;
16
+ crumbLabel: string;
17
+ }[];
18
+ }
19
+
20
+ export const Breadcrumbs: React.FC<BreadcrumbsProps> = ({ crumbs }) => {
21
+ return (
22
+ <nav aria-label="Breadcrumb" className="denhaag-breadcrumb">
23
+ <ol className="denhaag-breadcrumb__list" itemScope itemType="https://schema.org/BreadcrumbList">
24
+ {crumbs.map((crumb, idx) => {
25
+ if (crumbs.length !== idx + 1) {
26
+ return <CrumbItem key={idx} {...crumb} {...{ idx }} />;
27
+ }
28
+
29
+ return <LastCrumbItem key={idx} {...crumb} {...{ idx }} />;
30
+ })}
31
+ </ol>
32
+ </nav>
33
+ );
34
+ };
35
+
36
+ interface CrumbItemProps {
37
+ pathname: string;
38
+ crumbLabel: string;
39
+ idx: number;
40
+ }
41
+
42
+ const CrumbItem: React.FC<CrumbItemProps> = ({ pathname, crumbLabel, idx }) => (
43
+ <li className="denhaag-breadcrumb__item" itemProp="itemListElement" itemScope itemType="https://schema.org/ListItem">
44
+ <Link className="denhaag-breadcrumb__link" to={pathname} itemProp="item">
45
+ <span className="denhaag-breadcrumb__text" itemProp="name">
46
+ {crumbLabel}
47
+ </span>
48
+ <svg
49
+ aria-hidden="true"
50
+ className="denhaag-icon"
51
+ fill="none"
52
+ focusable="false"
53
+ height="1em"
54
+ shape-rendering="auto"
55
+ viewBox="0 0 24 24"
56
+ width="1em"
57
+ xmlns="http://www.w3.org/2000/svg"
58
+ >
59
+ <path
60
+ d="M9.293 18.707a1 1 0 010-1.414L14.586 12 9.293 6.707a1 1 0 011.414-1.414l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0z"
61
+ fill="currentColor"
62
+ />
63
+ </svg>
64
+ <meta content={idx.toString()} itemProp="position" />
65
+ </Link>
66
+ </li>
67
+ );
68
+
69
+ const LastCrumbItem: React.FC<CrumbItemProps> = ({ pathname, crumbLabel, idx }) => (
70
+ <li
71
+ aria-current="page"
72
+ className="denhaag-breadcrumb__item"
73
+ itemProp="itemListElement"
74
+ itemScope
75
+ itemType="https://schema.org/ListItem"
76
+ >
77
+ <Link
78
+ aria-current="page"
79
+ className="denhaag-breadcrumb__link denhaag-breadcrumb__link--current"
80
+ to={pathname}
81
+ itemProp="item"
82
+ >
83
+ <span className="denhaag-breadcrumb__text" itemProp="name">
84
+ {crumbLabel}
85
+ </span>
86
+ <meta content={idx.toString()} itemProp="position" />
87
+ </Link>
88
+ </li>
89
+ );
@@ -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
+ }
@@ -1,112 +1,112 @@
1
- import clsx from "clsx";
2
- import * as React from "react";
3
- import "./Pagination.css";
4
-
5
- interface PaginationProps {
6
- pages: number;
7
- currentPage: number;
8
- setPage: (page: number) => any;
9
- }
10
-
11
- export const Pagination: React.FC<PaginationProps> = ({ pages, currentPage, setPage }) => {
12
- return (
13
- <nav className="denhaag-pagination">
14
- <PreviousButton previousPage={currentPage > 1 ? currentPage - 1 : undefined} {...{ setPage }} />
15
-
16
- <span className="denhaag-pagination__links" role="group">
17
- {Array.from({ length: pages }, (_, i) => i + 1).map((page, idx) => (
18
- <Link key={idx} {...{ page }} current={page === currentPage} {...{ setPage }} />
19
- ))}
20
- </span>
21
-
22
- <NextButton nextPage={currentPage < pages ? currentPage + 1 : undefined} {...{ setPage }} />
23
- </nav>
24
- );
25
- };
26
-
27
- interface LinkProps {
28
- page: number;
29
- setPage: (page: number) => any;
30
- current?: boolean;
31
- }
32
-
33
- const Link: React.FC<LinkProps> = ({ page, current, setPage }) => {
34
- return (
35
- <a
36
- aria-current={current && "page"}
37
- aria-label={`Page ${page}`}
38
- className={clsx("denhaag-pagination__link", current && "denhaag-pagination__link--current")}
39
- onClick={() => setPage(page)}
40
- >
41
- {page}
42
- </a>
43
- );
44
- };
45
-
46
- interface PreviousButtonProps {
47
- setPage: (page: number) => any;
48
- previousPage?: number;
49
- }
50
-
51
- const PreviousButton: React.FC<PreviousButtonProps> = ({ previousPage, setPage }) => {
52
- return (
53
- <a
54
- aria-label="Previous page"
55
- className={clsx(
56
- "denhaag-pagination__link denhaag-pagination__link--arrow",
57
- !previousPage && "denhaag-pagination__link--disabled",
58
- )}
59
- onClick={() => previousPage && setPage(previousPage)}
60
- rel="prev"
61
- >
62
- <svg
63
- aria-hidden="true"
64
- className="denhaag-icon"
65
- fill="none"
66
- height="1em"
67
- viewBox="0 0 7 12"
68
- width="1em"
69
- xmlns="http://www.w3.org/2000/svg"
70
- >
71
- <path
72
- d="M4.9921 10.8143C5.36382 11.1914 5.97222 11.1914 6.34393 10.8143C6.7079 10.4451 6.70822 9.8521 6.34466 9.48248L3.36315 6.45123C2.98039 6.06209 2.98039 5.43791 3.36315 5.04877L6.34466 2.01752C6.70822 1.6479 6.7079 1.05492 6.34394 0.685696C5.97222 0.308599 5.36382 0.308599 4.9921 0.685695L0.692003 5.04799C0.308224 5.43732 0.308224 6.06268 0.692003 6.45201L4.9921 10.8143Z"
73
- fill="currentColor"
74
- />
75
- </svg>
76
- </a>
77
- );
78
- };
79
-
80
- interface NextButtonProps {
81
- setPage: (page: number) => any;
82
- nextPage?: number;
83
- }
84
-
85
- const NextButton: React.FC<NextButtonProps> = ({ nextPage, setPage }) => {
86
- return (
87
- <a
88
- aria-label="Next page"
89
- className={clsx(
90
- "denhaag-pagination__link denhaag-pagination__link--arrow",
91
- !nextPage && "denhaag-pagination__link--disabled",
92
- )}
93
- onClick={() => nextPage && setPage(nextPage)}
94
- rel="next"
95
- >
96
- <svg
97
- aria-hidden="true"
98
- className="denhaag-icon"
99
- fill="none"
100
- height="1em"
101
- viewBox="0 0 7 12"
102
- width="1em"
103
- xmlns="http://www.w3.org/2000/svg"
104
- >
105
- <path
106
- d="M2.0079 1.1857C1.63618 0.8086 1.02778 0.8086 0.656065 1.18569V1.18569C0.292103 1.55492 0.291779 2.1479 0.655339 2.51752L3.63685 5.54877C4.01961 5.93791 4.01961 6.56209 3.63686 6.95123L0.655339 9.98248C0.291779 10.3521 0.292102 10.9451 0.656065 11.3143V11.3143C1.02778 11.6914 1.63618 11.6914 2.0079 11.3143L6.308 6.95201C6.69178 6.56268 6.69178 5.93732 6.308 5.54799L2.0079 1.1857Z"
107
- fill="currentColor"
108
- />
109
- </svg>
110
- </a>
111
- );
112
- };
1
+ import clsx from "clsx";
2
+ import * as React from "react";
3
+ import "./Pagination.css";
4
+
5
+ interface PaginationProps {
6
+ pages: number;
7
+ currentPage: number;
8
+ setPage: (page: number) => any;
9
+ }
10
+
11
+ export const Pagination: React.FC<PaginationProps> = ({ pages, currentPage, setPage }) => {
12
+ return (
13
+ <nav className="denhaag-pagination">
14
+ <PreviousButton previousPage={currentPage > 1 ? currentPage - 1 : undefined} {...{ setPage }} />
15
+
16
+ <span className="denhaag-pagination__links" role="group">
17
+ {Array.from({ length: pages }, (_, i) => i + 1).map((page, idx) => (
18
+ <Link key={idx} {...{ page }} current={page === currentPage} {...{ setPage }} />
19
+ ))}
20
+ </span>
21
+
22
+ <NextButton nextPage={currentPage < pages ? currentPage + 1 : undefined} {...{ setPage }} />
23
+ </nav>
24
+ );
25
+ };
26
+
27
+ interface LinkProps {
28
+ page: number;
29
+ setPage: (page: number) => any;
30
+ current?: boolean;
31
+ }
32
+
33
+ const Link: React.FC<LinkProps> = ({ page, current, setPage }) => {
34
+ return (
35
+ <a
36
+ aria-current={current && "page"}
37
+ aria-label={`Page ${page}`}
38
+ className={clsx("denhaag-pagination__link", current && "denhaag-pagination__link--current")}
39
+ onClick={() => setPage(page)}
40
+ >
41
+ {page}
42
+ </a>
43
+ );
44
+ };
45
+
46
+ interface PreviousButtonProps {
47
+ setPage: (page: number) => any;
48
+ previousPage?: number;
49
+ }
50
+
51
+ const PreviousButton: React.FC<PreviousButtonProps> = ({ previousPage, setPage }) => {
52
+ return (
53
+ <a
54
+ aria-label="Previous page"
55
+ className={clsx(
56
+ "denhaag-pagination__link denhaag-pagination__link--arrow",
57
+ !previousPage && "denhaag-pagination__link--disabled",
58
+ )}
59
+ onClick={() => previousPage && setPage(previousPage)}
60
+ rel="prev"
61
+ >
62
+ <svg
63
+ aria-hidden="true"
64
+ className="denhaag-icon"
65
+ fill="none"
66
+ height="1em"
67
+ viewBox="0 0 7 12"
68
+ width="1em"
69
+ xmlns="http://www.w3.org/2000/svg"
70
+ >
71
+ <path
72
+ d="M4.9921 10.8143C5.36382 11.1914 5.97222 11.1914 6.34393 10.8143C6.7079 10.4451 6.70822 9.8521 6.34466 9.48248L3.36315 6.45123C2.98039 6.06209 2.98039 5.43791 3.36315 5.04877L6.34466 2.01752C6.70822 1.6479 6.7079 1.05492 6.34394 0.685696C5.97222 0.308599 5.36382 0.308599 4.9921 0.685695L0.692003 5.04799C0.308224 5.43732 0.308224 6.06268 0.692003 6.45201L4.9921 10.8143Z"
73
+ fill="currentColor"
74
+ />
75
+ </svg>
76
+ </a>
77
+ );
78
+ };
79
+
80
+ interface NextButtonProps {
81
+ setPage: (page: number) => any;
82
+ nextPage?: number;
83
+ }
84
+
85
+ const NextButton: React.FC<NextButtonProps> = ({ nextPage, setPage }) => {
86
+ return (
87
+ <a
88
+ aria-label="Next page"
89
+ className={clsx(
90
+ "denhaag-pagination__link denhaag-pagination__link--arrow",
91
+ !nextPage && "denhaag-pagination__link--disabled",
92
+ )}
93
+ onClick={() => nextPage && setPage(nextPage)}
94
+ rel="next"
95
+ >
96
+ <svg
97
+ aria-hidden="true"
98
+ className="denhaag-icon"
99
+ fill="none"
100
+ height="1em"
101
+ viewBox="0 0 7 12"
102
+ width="1em"
103
+ xmlns="http://www.w3.org/2000/svg"
104
+ >
105
+ <path
106
+ d="M2.0079 1.1857C1.63618 0.8086 1.02778 0.8086 0.656065 1.18569V1.18569C0.292103 1.55492 0.291779 2.1479 0.655339 2.51752L3.63685 5.54877C4.01961 5.93791 4.01961 6.56209 3.63686 6.95123L0.655339 9.98248C0.291779 10.3521 0.292102 10.9451 0.656065 11.3143V11.3143C1.02778 11.6914 1.63618 11.6914 2.0079 11.3143L6.308 6.95201C6.69178 6.56268 6.69178 5.93732 6.308 5.54799L2.0079 1.1857Z"
107
+ fill="currentColor"
108
+ />
109
+ </svg>
110
+ </a>
111
+ );
112
+ };