@conduction/components 2.1.29 → 2.1.30

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 (101) hide show
  1. package/README.md +1 -0
  2. package/lib/components/badgeCounter/BadgeCounter.d.ts +8 -0
  3. package/lib/components/badgeCounter/BadgeCounter.js +4 -0
  4. package/lib/components/badgeCounter/BadgeCounter.module.css +27 -0
  5. package/lib/components/card/detailsCard/DetailsCard.d.ts +14 -0
  6. package/lib/components/card/detailsCard/DetailsCard.js +10 -0
  7. package/lib/components/card/detailsCard/DetailsCard.module.css +51 -0
  8. package/lib/components/card/downloadCard/DownloadCard.d.ts +11 -0
  9. package/lib/components/card/downloadCard/DownloadCard.js +8 -0
  10. package/lib/components/card/downloadCard/DownloadCard.module.css +27 -0
  11. package/lib/components/card/horizontalImageCard/HorizontalImageCard.d.ts +13 -0
  12. package/lib/components/card/horizontalImageCard/HorizontalImageCard.js +9 -0
  13. package/lib/components/card/horizontalImageCard/HorizontalImageCard.module.css +34 -0
  14. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.d.ts +14 -0
  15. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.js +9 -0
  16. package/lib/components/card/imageAndDetailsCard/ImageAndDetailsCard.module.css +63 -0
  17. package/lib/components/card/index.d.ts +7 -0
  18. package/lib/components/card/index.js +7 -0
  19. package/lib/components/card/infoCard/InfoCard.d.ts +8 -0
  20. package/lib/components/card/infoCard/InfoCard.js +6 -0
  21. package/lib/components/card/infoCard/InfoCard.module.css +26 -0
  22. package/lib/components/card/richContentCard/RichContentCard.d.ts +19 -0
  23. package/lib/components/card/richContentCard/RichContentCard.js +16 -0
  24. package/lib/components/card/richContentCard/RichContentCard.module.css +93 -0
  25. package/lib/components/codeBlock/CodeBlock.d.ts +6 -0
  26. package/lib/components/codeBlock/CodeBlock.js +3 -0
  27. package/lib/components/codeBlock/CodeBlock.module.css +6 -0
  28. package/lib/components/container/Container.d.ts +6 -0
  29. package/lib/components/container/Container.js +4 -0
  30. package/lib/components/container/Container.module.css +9 -0
  31. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.css +222 -0
  32. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.d.ts +17 -0
  33. package/lib/components/denhaag-wrappers/breadcrumbs/Breadcrumbs.js +20 -0
  34. package/lib/components/denhaag-wrappers/pagination/Pagination.css +120 -0
  35. package/lib/components/denhaag-wrappers/pagination/Pagination.d.ts +9 -0
  36. package/lib/components/denhaag-wrappers/pagination/Pagination.js +15 -0
  37. package/lib/components/editableTableRow/EditableTableRow.d.ts +14 -0
  38. package/lib/components/editableTableRow/EditableTableRow.js +31 -0
  39. package/lib/components/editableTableRow/EditableTableRow.module.css +25 -0
  40. package/lib/components/formFields/checkbox/Checkbox.module.css +7 -0
  41. package/lib/components/formFields/checkbox/checkbox.d.ts +9 -0
  42. package/lib/components/formFields/checkbox/checkbox.js +3 -0
  43. package/lib/components/formFields/createKeyValue/CreateKeyValue.d.ts +23 -0
  44. package/lib/components/formFields/createKeyValue/CreateKeyValue.js +42 -0
  45. package/lib/components/formFields/createKeyValue/CreateKeyValue.module.css +56 -0
  46. package/lib/components/formFields/date/Date.d.ts +12 -0
  47. package/lib/components/formFields/date/Date.js +10 -0
  48. package/lib/components/formFields/date/Date.module.css +12 -0
  49. package/lib/components/formFields/errorMessage/ErrorMessage.d.ts +5 -0
  50. package/lib/components/formFields/errorMessage/ErrorMessage.js +3 -0
  51. package/lib/components/formFields/errorMessage/ErrorMessage.module.css +9 -0
  52. package/lib/components/formFields/index.d.ts +8 -0
  53. package/lib/components/formFields/index.js +8 -0
  54. package/lib/components/formFields/input.d.ts +21 -0
  55. package/lib/components/formFields/input.js +16 -0
  56. package/lib/components/formFields/radio.d.ts +9 -0
  57. package/lib/components/formFields/radio.js +3 -0
  58. package/lib/components/formFields/select/select.d.ts +21 -0
  59. package/lib/components/formFields/select/select.js +22 -0
  60. package/lib/components/formFields/select/select.module.css +38 -0
  61. package/lib/components/formFields/textarea.d.ts +9 -0
  62. package/lib/components/formFields/textarea.js +4 -0
  63. package/lib/components/formFields/types.d.ts +6 -0
  64. package/lib/components/formFields/types.js +1 -0
  65. package/lib/components/imageDivider/ImageDivider.d.ts +7 -0
  66. package/lib/components/imageDivider/ImageDivider.js +6 -0
  67. package/lib/components/imageDivider/imageDivider.module.css +5 -0
  68. package/lib/components/logo/Logo.d.ts +8 -0
  69. package/lib/components/logo/Logo.js +10 -0
  70. package/lib/components/logo/Logo.module.css +15 -0
  71. package/lib/components/metaIcon/MetaIcon.d.ts +7 -0
  72. package/lib/components/metaIcon/MetaIcon.js +3 -0
  73. package/lib/components/metaIcon/MetaIcon.module.css +29 -0
  74. package/lib/components/notificationPopUp/NotificationPopUp.d.ts +26 -0
  75. package/lib/components/notificationPopUp/NotificationPopUp.js +34 -0
  76. package/lib/components/notificationPopUp/NotificationPopUp.module.css +61 -0
  77. package/lib/components/privateRoute/PrivateRoute.d.ts +6 -0
  78. package/lib/components/privateRoute/PrivateRoute.js +15 -0
  79. package/lib/components/quoteWrapper/QuoteWrapper.d.ts +7 -0
  80. package/lib/components/quoteWrapper/QuoteWrapper.js +5 -0
  81. package/lib/components/quoteWrapper/QuoteWrapper.module.css +12 -0
  82. package/lib/components/statusSteps/StatusSteps.d.ts +13 -0
  83. package/lib/components/statusSteps/StatusSteps.js +5 -0
  84. package/lib/components/tag/Tag.d.ts +10 -0
  85. package/lib/components/tag/Tag.js +6 -0
  86. package/lib/components/tag/Tag.module.css +44 -0
  87. package/lib/components/toolTip/ToolTip.d.ts +9 -0
  88. package/lib/components/toolTip/ToolTip.js +8 -0
  89. package/lib/components/toolTip/ToolTip.module.css +17 -0
  90. package/lib/components/topNav/index.d.ts +3 -0
  91. package/lib/components/topNav/index.js +3 -0
  92. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.d.ts +20 -0
  93. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.js +17 -0
  94. package/lib/components/topNav/primaryTopNav/PrimaryTopNav.module.css +163 -0
  95. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.d.ts +12 -0
  96. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.js +7 -0
  97. package/lib/components/topNav/secondaryTopNav/SecondaryTopNav.module.css +63 -0
  98. package/lib/index.d.ts +27 -0
  99. package/lib/index.js +20 -0
  100. package/package.json +2 -7
  101. package/src/components/formFields/select/select.tsx +7 -0
package/README.md CHANGED
@@ -4,6 +4,7 @@
4
4
 
5
5
  - **Version 2.1 (breaking changes from 2.0.x)**
6
6
 
7
+ - 2.1.29/2.1.30: Added optional menuPlacement to all select elements.
7
8
  - 2.1.28: Fixed PrimaryTopNav dropdown token and added new features for dropdown.
8
9
  - 2.1.27: TimeFormat in DatePicker is now consistant with DateFormat.
9
10
  - 2.1.26: Avoid dependency on `@gemeente-denhaag/components-react`, only depend on components we actually use.
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ interface BadgeCounterProps {
3
+ number: string;
4
+ children: React.ReactNode;
5
+ layoutClassName?: string;
6
+ }
7
+ export declare const BadgeCounter: ({ number, children, layoutClassName, }: React.PropsWithChildren<BadgeCounterProps>) => JSX.Element;
8
+ export {};
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as styles from "./BadgeCounter.module.css";
3
+ import clsx from "clsx";
4
+ export const BadgeCounter = ({ number, children, layoutClassName, }) => (_jsxs("div", { className: styles.content, children: [children, _jsx("span", { className: clsx([layoutClassName && layoutClassName], styles.badge), children: number })] }));
@@ -0,0 +1,27 @@
1
+ :root {
2
+ --conduction-badge-counter-color: hsl(0 0% 0%);
3
+ --conduction-badge-counter-background-color: var(--skeleton-color-grey-1);
4
+ --conduction-badge-counter-height: var(--skeleton-size-md);
5
+ --conduction-badge-counter-width: var(--skeleton-size-md);
6
+ --conduction-badge-counter-font-size: var(--skeleton-font-size-xs);
7
+ --conduction-badge-counter-max-number-font-size: var(--skeleton-font-size-2xs);
8
+ }
9
+
10
+ .content {
11
+ display: flex;
12
+ }
13
+
14
+ .badge {
15
+ height: var(--conduction-badge-counter-height);
16
+ width: var(--conduction-badge-counter-width);
17
+ border-radius: 50%;
18
+ font-size: var(--conduction-badge-counter-font-size);
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: space-around;
22
+ background-color: var(--conduction-badge-counter-background-color);
23
+ color: var(--conduction-badge-counter-color);
24
+ }
25
+ .maxNumber {
26
+ font-size: var(--conduction-badge-counter-max-number-font-size);
27
+ }
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ interface DetailsCardProps {
3
+ title: string;
4
+ introduction?: string;
5
+ link: {
6
+ href: string;
7
+ label: string;
8
+ };
9
+ tags?: string[];
10
+ subHeader?: string;
11
+ layoutClassName?: string;
12
+ }
13
+ export declare const DetailsCard: ({ title, subHeader, introduction, link, tags, layoutClassName, }: DetailsCardProps) => JSX.Element;
14
+ export {};
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as styles from "./DetailsCard.module.css";
3
+ import clsx from "clsx";
4
+ import { Link } from "@gemeente-denhaag/link";
5
+ import { navigate } from "gatsby";
6
+ import { ArrowRightIcon } from "@gemeente-denhaag/icons";
7
+ import { Tag } from "../../tag/Tag";
8
+ export const DetailsCard = ({ title, subHeader, introduction, link, tags, layoutClassName, }) => {
9
+ return (_jsx("div", { className: clsx(styles.container, [layoutClassName && layoutClassName]), onClick: () => navigate(link.href), children: _jsxs("div", { className: styles.content, children: [_jsxs("div", { children: [_jsx("div", { className: styles.title, children: title }), _jsx("span", { className: styles.subHeader, children: subHeader })] }), tags && (_jsx("div", { className: styles.tags, children: tags.map((tag, idx) => (_jsx(Tag, { label: tag }, idx))) })), _jsx("div", { className: styles.introduction, children: introduction }), _jsx("div", { className: styles.link, children: _jsx(Link, { icon: _jsx(ArrowRightIcon, {}), iconAlign: "start", children: link.label }) })] }) }));
10
+ };
@@ -0,0 +1,51 @@
1
+ :root {
2
+ --conduction-details-card-border: 1px solid var(--skeleton-color-grey-2);
3
+ --conduction-details-card-introduction-lines-clamp: 3;
4
+ }
5
+
6
+ .container {
7
+ cursor: pointer;
8
+ overflow: hidden;
9
+ border-radius: var(--skeleton-border-radius-md);
10
+ }
11
+
12
+ .content {
13
+ display: flex;
14
+ flex-direction: column;
15
+ padding-inline-start: var(--skeleton-size-md);
16
+ padding-inline-end: var(--skeleton-size-md);
17
+ padding-block-start: var(--skeleton-size-md);
18
+ padding-block-end: var(--skeleton-size-md);
19
+ border: var(--conduction-details-card-border);
20
+ }
21
+
22
+ .content > *:not(:last-child) {
23
+ margin-block-end: var(--skeleton-size-md);
24
+ }
25
+
26
+ .title {
27
+ font-size: var(--skeleton-font-size-xl);
28
+ font-weight: var(--skeleton-font-weight-bold);
29
+ }
30
+
31
+ .subHeader {
32
+ color: var(--skeleton-color-grey-3);
33
+ font-size: var(--skeleton-font-size-sm);
34
+ }
35
+
36
+ .tags > *:not(:last-child) {
37
+ margin-inline-end: var(--skeleton-size-sm);
38
+ }
39
+
40
+ .introduction {
41
+ overflow: hidden;
42
+ text-overflow: ellipsis;
43
+ display: -webkit-box;
44
+ -webkit-line-clamp: var(--conduction-details-card-introduction-lines-clamp);
45
+ -webkit-box-orient: vertical;
46
+ }
47
+
48
+ .link {
49
+ display: flex;
50
+ justify-content: flex-end;
51
+ }
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ interface DownloadCardProps {
3
+ icon: JSX.Element;
4
+ label: string;
5
+ sizeKb: string;
6
+ downloadLabel: string;
7
+ layoutClassName?: string;
8
+ handleClick: () => any;
9
+ }
10
+ export declare const DownloadCard: ({ icon, label, sizeKb, layoutClassName, downloadLabel, handleClick, }: DownloadCardProps) => JSX.Element;
11
+ export {};
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as styles from "./DownloadCard.module.css";
3
+ import { DownloadIcon } from "@gemeente-denhaag/icons";
4
+ import { Link } from "@gemeente-denhaag/link";
5
+ import clsx from "clsx";
6
+ export const DownloadCard = ({ icon, label, sizeKb, layoutClassName, downloadLabel, handleClick, }) => {
7
+ return (_jsxs("div", { className: clsx(styles.container, [layoutClassName && layoutClassName]), children: [_jsxs("div", { className: styles.content, children: [_jsx("div", { className: styles.icon, children: icon }), _jsxs("div", { children: [label, " (", sizeKb, "kb)"] })] }), _jsx("div", { onClick: handleClick, children: _jsx(Link, { icon: _jsx(DownloadIcon, {}), iconAlign: "start", children: downloadLabel }) })] }));
8
+ };
@@ -0,0 +1,27 @@
1
+ :root {
2
+ --conduction-download-card-border: 1px solid var(--skeleton-color-grey-2);
3
+ }
4
+
5
+ .container {
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: space-between;
9
+ border: var(--conduction-download-card-border);
10
+ border-radius: var(--skeleton-border-radius-md);
11
+ padding-inline-end: var(--skeleton-size-sm);
12
+ }
13
+
14
+ .content {
15
+ display: flex;
16
+ align-items: center;
17
+ }
18
+
19
+ .content > *:not(:last-child) {
20
+ margin-inline-end: var(--skeleton-size-sm);
21
+ }
22
+
23
+ .icon {
24
+ padding-inline: var(--skeleton-size-sm);
25
+ padding-block: var(--skeleton-size-sm);
26
+ background-color: var(--skeleton-color-grey-1);
27
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ interface HorizontalImageCardProps {
3
+ iconOrImage: JSX.Element;
4
+ title: string;
5
+ link: {
6
+ label: string;
7
+ href: string;
8
+ };
9
+ layoutClassName?: string;
10
+ external?: boolean;
11
+ }
12
+ export declare const HorizontalImageCard: ({ title, layoutClassName, external, link, iconOrImage, }: HorizontalImageCardProps) => JSX.Element;
13
+ export {};
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as styles from "./HorizontalImageCard.module.css";
3
+ import clsx from "clsx";
4
+ import { Link } from "@gemeente-denhaag/link";
5
+ import { navigate } from "gatsby";
6
+ import { ExternalLinkIcon, ArrowRightIcon } from "@gemeente-denhaag/icons";
7
+ export const HorizontalImageCard = ({ title, layoutClassName, external, link, iconOrImage, }) => {
8
+ return (_jsxs("div", { className: clsx(styles.container, [layoutClassName && layoutClassName]), onClick: () => navigate(link.href), children: [_jsx("div", { className: styles.imageOrIconContainer, children: iconOrImage }), _jsxs("div", { className: styles.link, children: [_jsx("div", { className: styles.title, children: title }), _jsx(Link, { icon: external ? _jsx(ExternalLinkIcon, {}) : _jsx(ArrowRightIcon, {}), iconAlign: "start", children: link.label })] })] }));
9
+ };
@@ -0,0 +1,34 @@
1
+ :root {
2
+ --conduction-horizontal-image-card-image-size: 52px;
3
+ }
4
+
5
+ .container {
6
+ display: flex;
7
+ align-items: center;
8
+ cursor: pointer;
9
+ background-color: var(--skeleton-color-grey-1);
10
+ border-radius: var(--skeleton-border-radius-md);
11
+ }
12
+
13
+ .link {
14
+ display: flex;
15
+ flex-direction: column;
16
+ padding-block-start: var(--skeleton-size-lg);
17
+ padding-block-end: var(--skeleton-size-lg);
18
+ padding-inline-end: var(--skeleton-size-lg);
19
+ }
20
+
21
+ .imageOrIconContainer > :first-child {
22
+ width: var(--conduction-horizontal-image-card-image-size);
23
+ height: var(--conduction-horizontal-image-card-image-size);
24
+
25
+ padding-inline-start: var(--skeleton-size-md);
26
+ padding-inline-end: var(--skeleton-size-md);
27
+ padding-block-start: var(--skeleton-size-md);
28
+ padding-block-end: var(--skeleton-size-md);
29
+ }
30
+
31
+ .title {
32
+ font-weight: var(--skeleton-font-weight-bold);
33
+ font-size: var(--skeleton-font-size-xl);
34
+ }
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ interface ImageAndDetailsCardProps {
3
+ title: string;
4
+ image: JSX.Element;
5
+ introduction: string;
6
+ link: {
7
+ href: string;
8
+ label: string;
9
+ };
10
+ subHeader?: string;
11
+ layoutClassName?: string;
12
+ }
13
+ export declare const ImageAndDetailsCard: ({ image, title, subHeader, introduction, link, layoutClassName, }: ImageAndDetailsCardProps) => JSX.Element;
14
+ export {};
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as styles from "./ImageAndDetailsCard.module.css";
3
+ import clsx from "clsx";
4
+ import { Link } from "@gemeente-denhaag/link";
5
+ import { navigate } from "gatsby";
6
+ import { ArrowRightIcon } from "@gemeente-denhaag/icons";
7
+ export const ImageAndDetailsCard = ({ image, title, subHeader, introduction, link, layoutClassName, }) => {
8
+ return (_jsxs("div", { className: clsx(styles.container, [layoutClassName && layoutClassName]), onClick: () => navigate(link.href), children: [_jsx("div", { className: styles.image, children: image }), _jsxs("div", { className: styles.content, children: [_jsxs("div", { children: [_jsx("div", { className: styles.title, children: title }), _jsx("span", { className: styles.subHeader, children: subHeader })] }), _jsx("div", { className: styles.introduction, children: introduction }), _jsx("div", { className: styles.link, children: _jsx(Link, { icon: _jsx(ArrowRightIcon, {}), iconAlign: "start", children: link.label }) })] })] }));
9
+ };
@@ -0,0 +1,63 @@
1
+ :root {
2
+ --conduction-image-and-details-card-image-height: 275px;
3
+ --conduction-image-and-details-card-title-font-weight: bold;
4
+ --conduction-image-and-details-card-introduction-lines-clamp: 3;
5
+ --conduction-image-and-details-card-border: 1px solid var(--skeleton-color-grey-2);
6
+ }
7
+
8
+ .container {
9
+ cursor: pointer;
10
+ overflow: hidden;
11
+ border-radius: var(--skeleton-border-radius-md);
12
+ }
13
+
14
+ .image {
15
+ height: var(--conduction-image-and-details-card-image-height);
16
+ }
17
+
18
+ .image > :first-child {
19
+ width: 100%;
20
+ height: 100%;
21
+ object-fit: cover;
22
+ }
23
+
24
+ .content {
25
+ display: flex;
26
+ flex-direction: column;
27
+ padding-inline-start: var(--skeleton-size-md);
28
+ padding-inline-end: var(--skeleton-size-md);
29
+ padding-block-start: var(--skeleton-size-md);
30
+ padding-block-end: var(--skeleton-size-md);
31
+ border: var(--conduction-image-and-details-card-border);
32
+ height: calc(
33
+ 100% - var(--conduction-image-and-details-card-image-height) - var(--skeleton-size-md) - var(--skeleton-size-md) - 2px
34
+ ); /* height = 100% - imageHeight - padding - border */
35
+ }
36
+
37
+ .content > *:not(:last-child) {
38
+ margin-block-end: var(--skeleton-size-md);
39
+ }
40
+
41
+ .title {
42
+ font-size: var(--skeleton-font-size-xl);
43
+ font-weight: var(--skeleton-font-weight-bold);
44
+ }
45
+
46
+ .subHeader {
47
+ color: var(--skeleton-color-grey-3);
48
+ font-size: var(--skeleton-font-size-sm);
49
+ }
50
+
51
+ .introduction {
52
+ overflow: hidden;
53
+ text-overflow: ellipsis;
54
+ display: -webkit-box;
55
+ -webkit-line-clamp: var(--conduction-image-and-details-card-introduction-lines-clamp);
56
+ -webkit-box-orient: vertical;
57
+ }
58
+
59
+ .link {
60
+ display: flex;
61
+ justify-content: flex-end;
62
+ margin-block-start: auto;
63
+ }
@@ -0,0 +1,7 @@
1
+ import { DownloadCard } from "./downloadCard/DownloadCard";
2
+ import { HorizontalImageCard } from "./horizontalImageCard/HorizontalImageCard";
3
+ import { ImageAndDetailsCard } from "./imageAndDetailsCard/ImageAndDetailsCard";
4
+ import { RichContentCard } from "./richContentCard/RichContentCard";
5
+ import { DetailsCard } from "./detailsCard/DetailsCard";
6
+ import { InfoCard } from "./infoCard/InfoCard";
7
+ export { DownloadCard, HorizontalImageCard, ImageAndDetailsCard, RichContentCard, DetailsCard, InfoCard };
@@ -0,0 +1,7 @@
1
+ import { DownloadCard } from "./downloadCard/DownloadCard";
2
+ import { HorizontalImageCard } from "./horizontalImageCard/HorizontalImageCard";
3
+ import { ImageAndDetailsCard } from "./imageAndDetailsCard/ImageAndDetailsCard";
4
+ import { RichContentCard } from "./richContentCard/RichContentCard";
5
+ import { DetailsCard } from "./detailsCard/DetailsCard";
6
+ import { InfoCard } from "./infoCard/InfoCard";
7
+ export { DownloadCard, HorizontalImageCard, ImageAndDetailsCard, RichContentCard, DetailsCard, InfoCard };
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ interface InfoCardProps {
3
+ title: string;
4
+ content: JSX.Element | string;
5
+ layoutClassName?: string;
6
+ }
7
+ export declare const InfoCard: ({ title, content, layoutClassName }: InfoCardProps) => JSX.Element;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as styles from "./InfoCard.module.css";
3
+ import clsx from "clsx";
4
+ export const InfoCard = ({ title, content, layoutClassName }) => {
5
+ return (_jsxs("div", { className: clsx([layoutClassName && layoutClassName], styles.container), children: [_jsx("span", { className: styles.title, children: title }), _jsx("div", { className: styles.content, children: content })] }));
6
+ };
@@ -0,0 +1,26 @@
1
+ .container {
2
+ background-color: var(--skeleton-color-grey-1);
3
+ border-radius: var(--skeleton-border-radius-md);
4
+ padding-inline-start: var(--skeleton-size-md);
5
+ padding-inline-end: var(--skeleton-size-md);
6
+ padding-block-start: var(--skeleton-size-md);
7
+ padding-block-end: var(--skeleton-size-md);
8
+ }
9
+
10
+ .container > * {
11
+ display: block;
12
+ }
13
+
14
+ .container > *:not(:last-child) {
15
+ margin-block-end: var(--skeleton-size-xs);
16
+ }
17
+
18
+ .container > .title {
19
+ font-weight: var(--skeleton-font-weight-bold);
20
+ font-size: var(--skeleton-font-size-xl);
21
+ color: var(--skeleton-color-black);
22
+ }
23
+
24
+ .content {
25
+ color: var(--skeleton-color-black);
26
+ }
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ export interface RichContentCardProps {
3
+ link: {
4
+ label: string;
5
+ href: string;
6
+ };
7
+ labelsWithIcon: {
8
+ label: string;
9
+ icon: JSX.Element;
10
+ }[];
11
+ tags: string[];
12
+ contentLinks?: {
13
+ title: string;
14
+ subTitle: string;
15
+ href: string;
16
+ }[];
17
+ linkIsExternal?: boolean;
18
+ }
19
+ export declare const RichContentCard: ({ link, labelsWithIcon, tags, contentLinks, linkIsExternal, }: RichContentCardProps) => JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Divider } from "@gemeente-denhaag/divider";
3
+ import { Link } from "@gemeente-denhaag/link";
4
+ import { navigate } from "gatsby";
5
+ import * as styles from "./RichContentCard.module.css";
6
+ import { ExternalLinkIcon, ArrowRightIcon } from "@gemeente-denhaag/icons";
7
+ import { Tag } from "../../tag/Tag";
8
+ export const RichContentCard = ({ link, labelsWithIcon, tags, contentLinks, linkIsExternal, }) => {
9
+ return (_jsxs("div", { className: styles.container, children: [_jsx("div", { className: styles.link, onClick: () => navigate(link.href), children: _jsx(Link, { icon: linkIsExternal ? _jsx(ExternalLinkIcon, {}) : _jsx(ArrowRightIcon, {}), iconAlign: "start", children: link.label }) }), _jsx("div", { className: styles.labelsWithIcon, children: labelsWithIcon.map(({ label, icon }, idx) => (_jsx(LabelWithIcon, { ...{ label, icon } }, idx))) }), _jsx("div", { className: styles.tags, children: tags.map((tag, idx) => (_jsx(Tag, { label: tag }, idx))) }), contentLinks && (_jsxs("div", { className: styles.contentLinks, children: [_jsx(Divider, {}), contentLinks.map(({ title, subTitle, href }, idx) => (_jsx(ContentLink, { ...{ title, subTitle, href } }, idx)))] }))] }));
10
+ };
11
+ const LabelWithIcon = ({ label, icon }) => {
12
+ return (_jsxs("div", { className: styles.labelWithIcon, children: [_jsx("span", { className: styles.labelWithIcon_icon, children: icon }), _jsx("span", { className: styles.labelWithIcon_label, children: label })] }));
13
+ };
14
+ const ContentLink = ({ title, subTitle, href }) => {
15
+ return (_jsxs(Link, { className: styles.contentLink, children: [_jsxs("div", { className: styles.contentLink_content, children: [_jsx("span", { className: styles.contentLink_title, children: title }), _jsx("span", { className: styles.contentLink_subTitle, children: subTitle })] }), _jsx("div", { children: _jsx(ArrowRightIcon, {}) })] }));
16
+ };
@@ -0,0 +1,93 @@
1
+ :root {
2
+ --conduction-rich-content-card-border: 1px solid var(--skeleton-color-grey-2);
3
+ }
4
+
5
+ .container {
6
+ display: flex;
7
+ flex-direction: column;
8
+ border: var(--conduction-rich-content-card-border);
9
+ border-radius: var(--skeleton-border-radius-md);
10
+
11
+ padding-inline-start: var(--skeleton-size-md);
12
+ padding-inline-end: var(--skeleton-size-md);
13
+ padding-block-start: var(--skeleton-size-md);
14
+ padding-block-end: var(--skeleton-size-md);
15
+ }
16
+
17
+ .container > *:not(.link):not(:last-child) {
18
+ margin-block-end: var(--skeleton-size-md);
19
+ }
20
+
21
+ .link {
22
+ margin-block-end: var(--skeleton-size-xs);
23
+ }
24
+
25
+ .link > :first-child {
26
+ display: flex;
27
+ }
28
+
29
+ .labelsWithIcon {
30
+ display: flex;
31
+ flex-wrap: wrap;
32
+ }
33
+
34
+ .labelsWithIcon > *:not(:last-child) {
35
+ margin-inline-end: var(--skeleton-size-md);
36
+ }
37
+
38
+ .tags > *:not(:last-child) {
39
+ margin-inline-end: var(--skeleton-size-md);
40
+ }
41
+
42
+ .contentLinks > *:not(:last-child):not(hr) {
43
+ margin-block-end: var(--skeleton-size-xs);
44
+ }
45
+
46
+ /* Component: LabelWithIcon */
47
+ .labelWithIcon {
48
+ display: flex;
49
+ align-items: center;
50
+ color: var(--skeleton-color-grey-3);
51
+ }
52
+
53
+ .labelWithIcon > .labelWithIcon_icon > svg {
54
+ height: var(--skeleton-size-sm);
55
+ width: var(--skeleton-size-sm);
56
+ margin-inline-end: var(--skeleton-size-xs);
57
+ }
58
+
59
+ .labelWithIcon > .labelWithIcon_label {
60
+ font-size: var(--skeleton-size-sm);
61
+ }
62
+
63
+ /* Content Link */
64
+ .contentLink {
65
+ display: flex;
66
+ padding-block-start: var(--skeleton-size-xs);
67
+ padding-block-end: var(--skeleton-size-xs);
68
+ text-decoration: none !important;
69
+ }
70
+
71
+ .contentLink > span {
72
+ width: 100%;
73
+ display: flex;
74
+ justify-content: space-between;
75
+ }
76
+
77
+ .contentLink:hover {
78
+ cursor: pointer;
79
+ }
80
+
81
+ .contentLink_content {
82
+ display: flex;
83
+ flex-direction: column;
84
+ }
85
+
86
+ .contentLink_title {
87
+ font-size: var(--conduction-content-link-font-size);
88
+ }
89
+
90
+ .contentLink_subTitle {
91
+ font-size: var(--conduction-content-link-font-size);
92
+ color: var(--denhaag-color-grey-3);
93
+ }
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ interface CodeBlockProps {
3
+ codeBlock: string | JSX.Element;
4
+ }
5
+ export declare const CodeBlock: ({ codeBlock }: CodeBlockProps) => JSX.Element;
6
+ export {};
@@ -0,0 +1,3 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as styles from "./CodeBlock.module.css";
3
+ export const CodeBlock = ({ codeBlock }) => _jsx("div", { className: styles.code, children: codeBlock });
@@ -0,0 +1,6 @@
1
+ .code {
2
+ margin-block: var(--skeleton-size-sm);
3
+ background-color: var(--skeleton-color-grey-1);
4
+ border-radius: var(--skeleton-size-2xs);
5
+ padding: var(--skeleton-size-lg);
6
+ }
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ interface ContainerProps {
3
+ layoutClassName?: string;
4
+ }
5
+ export declare const Container: ({ children, layoutClassName }: React.PropsWithChildren<ContainerProps>) => JSX.Element;
6
+ export {};
@@ -0,0 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as styles from "./Container.module.css";
3
+ import clsx from "clsx";
4
+ export const Container = ({ children, layoutClassName }) => (_jsx("div", { className: clsx(styles.container, [layoutClassName && layoutClassName]), children: children }));
@@ -0,0 +1,9 @@
1
+ :root {
2
+ --conduction-container-max-width: 1024px;
3
+ }
4
+
5
+ .container {
6
+ width: 100%;
7
+ margin-inline: auto;
8
+ max-width: var(--conduction-container-max-width);
9
+ }