From 1993f5d2d65fb3171420399bb3a686c849b6a9cd Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Thu, 28 Nov 2024 20:18:19 +0100
Subject: [PATCH 01/75] feat: add many new Wicket components
---
pnpm-lock.yaml | 222 ++++++++++++++++++
wicket/components-wicket/package.json | 33 ++-
wicket/components-wicket/pom.xml | 7 +-
.../src/main/java/css/HTMLUtil.java | 22 ++
.../css/WicketComponentsCssReferences.java | 77 +++++-
.../alert/utrecht/UtrechtAlert.html | 7 +
.../alert/utrecht/UtrechtAlert.java | 19 ++
.../alert/utrecht/UtrechtAlertBehavior.java | 42 ++++
.../utrecht/UtrechtBadgeListBorder.html | 9 +
.../utrecht/UtrechtBadgeListBorder.java | 10 +
.../body/utrecht/UtrechtBodyBorder.html | 9 +
.../body/utrecht/UtrechtBodyBorder.java | 10 +
.../utrecht/UtrechtButtonGroupBorder.html | 9 +
.../utrecht/UtrechtButtonGroupBorder.java | 10 +
.../utrecht/UtrechtColumnLayoutBorder.html | 9 +
.../utrecht/UtrechtColumnLayoutBorder.java | 10 +
.../utrecht/UtrechtFormFieldCheckbox.html | 11 +
.../utrecht/UtrechtFormFieldCheckbox.java | 190 +++++++++++++++
.../form_label/utrecht/UtrechtFormLabel.html | 3 +
.../form_label/utrecht/UtrechtFormLabel.java | 17 ++
.../heading/utrecht/UtrechtHeading.java | 3 +-
.../utrecht/UtrechtHeadingBehavior.java | 28 ++-
.../utrecht/UtrechtHeadingGroupBorder.html | 9 +
.../utrecht/UtrechtHeadingGroupBorder.java | 10 +
.../utrecht/UtrechtHtmlContentBorder.html | 11 +
.../utrecht/UtrechtHtmlContentBorder.java | 10 +
.../icon/utrecht/UtrechtIconBorder.html | 5 +
.../icon/utrecht/UtrechtIconBorder.java | 10 +
.../logo/utrecht/UtrechtLogoBorder.html | 5 +
.../logo/utrecht/UtrechtLogoBorder.java | 10 +
.../rotterdam/RotterdamLogoImage.html | 10 +
.../rotterdam/RotterdamLogoImage.java | 10 +
.../utrecht/UtrechtNumberBadge.java | 22 ++
.../utrecht/UtrechtNumberBadgeBehavior.java | 41 ++++
.../utrecht/UtrechtOrderedList.html | 3 +
.../utrecht/UtrechtOrderedList.java | 10 +
.../utrecht/UtrechtOrderedListBehavior.java | 42 ++++
.../utrecht/UtrechtOrderedListItem.java | 22 ++
.../UtrechtOrderedListItemBehavior.java | 35 +++
.../utrecht/UtrechtPageBodyBorder.html | 13 +
.../utrecht/UtrechtPageBodyBorder.java | 10 +
.../utrecht/UtrechtPageFooterBorder.html | 13 +
.../utrecht/UtrechtPageFooterBorder.java | 10 +
.../utrecht/UtrechtPageHeaderBorder.html | 13 +
.../utrecht/UtrechtPageHeaderBorder.java | 10 +
.../utrecht/UtrechtPageLayout.html | 3 +
.../utrecht/UtrechtPageLayout.java | 12 +
.../UtrechtPageLayoutBehavior.java-disabled | 36 +++
.../utrecht/UtrechtPageLayoutBorder.html | 11 +
.../utrecht/UtrechtPageLayoutBorder.java | 10 +
.../root/utrecht/UtrechtRootBorder.html | 5 +
.../root/utrecht/UtrechtRootBorder.java | 10 +
.../separator/utrecht/UtrechtSeparator.html | 3 +
.../separator/utrecht/UtrechtSeparator.java | 10 +
.../utrecht/UtrechtUnorderedList.html | 3 +
.../utrecht/UtrechtUnorderedList.java | 10 +
.../utrecht/UtrechtUnorderedListBehavior.java | 42 ++++
.../nl/rotterdam/wicket/docs/BasePage.html | 6 +-
.../nl/rotterdam/wicket/docs/BasePage.java | 64 ++++-
.../rotterdam/wicket/docs/ComponentsPage.html | 114 +++++++--
.../rotterdam/wicket/docs/ComponentsPage.java | 155 +++++++++++-
.../form_label/FormLabelExamplesPanel.html | 26 ++
.../form_label/FormLabelExamplesPanel.java | 26 ++
.../wicket/docs/page_footer/PageFooter | 0
.../page_footer/PageFooterExamplesPanel.html | 0
.../page_layout/PageLayoutExamplesPanel.java | 18 ++
.../wicket/nl_design/docs/Start.java | 16 +-
67 files changed, 1583 insertions(+), 88 deletions(-)
create mode 100644 wicket/components-wicket/src/main/java/css/HTMLUtil.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo_image/rotterdam/RotterdamLogoImage.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo_image/rotterdam/RotterdamLogoImage.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadge.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedList.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedList.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItem.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItemBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java-disabled
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooter
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooterExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/PageLayoutExamplesPanel.java
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3efd9770..b2f37158 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -590,6 +590,36 @@ importers:
'@nl-design-system-unstable/voorbeeld-design-tokens':
specifier: 3.3.4
version: 3.3.4
+ '@utrecht/alert-css':
+ specifier: 2.2.0
+ version: 2.2.0
+ '@utrecht/badge-list-css':
+ specifier: 2.2.0
+ version: 2.2.0
+ '@utrecht/body-css':
+ specifier: 1.1.0
+ version: 1.1.0
+ '@utrecht/button-css':
+ specifier: 1.1.0
+ version: 1.1.0
+ '@utrecht/button-group-css':
+ specifier: 1.4.0
+ version: 1.4.0
+ '@utrecht/column-layout-css':
+ specifier: 1.5.0
+ version: 1.5.0
+ '@utrecht/custom-checkbox-css':
+ specifier: 1.1.1
+ version: 1.1.1
+ '@utrecht/form-field-css':
+ specifier: 1.5.0
+ version: 1.5.0
+ '@utrecht/form-field-description-css':
+ specifier: 1.5.0
+ version: 1.5.0
+ '@utrecht/form-field-error-message-css':
+ specifier: 1.5.0
+ version: 1.5.0
'@utrecht/heading-1-css':
specifier: 1.4.0
version: 1.4.0
@@ -608,6 +638,63 @@ importers:
'@utrecht/heading-6-css':
specifier: 1.4.0
version: 1.4.0
+ '@utrecht/heading-group-css':
+ specifier: 1.4.0
+ version: 1.4.0
+ '@utrecht/html-content-css':
+ specifier: 1.3.0
+ version: 1.3.0
+ '@utrecht/icon':
+ specifier: 1.3.0
+ version: 1.3.0
+ '@utrecht/link-css':
+ specifier: 1.1.0
+ version: 1.1.0
+ '@utrecht/logo-css':
+ specifier: 1.4.0
+ version: 1.4.0
+ '@utrecht/nav-bar-css':
+ specifier: 1.4.0
+ version: 1.4.0
+ '@utrecht/number-badge-css':
+ specifier: 2.3.0
+ version: 2.3.0
+ '@utrecht/ordered-list-css':
+ specifier: 1.4.0
+ version: 1.4.0
+ '@utrecht/page-body-css':
+ specifier: 0.1.0
+ version: 0.1.0
+ '@utrecht/page-footer-css':
+ specifier: 2.1.0
+ version: 2.1.0
+ '@utrecht/page-header-css':
+ specifier: 1.5.0
+ version: 1.5.0
+ '@utrecht/page-layout-css':
+ specifier: 1.1.0
+ version: 1.1.0
+ '@utrecht/paragraph-css':
+ specifier: 1.1.0
+ version: 1.1.0
+ '@utrecht/root-css':
+ specifier: 1.1.0
+ version: 1.1.0
+ '@utrecht/separator-css':
+ specifier: 1.4.0
+ version: 1.4.0
+ '@utrecht/table-css':
+ specifier: 1.1.0
+ version: 1.1.0
+ '@utrecht/textarea-css':
+ specifier: 1.1.0
+ version: 1.1.0
+ '@utrecht/textbox-css':
+ specifier: 1.1.0
+ version: 1.1.0
+ '@utrecht/unordered-list-css':
+ specifier: 1.4.0
+ version: 1.4.0
wicket/design-tokens-wicket:
devDependencies:
@@ -2740,18 +2827,33 @@ packages:
resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@utrecht/alert-css@2.2.0':
+ resolution: {integrity: sha512-cCJngxahyzpQyCNEr7i1PcNI0g2Ez++Uy2roaRKW6E5bFZO3srriODr+0rmhAEhij4inS9cf5D9QbhhMjMjsww==}
+
'@utrecht/badge-css@1.4.0':
resolution: {integrity: sha512-Rh9SiK6i8N7Ui8N14h2g7z9+0dkQ1kuLV/fdzsI95M9LmZqmcNGpeFvy0brEhnGLiIWlbXPj9892VGbKoR1esA==}
'@utrecht/badge-data-css@1.4.0':
resolution: {integrity: sha512-ewxf14Orm5RVxrxQ4PS0T4+iG3HmbLfZDabJ4VC1yD1BTTD4lpMbUo1/t7BMenEYWlvodUoEIyj+k6E3NzsXtA==}
+ '@utrecht/badge-list-css@2.2.0':
+ resolution: {integrity: sha512-k/9icmEgPQUhZrzupIKtTl9tAUZkFZnaNpEHZp8kYJp9qAc9FY3ZGNBOr4XasqbdL/EZ4bg9oZrIb53jnzcRuQ==}
+
+ '@utrecht/body-css@1.1.0':
+ resolution: {integrity: sha512-bKIHtnumGwF8biJoYamCNaro4Bko/M90I1ACjV5qYJGRWCBvp14gD0Qxeq8xHqPe+sWFYQmbFRvSrukiqzYy3A==}
+
'@utrecht/breadcrumb-nav-css@1.4.0':
resolution: {integrity: sha512-mBe/Xczr2ekfT9sxl9svOtZJWrW0klbnWBDyhf4it4zOk5BKeeKxUYEjbOQghOQ5jqVRPdnRbIVZoKX0Vrq3sQ==}
+ '@utrecht/button-css@1.1.0':
+ resolution: {integrity: sha512-1NtKfwHmpaTmkv28fGRoVtT4Y9BER2TDE1jMuDGhL727DROQTXDKZB7ZEZMuLUqtxPInbyskZeJHMaA18CJbIA==}
+
'@utrecht/button-css@2.2.0':
resolution: {integrity: sha512-Fooo1EN8Dla4XKdqAnvSI3yCqnh4XkwX0jmMWgm9czcyj4ahVYayEIz7zEg34J8Gd5bMbFmeakyaIU9/A9YAvQ==}
+ '@utrecht/button-group-css@1.4.0':
+ resolution: {integrity: sha512-NV12LA6wh0IaBuqjVVD+dZUzl4Sk0aKKiO3qL0BT7XQJvygDRjJq3M5d2pI9BDMMOb9jgT6VuIARST0Qk6JuxQ==}
+
'@utrecht/button-react@2.0.4':
resolution: {integrity: sha512-dU5V6eMrdymvV8IJWh6PbrPFKz/pWHAUtRvPAKRGMoOGcFlyJAp2ZPYDHYSc7NdKH2KGehvX29c8gZLd1plm4g==}
peerDependencies:
@@ -2776,6 +2878,9 @@ packages:
react: '18'
react-dom: '18'
+ '@utrecht/column-layout-css@1.5.0':
+ resolution: {integrity: sha512-XnhA/CscHCwy5i35dOORgagmi0Ajhu/56Zr6ghRP42D8r2pcTL5YCYRAJ3qXozeQ+2QbDqzoGsVkYtmcuaJAFg==}
+
'@utrecht/combobox-react@0.0.5':
resolution: {integrity: sha512-g3k3Vhj1uF8TtuKiqCalG8RKOFM38jow+T82FUVXoHoXDMtW2tWEFH6JpQY/BCk1KsBz18+dvRckrfwNCz+uEw==}
peerDependencies:
@@ -2803,6 +2908,9 @@ packages:
'@utrecht/components@7.4.0':
resolution: {integrity: sha512-LWFJjJ7TF0eaoWq5TGrg7rNYnG+G5yIEJhuiwFlbICwSx2n+gZVbAE1dAW8YG2mGqveXZk38hBC2FWNE1tj1BQ==}
+ '@utrecht/custom-checkbox-css@1.1.1':
+ resolution: {integrity: sha512-nU6T1eDEFSWBXmJ3eUuAlKy/0gPygXrGZhVmk7HUwyP+H0J6kAZd75t7d/ZlIjwzz5cWPF7uUbGD5637Z7KgHg==}
+
'@utrecht/custom-checkbox-css@1.3.1':
resolution: {integrity: sha512-iChJIVwvWIgc4j3cP+0fcGHnOmN4cIevg4X27TxEADsVyJvTgjYfsudjAt4OlzYD/Vx6nvnY+ElDQhmge0jc/g==}
@@ -2823,6 +2931,12 @@ packages:
react: '18'
react-dom: '18'
+ '@utrecht/form-field-css@1.5.0':
+ resolution: {integrity: sha512-PGqIYHYlqQKuADgIIQF4niS6XO1VeUv6OWrWDrLbFw0JkKtNwU9Y3ALtb5mSmgXAKOUHEtI7scwFqOxYgKztsw==}
+
+ '@utrecht/form-field-description-css@1.5.0':
+ resolution: {integrity: sha512-LGImfd2xFuNPvycIQzwtTg2UIAo9T06MI/KoTbchB56lPzXLmictzfn2rGDzZuaemWTwkxqKUzorLXqdonZ22Q==}
+
'@utrecht/form-field-description-react@1.0.4':
resolution: {integrity: sha512-fpD0Ccq66Q4MpfETtBzBCeaIamrJbOC7SBox5QrnAbVvjqCTwbEjbCQY+PWxC334JEevXguskWPE+UVlWkvnBg==}
peerDependencies:
@@ -2830,6 +2944,9 @@ packages:
react: '18'
react-dom: '18'
+ '@utrecht/form-field-error-message-css@1.5.0':
+ resolution: {integrity: sha512-VYkC40vinjvT764QBDh5kBdPVPfK4V02K99OnX9mGKPZvWaCL9UVH+DC8VPLIMWHKEHTaJLaqYGi2EwLybRcnA==}
+
'@utrecht/form-field-error-message-react@1.0.4':
resolution: {integrity: sha512-7azbLctPHHeEgBuWeqBDyMD9Y3XSSQTPyrUUvx97Mn1DU49tf7tHJzcLnHySTYkVR7Nu6m/Bv+ImRhrTLpt2Rw==}
peerDependencies:
@@ -2875,9 +2992,18 @@ packages:
'@utrecht/heading-css@1.4.0':
resolution: {integrity: sha512-wx+Y3b5mnoXxlIpLYCY4pOuLSuazylWSI7T0sRVUEWouEBRq05r7VtGeaard99oDqjwYalFsycnO5GNhH9nVbg==}
+ '@utrecht/heading-group-css@1.4.0':
+ resolution: {integrity: sha512-x4iiWC3YNSQ8t8muRtP9yBoQM9gigBlESZzvEGmyhsz9hRsbYGG8RhI3jXvI8L3PXWYxGuyTd7J5h2/4k63CKg==}
+
+ '@utrecht/html-content-css@1.3.0':
+ resolution: {integrity: sha512-/IjlfcdOcQBqOGwYMOWTSbH5Dk1I2p3A9kg7HJgOL/oSXZUDFQpJrrF41cHxZ+qUSCDtdjGOeEiXv7Bw9o4s5Q==}
+
'@utrecht/icon@1.3.0':
resolution: {integrity: sha512-UkjRq7sR9Lsj6T9Ap6zi3YEWLbJNxau4RBSblDGM8E4irHW5AjiUERfVp4v6ZwSvgEqyeNIwwep69FJhw2je4A==}
+ '@utrecht/link-css@1.1.0':
+ resolution: {integrity: sha512-L/R5rGvA2RrXJFw/k2l2U7ZgeJuz92pdFDbW1Rtw+7XBK5Z/e+YMpnlDL8fx5VmFk95xO4Jmgv1j6BYiI6vnqA==}
+
'@utrecht/link-css@1.5.0':
resolution: {integrity: sha512-2GgUbhOGWwu7GEoahQAV4QwHgNCkiUgdde6Ko97sjRhX0INhMIhQl++ROyA3jSefUHJYTkVSSWTNDUVF7vkFAg==}
@@ -2898,6 +3024,30 @@ packages:
'@utrecht/logo-css@1.4.0':
resolution: {integrity: sha512-ijnom/1MS3HslSnZHMTwZEWbGn95Zx/cDwV6omTfocUgHj4oOKXbS0LeCo/KlCk3kNFs538bO6rvMSzK9z7cvg==}
+ '@utrecht/nav-bar-css@1.4.0':
+ resolution: {integrity: sha512-q2gC9Ks7+fktmTyDrulcxhyFa9yKLPYIsDZZxR52PPKCp5wFiCKSicwKcIcNwibwn77FM37HXVsMkgy4IzzDTw==}
+
+ '@utrecht/number-badge-css@2.3.0':
+ resolution: {integrity: sha512-VVFXeNPf+j5u+nqXk4eR+PDOul8lZu3Zp+Bxsx6MRyiM74yqQgtXZjbhbk/onlhIkvcyXiPlvCqxuHOFBERpLQ==}
+
+ '@utrecht/ordered-list-css@1.4.0':
+ resolution: {integrity: sha512-rRgqDu1v4o0WEmefsz2PC3aaP3aVMk75mrFaJax4YiMSQe8Co1GpjVrDPykHxgOUvdOPBimFfh1ZKXRyZuKLwg==}
+
+ '@utrecht/page-body-css@0.1.0':
+ resolution: {integrity: sha512-vo4SH5/v73I18uvoBzVqHLODhBADdPhvveqyISz0kB4Nz2E4QCFoLZ0n+oqStYmUieVkHjCOnu3OSR2fYLLX/g==}
+
+ '@utrecht/page-footer-css@2.1.0':
+ resolution: {integrity: sha512-wwYJEDGtwy3a2xxSHCLCiNXfsNc7xzp8d+G23uRKLoN2EHt+tE5TP0Qdm+bXFmltbDEsX+Q7bRnPN4wAkMP/fg==}
+
+ '@utrecht/page-header-css@1.5.0':
+ resolution: {integrity: sha512-QB2l/cWhYZTcs9HVJG+/kf6cOCclNkqRGmVQ3hpc4pG0DC7w/GIzFquuVi0U62hqA0sqJ8TjPW5CqHesxrxLsQ==}
+
+ '@utrecht/page-layout-css@1.1.0':
+ resolution: {integrity: sha512-nGPZHDvbhKn7wsMYSRWKqZIFq3PDmrjqA/b/GbeKHBTUTjDlnVa8qRsOL6uMPNEd/FXNHhV70ezfxFbVcbkyqA==}
+
+ '@utrecht/paragraph-css@1.1.0':
+ resolution: {integrity: sha512-HxkYL/W0tkHngucdBFHOK8t7OmUmlnz4uIXP4GBXdA299Hp+RGb/1vaH5A2RaIN0P7/4v6EkuV4lquOcHx0K0Q==}
+
'@utrecht/paragraph-css@2.2.0':
resolution: {integrity: sha512-jgFsFdz7xcqO14IhYEFx37dh4n1GjCfJM9iQsvo/Yr4zrknQHpGBWQcXMb548W19/4yHMnQnsSnivQGDbPdSug==}
@@ -2911,12 +3061,27 @@ packages:
react: '18'
react-dom: '18'
+ '@utrecht/root-css@1.1.0':
+ resolution: {integrity: sha512-lt31HseX6O0+WnfVOplRFLw7+7FGmSYTgILtL7yt+c4VLLJyOayE4YE+Ak5nyIOoYuCUPyjRbEW8dtAYYzA8Fg==}
+
+ '@utrecht/separator-css@1.4.0':
+ resolution: {integrity: sha512-KyBdIuGFk+JvLiURpn72N/1IMk9zXcTRYoCCI9DbBkzOgSYuR215suhVfM99lDLiinoUoXbQ6EbgGLcZ8wthEA==}
+
+ '@utrecht/table-css@1.1.0':
+ resolution: {integrity: sha512-FUyT13Se/4/VGUZwMBDiBgHocAJ34ikCSSuQtIlZWrpQLdKnnY/dVuP8YJcxMwmqmeou7BfknhFWsiQiC/9njg==}
+
'@utrecht/table-css@1.4.0':
resolution: {integrity: sha512-D2JvmGY9uf2/N/wiq4XbX5/9Gz5iTIsjiJF4huFmP+XRB7zzSwPTWgC/AdQWtIUiYlWQMFvvB6bOMtCIUq9eKA==}
+ '@utrecht/textarea-css@1.1.0':
+ resolution: {integrity: sha512-SL5fUf3ygYA70VC4mT4TSN6WHU95ESECUQyO4w3J942tLxvmfNHpdmMv1iBkyqo+xlM8Q1EP7oDKbkABBK5ceA==}
+
'@utrecht/textarea-css@2.2.0':
resolution: {integrity: sha512-OFqAtwMpkRd+ME8Z9IIQiDd0rgrog88yOTgkQTTjWnKFzxDaq64CvY4SF78vzfco3cxMb4JqBPy4F7VOq55Kqw==}
+ '@utrecht/textbox-css@1.1.0':
+ resolution: {integrity: sha512-APQW299fyoNZQ/hYW8F9uET4JvzhXMbUBWT59h6sc/wwsbDBWku+ufgN4wrsYTqGSPExFKfffzRGuniaqyvBxA==}
+
'@utrecht/textbox-css@1.5.0':
resolution: {integrity: sha512-30VUpY1FsJVveas9vxBLb/dEeTE2bWIdZ6TSGgMmfFF/Nyp1phUIxqN4jZBsAjw1pstbfYrMpLlcSSSDJTdtRQ==}
@@ -2927,6 +3092,9 @@ packages:
react: '18'
react-dom: '18'
+ '@utrecht/unordered-list-css@1.4.0':
+ resolution: {integrity: sha512-G/jogE2aM6CM6T924XnzYWKRGrtRouwuBEgKc2Z0KKmkd+bY2ve8AGhSGqGe+7E7qwxRh1AYHxzXu31MlVd1Fg==}
+
'@vitejs/plugin-react@4.3.4':
resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==}
engines: {node: ^14.18.0 || >=16.0.0}
@@ -10310,14 +10478,24 @@ snapshots:
'@typescript-eslint/types': 8.19.0
eslint-visitor-keys: 4.2.0
+ '@utrecht/alert-css@2.2.0': {}
+
'@utrecht/badge-css@1.4.0': {}
'@utrecht/badge-data-css@1.4.0': {}
+ '@utrecht/badge-list-css@2.2.0': {}
+
+ '@utrecht/body-css@1.1.0': {}
+
'@utrecht/breadcrumb-nav-css@1.4.0': {}
+ '@utrecht/button-css@1.1.0': {}
+
'@utrecht/button-css@2.2.0': {}
+ '@utrecht/button-group-css@1.4.0': {}
+
'@utrecht/button-react@2.0.4(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
@@ -10345,6 +10523,8 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@utrecht/column-layout-css@1.5.0': {}
+
'@utrecht/combobox-react@0.0.5(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
@@ -10380,6 +10560,8 @@ snapshots:
dependencies:
clsx: 2.1.1
+ '@utrecht/custom-checkbox-css@1.1.1': {}
+
'@utrecht/custom-checkbox-css@1.3.1': {}
'@utrecht/fieldset-react@1.0.4(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
@@ -10403,6 +10585,10 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@utrecht/form-field-css@1.5.0': {}
+
+ '@utrecht/form-field-description-css@1.5.0': {}
+
'@utrecht/form-field-description-react@1.0.4(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
@@ -10410,6 +10596,8 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@utrecht/form-field-error-message-css@1.5.0': {}
+
'@utrecht/form-field-error-message-react@1.0.4(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
@@ -10447,8 +10635,14 @@ snapshots:
'@utrecht/heading-css@1.4.0': {}
+ '@utrecht/heading-group-css@1.4.0': {}
+
+ '@utrecht/html-content-css@1.3.0': {}
+
'@utrecht/icon@1.3.0': {}
+ '@utrecht/link-css@1.1.0': {}
+
'@utrecht/link-css@1.5.0': {}
'@utrecht/link-react@1.0.4(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
@@ -10467,6 +10661,22 @@ snapshots:
'@utrecht/logo-css@1.4.0': {}
+ '@utrecht/nav-bar-css@1.4.0': {}
+
+ '@utrecht/number-badge-css@2.3.0': {}
+
+ '@utrecht/ordered-list-css@1.4.0': {}
+
+ '@utrecht/page-body-css@0.1.0': {}
+
+ '@utrecht/page-footer-css@2.1.0': {}
+
+ '@utrecht/page-header-css@1.5.0': {}
+
+ '@utrecht/page-layout-css@1.1.0': {}
+
+ '@utrecht/paragraph-css@1.1.0': {}
+
'@utrecht/paragraph-css@2.2.0': {}
'@utrecht/radio-button-css@1.5.1': {}
@@ -10478,10 +10688,20 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@utrecht/root-css@1.1.0': {}
+
+ '@utrecht/separator-css@1.4.0': {}
+
+ '@utrecht/table-css@1.1.0': {}
+
'@utrecht/table-css@1.4.0': {}
+ '@utrecht/textarea-css@1.1.0': {}
+
'@utrecht/textarea-css@2.2.0': {}
+ '@utrecht/textbox-css@1.1.0': {}
+
'@utrecht/textbox-css@1.5.0': {}
'@utrecht/textbox-react@1.0.4(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
@@ -10491,6 +10711,8 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@utrecht/unordered-list-css@1.4.0': {}
+
'@vitejs/plugin-react@4.3.4(vite@6.0.6(@types/node@22.10.2)(sass@1.83.0)(terser@5.36.0)(yaml@2.6.1))':
dependencies:
'@babel/core': 7.26.0
diff --git a/wicket/components-wicket/package.json b/wicket/components-wicket/package.json
index 4a7f6d9e..37496e7e 100644
--- a/wicket/components-wicket/package.json
+++ b/wicket/components-wicket/package.json
@@ -19,13 +19,42 @@
},
"scripts": {},
"devDependencies": {
- "@nl-design-system-unstable/voorbeeld-design-tokens": "3.3.4",
"@nl-design-system-candidate/paragraph-css": "2.0.0",
+ "@nl-design-system-unstable/voorbeeld-design-tokens": "3.3.4",
+ "@utrecht/alert-css": "2.2.0",
+ "@utrecht/badge-list-css": "2.2.0",
+ "@utrecht/body-css": "1.1.0",
+ "@utrecht/button-css": "1.1.0",
+ "@utrecht/button-group-css": "1.4.0",
+ "@utrecht/column-layout-css": "1.5.0",
+ "@utrecht/custom-checkbox-css": "1.1.1",
+ "@utrecht/form-field-css": "1.5.0",
+ "@utrecht/form-field-description-css": "1.5.0",
+ "@utrecht/form-field-error-message-css": "1.5.0",
"@utrecht/heading-1-css": "1.4.0",
"@utrecht/heading-2-css": "1.4.0",
"@utrecht/heading-3-css": "1.4.0",
"@utrecht/heading-4-css": "1.4.0",
"@utrecht/heading-5-css": "1.4.0",
- "@utrecht/heading-6-css": "1.4.0"
+ "@utrecht/heading-6-css": "1.4.0",
+ "@utrecht/heading-group-css": "1.4.0",
+ "@utrecht/html-content-css": "1.3.0",
+ "@utrecht/icon": "1.3.0",
+ "@utrecht/link-css": "1.1.0",
+ "@utrecht/logo-css": "1.4.0",
+ "@utrecht/nav-bar-css": "1.4.0",
+ "@utrecht/number-badge-css": "2.3.0",
+ "@utrecht/ordered-list-css": "1.4.0",
+ "@utrecht/page-body-css": "0.1.0",
+ "@utrecht/page-footer-css": "2.1.0",
+ "@utrecht/page-header-css": "1.5.0",
+ "@utrecht/page-layout-css": "1.1.0",
+ "@utrecht/paragraph-css": "1.1.0",
+ "@utrecht/root-css": "1.1.0",
+ "@utrecht/separator-css": "1.4.0",
+ "@utrecht/table-css": "1.1.0",
+ "@utrecht/textarea-css": "1.1.0",
+ "@utrecht/textbox-css": "1.1.0",
+ "@utrecht/unordered-list-css": "1.4.0"
}
}
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index cbe8d3d8..9d7c9a0e 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -84,14 +84,9 @@
false
node_modules/
- @utrecht/heading-1-css/dist/*.css
- @utrecht/heading-2-css/dist/*.css
- @utrecht/heading-3-css/dist/*.css
- @utrecht/heading-4-css/dist/*.css
- @utrecht/heading-5-css/dist/*.css
- @utrecht/heading-6-css/dist/*.css
@nl-design-system-unstable/voorbeeld-design-tokens/dist/theme.css
@nl-design-system-candidate/paragraph-css/dist/paragraph.css
+ @utrecht/*-css/dist/*.css
css
diff --git a/wicket/components-wicket/src/main/java/css/HTMLUtil.java b/wicket/components-wicket/src/main/java/css/HTMLUtil.java
new file mode 100644
index 00000000..8a928e1b
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/css/HTMLUtil.java
@@ -0,0 +1,22 @@
+package css;
+
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
+public class HTMLUtil {
+
+ public static String className(String... classes) {
+ return joinTokens(classes);
+ }
+
+ public static String idRefs(String... classes) {
+ return joinTokens(classes);
+ }
+
+ public static String joinTokens(String... classes) {
+ return Arrays.asList(classes)
+ .stream()
+ .filter(className -> className != null && !className.trim().isEmpty())
+ .collect(Collectors.joining(" "));
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java b/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java
index f0a549cc..0e898096 100644
--- a/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java
+++ b/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java
@@ -6,7 +6,6 @@
public class WicketComponentsCssReferences {
-
public static final HeaderItem UTRECHT_HEADING_1_HEADER_ITEM = makeUtrechtHeadingCss(1);
public static final HeaderItem UTRECHT_HEADING_2_HEADER_ITEM = makeUtrechtHeadingCss(2);
public static final HeaderItem UTRECHT_HEADING_3_HEADER_ITEM = makeUtrechtHeadingCss(3);
@@ -19,7 +18,76 @@ public class WicketComponentsCssReferences {
*
* Check the manual for details
*/
- public static final HeaderItem THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM = makeHeaderItemForCss("@nl-design-system-unstable/voorbeeld-design-tokens/dist/theme.css");
+ public static final HeaderItem THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM = makeHeaderItemForCss(
+ "@nl-design-system-unstable/voorbeeld-design-tokens/dist/theme.css"
+ );
+ public static final HeaderItem THEME_CSS_HEADER_ITEM = makeHeaderItemForCss("theme.css");
+ public static final HeaderItem ROOT_HEADER_ITEM = makeHeaderItemForCss("@utrecht/root-css/dist/index.css");
+ public static final HeaderItem BODY_HEADER_ITEM = makeHeaderItemForCss("@utrecht/body-css/dist/index.css");
+ public static final HeaderItem CHECKBOX_HEADER_ITEM = makeHeaderItemForCss("@utrecht/checkbox-css/dist/index.css");
+ public static final HeaderItem CUSTOM_CHECKBOX_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/custom-checkbox-css/dist/index.css"
+ );
+ public static final HeaderItem FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/form-field-error-message-css/dist/index.css"
+ );
+ public static final HeaderItem FORM_FIELD_DESCRIPTION_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/form-description-css/dist/index.css"
+ );
+ public static final HeaderItem FORM_FIELD_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/form-field-css/dist/index.css"
+ );
+ public static final HeaderItem FORM_LABEL_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/form-label-css/dist/index.css"
+ );
+ public static final HeaderItem PAGE_HEADER_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/page-header-css/dist/index.css"
+ );
+ public static final HeaderItem PAGE_BODY_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/page-body-css/dist/index.css"
+ );
+ public static final HeaderItem PAGE_FOOTER_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/page-footer-css/dist/index.css"
+ );
+ public static final HeaderItem PAGE_LAYOUT_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/page-layout-css/dist/index.css"
+ );
+ public static final HeaderItem HTML_CONTENT_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/html-content-css/dist/index.css"
+ );
+ public static final HeaderItem NUMBER_BADGE_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/number-badge-css/dist/index.css"
+ );
+ public static final HeaderItem SEPARATOR_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/separator-css/dist/index.css"
+ );
+ public static final HeaderItem BUTTON_GROUP_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/button-group-css/dist/index.css"
+ );
+ public static final HeaderItem ORDERED_LIST_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/ordered-list-css/dist/index.css"
+ );
+ public static final HeaderItem UNORDERED_LIST_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/unordered-list-css/dist/index.css"
+ );
+ public static final HeaderItem ALERT_HEADER_ITEM = makeHeaderItemForCss("@utrecht/alert-css/dist/index.css");
+
+ public static final HeaderItem BADGE_LIST_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/badge-list-css/dist/index.css"
+ );
+ public static final HeaderItem COLUMN_LAYOUT_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/column-layout-css/dist/index.css"
+ );
+ public static final HeaderItem HEADING_GROUP_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/heading-group-css/dist/index.css"
+ );
+ public static final HeaderItem LOGO_HEADER_ITEM = makeHeaderItemForCss("@utrecht/logo-css/dist/index.css");
+ public static final HeaderItem ICON_HEADER_ITEM = makeHeaderItemForCss("@utrecht/icon/dist/index.css");
+
+ // TODO: support dependencies, and know which dependencies are there
+ private static CssResourceReference makeReference(String file) {
+ return new CssResourceReference(WicketComponentsCssReferences.class, file);
+ }
private static HeaderItem makeUtrechtHeadingCss(int level) {
return makeHeaderItemForCss("@utrecht/heading-" + level + "-css/dist/index.css");
@@ -28,9 +96,4 @@ private static HeaderItem makeUtrechtHeadingCss(int level) {
private static HeaderItem makeHeaderItemForCss(String cssName) {
return CssHeaderItem.forReference(makeReference(cssName));
}
-
- private static CssResourceReference makeReference(String file) {
- return new CssResourceReference(WicketComponentsCssReferences.class, file);
- }
-
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html
new file mode 100644
index 00000000..fd0eb98f
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html
@@ -0,0 +1,7 @@
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java
new file mode 100644
index 00000000..d5f5bb3e
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java
@@ -0,0 +1,19 @@
+package nl.rotterdam.design_system.wicket.components.alert.utrecht;
+
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.IModel;
+
+public class UtrechtAlert extends Panel {
+
+ public static final String SLOT_ID = "slot";
+ private final Label label;
+
+ public UtrechtAlert(String id, IModel textContent) {
+ super(id);
+ label = new Label(SLOT_ID, textContent);
+
+ add(new UtrechtAlertBehavior());
+ add(label);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
new file mode 100644
index 00000000..39223bc3
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
@@ -0,0 +1,42 @@
+package nl.rotterdam.design_system.wicket.components.alert.utrecht;
+
+import static css.WicketComponentsCssReferences.ALERT_HEADER_ITEM;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+
+public class UtrechtAlertBehavior extends Behavior {
+
+ private final String expectedTagName;
+ private final String className;
+ private final HeaderItem cssHeaderItem;
+
+ public UtrechtAlertBehavior() {
+ this.expectedTagName = "div";
+ this.className = "utrecht-alert--warning";
+ this.cssHeaderItem = ALERT_HEADER_ITEM;
+ }
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!expectedTagName.equals(tag.getName())) {
+ tag.setName(expectedTagName);
+ }
+ tag.put("data-x", "omg");
+
+ if (!tag.isClose()) {
+ tag.append("class", className, " ");
+ }
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ response.render(cssHeaderItem);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.html
new file mode 100644
index 00000000..098eadfe
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java
new file mode 100644
index 00000000..6d36a85f
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.badge_list.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtBadgeListBorder extends Border {
+
+ public UtrechtBadgeListBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.html
new file mode 100644
index 00000000..608c94c4
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java
new file mode 100644
index 00000000..a3ecb8df
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.body.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtBodyBorder extends Border {
+
+ public UtrechtBodyBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.html
new file mode 100644
index 00000000..80c5d9c4
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java
new file mode 100644
index 00000000..67cfb753
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.button_group.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtButtonGroupBorder extends Border {
+
+ public UtrechtButtonGroupBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.html
new file mode 100644
index 00000000..d9ae7b55
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java
new file mode 100644
index 00000000..134ccd39
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.column_layout.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtColumnLayoutBorder extends Border {
+
+ public UtrechtColumnLayoutBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.html
new file mode 100644
index 00000000..f0a49a95
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.html
@@ -0,0 +1,11 @@
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
new file mode 100644
index 00000000..915f05cb
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
@@ -0,0 +1,190 @@
+package nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht;
+
+import css.HTMLUtil;
+import java.util.UUID;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.CheckBox;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+
+public class UtrechtFormFieldCheckbox extends Panel {
+
+ private static final long serialVersionUID = 1L;
+
+ private final CheckBox checkbox;
+ private final Label description;
+ private final IModel errorMessageModel;
+ private final Label errorMessage;
+ private final String checkboxId;
+ private final String fieldId;
+ private final String descriptionId;
+ private final String errorMessageId;
+
+ public static final String FORM_FIELD_CLASSNAME = "utrecht-form-field";
+ public static final String FORM_FIELD_CHECKBOX_CLASSNAME = "utrecht-form-field--checkbox";
+ public static final String FORM_FIELD_INVALID_CLASSNAME = "utrecht-form-field--invalid";
+ public static final String FORM_LABEL_CLASSNAME = "utrecht-form-label utrecht-form-label--checkbox";
+ public static final String FORM_LABEL_DISABLED_CLASSNAME = "utrecht-form-label--disabled";
+ public static final String CHECKBOX_CLASSNAME =
+ "utrecht-checkbox utrecht-checkbox--html-input utrecht-checkbox--custom";
+ public static final String CHECKBOX_DISABLED_CLASSNAME = "utrecht-checkbox--disabled";
+ public static final String INVALID_CLASSNAME = "utrecht-checkbox--invalid";
+ public static final String FORM_FIELD_INPUT_CLASSNAME = "utrecht-form-field__input";
+
+ public UtrechtFormFieldCheckbox(String id, IModel model, String labelText) {
+ this(id, model, Model.of(labelText), null, null);
+ }
+
+ public UtrechtFormFieldCheckbox(
+ String id,
+ IModel model,
+ IModel labelModel,
+ IModel descriptionModel,
+ IModel errorModel
+ ) {
+ super(id);
+ errorMessageModel = errorModel;
+
+ // Generate unique IDs `for` and `aria-describedby` ID references
+ fieldId = UUID.randomUUID().toString();
+ checkboxId = UUID.randomUUID().toString();
+ descriptionId = UUID.randomUUID().toString();
+ errorMessageId = UUID.randomUUID().toString();
+
+ // TODO: Implement disabled state
+ Boolean disabled = false;
+
+ // TODO: Implement indeterminate state, when someone needs it.
+
+ // Create the checkbox input
+ checkbox = new CheckBox("checkbox", model) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ checkbox.setMarkupId(checkboxId);
+
+ tag.put(
+ "class",
+ HTMLUtil.className(
+ UtrechtFormFieldCheckbox.CHECKBOX_CLASSNAME,
+ UtrechtFormFieldCheckbox.FORM_FIELD_INPUT_CLASSNAME,
+ disabled ? UtrechtFormFieldCheckbox.CHECKBOX_DISABLED_CLASSNAME : null,
+ isInvalid() ? UtrechtFormFieldCheckbox.INVALID_CLASSNAME : null
+ )
+ );
+
+ String ariaDescribedBy = HTMLUtil.idRefs(
+ descriptionModel != null && descriptionModel.getObject() != null ? descriptionId : null,
+ isInvalid() ? errorMessageId : null
+ );
+
+ // Do not render an empty `aria-describedby` attribute.
+ if (!ariaDescribedBy.isEmpty()) {
+ tag.put("aria-describedby", ariaDescribedBy);
+ }
+
+ if (isRequired()) {
+ tag.put("aria-required", "true");
+ }
+ if (isInvalid()) {
+ tag.put("aria-invalid", "true");
+ }
+ }
+
+ protected void onDisabled(final ComponentTag tag) {
+ tag.put("disabled", "disabled");
+ // TODO: Add `CHECKBOX_DISABLED_CLASSNAME` class name
+ }
+ };
+
+ // Create the label
+ Label label = new Label("label", labelModel) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ tag.put("for", checkboxId);
+ tag.put(
+ "class",
+ HTMLUtil.className(
+ UtrechtFormFieldCheckbox.FORM_LABEL_CLASSNAME,
+ disabled ? UtrechtFormFieldCheckbox.FORM_LABEL_DISABLED_CLASSNAME : null
+ )
+ );
+ }
+ };
+
+ Label labelText = new Label("labelText", labelModel) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ }
+ };
+
+ // Create description and error message
+ description = new Label("description", descriptionModel) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ tag.put("id", descriptionId);
+ }
+
+ @Override
+ public boolean isVisible() {
+ return getDefaultModelObject() != null;
+ }
+ };
+
+ errorMessage = new Label("error", errorModel) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ tag.put("id", errorMessageId);
+ }
+
+ @Override
+ public boolean isVisible() {
+ return getDefaultModelObject() != null;
+ }
+ };
+
+ // Add all components
+ add(checkbox);
+ add(label);
+ add(labelText);
+ add(description);
+ add(errorMessage);
+ }
+
+ protected boolean isInvalid() {
+ return errorMessageModel != null && errorMessageModel.getObject() != null;
+ }
+
+ protected boolean isRequired() {
+ return checkbox.isRequired();
+ }
+
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ tag.put("id", fieldId);
+ tag.put(
+ "class",
+ HTMLUtil.className(
+ UtrechtFormFieldCheckbox.FORM_FIELD_CLASSNAME,
+ UtrechtFormFieldCheckbox.FORM_FIELD_CHECKBOX_CLASSNAME,
+ isInvalid() ? UtrechtFormFieldCheckbox.FORM_FIELD_INVALID_CLASSNAME : null
+ )
+ );
+ }
+
+ public UtrechtFormFieldCheckbox setRequired(boolean required) {
+ checkbox.setRequired(required);
+ return this;
+ }
+
+ public CheckBox getCheckbox() {
+ return checkbox;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.html
new file mode 100644
index 00000000..231def4e
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
new file mode 100644
index 00000000..b82b8ca8
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
@@ -0,0 +1,17 @@
+package nl.rotterdam.design_system.wicket.components.form_label.utrecht;
+
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.IModel;
+
+public class UtrechtFormLabel extends Panel {
+
+ public static final String SLOT_ID = "slot";
+ private final Label label;
+
+ public UtrechtFormLabel(String id, IModel> textContent) {
+ super(id);
+ label = new Label(SLOT_ID, textContent);
+ add(label);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeading.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeading.java
index 050e287c..c385c80f 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeading.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeading.java
@@ -1,11 +1,10 @@
package nl.rotterdam.design_system.wicket.components.heading.utrecht;
+import java.io.Serializable;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
-import java.io.Serializable;
-
public class UtrechtHeading extends Label {
public UtrechtHeading(String id, int level) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java
index 52ddbfbf..cb0927a5 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java
@@ -1,15 +1,14 @@
package nl.rotterdam.design_system.wicket.components.heading.utrecht;
+import static css.WicketComponentsCssReferences.*;
+
+import java.util.Map;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.head.HeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import java.util.Map;
-
-import static css.WicketComponentsCssReferences.*;
-
public class UtrechtHeadingBehavior extends Behavior {
public static Behavior heading(int level) {
@@ -22,14 +21,19 @@ public static Behavior heading(int level) {
return behavior;
}
- private static final Map behaviors
- = Map.of(
- 1, new UtrechtHeadingBehavior(1, UTRECHT_HEADING_1_HEADER_ITEM),
- 2, new UtrechtHeadingBehavior(2, UTRECHT_HEADING_2_HEADER_ITEM),
- 3, new UtrechtHeadingBehavior(3, UTRECHT_HEADING_3_HEADER_ITEM),
- 4, new UtrechtHeadingBehavior(4, UTRECHT_HEADING_4_HEADER_ITEM),
- 5, new UtrechtHeadingBehavior(5, UTRECHT_HEADING_5_HEADER_ITEM),
- 6, new UtrechtHeadingBehavior(6, UTRECHT_HEADING_6_HEADER_ITEM)
+ private static final Map behaviors = Map.of(
+ 1,
+ new UtrechtHeadingBehavior(1, UTRECHT_HEADING_1_HEADER_ITEM),
+ 2,
+ new UtrechtHeadingBehavior(2, UTRECHT_HEADING_2_HEADER_ITEM),
+ 3,
+ new UtrechtHeadingBehavior(3, UTRECHT_HEADING_3_HEADER_ITEM),
+ 4,
+ new UtrechtHeadingBehavior(4, UTRECHT_HEADING_4_HEADER_ITEM),
+ 5,
+ new UtrechtHeadingBehavior(5, UTRECHT_HEADING_5_HEADER_ITEM),
+ 6,
+ new UtrechtHeadingBehavior(6, UTRECHT_HEADING_6_HEADER_ITEM)
);
private final String expectedTagName;
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.html
new file mode 100644
index 00000000..51a2cbd0
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.html
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java
new file mode 100644
index 00000000..fd7c8633
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.heading_group.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtHeadingGroupBorder extends Border {
+
+ public UtrechtHeadingGroupBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.html
new file mode 100644
index 00000000..faa97bb0
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java
new file mode 100644
index 00000000..cbd430cf
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.html_content.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtHtmlContentBorder extends Border {
+
+ public UtrechtHtmlContentBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.html
new file mode 100644
index 00000000..2a0823d0
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.html
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java
new file mode 100644
index 00000000..8c91d954
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.icon.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtIconBorder extends Border {
+
+ public UtrechtIconBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.html
new file mode 100644
index 00000000..d45b3143
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.html
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java
new file mode 100644
index 00000000..637dd364
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.logo.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtLogoBorder extends Border {
+
+ public UtrechtLogoBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo_image/rotterdam/RotterdamLogoImage.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo_image/rotterdam/RotterdamLogoImage.html
new file mode 100644
index 00000000..b33b8d00
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo_image/rotterdam/RotterdamLogoImage.html
@@ -0,0 +1,10 @@
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo_image/rotterdam/RotterdamLogoImage.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo_image/rotterdam/RotterdamLogoImage.java
new file mode 100644
index 00000000..e78c0db2
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo_image/rotterdam/RotterdamLogoImage.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.logo_image.rotterdam;
+
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class RotterdamLogoImage extends Panel {
+
+ public RotterdamLogoImage(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadge.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadge.java
new file mode 100644
index 00000000..64542fa1
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadge.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.number_badge.utrecht;
+
+import java.io.Serializable;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+
+public class UtrechtNumberBadge extends Label {
+
+ public UtrechtNumberBadge(String id) {
+ this(id, Model.of((String) null));
+ }
+
+ public UtrechtNumberBadge(String id, Serializable label) {
+ this(id, Model.of(label));
+ }
+
+ public UtrechtNumberBadge(String id, IModel> model) {
+ super(id, model);
+ add(new UtrechtNumberBadgeBehavior());
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java
new file mode 100644
index 00000000..ab99c503
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java
@@ -0,0 +1,41 @@
+package nl.rotterdam.design_system.wicket.components.number_badge.utrecht;
+
+import static css.WicketComponentsCssReferences.NUMBER_BADGE_HEADER_ITEM;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+
+public class UtrechtNumberBadgeBehavior extends Behavior {
+
+ private final String expectedTagName;
+ private final String className;
+ private final HeaderItem cssHeaderItem;
+
+ public UtrechtNumberBadgeBehavior() {
+ this.expectedTagName = "data";
+ this.className = "utrecht-number-badge";
+ this.cssHeaderItem = NUMBER_BADGE_HEADER_ITEM;
+ }
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!expectedTagName.equals(tag.getName())) {
+ tag.setName(expectedTagName);
+ }
+
+ if (!tag.isClose()) {
+ tag.append("class", className, " ");
+ }
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ response.render(cssHeaderItem);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedList.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedList.html
new file mode 100644
index 00000000..0d825885
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedList.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedList.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedList.java
new file mode 100644
index 00000000..337ada63
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedList.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.ordered_list.utrecht;
+
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtOrderedList extends Panel {
+
+ public UtrechtOrderedList(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java
new file mode 100644
index 00000000..be2f2e0a
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java
@@ -0,0 +1,42 @@
+package nl.rotterdam.design_system.wicket.components.ordered_list.utrecht;
+
+import static css.WicketComponentsCssReferences.ORDERED_LIST_HEADER_ITEM;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+
+public class UtrechtOrderedListBehavior extends Behavior {
+
+ private final String expectedTagName;
+ private final String className;
+ private final HeaderItem cssHeaderItem;
+
+ public UtrechtOrderedListBehavior() {
+ this.expectedTagName = "ol";
+ this.className = "utrecht-ordered-list";
+ this.cssHeaderItem = ORDERED_LIST_HEADER_ITEM;
+ }
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!expectedTagName.equals(tag.getName())) {
+ tag.setName(expectedTagName);
+ }
+
+ if (!tag.isClose()) {
+ tag.put("role", "list");
+ tag.append("class", className, " ");
+ }
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ response.render(cssHeaderItem);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItem.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItem.java
new file mode 100644
index 00000000..2bb26311
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItem.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.ordered_list.utrecht;
+
+import java.io.Serializable;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+
+public class UtrechtOrderedListItem extends Label {
+
+ public UtrechtOrderedListItem(String id) {
+ this(id, Model.of((String) null));
+ }
+
+ public UtrechtOrderedListItem(String id, Serializable label) {
+ this(id, Model.of(label));
+ }
+
+ public UtrechtOrderedListItem(String id, IModel> model) {
+ super(id, model);
+ add(new UtrechtOrderedListBehavior());
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItemBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItemBehavior.java
new file mode 100644
index 00000000..c8effb5a
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItemBehavior.java
@@ -0,0 +1,35 @@
+package nl.rotterdam.design_system.wicket.components.ordered_list.utrecht;
+
+import static css.WicketComponentsCssReferences.ORDERED_LIST_HEADER_ITEM;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+
+public class UtrechtOrderedListItemBehavior extends Behavior {
+
+ private final String expectedTagName;
+ private final String className;
+ private final HeaderItem cssHeaderItem;
+
+ public UtrechtOrderedListItemBehavior() {
+ this.expectedTagName = "li";
+ this.className = "utrecht-ordered-list__item utrecht-ordered-list__item";
+ this.cssHeaderItem = ORDERED_LIST_HEADER_ITEM;
+ }
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!expectedTagName.equals(tag.getName())) {
+ tag.setName(expectedTagName);
+ }
+
+ if (!tag.isClose()) {
+ tag.append("class", className, " ");
+ }
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.html
new file mode 100644
index 00000000..44f4d568
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.java
new file mode 100644
index 00000000..e953c139
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.page_body.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtPageBodyBorder extends Border {
+
+ public UtrechtPageBodyBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.html
new file mode 100644
index 00000000..4f3cfd89
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java
new file mode 100644
index 00000000..b540b50c
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.page_footer.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtPageFooterBorder extends Border {
+
+ public UtrechtPageFooterBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.html
new file mode 100644
index 00000000..9986d4ec
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java
new file mode 100644
index 00000000..9e792267
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.page_header.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtPageHeaderBorder extends Border {
+
+ public UtrechtPageHeaderBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.html
new file mode 100644
index 00000000..334622e0
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java
new file mode 100644
index 00000000..a9fd7cbd
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java
@@ -0,0 +1,12 @@
+package nl.rotterdam.design_system.wicket.components.page_layout.utrecht;
+
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtPageLayout extends Panel {
+
+ public static final String SLOT_ID = "pageLayoutSlot";
+
+ public UtrechtPageLayout(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java-disabled b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java-disabled
new file mode 100644
index 00000000..c0bacb96
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java-disabled
@@ -0,0 +1,36 @@
+package nl.rotterdam.design_system.wicket.components.page_layout.utrecht;
+
+import static css.WicketComponentsCssReferences.UTRECHT_PAGE_LAYOUT_HEADER_ITEM;
+
+import java.util.Map;
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+
+public class UtrechtPageLayoutBehavior extends Behavior {
+
+ private final String className;
+ private final HeaderItem cssHeaderItem = UTRECHT_PAGE_LAYOUT_HEADER_ITEM;
+
+ private UtrechtPageLayoutBehavior(HeaderItem cssHeaderItem) {
+ this.className = "utrecht-page-layout";
+ this.cssHeaderItem = cssHeaderItem;
+ }
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!tag.isClose()) {
+ tag.append("class", className, " ");
+ }
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ response.render(cssHeaderItem);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.html
new file mode 100644
index 00000000..bcc553b6
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.html
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java
new file mode 100644
index 00000000..920881d6
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.page_layout.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtPageLayoutBorder extends Border {
+
+ public UtrechtPageLayoutBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.html
new file mode 100644
index 00000000..6188378e
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.html
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java
new file mode 100644
index 00000000..fcb13b7f
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.root.utrecht;
+
+import org.apache.wicket.markup.html.border.Border;
+
+public class UtrechtRootBorder extends Border {
+
+ public UtrechtRootBorder(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.html
new file mode 100644
index 00000000..7932ab4b
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java
new file mode 100644
index 00000000..41d16578
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.separator.utrecht;
+
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtSeparator extends Panel {
+
+ public UtrechtSeparator(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.html
new file mode 100644
index 00000000..b4dd6a13
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java
new file mode 100644
index 00000000..c6198d04
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java
@@ -0,0 +1,10 @@
+package nl.rotterdam.design_system.wicket.components.unordered_list.utrecht;
+
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtUnorderedList extends Panel {
+
+ public UtrechtUnorderedList(String id) {
+ super(id);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java
new file mode 100644
index 00000000..49ec537c
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java
@@ -0,0 +1,42 @@
+package nl.rotterdam.design_system.wicket.components.unordered_list.utrecht;
+
+import static css.WicketComponentsCssReferences.UNORDERED_LIST_HEADER_ITEM;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+
+public class UtrechtUnorderedListBehavior extends Behavior {
+
+ private final String expectedTagName;
+ private final String className;
+ private final HeaderItem cssHeaderItem;
+
+ public UtrechtUnorderedListBehavior() {
+ this.expectedTagName = "ul";
+ this.className = "utrecht-unordered-list";
+ this.cssHeaderItem = UNORDERED_LIST_HEADER_ITEM;
+ }
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!expectedTagName.equals(tag.getName())) {
+ tag.setName(expectedTagName);
+ }
+
+ if (!tag.isClose()) {
+ tag.put("role", "list");
+ tag.append("class", className, " ");
+ }
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ response.render(cssHeaderItem);
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.html
index 22d05551..aae5f842 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.html
@@ -1,11 +1,11 @@
-
-
+
+
-
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
index b7e47aba..2cbe36c0 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
@@ -1,24 +1,46 @@
package nl.rotterdam.wicket.docs;
+import static css.DesignTokensWicketCssReference.THEME_ROTTERDAM_RODS_CSS_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.ALERT_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.BADGE_LIST_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.BODY_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.BUTTON_GROUP_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.CHECKBOX_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.COLUMN_LAYOUT_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.CUSTOM_CHECKBOX_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.FORM_FIELD_DESCRIPTION_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.FORM_FIELD_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.FORM_LABEL_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.HEADING_GROUP_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.HTML_CONTENT_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.ICON_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.LOGO_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.NUMBER_BADGE_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.ORDERED_LIST_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.PAGE_BODY_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.PAGE_FOOTER_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.PAGE_HEADER_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.PAGE_LAYOUT_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.ROOT_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.SEPARATOR_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.UNORDERED_LIST_HEADER_ITEM;
+
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.request.resource.CssResourceReference;
-import static css.DesignTokensWicketCssReference.THEME_ROTTERDAM_RODS_CSS_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM;
-
public abstract class BasePage extends WebPage {
public static final String TITLE_ID = "title";
- public static final CssReferenceHeaderItem DOCS_CSS_HEADER_ITEM =
- CssHeaderItem.forReference(
- new CssResourceReference(BasePage.class, "docs.css")
- );
+ public static final CssReferenceHeaderItem DOCS_CSS_HEADER_ITEM = CssHeaderItem.forReference(
+ new CssResourceReference(BasePage.class, "docs.css")
+ );
- public BasePage() {
- }
+ public BasePage() {}
@Override
public void renderHead(IHeaderResponse response) {
@@ -27,5 +49,29 @@ public void renderHead(IHeaderResponse response) {
response.render(THEME_ROTTERDAM_RODS_CSS_HEADER_ITEM);
response.render(THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM);
response.render(DOCS_CSS_HEADER_ITEM);
+ response.render(ROOT_HEADER_ITEM);
+ response.render(BODY_HEADER_ITEM);
+ response.render(PAGE_BODY_HEADER_ITEM);
+ response.render(PAGE_HEADER_HEADER_ITEM);
+ response.render(PAGE_FOOTER_HEADER_ITEM);
+ response.render(PAGE_LAYOUT_HEADER_ITEM);
+ response.render(HTML_CONTENT_HEADER_ITEM);
+ response.render(FORM_LABEL_HEADER_ITEM);
+ response.render(NUMBER_BADGE_HEADER_ITEM);
+ response.render(BUTTON_GROUP_HEADER_ITEM);
+ response.render(ALERT_HEADER_ITEM);
+ response.render(BADGE_LIST_HEADER_ITEM);
+ response.render(SEPARATOR_HEADER_ITEM);
+ response.render(ORDERED_LIST_HEADER_ITEM);
+ response.render(UNORDERED_LIST_HEADER_ITEM);
+ response.render(ICON_HEADER_ITEM);
+ response.render(COLUMN_LAYOUT_HEADER_ITEM);
+ response.render(HEADING_GROUP_HEADER_ITEM);
+ response.render(LOGO_HEADER_ITEM);
+ response.render(FORM_FIELD_HEADER_ITEM);
+ response.render(FORM_FIELD_DESCRIPTION_HEADER_ITEM);
+ response.render(FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM);
+ response.render(CHECKBOX_HEADER_ITEM);
+ response.render(CUSTOM_CHECKBOX_HEADER_ITEM);
}
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index ca67b72f..f219c16a 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -1,28 +1,96 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ Selecteer thema
+
+ Voorbeeld gemeente
+
+
+
-
- Selecteer thema
-
- Voorbeeld gemeente
-
-
-
+
Components
+
Code Block
+
-
Components
-
Code Block
-
+
+
+
-
-
-
+
+
42
+
+
Link to trigger Wicket stateful page refresh
+
+
Hello world
+
+ Submit
+
+
+
+
+
+
+
Buttons go here
+
+
+
+
+
+
+
+
+
+
+ Nam quod exercitationem vero et. Sapiente alias occaecati voluptas est. Ullam sed quis hic est nisi. Et
+ saepe expedita est sunt sed vitae exercitationem et.
+
+ Eos provident at quaerat sed. Et adipisci corporis iste. Praesentium ut aut sit dolores distinctio.
+
+ Alias officiis et sint. Autem fuga praesentium omnis velit sit id sunt suscipit. Nihil vel minus cumque.
+ At mollitia inventore ut quia enim. Ut cupiditate explicabo porro ab vel vel. Velit nostrum doloribus
+ et.
+
+
+ Natus eos veniam voluptas. Ea modi est dolores doloribus delectus amet nemo. Ea vel nihil et eos et
+ perspiciatis iure commodi. Vel dolores exercitationem facilis quisquam. Voluptas modi quo consequatur
+ quos.
+
+
+ Aut consequuntur sed qui. Ea id molestiae similique sequi facere deserunt sunt fugiat. Molestiae beatae
+ consectetur perferendis. Qui earum velit sed vel non officiis odit. Deleniti nesciunt nemo ut delectus
+ nemo at sunt. Maiores numquam natus aut adipisci ipsum fuga aliquam consequatur.
+
+
+
+ Heading in a heading group
+ Sub-heading
+
-
-
Link to trigger Wicket stateful page refresh
-
-
-
+
+
+
+
+ Page footer
+
+
+
+ >>>>>>> 7de5dcc (feat: add many new Wicket components)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index 58cbcf1a..13b72e91 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -1,8 +1,28 @@
package nl.rotterdam.wicket.docs;
import css.DesignSystemTheme;
+import java.util.Arrays;
+import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
+import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
+import nl.rotterdam.design_system.wicket.components.column_layout.utrecht.UtrechtColumnLayoutBorder;
+import nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht.UtrechtFormFieldCheckbox;
+import nl.rotterdam.design_system.wicket.components.heading_group.utrecht.UtrechtHeadingGroupBorder;
+import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
+import nl.rotterdam.design_system.wicket.components.icon.utrecht.UtrechtIconBorder;
+import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
+import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
+import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
+import nl.rotterdam.design_system.wicket.components.ordered_list.utrecht.UtrechtOrderedList;
+import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
+import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
+import nl.rotterdam.design_system.wicket.components.page_header.utrecht.UtrechtPageHeaderBorder;
+import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
+import nl.rotterdam.design_system.wicket.components.separator.utrecht.UtrechtSeparator;
+import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedList;
+import nl.rotterdam.wicket.docs.form_label.FormLabelExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
+import nl.rotterdam.wicket.docs.page_layout.PageLayoutExamplesPanel;
import org.apache.wicket.Component;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
@@ -16,43 +36,148 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Arrays;
-
public class ComponentsPage extends BasePage {
private static final Logger LOGGER = LoggerFactory.getLogger(ComponentsPage.class);
- private static final JavaScriptReferenceHeaderItem COMPONENTS_JS_HEADER_ITEM = JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(ComponentsPage.class, "ComponentsPage.js"));
+ private static final JavaScriptReferenceHeaderItem COMPONENTS_JS_HEADER_ITEM = JavaScriptHeaderItem.forReference(
+ new JavaScriptResourceReference(ComponentsPage.class, "ComponentsPage.js")
+ );
private static Link createRefreshPgaeLink() {
return new Link<>("refreshStatefulPageLink") {
@Override
public void onClick() {
- LOGGER.info("Link was clicked. Page url now has state. Gives ability to inspect HTML in different state.");
+ LOGGER.info(
+ "Link was clicked. Page url now has state. Gives ability to inspect HTML in different state."
+ );
}
};
}
private static Component createActiveThemeChoice() {
- return new DropDownChoice<>("activeTheme",
+ return new DropDownChoice<>(
+ "activeTheme",
Model.of(DesignSystemTheme.RODS),
Arrays.stream(DesignSystemTheme.values()).toList(),
new LambdaChoiceRenderer<>(DesignSystemTheme::getDisplayName, DesignSystemTheme::getThemeClassName)
- )
- .setOutputMarkupId(true);
+ ).setOutputMarkupId(true);
}
+ private UtrechtPageLayoutBorder pageLayout;
+ private UtrechtPageHeaderBorder pageHeader;
+ private UtrechtPageBodyBorder pageBody;
+ private UtrechtPageFooterBorder pageFooter;
+ private UtrechtOrderedList orderedList;
+ private UtrechtUnorderedList unorderedList;
+ private UtrechtLogoBorder logo;
+
@Override
protected void onInitialize() {
super.onInitialize();
+ pageLayout = new UtrechtPageLayoutBorder("utrechtPageLayout");
+ add(pageLayout);
+
+ pageHeader = new UtrechtPageHeaderBorder("utrechtPageHeader");
+ pageLayout.add(pageHeader);
+
+ logo = new UtrechtLogoBorder("utrechtLogo");
+ pageHeader.add(logo);
+
+ logo.add(new RotterdamLogoImage("rotterdamLogoImage"));
+
+ pageBody = new UtrechtPageBodyBorder("utrechtPageBody");
+ pageLayout.add(pageBody);
+
+ pageFooter = new UtrechtPageFooterBorder("utrechtPageFooter");
+ pageLayout.add(pageFooter);
+
+ pageBody.add(new UtrechtCodeBlock("code-block-example", Model.of("Reload Page")));
+
+ pageBody.add(new HeadingExamplesPanel("headingComponents"));
+ // add(new HeadingPanel("labelComponents"));
+ pageBody.add(new FormLabelExamplesPanel("labelComponents"));
+ pageBody.add(new UtrechtHtmlContentBorder("utrechtHtmlContent"));
+ pageBody.add(new UtrechtNumberBadge("utrechtNumberBadge", Model.of("42")));
+ pageBody.add(
+ new UtrechtAlert(
+ "utrechtAlertInfo",
+ Model.of(
+ "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
+ )
+ )
+ );
+ pageBody.add(
+ new UtrechtAlert(
+ "utrechtAlertWarning",
+ Model.of(
+ "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
+ )
+ )
+ );
+ pageBody.add(
+ new UtrechtAlert(
+ "utrechtAlertAlert",
+ Model.of(
+ "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
+ )
+ )
+ );
+ pageBody.add(
+ new UtrechtAlert(
+ "utrechtAlertOk",
+ Model.of(
+ "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
+ )
+ )
+ );
+ pageBody.add(new UtrechtSeparator("utrechtSeparator"));
+ pageBody.add(new UtrechtButtonGroupBorder("utrechtButtonGroup"));
+ orderedList = new UtrechtOrderedList("utrechtOrderedList");
+ pageBody.add(orderedList);
+
+ unorderedList = new UtrechtUnorderedList("utrechtUnorderedList");
+ pageBody.add(unorderedList);
+
+ pageBody.add(new UtrechtIconBorder("utrechtIcon"));
+ pageBody.add(new UtrechtColumnLayoutBorder("utrechtColumnLayout"));
+ pageBody.add(new UtrechtHeadingGroupBorder("utrechtHeadingGroup"));
+ pageBody.add(
+ new UtrechtFormFieldCheckbox(
+ "utrechtFormFieldCheckbox",
+ Model.of(false),
+ Model.of("I agree"),
+ Model.of("Description"),
+ Model.of("error")
+ )
+ );
+ // pageBody.add(
+ // new WebMarkupContainer("utrechtOrderedList2") {
+ // @Override
+ // protected void onInitialize() {
+ // super.onInitialize();
+ // add(new UtrechtOrderedListBehavior());
+ // }
+ // }
+ // );
+
+ // RepeatingView listItems = new RepeatingView("utrechtOrderedListItem");
+ // listItems.add(new Label(listItems.newChildId(), "green"));
+ // listItems.add(new Label(listItems.newChildId(), "blue"));
+ // listItems.add(new Label(listItems.newChildId(), "red"));
+
+ // pageLayout.add(new PageLayoutExamplesPanel("pageLayoutExamples"));
+
add(
// TODO set title using model in BasePage
- new Label(TITLE_ID, "ComponentsPage · Apache Wicket · Rotterdam Design System"),
-
- createActiveThemeChoice(),
- new UtrechtCodeBlock("code-block-example", Model.of("Reload Page")),
- new HeadingExamplesPanel("headingComponents"),
- createRefreshPgaeLink()
+ new Label(TITLE_ID, "ComponentsPage · Apache Wicket · Rotterdam Design System")
);
+
+ pageBody.add(createActiveThemeChoice());
+ pageBody.add(createRefreshPgaeLink());
+ // pageBody.add(
+ // new UtrechtCodeBlock("code-block-example", Model.of("Reload Page")),
+ // new HeadingExamplesPanel("headingComponents")
+ // );
}
@Override
@@ -60,4 +185,8 @@ public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(COMPONENTS_JS_HEADER_ITEM);
}
+
+ // private final UtrechtOrderedListItem orderedListItem;
+
+ public ComponentsPage() {}
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.html
new file mode 100644
index 00000000..546a68a6
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+ Form Field Label component
+ Toont een tekstlabel dat informeert over de in te vullen informatie.
+
+
+
+
+
+ Plaats het label voor het invoerveld, behalve voor checkbox options en radio options.
+ Plaats de checkbox of radio button in de form label.
+ Koppel de label met de form control met "for" en "id".
+
+
+
+ Voornaam
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.java
new file mode 100644
index 00000000..d980a5eb
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.java
@@ -0,0 +1,26 @@
+package nl.rotterdam.wicket.docs.form_label;
+
+import nl.rotterdam.design_system.wicket.components.form_label.utrecht.UtrechtFormLabel;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class FormLabelExamplesPanel extends Panel {
+
+ public FormLabelExamplesPanel(String id) {
+ super(id);
+ }
+
+ // private static Component example1() {
+ // return new UtrechtFormLabel("utrechtLabel1").setDefaultModel(Model.of("Voornaam"));
+ // return new UtrechtFormLabel("utrechtLabel1", Model.of("Voornaam"));
+ // }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ // add(example1());
+ add(new UtrechtFormLabel("utrechtLabel1", Model.of("Voornaam")));
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooter b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooter
new file mode 100644
index 00000000..e69de29b
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooterExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooterExamplesPanel.html
new file mode 100644
index 00000000..e69de29b
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/PageLayoutExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/PageLayoutExamplesPanel.java
new file mode 100644
index 00000000..56606014
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/PageLayoutExamplesPanel.java
@@ -0,0 +1,18 @@
+package nl.rotterdam.wicket.docs.page_layout;
+
+import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayout;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class PageLayoutExamplesPanel extends Panel {
+
+ public PageLayoutExamplesPanel(String id) {
+ super(id);
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new UtrechtPageLayout("utrechtPageLayout1"));
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java
index 135ee65d..1f4269c1 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java
@@ -1,15 +1,14 @@
package nl.rotterdam.wicket.nl_design.docs;
+import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
+
+import java.time.Duration;
import org.eclipse.jetty.ee10.webapp.WebAppContext;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
-import java.time.Duration;
-
-import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
-
public class Start {
public static final int PORT = 8945;
@@ -21,10 +20,7 @@ public static void main(final String[] args) {
final HttpConfiguration http_config = new HttpConfiguration();
- final ServerConnector connector = new ServerConnector(
- server,
- new HttpConnectionFactory(http_config)
- );
+ final ServerConnector connector = new ServerConnector(server, new HttpConnectionFactory(http_config));
connector.setPort(PORT);
connector.setIdleTimeout(timeout);
@@ -38,9 +34,7 @@ public static void main(final String[] args) {
try {
System.out.println(
- ">>> STARTING EMBEDDED JETTY SERVER on http://localhost:" +
- PORT +
- " PRESS ANY KEY TO STOP"
+ ">>> STARTING EMBEDDED JETTY SERVER on http://localhost:" + PORT + " PRESS ANY KEY TO STOP"
);
server.start();
System.in.read();
From ce2e725d0bc08b5d21d183829c5b1bc741464464 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 29 Nov 2024 12:41:23 +0100
Subject: [PATCH 02/75] refactor: convert Wicket Separator from Panel to
WebComponent
---
.../separator/utrecht/UtrechtSeparator.java | 21 +++++++++++++++++--
.../rotterdam/wicket/docs/ComponentsPage.html | 2 +-
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java
index 41d16578..424cd496 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java
@@ -1,10 +1,27 @@
package nl.rotterdam.design_system.wicket.components.separator.utrecht;
-import org.apache.wicket.markup.html.panel.Panel;
+import static css.WicketComponentsCssReferences.SEPARATOR_HEADER_ITEM;
-public class UtrechtSeparator extends Panel {
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.html.WebComponent;
+
+public class UtrechtSeparator extends WebComponent {
public UtrechtSeparator(String id) {
super(id);
}
+
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ tag.setName("hr");
+ tag.put("class", "utrecht-separator");
+ }
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(SEPARATOR_HEADER_ITEM);
+ }
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index f219c16a..4f4a7c92 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -43,7 +43,7 @@ Hello world
Buttons go here
-
+
Date: Fri, 29 Nov 2024 12:41:47 +0100
Subject: [PATCH 03/75] feat: add 4 types to Wicket Alert component
---
.../alert/utrecht/UtrechtAlert.html | 2 +-
.../alert/utrecht/UtrechtAlert.java | 20 +++++++---
.../alert/utrecht/UtrechtAlertBehavior.java | 37 +++++++++++++++++--
.../alert/utrecht/UtrechtAlertType.java | 14 +++++++
.../rotterdam/wicket/docs/ComponentsPage.java | 13 +++++--
5 files changed, 72 insertions(+), 14 deletions(-)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertType.java
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html
index fd0eb98f..b22569a6 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html
@@ -1,5 +1,5 @@
-
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java
index d5f5bb3e..4888c9e1 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java
@@ -1,5 +1,7 @@
package nl.rotterdam.design_system.wicket.components.alert.utrecht;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
@@ -7,13 +9,21 @@
public class UtrechtAlert extends Panel {
public static final String SLOT_ID = "slot";
- private final Label label;
- public UtrechtAlert(String id, IModel
textContent) {
+ public UtrechtAlert(String id, IModel textContent, UtrechtAlertType type) {
super(id);
- label = new Label(SLOT_ID, textContent);
+ WebMarkupContainer container = new WebMarkupContainer("alert") {
+ @Override
+ public void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
- add(new UtrechtAlertBehavior());
- add(label);
+ if (!tag.isClose()) {
+ tag.append("class", "utrecht-alert--" + type.type, " ");
+ }
+ }
+ };
+ add(container);
+ container.add(UtrechtAlertBehavior.utrechtAlert(type));
+ container.add(new Label(SLOT_ID, textContent));
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
index 39223bc3..8d1fd098 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
@@ -2,6 +2,8 @@
import static css.WicketComponentsCssReferences.ALERT_HEADER_ITEM;
+import css.HTMLUtil;
+import java.util.Map;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
@@ -10,14 +12,42 @@
public class UtrechtAlertBehavior extends Behavior {
+ public static Behavior utrechtAlert(UtrechtAlertType type) {
+ Behavior behavior = types.get(type);
+
+ if (behavior == null) {
+ throw new IllegalArgumentException("No alert type: " + type);
+ }
+
+ return behavior;
+ }
+
+ public static final UtrechtAlertBehavior UTRECHT_ALERT_WARNING = new UtrechtAlertBehavior(UtrechtAlertType.WARNING);
+ public static final UtrechtAlertBehavior UTRECHT_ALERT_OK = new UtrechtAlertBehavior(UtrechtAlertType.OK);
+ public static final UtrechtAlertBehavior UTRECHT_ALERT_ERROR = new UtrechtAlertBehavior(UtrechtAlertType.ERROR);
+ public static final UtrechtAlertBehavior UTRECHT_ALERT_INFO = new UtrechtAlertBehavior(UtrechtAlertType.INFO);
+
+ private static final Map types = Map.of(
+ UtrechtAlertType.WARNING,
+ UTRECHT_ALERT_WARNING,
+ UtrechtAlertType.INFO,
+ UTRECHT_ALERT_INFO,
+ UtrechtAlertType.ERROR,
+ UTRECHT_ALERT_ERROR,
+ UtrechtAlertType.OK,
+ UTRECHT_ALERT_OK
+ );
+
private final String expectedTagName;
private final String className;
private final HeaderItem cssHeaderItem;
+ private final UtrechtAlertType type;
- public UtrechtAlertBehavior() {
+ private UtrechtAlertBehavior(UtrechtAlertType type) {
this.expectedTagName = "div";
- this.className = "utrecht-alert--warning";
+ this.className = "utrecht-alert";
this.cssHeaderItem = ALERT_HEADER_ITEM;
+ this.type = type;
}
@Override
@@ -27,10 +57,9 @@ public void onComponentTag(Component component, ComponentTag tag) {
if (!expectedTagName.equals(tag.getName())) {
tag.setName(expectedTagName);
}
- tag.put("data-x", "omg");
if (!tag.isClose()) {
- tag.append("class", className, " ");
+ tag.put("class", HTMLUtil.className(this.className, "utrecht-alert--" + type.type));
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertType.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertType.java
new file mode 100644
index 00000000..82be70fb
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertType.java
@@ -0,0 +1,14 @@
+package nl.rotterdam.design_system.wicket.components.alert.utrecht;
+
+public enum UtrechtAlertType {
+ OK("ok"),
+ WARNING("warning"),
+ ERROR("error"),
+ INFO("info");
+
+ final String type;
+
+ UtrechtAlertType(String type) {
+ this.type = type;
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index 13b72e91..b119af0f 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -3,6 +3,7 @@
import css.DesignSystemTheme;
import java.util.Arrays;
import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
+import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlertType;
import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
import nl.rotterdam.design_system.wicket.components.column_layout.utrecht.UtrechtColumnLayoutBorder;
@@ -103,7 +104,8 @@ protected void onInitialize() {
"utrechtAlertInfo",
Model.of(
"Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
- )
+ ),
+ UtrechtAlertType.INFO
)
);
pageBody.add(
@@ -111,7 +113,8 @@ protected void onInitialize() {
"utrechtAlertWarning",
Model.of(
"Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
- )
+ ),
+ UtrechtAlertType.WARNING
)
);
pageBody.add(
@@ -119,7 +122,8 @@ protected void onInitialize() {
"utrechtAlertAlert",
Model.of(
"Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
- )
+ ),
+ UtrechtAlertType.ERROR
)
);
pageBody.add(
@@ -127,7 +131,8 @@ protected void onInitialize() {
"utrechtAlertOk",
Model.of(
"Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
- )
+ ),
+ UtrechtAlertType.OK
)
);
pageBody.add(new UtrechtSeparator("utrechtSeparator"));
From 13957ec35e719bef9a0897cbd955bd035f907f42 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 29 Nov 2024 12:43:04 +0100
Subject: [PATCH 04/75] chore: show errors in development server web page
---
.../main/java/nl/rotterdam/wicket/docs/DocsApplication.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java
index 1e13a7c2..dba23686 100755
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java
@@ -16,10 +16,7 @@ public void init() {
getMarkupSettings().setStripWicketTags(true);
// Configure our own fance error page
- getExceptionSettings()
- .setUnexpectedExceptionDisplay(
- ExceptionSettings.SHOW_INTERNAL_ERROR_PAGE
- );
+ getExceptionSettings().setUnexpectedExceptionDisplay(ExceptionSettings.SHOW_EXCEPTION_PAGE);
/*
* `CSPDirective` does not appear to support every option we want.
From e87a8b45c0ce01d2d33b58c48110ffaee4ffba9c Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 29 Nov 2024 12:43:21 +0100
Subject: [PATCH 05/75] fix: correct CSP config for `blob:` URLs
---
.../main/java/nl/rotterdam/wicket/docs/DocsApplication.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java
index dba23686..de59cab7 100755
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java
@@ -35,10 +35,10 @@ public void init() {
.add(CSPDirective.BASE_URI, CSPDirectiveSrcValue.SELF)
.add(CSPDirective.FRAME_ANCESTORS, CSPDirectiveSrcValue.NONE)
.add(CSPDirective.CONNECT_SRC, CSPDirectiveSrcValue.SELF)
-// .add(CSPDirective.CONNECT_SRC, "'blob'")
+ .add(CSPDirective.CONNECT_SRC, "blob:")
.add(CSPDirective.CONNECT_SRC, "data:")
.add(CSPDirective.IMG_SRC, CSPDirectiveSrcValue.SELF)
-// .add(CSPDirective.IMG_SRC, "'blob'")
+ .add(CSPDirective.IMG_SRC, "blob:")
.add(CSPDirective.IMG_SRC, "data:")
.add(CSPDirective.FONT_SRC, CSPDirectiveSrcValue.SELF)
.add(CSPDirective.STYLE_SRC, CSPDirectiveSrcValue.UNSAFE_INLINE)
From fd9e62e6629674c3ec7e4b6f5bdd02d9fe0b8ea9 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 29 Nov 2024 13:32:36 +0100
Subject: [PATCH 06/75] refactor: inject CSS via resource reference
---
pnpm-lock.yaml | 8 +++++++
wicket/components-wicket/package.json | 1 +
.../css/WicketComponentsCssReferences.java | 6 +++++
.../utrecht/UtrechtBadgeListBorder.java | 9 ++++++++
.../body/utrecht/UtrechtBodyBorder.java | 9 ++++++++
.../utrecht/UtrechtButtonGroupBorder.java | 9 ++++++++
.../code_block/utrecht/UtrechtCodeBlock.java | 9 ++++++++
.../utrecht/UtrechtColumnLayoutBorder.java | 9 ++++++++
.../utrecht/UtrechtFormFieldCheckbox.java | 19 ++++++++++++++++
.../form_label/utrecht/UtrechtFormLabel.java | 9 ++++++++
.../utrecht/UtrechtHeadingGroupBorder.java | 9 ++++++++
.../utrecht/UtrechtHtmlContentBorder.java | 9 ++++++++
.../icon/utrecht/UtrechtIconBorder.java | 9 ++++++++
.../logo/utrecht/UtrechtLogoBorder.java | 9 ++++++++
.../utrecht/UtrechtPageFooterBorder.java | 9 ++++++++
.../utrecht/UtrechtPageHeaderBorder.java | 9 ++++++++
.../utrecht/UtrechtPageLayout.java | 9 ++++++++
.../utrecht/UtrechtPageLayoutBorder.java | 9 ++++++++
.../utrecht/UtrechtPreserveDataLabel.java | 9 ++++++++
.../root/utrecht/UtrechtRootBorder.java | 9 ++++++++
.../utrecht/UtrechtUnorderedList.java | 9 ++++++++
.../nl/rotterdam/wicket/docs/BasePage.java | 22 -------------------
22 files changed, 187 insertions(+), 22 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b2f37158..3990058c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -677,6 +677,9 @@ importers:
'@utrecht/paragraph-css':
specifier: 1.1.0
version: 1.1.0
+ '@utrecht/preserve-data-css':
+ specifier: 1.3.0
+ version: 1.3.0
'@utrecht/root-css':
specifier: 1.1.0
version: 1.1.0
@@ -3051,6 +3054,9 @@ packages:
'@utrecht/paragraph-css@2.2.0':
resolution: {integrity: sha512-jgFsFdz7xcqO14IhYEFx37dh4n1GjCfJM9iQsvo/Yr4zrknQHpGBWQcXMb548W19/4yHMnQnsSnivQGDbPdSug==}
+ '@utrecht/preserve-data-css@1.3.0':
+ resolution: {integrity: sha512-Kg0NLsia0xbT+VxJx2BeEayKNUOq/n6WQOlrEVkt4d2ytdgXlrUIhq4w92pMjyUhykeHHCJWPSPVZUviEyF2Og==}
+
'@utrecht/radio-button-css@1.5.1':
resolution: {integrity: sha512-pfY44q+TYZ3zVqFjhDfshkdfrBRWd8YcDOnVH10Oyw0xlZFVcJ1rciZZ0bGRwtncdFTbuOh1Ra3LRwUkOaQwkw==}
@@ -10679,6 +10685,8 @@ snapshots:
'@utrecht/paragraph-css@2.2.0': {}
+ '@utrecht/preserve-data-css@1.3.0': {}
+
'@utrecht/radio-button-css@1.5.1': {}
'@utrecht/radio-button-react@1.0.4(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
diff --git a/wicket/components-wicket/package.json b/wicket/components-wicket/package.json
index 37496e7e..9dd0ba60 100644
--- a/wicket/components-wicket/package.json
+++ b/wicket/components-wicket/package.json
@@ -50,6 +50,7 @@
"@utrecht/page-header-css": "1.5.0",
"@utrecht/page-layout-css": "1.1.0",
"@utrecht/paragraph-css": "1.1.0",
+ "@utrecht/preserve-data-css": "1.3.0",
"@utrecht/root-css": "1.1.0",
"@utrecht/separator-css": "1.4.0",
"@utrecht/table-css": "1.1.0",
diff --git a/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java b/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java
index 0e898096..1b60d1a7 100644
--- a/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java
+++ b/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java
@@ -81,8 +81,14 @@ public class WicketComponentsCssReferences {
public static final HeaderItem HEADING_GROUP_HEADER_ITEM = makeHeaderItemForCss(
"@utrecht/heading-group-css/dist/index.css"
);
+ public static final HeaderItem CODE_BLOCK_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/code-block-css/dist/index.css"
+ );
public static final HeaderItem LOGO_HEADER_ITEM = makeHeaderItemForCss("@utrecht/logo-css/dist/index.css");
public static final HeaderItem ICON_HEADER_ITEM = makeHeaderItemForCss("@utrecht/icon/dist/index.css");
+ public static final HeaderItem PRESERVE_DATA_HEADER_ITEM = makeHeaderItemForCss(
+ "@utrecht/preserve-data-css/dist/index.css"
+ );
// TODO: support dependencies, and know which dependencies are there
private static CssResourceReference makeReference(String file) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java
index 6d36a85f..ae57463b 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.badge_list.utrecht;
+import static css.WicketComponentsCssReferences.BADGE_LIST_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtBadgeListBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtBadgeListBorder extends Border {
public UtrechtBadgeListBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(BADGE_LIST_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java
index a3ecb8df..3123a814 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.body.utrecht;
+import static css.WicketComponentsCssReferences.BODY_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtBodyBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtBodyBorder extends Border {
public UtrechtBodyBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(BODY_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java
index 67cfb753..6d528451 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.button_group.utrecht;
+import static css.WicketComponentsCssReferences.BUTTON_GROUP_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtButtonGroupBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtButtonGroupBorder extends Border {
public UtrechtButtonGroupBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(BUTTON_GROUP_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java
index 2096c60b..9d210bb2 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.code_block.utrecht;
+import static css.WicketComponentsCssReferences.CODE_BLOCK_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
@@ -14,4 +17,10 @@ public UtrechtCodeBlock(String id, IModel textContent) {
label = new Label(SLOT_ID, textContent);
add(label);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(CODE_BLOCK_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java
index 134ccd39..d5938a97 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.column_layout.utrecht;
+import static css.WicketComponentsCssReferences.COLUMN_LAYOUT_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtColumnLayoutBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtColumnLayoutBorder extends Border {
public UtrechtColumnLayoutBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(COLUMN_LAYOUT_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
index 915f05cb..fe0bb665 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
@@ -1,8 +1,16 @@
package nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht;
+import static css.WicketComponentsCssReferences.CHECKBOX_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.CUSTOM_CHECKBOX_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.FORM_FIELD_DESCRIPTION_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.FORM_FIELD_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.FORM_LABEL_HEADER_ITEM;
+
import css.HTMLUtil;
import java.util.UUID;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.panel.Panel;
@@ -179,6 +187,17 @@ protected void onComponentTag(ComponentTag tag) {
);
}
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(CHECKBOX_HEADER_ITEM);
+ response.render(CUSTOM_CHECKBOX_HEADER_ITEM);
+ response.render(FORM_FIELD_DESCRIPTION_HEADER_ITEM);
+ response.render(FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM);
+ response.render(FORM_FIELD_HEADER_ITEM);
+ response.render(FORM_LABEL_HEADER_ITEM);
+ }
+
public UtrechtFormFieldCheckbox setRequired(boolean required) {
checkbox.setRequired(required);
return this;
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
index b82b8ca8..8d0bbc4f 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.form_label.utrecht;
+import static css.WicketComponentsCssReferences.FORM_LABEL_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
@@ -14,4 +17,10 @@ public UtrechtFormLabel(String id, IModel> textContent) {
label = new Label(SLOT_ID, textContent);
add(label);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(FORM_LABEL_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java
index fd7c8633..cf736e6c 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.heading_group.utrecht;
+import static css.WicketComponentsCssReferences.HEADING_GROUP_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtHeadingGroupBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtHeadingGroupBorder extends Border {
public UtrechtHeadingGroupBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(HEADING_GROUP_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java
index cbd430cf..ba92737f 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.html_content.utrecht;
+import static css.WicketComponentsCssReferences.HTML_CONTENT_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtHtmlContentBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtHtmlContentBorder extends Border {
public UtrechtHtmlContentBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(HTML_CONTENT_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java
index 8c91d954..3062d13d 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.icon.utrecht;
+import static css.WicketComponentsCssReferences.ICON_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtIconBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtIconBorder extends Border {
public UtrechtIconBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(ICON_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java
index 637dd364..566a3fa1 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.logo.utrecht;
+import static css.WicketComponentsCssReferences.LOGO_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtLogoBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtLogoBorder extends Border {
public UtrechtLogoBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(LOGO_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java
index b540b50c..19615aa9 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.page_footer.utrecht;
+import static css.WicketComponentsCssReferences.PAGE_FOOTER_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtPageFooterBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtPageFooterBorder extends Border {
public UtrechtPageFooterBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(PAGE_FOOTER_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java
index 9e792267..fb3f4608 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.page_header.utrecht;
+import static css.WicketComponentsCssReferences.PAGE_HEADER_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtPageHeaderBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtPageHeaderBorder extends Border {
public UtrechtPageHeaderBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(PAGE_HEADER_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java
index a9fd7cbd..a1a41f44 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.page_layout.utrecht;
+import static css.WicketComponentsCssReferences.PAGE_LAYOUT_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.panel.Panel;
public class UtrechtPageLayout extends Panel {
@@ -9,4 +12,10 @@ public class UtrechtPageLayout extends Panel {
public UtrechtPageLayout(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(PAGE_LAYOUT_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java
index 920881d6..cd96776c 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.page_layout.utrecht;
+import static css.WicketComponentsCssReferences.PAGE_LAYOUT_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtPageLayoutBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtPageLayoutBorder extends Border {
public UtrechtPageLayoutBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(PAGE_LAYOUT_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataLabel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataLabel.java
index a476dc12..2b2de167 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataLabel.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataLabel.java
@@ -1,7 +1,10 @@
package nl.rotterdam.design_system.wicket.components.preserve_data.utrecht;
+import static css.WicketComponentsCssReferences.PRESERVE_DATA_HEADER_ITEM;
+
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
@@ -28,4 +31,10 @@ protected void onInitialize() {
add(AttributeModifier.replace("translate", "no"));
add(AttributeModifier.append("class", "utrecht-preserve-data"));
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(PRESERVE_DATA_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java
index fcb13b7f..553f6307 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.root.utrecht;
+import static css.WicketComponentsCssReferences.ROOT_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtRootBorder extends Border {
@@ -7,4 +10,10 @@ public class UtrechtRootBorder extends Border {
public UtrechtRootBorder(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(ROOT_HEADER_ITEM);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java
index c6198d04..5ec1781b 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java
@@ -1,5 +1,8 @@
package nl.rotterdam.design_system.wicket.components.unordered_list.utrecht;
+import static css.WicketComponentsCssReferences.UNORDERED_LIST_HEADER_ITEM;
+
+import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.panel.Panel;
public class UtrechtUnorderedList extends Panel {
@@ -7,4 +10,10 @@ public class UtrechtUnorderedList extends Panel {
public UtrechtUnorderedList(String id) {
super(id);
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(UNORDERED_LIST_HEADER_ITEM);
+ }
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
index 2cbe36c0..c5a3dfa2 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
@@ -51,27 +51,5 @@ public void renderHead(IHeaderResponse response) {
response.render(DOCS_CSS_HEADER_ITEM);
response.render(ROOT_HEADER_ITEM);
response.render(BODY_HEADER_ITEM);
- response.render(PAGE_BODY_HEADER_ITEM);
- response.render(PAGE_HEADER_HEADER_ITEM);
- response.render(PAGE_FOOTER_HEADER_ITEM);
- response.render(PAGE_LAYOUT_HEADER_ITEM);
- response.render(HTML_CONTENT_HEADER_ITEM);
- response.render(FORM_LABEL_HEADER_ITEM);
- response.render(NUMBER_BADGE_HEADER_ITEM);
- response.render(BUTTON_GROUP_HEADER_ITEM);
- response.render(ALERT_HEADER_ITEM);
- response.render(BADGE_LIST_HEADER_ITEM);
- response.render(SEPARATOR_HEADER_ITEM);
- response.render(ORDERED_LIST_HEADER_ITEM);
- response.render(UNORDERED_LIST_HEADER_ITEM);
- response.render(ICON_HEADER_ITEM);
- response.render(COLUMN_LAYOUT_HEADER_ITEM);
- response.render(HEADING_GROUP_HEADER_ITEM);
- response.render(LOGO_HEADER_ITEM);
- response.render(FORM_FIELD_HEADER_ITEM);
- response.render(FORM_FIELD_DESCRIPTION_HEADER_ITEM);
- response.render(FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM);
- response.render(CHECKBOX_HEADER_ITEM);
- response.render(CUSTOM_CHECKBOX_HEADER_ITEM);
}
}
From cc604ecf7895825a1316924b0aff44ce314d0230 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 29 Nov 2024 12:09:21 +0100
Subject: [PATCH 07/75] Ignore some stuff
---
.gitignore | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.gitignore b/.gitignore
index dbc48664..a4f8b446 100644
--- a/.gitignore
+++ b/.gitignore
@@ -62,3 +62,6 @@ pnpm-lock.yaml
# Ignore generated files from Stencil
components.d.ts
+
+# Ignore generated files from Apache Wicket
+*.iml
From d90f012c6d92eff1936b7cdb285a27a4c9000a09 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 29 Nov 2024 11:24:30 +0100
Subject: [PATCH 08/75] Add ordered list with children, links
---
.../rotterdam/wicket/docs/ComponentsPage.html | 10 +++++
.../rotterdam/wicket/docs/ComponentsPage.java | 43 ++++++++++++++++++-
.../wicket/docs/unordered_list/Kind.java | 6 +++
3 files changed, 57 insertions(+), 2 deletions(-)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index 4f4a7c92..ec8b2f8f 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -43,7 +43,17 @@ Hello world
Buttons go here
+
+
+ Utrecht ordered list
+
+
+ Example label
+
+
+ End ordered list
+
kinderen = List.of(
+ new Kind("Jan", 2000, 123456789),
+ new Kind("Storm", 2001, 123456790),
+ new Kind("Fatima", 2002, 123456791)
+ );
+
+
+ pageBody.add(new WebMarkupContainer("utrechtOrderedListWebMarkupContainer") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new UtrechtOrderedListBehavior()); // TODO should be singleton
+ add(new ListView("listItem", kinderen) {
+
+ @Override
+ protected void populateItem(ListItem item) {
+ Kind kind = item.getModelObject();
+ item.add(new UtrechtOrderedListItemBehavior()); // TODO: should be singleton
+ item.add(new ExternalLink("link",
+ "https://concern.ir.rotterdam.nl/example/kind/" + kind.administratienummer(),
+ kind.naam() + " - " + kind.geboortejaar())
+ );
+
+ }
+ }
+ );
+ }
+ });
+
// RepeatingView listItems = new RepeatingView("utrechtOrderedListItem");
// listItems.add(new Label(listItems.newChildId(), "green"));
// listItems.add(new Label(listItems.newChildId(), "blue"));
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java
new file mode 100644
index 00000000..e92da387
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java
@@ -0,0 +1,6 @@
+package nl.rotterdam.wicket.docs.unordered_list;
+
+import java.io.Serializable;
+
+public record Kind(String naam, int geboortejaar, long administratienummer) implements Serializable {
+}
From 60225f67b730dcf4d0bcbb6d6fca91ca0326458f Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 29 Nov 2024 13:56:38 +0100
Subject: [PATCH 09/75] Minor optimization
---
wicket/components-wicket/src/main/java/css/HTMLUtil.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/css/HTMLUtil.java b/wicket/components-wicket/src/main/java/css/HTMLUtil.java
index 8a928e1b..85637ee5 100644
--- a/wicket/components-wicket/src/main/java/css/HTMLUtil.java
+++ b/wicket/components-wicket/src/main/java/css/HTMLUtil.java
@@ -1,5 +1,6 @@
package css;
+
import java.util.Arrays;
import java.util.stream.Collectors;
@@ -14,8 +15,8 @@ public static String idRefs(String... classes) {
}
public static String joinTokens(String... classes) {
- return Arrays.asList(classes)
- .stream()
+ return Arrays
+ .stream(classes)
.filter(className -> className != null && !className.trim().isEmpty())
.collect(Collectors.joining(" "));
}
From 75126284003007488fde81d9cf07c6b4b1d96e32 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 29 Nov 2024 14:05:21 +0100
Subject: [PATCH 10/75] Utrecht alert without :container but with div for
maximum flexibility
---
.../components/alert/utrecht/UtrechtAlert.html | 2 --
.../components/alert/utrecht/UtrechtAlert.java | 17 ++---------------
.../alert/utrecht/UtrechtAlertBehavior.java | 9 +++++----
.../rotterdam/wicket/docs/ComponentsPage.html | 9 +++++----
4 files changed, 12 insertions(+), 25 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html
index b22569a6..450e7e4b 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.html
@@ -1,7 +1,5 @@
-
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java
index 4888c9e1..caaa4e75 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlert.java
@@ -1,7 +1,5 @@
package nl.rotterdam.design_system.wicket.components.alert.utrecht;
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
@@ -12,18 +10,7 @@ public class UtrechtAlert extends Panel {
public UtrechtAlert(String id, IModel textContent, UtrechtAlertType type) {
super(id);
- WebMarkupContainer container = new WebMarkupContainer("alert") {
- @Override
- public void onComponentTag(ComponentTag tag) {
- super.onComponentTag(tag);
-
- if (!tag.isClose()) {
- tag.append("class", "utrecht-alert--" + type.type, " ");
- }
- }
- };
- add(container);
- container.add(UtrechtAlertBehavior.utrechtAlert(type));
- container.add(new Label(SLOT_ID, textContent));
+ add(UtrechtAlertBehavior.utrechtAlert(type));
+ add(new Label(SLOT_ID, textContent));
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
index 8d1fd098..97736262 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
@@ -1,15 +1,16 @@
package nl.rotterdam.design_system.wicket.components.alert.utrecht;
-import static css.WicketComponentsCssReferences.ALERT_HEADER_ITEM;
-
import css.HTMLUtil;
-import java.util.Map;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.head.HeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
+import java.util.Map;
+
+import static css.WicketComponentsCssReferences.ALERT_HEADER_ITEM;
+
public class UtrechtAlertBehavior extends Behavior {
public static Behavior utrechtAlert(UtrechtAlertType type) {
@@ -59,7 +60,7 @@ public void onComponentTag(Component component, ComponentTag tag) {
}
if (!tag.isClose()) {
- tag.put("class", HTMLUtil.className(this.className, "utrecht-alert--" + type.type));
+ tag.put("class", HTMLUtil.className(this.className, "utrecht-alert utrecht-alert--" + type.type));
}
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index ec8b2f8f..eb2b89f6 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -36,10 +36,11 @@ Hello world
Submit
-
-
-
-
+
+
+
+
+
Buttons go here
From 0d6bbe5b1640af02011f93df4a03a0e0a2981e26 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 29 Nov 2024 14:11:39 +0100
Subject: [PATCH 11/75] No noise
---
.../badge_list/utrecht/UtrechtBadgeListBorder.html | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.html
index 098eadfe..621dfe63 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.html
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.html
@@ -1,9 +1,6 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
From c7fde6de0f29722343ba75d5695906bc634d337a Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 29 Nov 2024 14:12:06 +0100
Subject: [PATCH 12/75] No fields for components
---
.../components/form_label/utrecht/UtrechtFormLabel.java | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
index 8d0bbc4f..17b2a22e 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
@@ -1,21 +1,19 @@
package nl.rotterdam.design_system.wicket.components.form_label.utrecht;
-import static css.WicketComponentsCssReferences.FORM_LABEL_HEADER_ITEM;
-
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
+import static css.WicketComponentsCssReferences.FORM_LABEL_HEADER_ITEM;
+
public class UtrechtFormLabel extends Panel {
public static final String SLOT_ID = "slot";
- private final Label label;
public UtrechtFormLabel(String id, IModel> textContent) {
super(id);
- label = new Label(SLOT_ID, textContent);
- add(label);
+ add(new Label(SLOT_ID, textContent));
}
@Override
From 9b291d117f1c892e717fdcb90ae21f25b7d48b08 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Tue, 3 Dec 2024 22:08:16 +0100
Subject: [PATCH 13/75] build: more helpful Apache Wicket dev server startup
logs
---
package.json | 2 +-
.../rotterdam/wicket/nl_design/docs/Start.java | 18 ++++++++++++++++--
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/package.json b/package.json
index 0be09dea..f13b43a6 100644
--- a/package.json
+++ b/package.json
@@ -82,7 +82,7 @@
"wicket:install-and-build": "mvn --no-transfer-progress clean install",
"wicket:clean": "mvn clean",
"wicket:install": "mvn --no-transfer-progress dependency:go-offline",
- "wicket:dev": "mvn exec:java -pl :docs-wicket"
+ "wicket:dev": "mvn exec:java@runDocs -pl :docs-wicket"
},
"dependencies": {
"http-server": "14.1.1"
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java
index 1f4269c1..5bdab64d 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java
@@ -34,11 +34,25 @@ public static void main(final String[] args) {
try {
System.out.println(
- ">>> STARTING EMBEDDED JETTY SERVER on http://localhost:" + PORT + " PRESS ANY KEY TO STOP"
+ """
+ â•â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â•®
+ │ │
+ │ Development server has started for: │
+ │ NL Design System community components for Apache Wicket │
+ │ │
+ │ Local: http://localhost:1234/ │
+ │ │
+ │ Restart this server to see any changes you have made to components or design tokens. │
+ │ │
+ │ Read the latest documentation: │
+ │ https://github.com/nl-design-system/rotterdam/blob/main/wicket/README.md │
+ │ │
+ ╰──────────────────────────────────────────────────────────────────────────────────────────╯
+ """.replace("1234", Integer.toString(PORT))
);
server.start();
System.in.read();
- System.out.println(">>> STOPPING EMBEDDED JETTY SERVER");
+ System.out.println(">>> Stopping development server...");
server.stop();
server.join();
} catch (final Exception e) {
From e0ba5fb4fa28866ea06373ea86cf54cefd911870 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 00:12:54 +0100
Subject: [PATCH 14/75] refactor: automatically include all Apache Wicket
components
---
package.json | 5 +-
packages/storybook/config/main.ts | 2 +-
packages/storybook/package.json | 1 +
.../src/documentation/wicket-heading.mdx | 6 -
pnpm-lock.yaml | 9 +-
wicket/docs-wicket/package.json | 6 +
.../GenerateMarkdownAndStorybookExamples.java | 9 +
.../HtmlDocumentationExtractor.java | 23 ++-
...arkdownDocumentationExamplesGenerator.java | 174 +++++++-----------
9 files changed, 103 insertions(+), 132 deletions(-)
delete mode 100644 packages/storybook/src/documentation/wicket-heading.mdx
diff --git a/package.json b/package.json
index f13b43a6..04ef6fb6 100644
--- a/package.json
+++ b/package.json
@@ -78,8 +78,9 @@
"update-major": "npm-check-updates --configFileName .ncurc.major.cjs",
"watch:storybook": "pnpm --filter @gemeente-rotterdam/storybook run storybook",
"watch:style-dictionary": "pnpm --filter @gemeente-rotterdam/design-tokens run watch",
- "wicket:build": "mvn --no-transfer-progress --offline clean install",
- "wicket:install-and-build": "mvn --no-transfer-progress clean install",
+ "wicket:build": "mvn --no-transfer-progress --offline clean install && pnpm run wicket:build-docs",
+ "wicket:install-and-build": "mvn --no-transfer-progress clean install && pnpm run wicket:build-docs",
+ "wicket:build-docs": "mvn exec:java@generateStoryBook -pl :docs-wicket",
"wicket:clean": "mvn clean",
"wicket:install": "mvn --no-transfer-progress dependency:go-offline",
"wicket:dev": "mvn exec:java@runDocs -pl :docs-wicket"
diff --git a/packages/storybook/config/main.ts b/packages/storybook/config/main.ts
index 2a8464c2..aa3db89e 100644
--- a/packages/storybook/config/main.ts
+++ b/packages/storybook/config/main.ts
@@ -22,7 +22,7 @@ const config: StorybookConfig = {
options: {},
},
staticDirs: ['../../../proprietary/assets/src'],
- stories: ['../src/**/*stories.@(js|jsx|ts|tsx)', '../src/**/*.mdx'],
+ stories: ['../src/**/*stories.@(js|jsx|ts|tsx)', '../src/**/*.mdx', '../../../wicket/docs-wicket/stories/*.mdx'],
};
export default config;
diff --git a/packages/storybook/package.json b/packages/storybook/package.json
index b44a31f9..41b3f10e 100644
--- a/packages/storybook/package.json
+++ b/packages/storybook/package.json
@@ -25,6 +25,7 @@
"@gemeente-rotterdam/assets": "workspace:*",
"@gemeente-rotterdam/components-css": "workspace:*",
"@gemeente-rotterdam/design-tokens": "workspace:*",
+ "@gemeente-rotterdam/docs-wicket": "workspace:*",
"@gemeente-rotterdam/font": "workspace:*",
"@gemeente-rotterdam/icon": "workspace:*",
"@gemeente-rotterdam/mendix-css": "workspace:*",
diff --git a/packages/storybook/src/documentation/wicket-heading.mdx b/packages/storybook/src/documentation/wicket-heading.mdx
deleted file mode 100644
index bd22750d..00000000
--- a/packages/storybook/src/documentation/wicket-heading.mdx
+++ /dev/null
@@ -1,6 +0,0 @@
-import { Markdown, Meta } from "@storybook/blocks";
-import markdown from "../../../../wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht//README.md?raw";
-
-
-
-{markdown}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3990058c..37e5f473 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -367,6 +367,9 @@ importers:
'@gemeente-rotterdam/design-tokens':
specifier: workspace:*
version: link:../../proprietary/design-tokens
+ '@gemeente-rotterdam/docs-wicket':
+ specifier: workspace:*
+ version: link:../../wicket/docs-wicket
'@gemeente-rotterdam/font':
specifier: workspace:*
version: link:../../proprietary/font
@@ -705,7 +708,11 @@ importers:
specifier: 1.0.0-alpha.35
version: 1.0.0-alpha.35
- wicket/docs-wicket: {}
+ wicket/docs-wicket:
+ devDependencies:
+ rimraf:
+ specifier: 6.0.1
+ version: 6.0.1
packages:
diff --git a/wicket/docs-wicket/package.json b/wicket/docs-wicket/package.json
index 57ad7f26..6d54f0cc 100644
--- a/wicket/docs-wicket/package.json
+++ b/wicket/docs-wicket/package.json
@@ -13,5 +13,11 @@
"type": "git+ssh",
"url": "git@github.com:nl-design-system/rotterdam.git",
"directory": "wicket/components-wicket"
+ },
+ "devDependencies": {
+ "rimraf": "6.0.1"
+ },
+ "scripts": {
+ "clean": "rimraf stories/* target"
}
}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 77f5c820..1e82e6e3 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -37,6 +37,15 @@ void generateHeadingComponent() {
).generate();
}
+ @Test
+ void generateHeading2Component() {
+ new MarkdownDocumentationExamplesGenerator(
+ HeadingExamplesPanel.class,
+ UtrechtHeading.class,
+ "heading"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java
index 74956049..18198029 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java
@@ -1,15 +1,14 @@
package nl.rotterdam.wicket.nl_design.docs.storybook_generator;
-import com.google.common.base.Charsets;
-import org.jsoup.Jsoup;
-import org.jsoup.nodes.Document;
-import org.jsoup.nodes.Element;
+import static com.google.common.base.Preconditions.checkNotNull;
+import com.google.common.base.Charsets;
import java.io.IOException;
import java.nio.file.Path;
import java.util.Optional;
-
-import static com.google.common.base.Preconditions.checkNotNull;
+import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
+import org.jsoup.nodes.Element;
public class HtmlDocumentationExtractor {
@@ -24,16 +23,16 @@ public HtmlDocumentationExtractor(Path path) {
}
public WicketHtmlExampleSnippet extractExample(String wicketId) {
- Element element = document.selectFirst(
- "[data-example-container-for=" + wicketId + "]"
- );
+ Element element = document.selectFirst("[data-example-container-for=" + wicketId + "]");
checkNotNull(element, "No element found for: " + wicketId);
return new WicketHtmlExampleSnippet(
- checkNotNull(element.selectFirst(".example-container__header"), wicketId + "mus have header").html(),
- Optional.ofNullable(element.selectFirst(".example-container__documentation")).map(Element::html).orElse(null),
- checkNotNull(element.selectFirst(".example-container__code"), wicketId + "mus have code").html()
+ checkNotNull(element.selectFirst(".example-container__header"), wicketId + "must have header").html(),
+ Optional.ofNullable(element.selectFirst(".example-container__documentation"))
+ .map(Element::html)
+ .orElse(null),
+ checkNotNull(element.selectFirst(".example-container__code"), wicketId + "must have code").html()
);
}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
index 7609159d..1e72f58a 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
@@ -1,15 +1,11 @@
package nl.rotterdam.wicket.nl_design.docs.storybook_generator;
+import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
+
import com.github.javaparser.JavaParser;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.vladsch.flexmark.html2md.converter.FlexmarkHtmlConverter;
-import nl.rotterdam.wicket.docs.ComponentExample;
-import org.apache.wicket.Component;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.util.string.Strings;
-import org.junit.platform.commons.support.ModifierSupport;
-
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -18,8 +14,11 @@
import java.util.Comparator;
import java.util.List;
import java.util.stream.IntStream;
-
-import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.util.string.Strings;
+import org.junit.platform.commons.support.ModifierSupport;
public class MarkdownDocumentationExamplesGenerator {
@@ -30,12 +29,11 @@ public class MarkdownDocumentationExamplesGenerator {
private final String componentName;
private final String componentNameCapitalized;
private final HtmlDocumentationExtractor documentationExtractor;
- private final String relativePathInComponentsWicketFromModuleRoot;
+ private final String gitHubExamplePath;
private final String gitHubComponentPath;
public MarkdownDocumentationExamplesGenerator(
Class extends Panel> examplePanelClass,
-
/*
When you have a Behavior and a component, put them in the same package.
*/
@@ -45,41 +43,32 @@ public MarkdownDocumentationExamplesGenerator(
this.componentName = componentName;
this.componentNameCapitalized = Strings.capitalize(componentName);
- String moduleRootPath = resolveModuleRootPath(
- GenerateMarkdownAndStorybookExamples.class
- ).getAbsolutePath();
+ String moduleRootPath = resolveModuleRootPath(GenerateMarkdownAndStorybookExamples.class).getAbsolutePath();
- String relativePathInDocsWicketFromModuleRoot = "/src/main/java/" +
- examplePanelClass.getPackageName().replace(".", "/") + "/";
+ String relativePathInDocsWicketFromModuleRoot =
+ "/src/main/java/" + examplePanelClass.getPackageName().replace(".", "/") + "/";
String basePathInDocs = moduleRootPath + relativePathInDocsWicketFromModuleRoot;
-
- relativePathInComponentsWicketFromModuleRoot = "src/main/java/" +
- componentClass.getPackageName().replace(".", "/") + "/";
-
- String basePathInWicketComponent = moduleRootPath + "/../components-wicket/" + relativePathInComponentsWicketFromModuleRoot;
-
- String exampleFilenameWithoutExtension =
- basePathInDocs + examplePanelClass.getSimpleName();
+ String exampleFilenameWithoutExtension = basePathInDocs + examplePanelClass.getSimpleName();
exampleJavaFile = new File(exampleFilenameWithoutExtension + ".java");
documentationExtractor = new HtmlDocumentationExtractor(
new File(exampleFilenameWithoutExtension + ".html").toPath()
);
- markdownReadmeFile = new File(basePathInWicketComponent + "README.md");
- markdownStorybookFile = new File(
- moduleRootPath +
- "/../../packages/storybook/src/documentation/wicket-" + componentName + ".mdx"
- );
+ markdownReadmeFile = new File(moduleRootPath + "/stories/" + componentName + ".md");
+ markdownStorybookFile = new File(moduleRootPath + "/stories/" + componentName + ".mdx");
- gitHubComponentPath = "https://github.com/nl-design-system/rotterdam/blob/main/wicket/docs-wicket/" + relativePathInDocsWicketFromModuleRoot;
+ gitHubComponentPath =
+ "https://github.com/nl-design-system/rotterdam/blob/main/wicket/components-wicket/" +
+ relativePathInDocsWicketFromModuleRoot;
+ gitHubExamplePath =
+ "https://github.com/nl-design-system/rotterdam/blob/main/wicket/docs-wicket/" +
+ relativePathInDocsWicketFromModuleRoot;
try {
- headingPanel = examplePanelClass
- .getConstructor(String.class)
- .newInstance("panelId");
+ headingPanel = examplePanelClass.getConstructor(String.class).newInstance("panelId");
} catch (Exception e) {
throw new RuntimeException(e);
}
@@ -94,12 +83,7 @@ private static String removeSemicolon(String statement) {
}
private static String extractJavaCode(MethodDeclaration x) {
- String temp = x
- .getBody()
- .orElseThrow()
- .toString()
- .replaceFirst("return", "")
- .replaceFirst("\\{", "");
+ String temp = x.getBody().orElseThrow().toString().replaceFirst("return", "").replaceFirst("\\{", "");
temp = temp.substring(0, temp.lastIndexOf("}"));
return temp.trim();
}
@@ -120,26 +104,15 @@ private void generateWithCheckedExceptions() throws Exception {
writeResultsToFiles(results);
}
- private List collectExamples()
- throws Exception {
- CompilationUnit compilationUnit = new JavaParser()
- .parse(exampleJavaFile)
- .getResult()
- .orElseThrow();
-
- List exampleComponentMethods =
- compilationUnit.findAll(MethodDeclaration.class, m ->
- m
- .getAnnotationByName(ComponentExample.class.getSimpleName())
- .isPresent()
- );
+ private List collectExamples() throws Exception {
+ CompilationUnit compilationUnit = new JavaParser().parse(exampleJavaFile).getResult().orElseThrow();
- exampleComponentMethods.sort(
- Comparator.comparing(declaration ->
- declaration.getName().getIdentifier()
- )
+ List exampleComponentMethods = compilationUnit.findAll(MethodDeclaration.class, m ->
+ m.getAnnotationByName(ComponentExample.class.getSimpleName()).isPresent()
);
+ exampleComponentMethods.sort(Comparator.comparing(declaration -> declaration.getName().getIdentifier()));
+
return exampleComponentMethods
.stream()
.map(method -> {
@@ -152,8 +125,7 @@ private List collectExamples()
.toList();
}
- private void writeResultsToFiles(List results)
- throws IOException {
+ private void writeResultsToFiles(List results) throws IOException {
writeWicketComponentsReadme(results);
writeStoryBookFile();
@@ -162,28 +134,32 @@ private void writeResultsToFiles(List results)
private void writeStoryBookFile() throws IOException {
String content = String.format(
"""
- import { Markdown, Meta } from "@storybook/blocks";
- import markdown from "../../../../wicket/components-wicket/%s/README.md?raw";
-
-
-
- {markdown}
- """,
- relativePathInComponentsWicketFromModuleRoot,
+ {/* @license CC0-1.0 */}
+
+ import { Markdown, Meta } from "@storybook/blocks";
+ import markdown from "./%s.md?raw";
+
+
+
+ {markdown}
+ """,
+ componentName,
Strings.capitalize(componentName)
);
Files.write(markdownStorybookFile.toPath(), content.getBytes());
}
- private void writeWicketComponentsReadme(
- List results
- ) throws IOException {
+ private void writeWicketComponentsReadme(List results) throws IOException {
List lines = new ArrayList<>(
List.of(
+ "",
+ "",
"# " + componentNameCapitalized + " component voor Apache Wicket",
"",
- "[Voorbeeld sourcecode](" + gitHubComponentPath + ")",
+ "[Broncode van dit voorbeeld](" + gitHubExamplePath + ")",
+ "",
+ "[Broncode van de component](" + gitHubComponentPath + ")",
"",
convertToMarkdown(documentationExtractor.extractHeader()),
"Hieronder volgen verschillende voorbeelden van het gebruik van het component in Apache Wicket."
@@ -192,20 +168,10 @@ private void writeWicketComponentsReadme(
IntStream.range(0, results.size()).forEach(i -> {
WicketComponentExample example = results.get(i);
- lines.addAll(
- List.of(
- "",
- "## " + example.htmlSnippet().headerHtml(),
- "")
- );
+ lines.addAll(List.of("", "## " + example.htmlSnippet().headerHtml(), ""));
if (example.htmlSnippet().documentationHtml() != null) {
- lines.addAll(
- List.of(
- convertToMarkdown(example.htmlSnippet().documentationHtml()),
- ""
- )
- );
+ lines.addAll(List.of(convertToMarkdown(example.htmlSnippet().documentationHtml()), ""));
}
lines.addAll(
@@ -231,26 +197,24 @@ private String convertToMarkdown(String html) {
private String wrapInDemoJavaPanelWithOnInitialize(String statement) {
return String.format(
"""
- public class NlDesignSystemWicketDemoPanel extends Panel {
-
- public NlDesignSystemWicketDemoPanel(String id) {
- super(id);
- }
-
- @Override
- protected void onInitialize() {
- super.onInitialize();
- add(%s);
- }
- }""",
+ public class ExamplePanel extends Panel {
+
+ public ExamplePanel(String id) {
+ super(id);
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ add(%s);
+ }
+ }""",
removeSemicolon(statement)
);
}
- private WicketComponentExample generateMethodUnchecked(
- MethodDeclaration methodDeclaration,
- Panel headingPanel
- ) throws Exception {
+ private WicketComponentExample generateMethodUnchecked(MethodDeclaration methodDeclaration, Panel headingPanel)
+ throws Exception {
String wicketId = getWicketId(headingPanel, methodDeclaration);
return new WicketComponentExample(
@@ -260,11 +224,8 @@ private WicketComponentExample generateMethodUnchecked(
);
}
- private String getWicketId(Panel panel, MethodDeclaration declaration)
- throws Exception {
- Method method = panel
- .getClass()
- .getDeclaredMethod(declaration.getName().asString());
+ private String getWicketId(Panel panel, MethodDeclaration declaration) throws Exception {
+ Method method = panel.getClass().getDeclaredMethod(declaration.getName().asString());
method.setAccessible(true);
@@ -274,13 +235,6 @@ private String getWicketId(Panel panel, MethodDeclaration declaration)
return result.getId();
}
-
}
-record WicketComponentExample(
- String javaCode,
- WicketHtmlExampleSnippet htmlSnippet,
- String wicketId
-) {
-
-}
+record WicketComponentExample(String javaCode, WicketHtmlExampleSnippet htmlSnippet, String wicketId) {}
From a8c7f782c80f8dab59081bdd8ef009076474fa21 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 00:48:49 +0100
Subject: [PATCH 15/75] feat: simplify Apache Wicket stories HTML structure
---
.../docs/heading/HeadingExamplesPanel.html | 238 +++++++++---------
.../HtmlDocumentationExtractor.java | 12 +-
2 files changed, 123 insertions(+), 127 deletions(-)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading/HeadingExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading/HeadingExamplesPanel.html
index 349960e6..fd1e49f0 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading/HeadingExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading/HeadingExamplesPanel.html
@@ -1,124 +1,122 @@
-
+
-
-
-
- Heading component
-
- Koptekst die in de koppenstructuur ingesteld kan worden op het juiste niveau.
- NL Design System Heading documentatie
-
- Mogelijkheden om Kopteksten te maken in Wicket:
-
- UtrechtHeading: een Label component om een waarde of Model te tonen
- UtrechtHeadingBehavior: pas de Utrecht Heading style toe op een ander Wicket component
-
-
-
- Je kunt het component gebruiken met de correcte hx HTML-tags:
-
-
-
-
-
Gebruik h1 maximaal één keer per pagina.
-
-
-
Gebruik maximaal één h1 per pagina
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Het Wicket component vervangt automatisch een div door de juiste kop-tag:
-
-
-
Utrecht label 3 met div wordt door Wicket bij het renderen vervangen.
+
+
+
+ Heading component
+
+
Koptekst die in de koppenstructuur ingesteld kan worden op het juiste niveau.
+
NL Design System Heading documentatie
+
+
Mogelijkheden om Kopteksten te maken in Wicket:
+
+ UtrechtHeading: een Label component om een waarde of Model te tonen
+ UtrechtHeadingBehavior: pas de Utrecht Heading style toe op een ander Wicket component
+
-
-
-
-
-
-
-
Bestaande CSS-class wordt behouden:
-
-
-
-
-
-
-
-
-
-
Tekst kan gezet worden met model constructor:
-
-
-
Tekst wordt gezet via model constructor
-
-
-
-
-
-
-
Tekst kan gezet worden via defaultModel:
-
-
-
Tekst wordt gezet via defaultModel
-
-
-
-
-
-
-
Koptekst die een persoonsnaam bevat, die dus niet vertaald moet worden door vertaalsoftware:
-
-
-
- Welkom mevrouw
- Van Bergenhenegouwen
-
-
-
-
-
-
+
Je kunt het component gebruiken met de correcte hx HTML-tags:
+
+
+ Kop 1
+
+
Gebruik h1 maximaal één keer per pagina.
+
+
+ Gebruik maximaal één h1 per pagina
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tags worden vervangen
+
+
Het Wicket component vervangt automatisch een div door de juiste kop-tag:
+
+
+
+ Utrecht label 3 met div wordt door Wicket bij het renderen vervangen.
+
+
+
+
+
+ Behoud bestaande CSS class
+
+
Bestaande CSS-class wordt behouden:
+
+
+
+
+
+
+
+ Model constructor
+
+
Tekst kan gezet worden met model constructor:
+
+
+ Tekst wordt gezet via model constructor
+
+
+
+
+ Model via defaultModel
+
+
Tekst kan gezet worden via defaultModel:
+
+
+ Tekst wordt gezet via defaultModel
+
+
+
+
+ MarkupContainer met niet-vertaalbare content
+
+
Koptekst die een persoonsnaam bevat, die dus niet vertaald moet worden door vertaalsoftware:
+
+
+
+ Welkom mevrouw
+ Van Bergenhenegouwen
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java
index 18198029..8ce0652a 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java
@@ -23,20 +23,18 @@ public HtmlDocumentationExtractor(Path path) {
}
public WicketHtmlExampleSnippet extractExample(String wicketId) {
- Element element = document.selectFirst("[data-example-container-for=" + wicketId + "]");
+ Element element = document.selectFirst("[data-testid=" + wicketId + "]");
checkNotNull(element, "No element found for: " + wicketId);
return new WicketHtmlExampleSnippet(
- checkNotNull(element.selectFirst(".example-container__header"), wicketId + "must have header").html(),
- Optional.ofNullable(element.selectFirst(".example-container__documentation"))
- .map(Element::html)
- .orElse(null),
- checkNotNull(element.selectFirst(".example-container__code"), wicketId + "must have code").html()
+ checkNotNull(element.selectFirst("h2"), wicketId + "must have header").html(),
+ Optional.ofNullable(element.selectFirst("h2 + div")).map(Element::html).orElse(null),
+ checkNotNull(element.selectFirst("template"), wicketId + "must have code").html()
);
}
public String extractHeader() {
- return checkNotNull(document.selectFirst("header")).html();
+ return checkNotNull(document.selectFirst("h1 + div")).html();
}
}
From 5ec601bbba2a44eb33f1163840871c57659e7788 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 00:49:18 +0100
Subject: [PATCH 16/75] test: add Alert stories
---
.../wicket/docs/alert/AlertExamplesPanel.html | 53 ++++++++++++++
.../wicket/docs/alert/AlertExamplesPanel.java | 69 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 13 ++--
3 files changed, 127 insertions(+), 8 deletions(-)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html
new file mode 100644
index 00000000..87f33d05
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html
@@ -0,0 +1,53 @@
+
+
+
+
+
+ Alert component
+
+
Belangrijk bericht dat informeert over de huidige activiteit van de gebruiker.
+
+
+
+ Alert Alert
+
+
+ Lorem ipsum dolor sit amet
+
+
+
+
+ Alert Warning
+
+
+ Lorem ipsum dolor sit amet
+
+
+
+
+ Alert OK
+
+
+ Lorem ipsum dolor sit amet
+
+
+
+
+ Alert Info
+
+
+ Lorem ipsum dolor sit amet
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.java
new file mode 100644
index 00000000..f6db9ad0
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.java
@@ -0,0 +1,69 @@
+package nl.rotterdam.wicket.docs.alert;
+
+import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
+import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlertType;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class AlertExamplesPanel extends Panel {
+
+ public AlertExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleAlertAlert() {
+ return new UtrechtAlert(
+ "utrechtAlertAlert",
+ Model.of(
+ "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
+ ),
+ UtrechtAlertType.ERROR
+ );
+ }
+
+ @ComponentExample
+ private static Component exampleAlertWarning() {
+ return new UtrechtAlert(
+ "utrechtAlertWarning",
+ Model.of(
+ "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
+ ),
+ UtrechtAlertType.WARNING
+ );
+ }
+
+ @ComponentExample
+ private static Component exampleAlertOk() {
+ return new UtrechtAlert(
+ "utrechtAlertOk",
+ Model.of(
+ "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
+ ),
+ UtrechtAlertType.OK
+ );
+ }
+
+ @ComponentExample
+ private static Component exampleAlertInfo() {
+ return new UtrechtAlert(
+ "utrechtAlertInfo",
+ Model.of(
+ "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
+ ),
+ UtrechtAlertType.INFO
+ );
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleAlertAlert());
+ add(exampleAlertWarning());
+ add(exampleAlertOk());
+ add(exampleAlertInfo());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 1e82e6e3..f2c2a0cc 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -1,14 +1,15 @@
package nl.rotterdam.wicket.nl_design.docs.storybook_generator;
+import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
+import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
-
/**
* How to update the documentation:
*
@@ -29,16 +30,12 @@ public class GenerateMarkdownAndStorybookExamples {
WicketTester tester = new WicketTester(new DocsApplication());
@Test
- void generateHeadingComponent() {
- new MarkdownDocumentationExamplesGenerator(
- HeadingExamplesPanel.class,
- UtrechtHeading.class,
- "heading"
- ).generate();
+ void generateAlertComponent() {
+ new MarkdownDocumentationExamplesGenerator(AlertExamplesPanel.class, UtrechtAlert.class, "alert").generate();
}
@Test
- void generateHeading2Component() {
+ void generateHeadingComponent() {
new MarkdownDocumentationExamplesGenerator(
HeadingExamplesPanel.class,
UtrechtHeading.class,
From 7db4ba89a3f74763e9e96ea18b2a52ee018aa487 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 01:00:52 +0100
Subject: [PATCH 17/75] test: add BadgeList stories
---
.../badge_list/BadgeListExamplesPanel.html | 21 ++++++++++++++++
.../badge_list/BadgeListExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 57 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html
new file mode 100644
index 00000000..b8a0530f
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html
@@ -0,0 +1,21 @@
+
+
+
+
+
+ Badge List component
+
+
Lijst van labels met extra informatie, zoals een categorie of een eigenschap.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.java
new file mode 100644
index 00000000..9232404f
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.badge_list;
+
+import nl.rotterdam.design_system.wicket.components.badge_list.utrecht.UtrechtBadgeListBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class BadgeListExamplesPanel extends Panel {
+
+ public BadgeListExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleBadgeList() {
+ return new UtrechtBadgeListBorder("utrechtBadgeList");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleBadgeList());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index f2c2a0cc..f0b87bd4 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -1,10 +1,12 @@
package nl.rotterdam.wicket.nl_design.docs.storybook_generator;
import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
+import nl.rotterdam.design_system.wicket.components.badge_list.utrecht.UtrechtBadgeListBorder;
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
+import nl.rotterdam.wicket.docs.badge_list.BadgeListExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
@@ -34,6 +36,15 @@ void generateAlertComponent() {
new MarkdownDocumentationExamplesGenerator(AlertExamplesPanel.class, UtrechtAlert.class, "alert").generate();
}
+ @Test
+ void generateBadgeListComponent() {
+ new MarkdownDocumentationExamplesGenerator(
+ BadgeListExamplesPanel.class,
+ UtrechtBadgeListBorder.class,
+ "badge-list"
+ ).generate();
+ }
+
@Test
void generateHeadingComponent() {
new MarkdownDocumentationExamplesGenerator(
From b384eb40eb554191b47500e4d3358b1654f962e4 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 01:05:50 +0100
Subject: [PATCH 18/75] test: add Body stories
---
.../wicket/docs/body/BodyExamplesPanel.html | 23 +++++++++++++++++
.../wicket/docs/body/BodyExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 6 +++++
3 files changed, 54 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.html
new file mode 100644
index 00000000..e209f4e2
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Body component
+
+
Component op het niveau van het body
HTML-element.
+
+
+
+ Body
+
+
+ Lorem ipsum dolor sit amet
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.java
new file mode 100644
index 00000000..185f63f1
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.body;
+
+import nl.rotterdam.design_system.wicket.components.body.utrecht.UtrechtBodyBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class BodyExamplesPanel extends Panel {
+
+ public BodyExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleBodyExample() {
+ return new UtrechtBodyBorder("utrechtBody");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleBodyExample());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index f0b87bd4..81a36475 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -7,6 +7,7 @@
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
import nl.rotterdam.wicket.docs.badge_list.BadgeListExamplesPanel;
+import nl.rotterdam.wicket.docs.body.BodyExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
@@ -45,6 +46,11 @@ void generateBadgeListComponent() {
).generate();
}
+ @Test
+ void generateBodyComponent() {
+ new MarkdownDocumentationExamplesGenerator(BodyExamplesPanel.class, BodyExamplesPanel.class, "body").generate();
+ }
+
@Test
void generateHeadingComponent() {
new MarkdownDocumentationExamplesGenerator(
From 874848d23aecb1cc3e90cb9e199c7fdcad89df5d Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 01:10:31 +0100
Subject: [PATCH 19/75] test: add Button Group stories
---
.../ButtonGroupExamplesPanel.html | 23 +++++++++++++++++
.../ButtonGroupExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.html
new file mode 100644
index 00000000..3a5a4e9b
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Button Group component
+
+
Groepeert één of meer gerelateerde acties en verzorgt de lay-out van de content.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.java
new file mode 100644
index 00000000..2c450757
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.button_group;
+
+import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class ButtonGroupExamplesPanel extends Panel {
+
+ public ButtonGroupExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleButtonGroup() {
+ return new UtrechtButtonGroupBorder("utrechtButtonGroup");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleButtonGroup());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 81a36475..4698a2dc 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -2,12 +2,14 @@
import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
import nl.rotterdam.design_system.wicket.components.badge_list.utrecht.UtrechtBadgeListBorder;
+import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
import nl.rotterdam.wicket.docs.badge_list.BadgeListExamplesPanel;
import nl.rotterdam.wicket.docs.body.BodyExamplesPanel;
+import nl.rotterdam.wicket.docs.button_group.ButtonGroupExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
@@ -51,6 +53,15 @@ void generateBodyComponent() {
new MarkdownDocumentationExamplesGenerator(BodyExamplesPanel.class, BodyExamplesPanel.class, "body").generate();
}
+ @Test
+ void generateButtonGroupComponent() {
+ new MarkdownDocumentationExamplesGenerator(
+ ButtonGroupExamplesPanel.class,
+ UtrechtButtonGroupBorder.class,
+ "button-group"
+ ).generate();
+ }
+
@Test
void generateHeadingComponent() {
new MarkdownDocumentationExamplesGenerator(
From f00f11703241fc76824e6f36ec0b3791734a7e07 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 01:16:21 +0100
Subject: [PATCH 20/75] test: add Code Block stories
---
.../code_block/CodeBlockExamplesPanel.html | 23 ++++++++++
.../code_block/CodeBlockExamplesPanel.java | 42 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 +++++
3 files changed, 76 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.html
new file mode 100644
index 00000000..a819bd85
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Code Block component
+
+
Toont één of meerdere regels computercode en behoudt de opmaak van deze code.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.java
new file mode 100644
index 00000000..d6a53d2e
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.java
@@ -0,0 +1,42 @@
+package nl.rotterdam.wicket.docs.code_block;
+
+import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class CodeBlockExamplesPanel extends Panel {
+
+ public CodeBlockExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleCodeBlock() {
+ return new UtrechtCodeBlock(
+ "utrechtCodeBlock",
+ Model.of(
+ """
+
+
+
+ NL Design System
+
+
+
+ NL Design System
+
+
+ """
+ )
+ );
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleCodeBlock());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 4698a2dc..830b501b 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -3,6 +3,7 @@
import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
import nl.rotterdam.design_system.wicket.components.badge_list.utrecht.UtrechtBadgeListBorder;
import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
+import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
@@ -10,6 +11,7 @@
import nl.rotterdam.wicket.docs.badge_list.BadgeListExamplesPanel;
import nl.rotterdam.wicket.docs.body.BodyExamplesPanel;
import nl.rotterdam.wicket.docs.button_group.ButtonGroupExamplesPanel;
+import nl.rotterdam.wicket.docs.code_block.CodeBlockExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
@@ -62,6 +64,15 @@ void generateButtonGroupComponent() {
).generate();
}
+ @Test
+ void generateCodeBlockComponent() {
+ new MarkdownDocumentationExamplesGenerator(
+ CodeBlockExamplesPanel.class,
+ UtrechtCodeBlock.class,
+ "code-block"
+ ).generate();
+ }
+
@Test
void generateHeadingComponent() {
new MarkdownDocumentationExamplesGenerator(
From f20a2dd34c55a5ab023e25345befe014518dabd4 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 01:21:10 +0100
Subject: [PATCH 21/75] test: add Column Layout stories
---
.../ColumnLayoutExamplesPanel.html | 23 +++++++++++++++++
.../ColumnLayoutExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html
new file mode 100644
index 00000000..db76e2e5
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Column Layout component
+
+
Layout van één of meerdere kolommen.
+
+
+
+ Column Layout
+
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.java
new file mode 100644
index 00000000..43ba2545
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.column_layout;
+
+import nl.rotterdam.design_system.wicket.components.column_layout.utrecht.UtrechtColumnLayoutBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class ColumnLayoutExamplesPanel extends Panel {
+
+ public ColumnLayoutExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleColumnLayout() {
+ return new UtrechtColumnLayoutBorder("utrechtColumnLayout");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleColumnLayout());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 830b501b..0a3ace8d 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -4,6 +4,7 @@
import nl.rotterdam.design_system.wicket.components.badge_list.utrecht.UtrechtBadgeListBorder;
import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
+import nl.rotterdam.design_system.wicket.components.column_layout.utrecht.UtrechtColumnLayoutBorder;
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
@@ -12,6 +13,7 @@
import nl.rotterdam.wicket.docs.body.BodyExamplesPanel;
import nl.rotterdam.wicket.docs.button_group.ButtonGroupExamplesPanel;
import nl.rotterdam.wicket.docs.code_block.CodeBlockExamplesPanel;
+import nl.rotterdam.wicket.docs.column_layout.ColumnLayoutExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
@@ -73,6 +75,15 @@ void generateCodeBlockComponent() {
).generate();
}
+ @Test
+ void generateColumnLayoutComponent() {
+ new MarkdownDocumentationExamplesGenerator(
+ ColumnLayoutExamplesPanel.class,
+ UtrechtColumnLayoutBorder.class,
+ "column-layout"
+ ).generate();
+ }
+
@Test
void generateHeadingComponent() {
new MarkdownDocumentationExamplesGenerator(
From 773b2f77743b0b5ba5a47ba073e04e393813cf73 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 08:35:19 +0100
Subject: [PATCH 22/75] test: add Form Field Checkbox stories
---
.../FormFieldCheckboxExamplesPanel.html | 23 +++++++++++++
.../FormFieldCheckboxExamplesPanel.java | 32 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 +++++++
3 files changed, 66 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.html
new file mode 100644
index 00000000..46242446
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Form Field Checkbox component
+
+
Formulierveld om te kiezen tussen "wel" of "niet".
+
+
+
+ Form Field Checkbox
+
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.java
new file mode 100644
index 00000000..0caea05e
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.java
@@ -0,0 +1,32 @@
+package nl.rotterdam.wicket.docs.form_field_checkbox;
+
+import nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht.UtrechtFormFieldCheckbox;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class FormFieldCheckboxExamplesPanel extends Panel {
+
+ public FormFieldCheckboxExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleFormFieldCheckbox() {
+ return new UtrechtFormFieldCheckbox(
+ "utrechtFormFieldCheckbox",
+ Model.of(false),
+ Model.of("I agree"),
+ Model.of("Description"),
+ Model.of("error")
+ );
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleFormFieldCheckbox());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 0a3ace8d..b68f3eff 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -5,6 +5,7 @@
import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
import nl.rotterdam.design_system.wicket.components.column_layout.utrecht.UtrechtColumnLayoutBorder;
+import nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht.UtrechtFormFieldCheckbox;
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
@@ -14,6 +15,7 @@
import nl.rotterdam.wicket.docs.button_group.ButtonGroupExamplesPanel;
import nl.rotterdam.wicket.docs.code_block.CodeBlockExamplesPanel;
import nl.rotterdam.wicket.docs.column_layout.ColumnLayoutExamplesPanel;
+import nl.rotterdam.wicket.docs.form_field_checkbox.FormFieldCheckboxExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
@@ -84,6 +86,15 @@ void generateColumnLayoutComponent() {
).generate();
}
+ @Test
+ void generateFormFieldCheckboxComponent() {
+ new MarkdownDocumentationExamplesGenerator(
+ FormFieldCheckboxExamplesPanel.class,
+ UtrechtFormFieldCheckbox.class,
+ "form-field-checkbox"
+ ).generate();
+ }
+
@Test
void generateHeadingComponent() {
new MarkdownDocumentationExamplesGenerator(
From aca821520673b9ee2c1359496d72420b68f0414a Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 08:43:25 +0100
Subject: [PATCH 23/75] test: add Form Field Label stories
---
.../FormFieldLabelExamplesPanel.html | 27 +++++++++++++++++++
.../FormFieldLabelExamplesPanel.java | 26 ++++++++++++++++++
.../form_label/FormLabelExamplesPanel.html | 26 ------------------
.../form_label/FormLabelExamplesPanel.java | 26 ------------------
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
5 files changed, 64 insertions(+), 52 deletions(-)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.java
delete mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.html
delete mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.html
new file mode 100644
index 00000000..caa2fbcb
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.html
@@ -0,0 +1,27 @@
+
+
+
+
+
+ Form Field Label component
+
+
Toont een tekstlabel dat informeert over de in te vullen informatie.
+
+
+
+ Form Field Label
+
+
+ Plaats het label voor het invoerveld, behalve voor checkbox options en radio options.
+ Plaats de checkbox of radio button in de form label.
+ Koppel de label met de form control met "for" en "id".
+
+
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.java
new file mode 100644
index 00000000..f8acc551
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.java
@@ -0,0 +1,26 @@
+package nl.rotterdam.wicket.docs.form_field_label;
+
+import nl.rotterdam.design_system.wicket.components.form_label.utrecht.UtrechtFormLabel;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class FormFieldLabelExamplesPanel extends Panel {
+
+ public FormFieldLabelExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleFormFieldLabel() {
+ return new UtrechtFormLabel("utrechtFormFieldLabel", Model.of("Voornaam"));
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleFormFieldLabel());
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.html
deleted file mode 100644
index 546a68a6..00000000
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.html
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
- Form Field Label component
- Toont een tekstlabel dat informeert over de in te vullen informatie.
-
-
-
-
-
- Plaats het label voor het invoerveld, behalve voor checkbox options en radio options.
- Plaats de checkbox of radio button in de form label.
- Koppel de label met de form control met "for" en "id".
-
-
-
- Voornaam
-
-
-
-
-
-
-
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.java
deleted file mode 100644
index d980a5eb..00000000
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_label/FormLabelExamplesPanel.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package nl.rotterdam.wicket.docs.form_label;
-
-import nl.rotterdam.design_system.wicket.components.form_label.utrecht.UtrechtFormLabel;
-import org.apache.wicket.Component;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.model.Model;
-
-public class FormLabelExamplesPanel extends Panel {
-
- public FormLabelExamplesPanel(String id) {
- super(id);
- }
-
- // private static Component example1() {
- // return new UtrechtFormLabel("utrechtLabel1").setDefaultModel(Model.of("Voornaam"));
- // return new UtrechtFormLabel("utrechtLabel1", Model.of("Voornaam"));
- // }
-
- @Override
- protected void onInitialize() {
- super.onInitialize();
-
- // add(example1());
- add(new UtrechtFormLabel("utrechtLabel1", Model.of("Voornaam")));
- }
-}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index b68f3eff..c4c4e8f4 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -6,6 +6,7 @@
import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
import nl.rotterdam.design_system.wicket.components.column_layout.utrecht.UtrechtColumnLayoutBorder;
import nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht.UtrechtFormFieldCheckbox;
+import nl.rotterdam.design_system.wicket.components.form_label.utrecht.UtrechtFormLabel;
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
@@ -16,6 +17,7 @@
import nl.rotterdam.wicket.docs.code_block.CodeBlockExamplesPanel;
import nl.rotterdam.wicket.docs.column_layout.ColumnLayoutExamplesPanel;
import nl.rotterdam.wicket.docs.form_field_checkbox.FormFieldCheckboxExamplesPanel;
+import nl.rotterdam.wicket.docs.form_field_label.FormFieldLabelExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
@@ -95,6 +97,15 @@ void generateFormFieldCheckboxComponent() {
).generate();
}
+ @Test
+ void generateFormFieldLabelComponent() {
+ new MarkdownDocumentationExamplesGenerator(
+ FormFieldLabelExamplesPanel.class,
+ UtrechtFormLabel.class,
+ "form-field-label"
+ ).generate();
+ }
+
@Test
void generateHeadingComponent() {
new MarkdownDocumentationExamplesGenerator(
From 169cd2c8998bfd09d8871bdb4cde4f373a321f69 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 08:51:15 +0100
Subject: [PATCH 24/75] test: add Heading Group stories
---
.../HeadingGroupExamplesPanel.html | 23 +++++++++++++++++
.../HeadingGroupExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html
new file mode 100644
index 00000000..91196a47
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Heading group component
+
+
Toont een combinatie van een titel en ondersteunende tekst.
+
+
+
+ Heading Group
+
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.java
new file mode 100644
index 00000000..bb6d8ed1
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.heading_group;
+
+import nl.rotterdam.design_system.wicket.components.heading_group.utrecht.UtrechtHeadingGroupBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class HeadingGroupExamplesPanel extends Panel {
+
+ public HeadingGroupExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleHeadingGroup() {
+ return new UtrechtHeadingGroupBorder("utrechtHeadingGroup");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleHeadingGroup());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index c4c4e8f4..48a7a6ed 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -8,6 +8,7 @@
import nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht.UtrechtFormFieldCheckbox;
import nl.rotterdam.design_system.wicket.components.form_label.utrecht.UtrechtFormLabel;
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
+import nl.rotterdam.design_system.wicket.components.heading_group.utrecht.UtrechtHeadingGroupBorder;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -19,6 +20,7 @@
import nl.rotterdam.wicket.docs.form_field_checkbox.FormFieldCheckboxExamplesPanel;
import nl.rotterdam.wicket.docs.form_field_label.FormFieldLabelExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
+import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -115,6 +117,15 @@ void generateHeadingComponent() {
).generate();
}
+ @Test
+ void generateHeadingGroupComponent() {
+ new MarkdownDocumentationExamplesGenerator(
+ HeadingGroupExamplesPanel.class,
+ UtrechtHeadingGroupBorder.class,
+ "heading-group"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From 6a82f968fb9a3116689e30e94deae5cafa68211e Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 08:59:53 +0100
Subject: [PATCH 25/75] test: add HTML Content stories
---
.../HtmlContentExamplesPanel.html | 23 +++++++++++++++++
.../HtmlContentExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html
new file mode 100644
index 00000000..02b05eb9
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ HTML Content component
+
+
Toont HTML-inhoud met de opmaak van het design system.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.java
new file mode 100644
index 00000000..abc16b74
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.html_content;
+
+import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class HtmlContentExamplesPanel extends Panel {
+
+ public HtmlContentExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleHtmlContent() {
+ return new UtrechtHtmlContentBorder("utrechtHtmlContent");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleHtmlContent());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 48a7a6ed..138ad3c3 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -9,6 +9,7 @@
import nl.rotterdam.design_system.wicket.components.form_label.utrecht.UtrechtFormLabel;
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.design_system.wicket.components.heading_group.utrecht.UtrechtHeadingGroupBorder;
+import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -21,6 +22,7 @@
import nl.rotterdam.wicket.docs.form_field_label.FormFieldLabelExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
+import nl.rotterdam.wicket.docs.html_content.HtmlContentExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -126,6 +128,15 @@ void generateHeadingGroupComponent() {
).generate();
}
+ @Test
+ void generateHtmlContentComponent() {
+ new MarkdownDocumentationExamplesGenerator(
+ HtmlContentExamplesPanel.class,
+ UtrechtHtmlContentBorder.class,
+ "html-content"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From 5313b47ecfd7ba0440b51bb701b8b165bc849f5d Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 09:02:16 +0100
Subject: [PATCH 26/75] test: add Rotterdam Logo Image stories
---
.../RotterdamLogoImageExamplesPanel.html | 23 +++++++++++++++++
.../RotterdamLogoImageExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.html
new file mode 100644
index 00000000..a75f6f96
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Logo Image van gemeente Rotterdam component
+
+
Logo van gemeente Rotterdam als SVG-afbeelding.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.java
new file mode 100644
index 00000000..76bd93e3
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.logo_image;
+
+import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class RotterdamLogoImageExamplesPanel extends Panel {
+
+ public RotterdamLogoImageExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleLogoImage() {
+ return new RotterdamLogoImage("rotterdamLogoImage");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleLogoImage());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 138ad3c3..f2f57c3c 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -10,6 +10,7 @@
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.design_system.wicket.components.heading_group.utrecht.UtrechtHeadingGroupBorder;
import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
+import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -23,6 +24,7 @@
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
import nl.rotterdam.wicket.docs.html_content.HtmlContentExamplesPanel;
+import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -137,6 +139,15 @@ void generateHtmlContentComponent() {
).generate();
}
+ @Test
+ void generateRotterdamLogoImage() {
+ new MarkdownDocumentationExamplesGenerator(
+ RotterdamLogoImageExamplesPanel.class,
+ RotterdamLogoImage.class,
+ "rotterdam-logo-image"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From df2fabb707b08c484351389a3bf7c49a444bf8cc Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 09:27:32 +0100
Subject: [PATCH 27/75] test: add Logo stories
---
.../docs/logo/UtrechtLogoExamplesPanel.html | 23 +++++++++++++++++
.../docs/logo/UtrechtLogoExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.html
new file mode 100644
index 00000000..97cfdb3d
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Logo component
+
+
Bevat een afbeelding van een logo de gewenste afmetingen.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.java
new file mode 100644
index 00000000..fa95da58
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.logo;
+
+import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtLogoExamplesPanel extends Panel {
+
+ public UtrechtLogoExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleLogo() {
+ return new UtrechtLogoBorder("utrechtLogo");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleLogo());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index f2f57c3c..94b69bbb 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -10,6 +10,7 @@
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.design_system.wicket.components.heading_group.utrecht.UtrechtHeadingGroupBorder;
import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
+import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
@@ -24,6 +25,7 @@
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
import nl.rotterdam.wicket.docs.html_content.HtmlContentExamplesPanel;
+import nl.rotterdam.wicket.docs.logo.UtrechtLogoExamplesPanel;
import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
@@ -148,6 +150,15 @@ void generateRotterdamLogoImage() {
).generate();
}
+ @Test
+ void generateUtrechtLogo() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtLogoExamplesPanel.class,
+ UtrechtLogoBorder.class,
+ "utrecht-logo"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From 368cc517ac2089e33abdece2d9bdde5a8ea6e416 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 09:31:49 +0100
Subject: [PATCH 28/75] test: add Icon stories
---
.../wicket/docs/icon/IconExamplesPanel.html | 23 +++++++++++++++++
.../wicket/docs/icon/IconExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html
new file mode 100644
index 00000000..bee62544
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.java
new file mode 100644
index 00000000..89979539
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.icon;
+
+import nl.rotterdam.design_system.wicket.components.icon.utrecht.UtrechtIconBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class IconExamplesPanel extends Panel {
+
+ public IconExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleIconComponent() {
+ return new UtrechtIconBorder("utrechtIcon");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleIconComponent());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 94b69bbb..05f57e22 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -10,6 +10,7 @@
import nl.rotterdam.design_system.wicket.components.heading.utrecht.UtrechtHeading;
import nl.rotterdam.design_system.wicket.components.heading_group.utrecht.UtrechtHeadingGroupBorder;
import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
+import nl.rotterdam.design_system.wicket.components.icon.utrecht.UtrechtIconBorder;
import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
import nl.rotterdam.wicket.docs.ComponentExample;
@@ -25,6 +26,7 @@
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
import nl.rotterdam.wicket.docs.html_content.HtmlContentExamplesPanel;
+import nl.rotterdam.wicket.docs.icon.IconExamplesPanel;
import nl.rotterdam.wicket.docs.logo.UtrechtLogoExamplesPanel;
import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
@@ -159,6 +161,15 @@ void generateUtrechtLogo() {
).generate();
}
+ @Test
+ void generateUtrechtIcon() {
+ new MarkdownDocumentationExamplesGenerator(
+ IconExamplesPanel.class,
+ UtrechtIconBorder.class,
+ "utrecht-icon"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From f359d57f706480e0b5da08656c1869dbfd9a8b00 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Wed, 4 Dec 2024 09:36:50 +0100
Subject: [PATCH 29/75] test: add Number Badge stories
---
.../UtrechtNumberBadgeExamplesPanel.html | 23 ++++++++++++++++
.../UtrechtNumberBadgeExamplesPanel.java | 26 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 60 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.html
new file mode 100644
index 00000000..4f345e96
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Number Badge component
+
+
Klein label dat de aandacht trekt informeert over een aantal.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.java
new file mode 100644
index 00000000..96c4b649
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.java
@@ -0,0 +1,26 @@
+package nl.rotterdam.wicket.docs.number_badge;
+
+import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class UtrechtNumberBadgeExamplesPanel extends Panel {
+
+ public UtrechtNumberBadgeExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleNumberBadge() {
+ return new UtrechtNumberBadge("utrechtNumberBadge", Model.of("42"));
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleNumberBadge());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 05f57e22..3757b1fe 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -13,6 +13,7 @@
import nl.rotterdam.design_system.wicket.components.icon.utrecht.UtrechtIconBorder;
import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
+import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -29,6 +30,7 @@
import nl.rotterdam.wicket.docs.icon.IconExamplesPanel;
import nl.rotterdam.wicket.docs.logo.UtrechtLogoExamplesPanel;
import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
+import nl.rotterdam.wicket.docs.number_badge.UtrechtNumberBadgeExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -170,6 +172,15 @@ void generateUtrechtIcon() {
).generate();
}
+ @Test
+ void generateUtrechtNumberBadge() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtNumberBadgeExamplesPanel.class,
+ UtrechtNumberBadge.class,
+ "utrecht-number-badge"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From a031ed5d31165986d174b8b09f1be648a70b35e9 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 01:36:01 +0100
Subject: [PATCH 30/75] test: add Page Body stories
---
.../UtrechtPageBodyExamplesPanel.html | 23 +++++++++++++++++
.../UtrechtPageBodyExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.html
new file mode 100644
index 00000000..33dfb3df
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Page Body component
+
+
Inhoud van de pagina.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.java
new file mode 100644
index 00000000..6dbe5919
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.page_body;
+
+import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtPageBodyExamplesPanel extends Panel {
+
+ public UtrechtPageBodyExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component examplePageBody() {
+ return new UtrechtPageBodyBorder("utrechtPageBody");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(examplePageBody());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 3757b1fe..b81b4ec5 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -14,6 +14,7 @@
import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
+import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -31,6 +32,7 @@
import nl.rotterdam.wicket.docs.logo.UtrechtLogoExamplesPanel;
import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
import nl.rotterdam.wicket.docs.number_badge.UtrechtNumberBadgeExamplesPanel;
+import nl.rotterdam.wicket.docs.page_body.UtrechtPageBodyExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -181,6 +183,15 @@ void generateUtrechtNumberBadge() {
).generate();
}
+ @Test
+ void generateUtrechtPageBody() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtPageBodyExamplesPanel.class,
+ UtrechtPageBodyBorder.class,
+ "utrecht-page-body"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From cb17a4bf1205f05aee0ce39a213215608dba38b2 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 01:38:09 +0100
Subject: [PATCH 31/75] test: add Page Footer stories
---
.../wicket/docs/page_footer/PageFooter | 0
.../page_footer/PageFooterExamplesPanel.html | 0
.../UtrechtPageFooterExamplesPanel.html | 23 +++++++++++++++++
.../UtrechtPageFooterExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
5 files changed, 59 insertions(+)
delete mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooter
delete mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooterExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooter b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooter
deleted file mode 100644
index e69de29b..00000000
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooterExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/PageFooterExamplesPanel.html
deleted file mode 100644
index e69de29b..00000000
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.html
new file mode 100644
index 00000000..b74fba26
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Page Footer component
+
+
Informatie en links onder de pagina.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.java
new file mode 100644
index 00000000..a748e061
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.page_footer;
+
+import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtPageFooterExamplesPanel extends Panel {
+
+ public UtrechtPageFooterExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component examplePageFooter() {
+ return new UtrechtPageFooterBorder("utrechtPageFooter");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(examplePageFooter());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index b81b4ec5..1c37b27d 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -15,6 +15,7 @@
import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
+import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -33,6 +34,7 @@
import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
import nl.rotterdam.wicket.docs.number_badge.UtrechtNumberBadgeExamplesPanel;
import nl.rotterdam.wicket.docs.page_body.UtrechtPageBodyExamplesPanel;
+import nl.rotterdam.wicket.docs.page_footer.UtrechtPageFooterExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -192,6 +194,15 @@ void generateUtrechtPageBody() {
).generate();
}
+ @Test
+ void generateUtrechtPageFooter() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtPageFooterExamplesPanel.class,
+ UtrechtPageFooterBorder.class,
+ "utrecht-page-footer"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From b61fb766a67b46ef0643b8668dc651c2de9ea238 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 01:40:57 +0100
Subject: [PATCH 32/75] test: add Page Layout stories
---
.../page_layout/PageLayoutExamplesPanel.java | 18 -------------
.../UtrechtPageLayoutExamplesPanel.html | 23 +++++++++++++++++
.../UtrechtPageLayoutExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
4 files changed, 59 insertions(+), 18 deletions(-)
delete mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/PageLayoutExamplesPanel.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/PageLayoutExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/PageLayoutExamplesPanel.java
deleted file mode 100644
index 56606014..00000000
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/PageLayoutExamplesPanel.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package nl.rotterdam.wicket.docs.page_layout;
-
-import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayout;
-import org.apache.wicket.markup.html.panel.Panel;
-
-public class PageLayoutExamplesPanel extends Panel {
-
- public PageLayoutExamplesPanel(String id) {
- super(id);
- }
-
- @Override
- protected void onInitialize() {
- super.onInitialize();
-
- add(new UtrechtPageLayout("utrechtPageLayout1"));
- }
-}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.html
new file mode 100644
index 00000000..a8cba0e4
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Page Layout component
+
+
Layout van de paginainhoud, en de informatie en links boven en onder de pagina.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.java
new file mode 100644
index 00000000..7e445fd1
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.page_layout;
+
+import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtPageLayoutExamplesPanel extends Panel {
+
+ public UtrechtPageLayoutExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component examplePageLayout() {
+ return new UtrechtPageLayoutBorder("utrechtPageLayout");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(examplePageLayout());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 1c37b27d..d3afdc0f 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -16,6 +16,7 @@
import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
+import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -35,6 +36,7 @@
import nl.rotterdam.wicket.docs.number_badge.UtrechtNumberBadgeExamplesPanel;
import nl.rotterdam.wicket.docs.page_body.UtrechtPageBodyExamplesPanel;
import nl.rotterdam.wicket.docs.page_footer.UtrechtPageFooterExamplesPanel;
+import nl.rotterdam.wicket.docs.page_layout.UtrechtPageLayoutExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -203,6 +205,15 @@ void generateUtrechtPageFooter() {
).generate();
}
+ @Test
+ void generateUtrechtPageLayout() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtPageLayoutExamplesPanel.class,
+ UtrechtPageLayoutBorder.class,
+ "utrecht-page-layout"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From 0468a55446da3913c57fd427e7798d3c2d51584e Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 01:49:26 +0100
Subject: [PATCH 33/75] test: add Preserve Data stories
---
.../UtrechtPreserveDataExamplesPanel.html | 23 ++++++++++++++++
.../UtrechtPreserveDataExamplesPanel.java | 26 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 60 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.html
new file mode 100644
index 00000000..af93592f
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Preserve Data component
+
+
Toont data zoals de is ingevoerd.
+
+
+
+ Preserve Data
+
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.java
new file mode 100644
index 00000000..acad1360
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.java
@@ -0,0 +1,26 @@
+package nl.rotterdam.wicket.docs.preserve_data;
+
+import nl.rotterdam.design_system.wicket.components.preserve_data.utrecht.UtrechtPreserveDataLabel;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class UtrechtPreserveDataExamplesPanel extends Panel {
+
+ public UtrechtPreserveDataExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component examplePreserveData() {
+ return new UtrechtPreserveDataLabel("utrechtPreserveData", Model.of("Mees de Vos"));
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(examplePreserveData());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index d3afdc0f..829f9980 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -17,6 +17,7 @@
import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
+import nl.rotterdam.design_system.wicket.components.preserve_data.utrecht.UtrechtPreserveDataLabel;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -37,6 +38,7 @@
import nl.rotterdam.wicket.docs.page_body.UtrechtPageBodyExamplesPanel;
import nl.rotterdam.wicket.docs.page_footer.UtrechtPageFooterExamplesPanel;
import nl.rotterdam.wicket.docs.page_layout.UtrechtPageLayoutExamplesPanel;
+import nl.rotterdam.wicket.docs.preserve_data.UtrechtPreserveDataExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -214,6 +216,15 @@ void generateUtrechtPageLayout() {
).generate();
}
+ @Test
+ void generateUtrechtPreserveData() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtPreserveDataExamplesPanel.class,
+ UtrechtPreserveDataLabel.class,
+ "utrecht-preserve-data"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From 0a0a29f998fc17b007085154b86a14217b045fc5 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 01:52:56 +0100
Subject: [PATCH 34/75] test: add Root stories
---
.../docs/root/UtrechtRootExamplesPanel.html | 23 +++++++++++++++++
.../docs/root/UtrechtRootExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.html
new file mode 100644
index 00000000..b16b96a2
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Root component
+
+
Eerste component van de pagina, op het niveau van het html
-element.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.java
new file mode 100644
index 00000000..93ab1501
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.root;
+
+import nl.rotterdam.design_system.wicket.components.root.utrecht.UtrechtRootBorder;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtRootExamplesPanel extends Panel {
+
+ public UtrechtRootExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleRoot() {
+ return new UtrechtRootBorder("utrechtRoot");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleRoot());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 829f9980..ca607b25 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -18,6 +18,7 @@
import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
import nl.rotterdam.design_system.wicket.components.preserve_data.utrecht.UtrechtPreserveDataLabel;
+import nl.rotterdam.design_system.wicket.components.root.utrecht.UtrechtRootBorder;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -39,6 +40,7 @@
import nl.rotterdam.wicket.docs.page_footer.UtrechtPageFooterExamplesPanel;
import nl.rotterdam.wicket.docs.page_layout.UtrechtPageLayoutExamplesPanel;
import nl.rotterdam.wicket.docs.preserve_data.UtrechtPreserveDataExamplesPanel;
+import nl.rotterdam.wicket.docs.root.UtrechtRootExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -225,6 +227,15 @@ void generateUtrechtPreserveData() {
).generate();
}
+ @Test
+ void generateUtrechtRoot() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtRootExamplesPanel.class,
+ UtrechtRootBorder.class,
+ "utrecht-root"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From 73526b546f5d0388f3a287eaf6e1446a33e8f9c3 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 02:09:05 +0100
Subject: [PATCH 35/75] test: add Separator stories
---
.../UtrechtSeparatorExamplesPanel.html | 26 +++++++++++++++++++
.../UtrechtSeparatorExamplesPanel.java | 25 ++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 62 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.html
new file mode 100644
index 00000000..59ef49b6
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+ Separator component
+
+
+ Markering van de plek waar de tekst op een nieuwe manier verdergaat, zoals een nieuwe scène of een ander
+ onderwerp.
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.java
new file mode 100644
index 00000000..710cd3e8
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.separator;
+
+import nl.rotterdam.design_system.wicket.components.separator.utrecht.UtrechtSeparator;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtSeparatorExamplesPanel extends Panel {
+
+ public UtrechtSeparatorExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleSeparator() {
+ return new UtrechtSeparator("utrechtSeparator");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleSeparator());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index ca607b25..db0698a7 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -19,6 +19,7 @@
import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
import nl.rotterdam.design_system.wicket.components.preserve_data.utrecht.UtrechtPreserveDataLabel;
import nl.rotterdam.design_system.wicket.components.root.utrecht.UtrechtRootBorder;
+import nl.rotterdam.design_system.wicket.components.separator.utrecht.UtrechtSeparator;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -41,6 +42,7 @@
import nl.rotterdam.wicket.docs.page_layout.UtrechtPageLayoutExamplesPanel;
import nl.rotterdam.wicket.docs.preserve_data.UtrechtPreserveDataExamplesPanel;
import nl.rotterdam.wicket.docs.root.UtrechtRootExamplesPanel;
+import nl.rotterdam.wicket.docs.separator.UtrechtSeparatorExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -236,6 +238,15 @@ void generateUtrechtRoot() {
).generate();
}
+ @Test
+ void generateUtrechtSeparator() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtSeparatorExamplesPanel.class,
+ UtrechtSeparator.class,
+ "utrecht-separator"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From 34d16d59558e0d970b4c46863dcd553e82b3245d Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 02:10:28 +0100
Subject: [PATCH 36/75] test: add Ordered List stories
---
.../UtrechtOrderedListExamplesPanel.html | 23 +++++++++++++++++
.../UtrechtOrderedListExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 11 ++++++++
3 files changed, 59 insertions(+)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
new file mode 100644
index 00000000..bf833b46
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Ordered List component
+
+
Lijst waarvan de volgorde van items betekenis heeft.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.java
new file mode 100644
index 00000000..1e6f22cf
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.ordered_list;
+
+import nl.rotterdam.design_system.wicket.components.ordered_list.utrecht.UtrechtOrderedList;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtOrderedListExamplesPanel extends Panel {
+
+ public UtrechtOrderedListExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleOrderedList() {
+ return new UtrechtOrderedList("utrechtOrderedList");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleOrderedList());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index db0698a7..6bab6aeb 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -14,6 +14,7 @@
import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
+import nl.rotterdam.design_system.wicket.components.ordered_list.utrecht.UtrechtOrderedList;
import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
@@ -37,6 +38,7 @@
import nl.rotterdam.wicket.docs.logo.UtrechtLogoExamplesPanel;
import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
import nl.rotterdam.wicket.docs.number_badge.UtrechtNumberBadgeExamplesPanel;
+import nl.rotterdam.wicket.docs.ordered_list.UtrechtOrderedListExamplesPanel;
import nl.rotterdam.wicket.docs.page_body.UtrechtPageBodyExamplesPanel;
import nl.rotterdam.wicket.docs.page_footer.UtrechtPageFooterExamplesPanel;
import nl.rotterdam.wicket.docs.page_layout.UtrechtPageLayoutExamplesPanel;
@@ -247,6 +249,15 @@ void generateUtrechtSeparator() {
).generate();
}
+ @Test
+ void generateUtrechtOrderedList() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtOrderedListExamplesPanel.class,
+ UtrechtOrderedList.class,
+ "utrecht-ordered-list"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From 57a7477322589cf1ed9684fca8e50eaab6716251 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 02:13:50 +0100
Subject: [PATCH 37/75] test: add Unordered List stories
---
.../wicket/docs/unordered_list/Kind.java | 6 -----
.../UtrechtUnorderedListExamplesPanel.html | 23 +++++++++++++++++
.../UtrechtUnorderedListExamplesPanel.java | 25 +++++++++++++++++++
.../GenerateMarkdownAndStorybookExamples.java | 9 +++++++
4 files changed, 57 insertions(+), 6 deletions(-)
delete mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java
deleted file mode 100644
index e92da387..00000000
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package nl.rotterdam.wicket.docs.unordered_list;
-
-import java.io.Serializable;
-
-public record Kind(String naam, int geboortejaar, long administratienummer) implements Serializable {
-}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html
new file mode 100644
index 00000000..549b5f22
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+ Unordered List component
+
+
Opsomming waar de volgorde van items in de lijst niet van belang is.
+
+
+
+ Unordered List
+
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.java
new file mode 100644
index 00000000..a7d463f3
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.wicket.docs.unordered_list;
+
+import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedList;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtUnorderedListExamplesPanel extends Panel {
+
+ public UtrechtUnorderedListExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleUnorderedList() {
+ return new UtrechtUnorderedList("utrechtUnorderedList");
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleUnorderedList());
+ }
+}
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 6bab6aeb..a33894bb 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -258,6 +258,15 @@ void generateUtrechtOrderedList() {
).generate();
}
+ @Test
+ void generateUtrechtUnorderedList() {
+ new MarkdownDocumentationExamplesGenerator(
+ UtrechtOrderedListExamplesPanel.class,
+ UtrechtOrderedList.class,
+ "utrecht-unordered-list"
+ ).generate();
+ }
+
@AfterEach
void tearDown() {
tester.destroy();
From 390a38ef567301523ceb1a1654fb046d704080e4 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 02:16:28 +0100
Subject: [PATCH 38/75] docs: improve Apache Wicket stories
---
.../MarkdownDocumentationExamplesGenerator.java | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
index 1e72f58a..f9f3944e 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
@@ -157,12 +157,11 @@ private void writeWicketComponentsReadme(List results) t
"",
"# " + componentNameCapitalized + " component voor Apache Wicket",
"",
- "[Broncode van dit voorbeeld](" + gitHubExamplePath + ")",
+ convertToMarkdown(documentationExtractor.extractHeader()),
"",
- "[Broncode van de component](" + gitHubComponentPath + ")",
+ "[Broncode van dit voorbeeld](" + gitHubExamplePath + ")",
"",
- convertToMarkdown(documentationExtractor.extractHeader()),
- "Hieronder volgen verschillende voorbeelden van het gebruik van het component in Apache Wicket."
+ "[Broncode van de component](" + gitHubComponentPath + ")"
)
);
@@ -177,7 +176,10 @@ private void writeWicketComponentsReadme(List results) t
lines.addAll(
List.of(
"```html",
- example.htmlSnippet().codeHTML(),
+ "",
+ // TODO: Indent each line of codeHTML, not only the first
+ " " + example.htmlSnippet().codeHTML(),
+ " ",
"```",
"",
"```java",
From c9f9ba749004fa7f9dbb3c07d0e3f6849e87ab9a Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 09:04:59 +0100
Subject: [PATCH 39/75] docs: add component examples to dev server
---
.../rotterdam/wicket/docs/ComponentsPage.html | 31 ++++-
.../rotterdam/wicket/docs/ComponentsPage.java | 111 +++++++++++++-----
.../rotterdam/wicket/docs/ComponentsPage.js | 2 +
.../wicket/docs/alert/AlertExamplesPanel.html | 40 ++++---
.../badge_list/BadgeListExamplesPanel.html | 6 +-
.../wicket/docs/body/BodyExamplesPanel.html | 8 +-
.../ButtonGroupExamplesPanel.html | 6 +-
.../code_block/CodeBlockExamplesPanel.html | 6 +-
.../ColumnLayoutExamplesPanel.html | 6 +-
.../FormFieldCheckboxExamplesPanel.html | 6 +-
.../FormFieldLabelExamplesPanel.html | 6 +-
.../docs/heading/HeadingExamplesPanel.html | 98 ++++++++++------
.../HeadingGroupExamplesPanel.html | 6 +-
.../HtmlContentExamplesPanel.html | 6 +-
.../wicket/docs/icon/IconExamplesPanel.html | 6 +-
.../docs/logo/UtrechtLogoExamplesPanel.html | 6 +-
.../RotterdamLogoImageExamplesPanel.html | 6 +-
.../UtrechtNumberBadgeExamplesPanel.html | 6 +-
.../UtrechtOrderedListExamplesPanel.html | 6 +-
.../UtrechtPageBodyExamplesPanel.html | 6 +-
.../UtrechtPageFooterExamplesPanel.html | 6 +-
.../UtrechtPageLayoutExamplesPanel.html | 6 +-
.../UtrechtPreserveDataExamplesPanel.html | 6 +-
.../wicket/docs/rods-story-canvas.js | 42 +++++++
.../docs/root/UtrechtRootExamplesPanel.html | 6 +-
.../UtrechtSeparatorExamplesPanel.html | 6 +-
.../UtrechtUnorderedListExamplesPanel.html | 6 +-
27 files changed, 303 insertions(+), 149 deletions(-)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/rods-story-canvas.js
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index eb2b89f6..c488312b 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -19,6 +19,29 @@
Components
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Code Block
@@ -26,7 +49,7 @@ Code Block
-
+
42
Link to trigger Wicket stateful page refresh
@@ -37,10 +60,10 @@ Hello world
-
+
Buttons go here
@@ -101,7 +124,7 @@ Heading in a heading group
Page footer
+
- >>>>>>> 7de5dcc (feat: add many new Wicket components)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index 5fe68613..94322c96 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -1,8 +1,10 @@
package nl.rotterdam.wicket.docs;
import css.DesignSystemTheme;
-import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
-import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlertType;
+import java.util.Arrays;
+import java.util.List;
+// import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
+// import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlertType;
import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
import nl.rotterdam.design_system.wicket.components.column_layout.utrecht.UtrechtColumnLayoutBorder;
@@ -22,13 +24,36 @@
import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
import nl.rotterdam.design_system.wicket.components.separator.utrecht.UtrechtSeparator;
import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedList;
-import nl.rotterdam.wicket.docs.form_label.FormLabelExamplesPanel;
+import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
+import nl.rotterdam.wicket.docs.badge_list.BadgeListExamplesPanel;
+import nl.rotterdam.wicket.docs.body.BodyExamplesPanel;
+import nl.rotterdam.wicket.docs.button_group.ButtonGroupExamplesPanel;
+import nl.rotterdam.wicket.docs.code_block.CodeBlockExamplesPanel;
+import nl.rotterdam.wicket.docs.column_layout.ColumnLayoutExamplesPanel;
+import nl.rotterdam.wicket.docs.form_field_checkbox.FormFieldCheckboxExamplesPanel;
+import nl.rotterdam.wicket.docs.form_field_label.FormFieldLabelExamplesPanel;
+// import nl.rotterdam.wicket.docs.form_label.FormLabelExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
+import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
+import nl.rotterdam.wicket.docs.html_content.HtmlContentExamplesPanel;
+import nl.rotterdam.wicket.docs.icon.IconExamplesPanel;
+import nl.rotterdam.wicket.docs.logo.UtrechtLogoExamplesPanel;
+import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
+import nl.rotterdam.wicket.docs.number_badge.UtrechtNumberBadgeExamplesPanel;
+import nl.rotterdam.wicket.docs.ordered_list.UtrechtOrderedListExamplesPanel;
+import nl.rotterdam.wicket.docs.page_body.UtrechtPageBodyExamplesPanel;
+import nl.rotterdam.wicket.docs.page_footer.UtrechtPageFooterExamplesPanel;
+import nl.rotterdam.wicket.docs.page_layout.UtrechtPageLayoutExamplesPanel;
+import nl.rotterdam.wicket.docs.preserve_data.UtrechtPreserveDataExamplesPanel;
+import nl.rotterdam.wicket.docs.root.UtrechtRootExamplesPanel;
+import nl.rotterdam.wicket.docs.separator.UtrechtSeparatorExamplesPanel;
import nl.rotterdam.wicket.docs.unordered_list.Kind;
+import nl.rotterdam.wicket.docs.unordered_list.UtrechtUnorderedListExamplesPanel;
import org.apache.wicket.Component;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem;
+import org.apache.wicket.markup.head.JavaScriptReferenceType;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -42,9 +67,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Arrays;
-import java.util.List;
-
public class ComponentsPage extends BasePage {
private static final Logger LOGGER = LoggerFactory.getLogger(ComponentsPage.class);
@@ -83,6 +105,8 @@ private static Component createActiveThemeChoice() {
@Override
protected void onInitialize() {
super.onInitialize();
+
+ // Build up the page layout
pageLayout = new UtrechtPageLayoutBorder("utrechtPageLayout");
add(pageLayout);
@@ -102,11 +126,37 @@ protected void onInitialize() {
pageBody.add(new UtrechtCodeBlock("code-block-example", Model.of("Reload Page")));
+ // Add the component stories
+ pageBody.add(new AlertExamplesPanel("alertExamplesPanel"));
+ pageBody.add(new BadgeListExamplesPanel("badgeListExamplesPanel"));
+ pageBody.add(new BodyExamplesPanel("bodyExamplesPanel"));
+ pageBody.add(new ButtonGroupExamplesPanel("buttonGroupExamplesPanel"));
+ pageBody.add(new CodeBlockExamplesPanel("codeBlockExamplesPanel"));
+ pageBody.add(new ColumnLayoutExamplesPanel("columnLayoutExamplesPanel"));
+ pageBody.add(new FormFieldCheckboxExamplesPanel("formFieldCheckboxExamplesPanel"));
+ pageBody.add(new FormFieldLabelExamplesPanel("formFieldLabelExamplesPanel"));
+ pageBody.add(new HeadingExamplesPanel("headingExamplesPanel"));
+ pageBody.add(new HeadingGroupExamplesPanel("headingGroupExamplesPanel"));
+ pageBody.add(new HtmlContentExamplesPanel("htmlContentExamplesPanel"));
+ pageBody.add(new IconExamplesPanel("iconExamplesPanel"));
+ pageBody.add(new RotterdamLogoImageExamplesPanel("rotterdamLogoImageExamplesPanel"));
+ pageBody.add(new UtrechtLogoExamplesPanel("logoExamplesPanel"));
+ pageBody.add(new UtrechtNumberBadgeExamplesPanel("numberBadgeExamplesPanel"));
+ pageBody.add(new UtrechtOrderedListExamplesPanel("orderedListExamplesPanel"));
+ pageBody.add(new UtrechtPageBodyExamplesPanel("pageBodyExamplesPanel"));
+ pageBody.add(new UtrechtPageFooterExamplesPanel("pageFooterExamplesPanel"));
+ pageBody.add(new UtrechtPageLayoutExamplesPanel("pageLayoutExamplesPanel"));
+ pageBody.add(new UtrechtPreserveDataExamplesPanel("preserveDataExamplesPanel"));
+ pageBody.add(new UtrechtRootExamplesPanel("rootExamplesPanel"));
+ pageBody.add(new UtrechtSeparatorExamplesPanel("separatorExamplesPanel"));
+ pageBody.add(new UtrechtUnorderedListExamplesPanel("unorderedListExamplesPanel"));
+
pageBody.add(new HeadingExamplesPanel("headingComponents"));
// add(new HeadingPanel("labelComponents"));
- pageBody.add(new FormLabelExamplesPanel("labelComponents"));
+ // pageBody.add(new FormFieldLabelExamplesPanel("labelComponents"));
pageBody.add(new UtrechtHtmlContentBorder("utrechtHtmlContent"));
pageBody.add(new UtrechtNumberBadge("utrechtNumberBadge", Model.of("42")));
+ /*
pageBody.add(
new UtrechtAlert(
"utrechtAlertInfo",
@@ -143,6 +193,7 @@ protected void onInitialize() {
UtrechtAlertType.OK
)
);
+ */
pageBody.add(new UtrechtSeparator("utrechtSeparator"));
pageBody.add(new UtrechtButtonGroupBorder("utrechtButtonGroup"));
orderedList = new UtrechtOrderedList("utrechtOrderedList");
@@ -173,36 +224,38 @@ protected void onInitialize() {
// }
// );
-
List kinderen = List.of(
new Kind("Jan", 2000, 123456789),
new Kind("Storm", 2001, 123456790),
new Kind("Fatima", 2002, 123456791)
);
+ pageBody.add(
+ new WebMarkupContainer("utrechtOrderedListWebMarkupContainer") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
- pageBody.add(new WebMarkupContainer("utrechtOrderedListWebMarkupContainer") {
- @Override
- protected void onInitialize() {
- super.onInitialize();
-
- add(new UtrechtOrderedListBehavior()); // TODO should be singleton
- add(new ListView("listItem", kinderen) {
-
- @Override
- protected void populateItem(ListItem item) {
- Kind kind = item.getModelObject();
- item.add(new UtrechtOrderedListItemBehavior()); // TODO: should be singleton
- item.add(new ExternalLink("link",
- "https://concern.ir.rotterdam.nl/example/kind/" + kind.administratienummer(),
- kind.naam() + " - " + kind.geboortejaar())
- );
-
+ add(new UtrechtOrderedListBehavior()); // TODO should be singleton
+ add(
+ new ListView("listItem", kinderen) {
+ @Override
+ protected void populateItem(ListItem item) {
+ Kind kind = item.getModelObject();
+ item.add(new UtrechtOrderedListItemBehavior()); // TODO: should be singleton
+ item.add(
+ new ExternalLink(
+ "link",
+ "https://concern.ir.rotterdam.nl/example/kind/" + kind.administratienummer(),
+ kind.naam() + " - " + kind.geboortejaar()
+ )
+ );
+ }
}
- }
- );
+ );
+ }
}
- });
+ );
// RepeatingView listItems = new RepeatingView("utrechtOrderedListItem");
// listItems.add(new Label(listItems.newChildId(), "green"));
@@ -227,6 +280,8 @@ protected void populateItem(ListItem item) {
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
+
+ COMPONENTS_JS_HEADER_ITEM.setType(JavaScriptReferenceType.MODULE);
response.render(COMPONENTS_JS_HEADER_ITEM);
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.js b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.js
index e479da20..02eba734 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.js
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.js
@@ -1,4 +1,6 @@
/* eslint-env browser:true */
+import './rods-story-canvas.js';
+
document.addEventListener('DOMContentLoaded', function () {
function updateTheme(newTheme) {
const htmlElement = document.documentElement; // Get the element
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html
index 87f33d05..c78dfc96 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html
@@ -11,41 +11,49 @@ Alert component
Alert Alert
-
- Lorem ipsum dolor sit amet
-
+
+ Lorem ipsum dolor sit amet
+
Alert Warning
-
- Lorem ipsum dolor sit amet
-
+
+ Lorem ipsum dolor sit amet
+
Alert OK
-
- Lorem ipsum dolor sit amet
-
+
+ Lorem ipsum dolor sit amet
+
Alert Info
-
- Lorem ipsum dolor sit amet
-
+
+ Lorem ipsum dolor sit amet
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html
index b8a0530f..d282c6a3 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html
@@ -11,9 +11,9 @@ Badge List component
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.html
index e209f4e2..90eed4b2 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/body/BodyExamplesPanel.html
@@ -13,9 +13,11 @@ Body
-
- Lorem ipsum dolor sit amet
-
+
+ Lorem ipsum dolor sit amet
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.html
index 3a5a4e9b..66ec8d72 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button_group/ButtonGroupExamplesPanel.html
@@ -13,9 +13,9 @@ Button Group
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.html
index a819bd85..d5993f78 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/code_block/CodeBlockExamplesPanel.html
@@ -13,9 +13,9 @@ Code Block
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html
index db76e2e5..342ec020 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html
@@ -13,9 +13,9 @@ Column Layout
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.html
index 46242446..556a2bf4 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_checkbox/FormFieldCheckboxExamplesPanel.html
@@ -13,9 +13,9 @@ Form Field Checkbox
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.html
index caa2fbcb..32458484 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_label/FormFieldLabelExamplesPanel.html
@@ -17,9 +17,9 @@ Form Field Label
Koppel de label met de form control met "for" en "id".
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading/HeadingExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading/HeadingExamplesPanel.html
index fd1e49f0..bc75b2b4 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading/HeadingExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading/HeadingExamplesPanel.html
@@ -22,44 +22,56 @@ Kop 1
Gebruik h1 maximaal één keer per pagina.
-
- Gebruik maximaal één h1 per pagina
-
+
+ Gebruik maximaal één h1 per pagina
+
Kop 2
-
- Header 2
-
+
+ Header 2
+
Kop 3
-
- Header 3
-
+
+ Header 3
+
Kop 4
-
- Header 4
-
+
+ Header 4
+
Kop 5
-
- Header 5
-
+
+ Header 5
+
Kop 6
-
- Header 6
-
+
+ Header 6
+
@@ -67,11 +79,13 @@ Tags worden vervangen
Het Wicket component vervangt automatisch een div door de juiste kop-tag:
-
-
- Utrecht label 3 met div wordt door Wicket bij het renderen vervangen.
-
-
+
+
+ Utrecht label 3 met div wordt door Wicket bij het renderen vervangen.
+
+
@@ -79,9 +93,11 @@ Behoud bestaande CSS class
Bestaande CSS-class wordt behouden:
-
-
-
+
+
+
@@ -89,9 +105,11 @@ Model constructor
Tekst kan gezet worden met model constructor:
-
- Tekst wordt gezet via model constructor
-
+
+ Tekst wordt gezet via model constructor
+
@@ -99,9 +117,11 @@ Model via defaultModel
Tekst kan gezet worden via defaultModel:
-
- Tekst wordt gezet via defaultModel
-
+
+ Tekst wordt gezet via defaultModel
+
@@ -109,12 +129,14 @@ MarkupContainer met niet-vertaalbare content
Koptekst die een persoonsnaam bevat, die dus niet vertaald moet worden door vertaalsoftware:
-
-
- Welkom mevrouw
- Van Bergenhenegouwen
-
-
+
+
+ Welkom mevrouw
+ Van Bergenhenegouwen
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html
index 91196a47..6676ee2e 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html
@@ -13,9 +13,9 @@ Heading Group
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html
index 02b05eb9..c98aec7c 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html
@@ -13,9 +13,9 @@ HTML Content
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html
index bee62544..b427e654 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html
@@ -13,9 +13,9 @@ Icon
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.html
index 97cfdb3d..6b90891f 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo/UtrechtLogoExamplesPanel.html
@@ -13,9 +13,9 @@ Logo
-
-
-
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.html
index a75f6f96..027495ae 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/logo_image/RotterdamLogoImageExamplesPanel.html
@@ -13,9 +13,9 @@ Logo Image
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.html
index 4f345e96..6dc1449d 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/number_badge/UtrechtNumberBadgeExamplesPanel.html
@@ -13,9 +13,9 @@ Number Badge
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
index bf833b46..1739fd4f 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
@@ -13,9 +13,9 @@ Ordered List
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.html
index 33dfb3df..5d44179d 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_body/UtrechtPageBodyExamplesPanel.html
@@ -13,9 +13,9 @@ Page Body
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.html
index b74fba26..87e127a3 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_footer/UtrechtPageFooterExamplesPanel.html
@@ -13,9 +13,9 @@ Page Footer
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.html
index a8cba0e4..0b51629e 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/page_layout/UtrechtPageLayoutExamplesPanel.html
@@ -13,9 +13,9 @@ Page Layout
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.html
index af93592f..a7ff86e8 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/preserve_data/UtrechtPreserveDataExamplesPanel.html
@@ -13,9 +13,9 @@ Preserve Data
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/rods-story-canvas.js b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/rods-story-canvas.js
new file mode 100644
index 00000000..36979bbd
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/rods-story-canvas.js
@@ -0,0 +1,42 @@
+const stylesheet = new CSSStyleSheet();
+
+stylesheet.replace(`
+.rods-story-canvas {
+ background-color: white;
+ border-color: rgb(0 0 0 / 10%);
+ border-radius: 4px;
+ border-style: solid;
+ border-width: 1px;
+ box-shadow: rgb(0 0 0 / 10%) 0 1px 3px 0;
+ margin-block-end: 40px;
+ margin-block-start: 25px;
+ padding-block-end: 30px;
+ padding-block-start: 30px;
+ padding-inline-end: 20px;
+ padding-inline-start: 20px;
+ position: relative;
+}`);
+
+class RodsStoryElement extends HTMLElement {
+ static name = 'rods-story-canvas';
+
+ static define = (registry = customElements) => registry.define(RodsStoryElement.name, RodsStoryElement);
+
+ constructor() {
+ super();
+ }
+
+ connectedCallback() {
+ const shadow = this.attachShadow({ mode: 'closed' });
+ shadow.adoptedStyleSheets = [stylesheet];
+ const template = this.querySelector('template');
+ const div = this.ownerDocument.createElement('div');
+ div.classList.add('rods-story-canvas');
+ shadow.appendChild(div);
+ if (template) {
+ div.appendChild(template.content.cloneNode(true));
+ }
+ }
+}
+
+RodsStoryElement.define();
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.html
index b16b96a2..31d95fa9 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/root/UtrechtRootExamplesPanel.html
@@ -13,9 +13,9 @@ Root
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.html
index 59ef49b6..aa199776 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/separator/UtrechtSeparatorExamplesPanel.html
@@ -16,9 +16,9 @@ Separator
-
-
-
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html
index 549b5f22..9ced1d9a 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html
@@ -13,9 +13,9 @@ Unordered List
-
-
-
+
+
From 3d77c8de2a9f9051dec12d43bc4ea7b6783677c8 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 10:27:06 +0100
Subject: [PATCH 40/75] refactor: use Behaviors for all the things
---
pnpm-lock.yaml | 8 +
wicket/components-wicket/package.json | 1 +
wicket/components-wicket/pom.xml | 215 +++++++++++++++++-
.../css/WicketComponentsCssReferences.java | 80 -------
.../alert/utrecht/UtrechtAlertBehavior.java | 18 +-
.../utrecht/UtrechtBadgeListBehavior.java | 22 ++
.../utrecht/UtrechtBadgeListBorder.java | 10 +-
.../body/utrecht/UtrechtBodyBehavior.java | 22 ++
.../body/utrecht/UtrechtBodyBorder.java | 10 +-
.../utrecht/UtrechtButtonGroupBehavior.java | 22 ++
.../utrecht/UtrechtButtonGroupBorder.java | 10 +-
.../utrecht/UtrechtCheckboxBehavior.java | 27 +++
.../code_block/utrecht/UtrechtCodeBlock.java | 10 +-
.../utrecht/UtrechtCodeBlockBehavior.java | 22 ++
.../utrecht/UtrechtColumnLayoutBehavior.java | 22 ++
.../utrecht/UtrechtColumnLayoutBorder.java | 10 +-
.../utrecht/UtrechtFormFieldBehavior.java | 22 ++
.../utrecht/UtrechtFormFieldCheckbox.java | 30 +--
.../UtrechtFormFieldDescriptionBehavior.java | 25 ++
.../UtrechtFormFieldErrorMessageBehavior.java | 25 ++
.../form_label/utrecht/UtrechtFormLabel.java | 10 +-
.../utrecht/UtrechtFormLabelBehavior.java | 22 ++
.../utrecht/UtrechtHeadingBehavior.java | 24 +-
.../utrecht/UtrechtHeadingGroupBehavior.java | 22 ++
.../utrecht/UtrechtHeadingGroupBorder.java | 10 +-
.../utrecht/UtrechtHtmlContentBehavior.java | 22 ++
.../utrecht/UtrechtHtmlContentBorder.java | 10 +-
.../icon/utrecht/UtrechtIconBehavior.java | 22 ++
.../icon/utrecht/UtrechtIconBorder.java | 10 +-
.../logo/utrecht/UtrechtLogoBehavior.java | 22 ++
.../logo/utrecht/UtrechtLogoBorder.java | 10 +-
.../utrecht/UtrechtNumberBadgeBehavior.java | 14 +-
.../utrecht/UtrechtOrderedListBehavior.java | 14 +-
.../UtrechtOrderedListItemBehavior.java | 6 -
.../utrecht/UtrechtPageBodyBehavior.java | 22 ++
.../utrecht/UtrechtPageBodyBorder.java | 1 +
.../utrecht/UtrechtPageFooterBehavior.java | 22 ++
.../utrecht/UtrechtPageFooterBorder.java | 10 +-
.../utrecht/UtrechtPageHeaderBehavior.java | 22 ++
.../utrecht/UtrechtPageHeaderBorder.java | 10 +-
.../utrecht/UtrechtPageLayout.java | 4 +-
.../utrecht/UtrechtPageLayoutBehavior.java | 22 ++
.../UtrechtPageLayoutBehavior.java-disabled | 36 ---
.../utrecht/UtrechtPageLayoutBorder.java | 10 +-
.../utrecht/UtrechtPreserveDataBehavior.java | 22 ++
.../utrecht/UtrechtPreserveDataLabel.java | 10 +-
.../root/utrecht/UtrechtRootBehavior.java | 22 ++
.../root/utrecht/UtrechtRootBorder.java | 10 +-
.../separator/utrecht/UtrechtSeparator.java | 10 +-
.../utrecht/UtrechtSeparatorBehavior.java | 22 ++
.../utrecht/UtrechtUnorderedList.java | 10 +-
.../utrecht/UtrechtUnorderedListBehavior.java | 14 +-
.../nl/rotterdam/wicket/docs/BasePage.java | 30 +--
.../wicket/docs/ESMReferenceHeaderItem.java | 14 ++
.../wicket/docs/rods-story-canvas.js | 3 +-
.../wicket/docs/unordered_list/Kind.java | 6 +
56 files changed, 807 insertions(+), 354 deletions(-)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/checkbox/utrecht/UtrechtCheckboxBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field/utrecht/UtrechtFormFieldBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_description/utrecht/UtrechtFormFieldDescriptionBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_error_message/utrecht/UtrechtFormFieldErrorMessageBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabelBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java
delete mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java-disabled
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparatorBehavior.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ESMReferenceHeaderItem.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 37e5f473..58c63a58 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -608,6 +608,9 @@ importers:
'@utrecht/button-group-css':
specifier: 1.4.0
version: 1.4.0
+ '@utrecht/code-block-css':
+ specifier: 1.4.0
+ version: 1.4.0
'@utrecht/column-layout-css':
specifier: 1.5.0
version: 1.5.0
@@ -2888,6 +2891,9 @@ packages:
react: '18'
react-dom: '18'
+ '@utrecht/code-block-css@1.4.0':
+ resolution: {integrity: sha512-jZF2CeGvNQfaTAgh8r0tZPQsMrzqcyUFkmWg0pz9Gt66R8y3d3Le3UgfIp5KKN0yFm35kuZvXsjRIUwvPQly/A==}
+
'@utrecht/column-layout-css@1.5.0':
resolution: {integrity: sha512-XnhA/CscHCwy5i35dOORgagmi0Ajhu/56Zr6ghRP42D8r2pcTL5YCYRAJ3qXozeQ+2QbDqzoGsVkYtmcuaJAFg==}
@@ -10536,6 +10542,8 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@utrecht/code-block-css@1.4.0': {}
+
'@utrecht/column-layout-css@1.5.0': {}
'@utrecht/combobox-react@0.0.5(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
diff --git a/wicket/components-wicket/package.json b/wicket/components-wicket/package.json
index 9dd0ba60..5004f98a 100644
--- a/wicket/components-wicket/package.json
+++ b/wicket/components-wicket/package.json
@@ -26,6 +26,7 @@
"@utrecht/body-css": "1.1.0",
"@utrecht/button-css": "1.1.0",
"@utrecht/button-group-css": "1.4.0",
+ "@utrecht/code-block-css": "1.4.0",
"@utrecht/column-layout-css": "1.5.0",
"@utrecht/custom-checkbox-css": "1.1.1",
"@utrecht/form-field-css": "1.5.0",
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index 9d7c9a0e..288daaa4 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -86,10 +86,223 @@
@nl-design-system-unstable/voorbeeld-design-tokens/dist/theme.css
@nl-design-system-candidate/paragraph-css/dist/paragraph.css
- @utrecht/*-css/dist/*.css
css
+
+ false
+ node_modules/
+
+ @utrecht/alert-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/alert/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/badge-list-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/badge_list/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/body-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/body/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/button-group-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/button_group/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/checkbox-css/dist/*.css
+ @utrecht/custom-checkbox-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/checkbox/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/code-block-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/code_block/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/column-layout-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/column_layout/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/form-field-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/form_field/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/form-field-description-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/form_field_description/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/form-field-error-message-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/form_field_error_message/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/form-label-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/form_label/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/heading-1-css/dist/*.css
+ @utrecht/heading-2-css/dist/*.css
+ @utrecht/heading-3-css/dist/*.css
+ @utrecht/heading-4-css/dist/*.css
+ @utrecht/heading-5-css/dist/*.css
+ @utrecht/heading-6-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/heading/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/heading-group-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/heading_group/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/html-content-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/html_content/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/icon/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/icon/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/logo-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/logo/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/number-badge-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/number_badge/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/ordered-list-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/ordered_list/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/page-body-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/page_body/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/page-footer-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/page_footer/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/page-header-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/page_header/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/page-layout-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/page_layout/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/preserve-data-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/preserve-data/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/root-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/root/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/separator-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/separator/utrecht
+
+
+ false
+ node_modules/
+
+ @utrecht/unordered-list-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/unordered_list/utrecht
+
false
src/main/java
diff --git a/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java b/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java
index 1b60d1a7..f31dce4c 100644
--- a/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java
+++ b/wicket/components-wicket/src/main/java/css/WicketComponentsCssReferences.java
@@ -6,13 +6,6 @@
public class WicketComponentsCssReferences {
- public static final HeaderItem UTRECHT_HEADING_1_HEADER_ITEM = makeUtrechtHeadingCss(1);
- public static final HeaderItem UTRECHT_HEADING_2_HEADER_ITEM = makeUtrechtHeadingCss(2);
- public static final HeaderItem UTRECHT_HEADING_3_HEADER_ITEM = makeUtrechtHeadingCss(3);
- public static final HeaderItem UTRECHT_HEADING_4_HEADER_ITEM = makeUtrechtHeadingCss(4);
- public static final HeaderItem UTRECHT_HEADING_5_HEADER_ITEM = makeUtrechtHeadingCss(5);
- public static final HeaderItem UTRECHT_HEADING_6_HEADER_ITEM = makeUtrechtHeadingCss(6);
-
/**
* Use this theme if your organization doesn't have its own theme yet (based on Design System tokens).
*
@@ -21,84 +14,11 @@ public class WicketComponentsCssReferences {
public static final HeaderItem THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM = makeHeaderItemForCss(
"@nl-design-system-unstable/voorbeeld-design-tokens/dist/theme.css"
);
- public static final HeaderItem THEME_CSS_HEADER_ITEM = makeHeaderItemForCss("theme.css");
- public static final HeaderItem ROOT_HEADER_ITEM = makeHeaderItemForCss("@utrecht/root-css/dist/index.css");
- public static final HeaderItem BODY_HEADER_ITEM = makeHeaderItemForCss("@utrecht/body-css/dist/index.css");
- public static final HeaderItem CHECKBOX_HEADER_ITEM = makeHeaderItemForCss("@utrecht/checkbox-css/dist/index.css");
- public static final HeaderItem CUSTOM_CHECKBOX_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/custom-checkbox-css/dist/index.css"
- );
- public static final HeaderItem FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/form-field-error-message-css/dist/index.css"
- );
- public static final HeaderItem FORM_FIELD_DESCRIPTION_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/form-description-css/dist/index.css"
- );
- public static final HeaderItem FORM_FIELD_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/form-field-css/dist/index.css"
- );
- public static final HeaderItem FORM_LABEL_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/form-label-css/dist/index.css"
- );
- public static final HeaderItem PAGE_HEADER_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/page-header-css/dist/index.css"
- );
- public static final HeaderItem PAGE_BODY_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/page-body-css/dist/index.css"
- );
- public static final HeaderItem PAGE_FOOTER_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/page-footer-css/dist/index.css"
- );
- public static final HeaderItem PAGE_LAYOUT_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/page-layout-css/dist/index.css"
- );
- public static final HeaderItem HTML_CONTENT_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/html-content-css/dist/index.css"
- );
- public static final HeaderItem NUMBER_BADGE_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/number-badge-css/dist/index.css"
- );
- public static final HeaderItem SEPARATOR_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/separator-css/dist/index.css"
- );
- public static final HeaderItem BUTTON_GROUP_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/button-group-css/dist/index.css"
- );
- public static final HeaderItem ORDERED_LIST_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/ordered-list-css/dist/index.css"
- );
- public static final HeaderItem UNORDERED_LIST_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/unordered-list-css/dist/index.css"
- );
- public static final HeaderItem ALERT_HEADER_ITEM = makeHeaderItemForCss("@utrecht/alert-css/dist/index.css");
-
- public static final HeaderItem BADGE_LIST_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/badge-list-css/dist/index.css"
- );
- public static final HeaderItem COLUMN_LAYOUT_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/column-layout-css/dist/index.css"
- );
- public static final HeaderItem HEADING_GROUP_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/heading-group-css/dist/index.css"
- );
- public static final HeaderItem CODE_BLOCK_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/code-block-css/dist/index.css"
- );
- public static final HeaderItem LOGO_HEADER_ITEM = makeHeaderItemForCss("@utrecht/logo-css/dist/index.css");
- public static final HeaderItem ICON_HEADER_ITEM = makeHeaderItemForCss("@utrecht/icon/dist/index.css");
- public static final HeaderItem PRESERVE_DATA_HEADER_ITEM = makeHeaderItemForCss(
- "@utrecht/preserve-data-css/dist/index.css"
- );
- // TODO: support dependencies, and know which dependencies are there
private static CssResourceReference makeReference(String file) {
return new CssResourceReference(WicketComponentsCssReferences.class, file);
}
- private static HeaderItem makeUtrechtHeadingCss(int level) {
- return makeHeaderItemForCss("@utrecht/heading-" + level + "-css/dist/index.css");
- }
-
private static HeaderItem makeHeaderItemForCss(String cssName) {
return CssHeaderItem.forReference(makeReference(cssName));
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
index 97736262..8a53f8b6 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
@@ -1,15 +1,15 @@
package nl.rotterdam.design_system.wicket.components.alert.utrecht;
import css.HTMLUtil;
+import java.util.Map;
+import nl.rotterdam.design_system.wicket.components.badge_list.utrecht.UtrechtBadgeListBehavior;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-
-import java.util.Map;
-
-import static css.WicketComponentsCssReferences.ALERT_HEADER_ITEM;
+import org.apache.wicket.request.resource.CssResourceReference;
public class UtrechtAlertBehavior extends Behavior {
@@ -39,15 +39,17 @@ public static Behavior utrechtAlert(UtrechtAlertType type) {
UTRECHT_ALERT_OK
);
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtAlertBehavior.class, "@utrecht/alert-css/dist/index.css")
+ );
+
private final String expectedTagName;
private final String className;
- private final HeaderItem cssHeaderItem;
private final UtrechtAlertType type;
private UtrechtAlertBehavior(UtrechtAlertType type) {
this.expectedTagName = "div";
this.className = "utrecht-alert";
- this.cssHeaderItem = ALERT_HEADER_ITEM;
this.type = type;
}
@@ -67,6 +69,6 @@ public void onComponentTag(Component component, ComponentTag tag) {
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
- response.render(cssHeaderItem);
+ response.render(CSS);
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java
new file mode 100644
index 00000000..8ca423fa
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.badge_list.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtBadgeListBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtBadgeListBehavior.class, "@utrecht/badge-list-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java
index ae57463b..dc186304 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.badge_list.utrecht;
-import static css.WicketComponentsCssReferences.BADGE_LIST_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtBadgeListBorder extends Border {
public UtrechtBadgeListBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(BADGE_LIST_HEADER_ITEM);
+ add(new UtrechtBadgeListBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBehavior.java
new file mode 100644
index 00000000..a9e52803
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.body.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtBodyBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtBodyBehavior.class, "@utrecht/body-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java
index 3123a814..c8dc7e94 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.body.utrecht;
-import static css.WicketComponentsCssReferences.BODY_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtBodyBorder extends Border {
public UtrechtBodyBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(BODY_HEADER_ITEM);
+ add(new UtrechtBodyBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
new file mode 100644
index 00000000..388a63b1
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.button_group.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtButtonGroupBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtButtonGroupBehavior.class, "@utrecht/button-group-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java
index 6d528451..231b0749 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.button_group.utrecht;
-import static css.WicketComponentsCssReferences.BUTTON_GROUP_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtButtonGroupBorder extends Border {
public UtrechtButtonGroupBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(BUTTON_GROUP_HEADER_ITEM);
+ add(new UtrechtButtonGroupBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/checkbox/utrecht/UtrechtCheckboxBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/checkbox/utrecht/UtrechtCheckboxBehavior.java
new file mode 100644
index 00000000..f65f819a
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/checkbox/utrecht/UtrechtCheckboxBehavior.java
@@ -0,0 +1,27 @@
+package nl.rotterdam.design_system.wicket.components.checkbox.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtCheckboxBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtCheckboxBehavior.class, "@utrecht/checkbox-css/dist/index.css")
+ );
+
+ public static final CssReferenceHeaderItem CSS2 = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtCheckboxBehavior.class, "@utrecht/custom-checkbox-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ response.render(CSS2);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java
index 9d210bb2..18e6a196 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java
@@ -1,8 +1,5 @@
package nl.rotterdam.design_system.wicket.components.code_block.utrecht;
-import static css.WicketComponentsCssReferences.CODE_BLOCK_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
@@ -16,11 +13,6 @@ public UtrechtCodeBlock(String id, IModel textContent) {
super(id);
label = new Label(SLOT_ID, textContent);
add(label);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(CODE_BLOCK_HEADER_ITEM);
+ add(new UtrechtCodeBlockBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java
new file mode 100644
index 00000000..15545e08
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.code_block.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtCodeBlockBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtCodeBlockBehavior.class, "@utrecht/code-block-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBehavior.java
new file mode 100644
index 00000000..076da87d
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.column_layout.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtColumnLayoutBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtColumnLayoutBehavior.class, "@utrecht/column-layout-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java
index d5938a97..61cae38f 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.column_layout.utrecht;
-import static css.WicketComponentsCssReferences.COLUMN_LAYOUT_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtColumnLayoutBorder extends Border {
public UtrechtColumnLayoutBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(COLUMN_LAYOUT_HEADER_ITEM);
+ add(new UtrechtColumnLayoutBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field/utrecht/UtrechtFormFieldBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field/utrecht/UtrechtFormFieldBehavior.java
new file mode 100644
index 00000000..2f0b7677
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field/utrecht/UtrechtFormFieldBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.form_field.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtFormFieldBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtFormFieldBehavior.class, "@utrecht/form-field-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
index fe0bb665..fe87be3f 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
@@ -1,16 +1,13 @@
package nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht;
-import static css.WicketComponentsCssReferences.CHECKBOX_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.CUSTOM_CHECKBOX_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.FORM_FIELD_DESCRIPTION_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.FORM_FIELD_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.FORM_LABEL_HEADER_ITEM;
-
import css.HTMLUtil;
import java.util.UUID;
+import nl.rotterdam.design_system.wicket.components.checkbox.utrecht.UtrechtCheckboxBehavior;
+import nl.rotterdam.design_system.wicket.components.form_field.utrecht.UtrechtFormFieldBehavior;
+import nl.rotterdam.design_system.wicket.components.form_field_description.utrecht.UtrechtFormFieldDescriptionBehavior;
+import nl.rotterdam.design_system.wicket.components.form_field_error_message.utrecht.UtrechtFormFieldErrorMessageBehavior;
+import nl.rotterdam.design_system.wicket.components.form_label.utrecht.UtrechtFormLabelBehavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.panel.Panel;
@@ -53,6 +50,12 @@ public UtrechtFormFieldCheckbox(
IModel errorModel
) {
super(id);
+ add(new UtrechtFormFieldBehavior());
+ add(new UtrechtFormLabelBehavior());
+ add(new UtrechtFormFieldDescriptionBehavior());
+ add(new UtrechtFormFieldErrorMessageBehavior());
+ add(new UtrechtCheckboxBehavior());
+
errorMessageModel = errorModel;
// Generate unique IDs `for` and `aria-describedby` ID references
@@ -187,17 +190,6 @@ protected void onComponentTag(ComponentTag tag) {
);
}
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(CHECKBOX_HEADER_ITEM);
- response.render(CUSTOM_CHECKBOX_HEADER_ITEM);
- response.render(FORM_FIELD_DESCRIPTION_HEADER_ITEM);
- response.render(FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM);
- response.render(FORM_FIELD_HEADER_ITEM);
- response.render(FORM_LABEL_HEADER_ITEM);
- }
-
public UtrechtFormFieldCheckbox setRequired(boolean required) {
checkbox.setRequired(required);
return this;
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_description/utrecht/UtrechtFormFieldDescriptionBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_description/utrecht/UtrechtFormFieldDescriptionBehavior.java
new file mode 100644
index 00000000..dc66d935
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_description/utrecht/UtrechtFormFieldDescriptionBehavior.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.design_system.wicket.components.form_field_description.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtFormFieldDescriptionBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(
+ UtrechtFormFieldDescriptionBehavior.class,
+ "@utrecht/form-field-description-css/dist/index.css"
+ )
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_error_message/utrecht/UtrechtFormFieldErrorMessageBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_error_message/utrecht/UtrechtFormFieldErrorMessageBehavior.java
new file mode 100644
index 00000000..b7250845
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_error_message/utrecht/UtrechtFormFieldErrorMessageBehavior.java
@@ -0,0 +1,25 @@
+package nl.rotterdam.design_system.wicket.components.form_field_error_message.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtFormFieldErrorMessageBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(
+ UtrechtFormFieldErrorMessageBehavior.class,
+ "@utrecht/form-field-error-message-css/dist/index.css"
+ )
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
index 17b2a22e..5a97e62a 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabel.java
@@ -1,24 +1,16 @@
package nl.rotterdam.design_system.wicket.components.form_label.utrecht;
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
-import static css.WicketComponentsCssReferences.FORM_LABEL_HEADER_ITEM;
-
public class UtrechtFormLabel extends Panel {
public static final String SLOT_ID = "slot";
public UtrechtFormLabel(String id, IModel> textContent) {
super(id);
+ add(new UtrechtFormLabelBehavior());
add(new Label(SLOT_ID, textContent));
}
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(FORM_LABEL_HEADER_ITEM);
- }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabelBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabelBehavior.java
new file mode 100644
index 00000000..63b6f8a2
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabelBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.form_label.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtFormLabelBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtFormLabelBehavior.class, "@utrecht/form-label-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java
index cb0927a5..08b0f1fc 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java
@@ -1,16 +1,36 @@
package nl.rotterdam.design_system.wicket.components.heading.utrecht;
-import static css.WicketComponentsCssReferences.*;
-
import java.util.Map;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.HeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
public class UtrechtHeadingBehavior extends Behavior {
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_1_HEADER_ITEM = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-1-css/dist/index.css")
+ );
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_2_HEADER_ITEM = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-2-css/dist/index.css")
+ );
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_3_HEADER_ITEM = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-3-css/dist/index.css")
+ );
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_4_HEADER_ITEM = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-4-css/dist/index.css")
+ );
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_5_HEADER_ITEM = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-5-css/dist/index.css")
+ );
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_6_HEADER_ITEM = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-6-css/dist/index.css")
+ );
+
public static Behavior heading(int level) {
Behavior behavior = behaviors.get(level);
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBehavior.java
new file mode 100644
index 00000000..ffb82d6a
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.heading_group.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtHeadingGroupBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtHeadingGroupBehavior.class, "@utrecht/heading-group-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java
index cf736e6c..a7916726 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.heading_group.utrecht;
-import static css.WicketComponentsCssReferences.HEADING_GROUP_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtHeadingGroupBorder extends Border {
public UtrechtHeadingGroupBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(HEADING_GROUP_HEADER_ITEM);
+ add(new UtrechtHeadingGroupBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBehavior.java
new file mode 100644
index 00000000..f062dd33
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.html_content.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtHtmlContentBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtHtmlContentBehavior.class, "@utrecht/html-content-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java
index ba92737f..43a77a16 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.html_content.utrecht;
-import static css.WicketComponentsCssReferences.HTML_CONTENT_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtHtmlContentBorder extends Border {
public UtrechtHtmlContentBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(HTML_CONTENT_HEADER_ITEM);
+ add(new UtrechtHtmlContentBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBehavior.java
new file mode 100644
index 00000000..d5c70d2b
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.icon.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtIconBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtIconBehavior.class, "@utrecht/icon/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java
index 3062d13d..345abc99 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.icon.utrecht;
-import static css.WicketComponentsCssReferences.ICON_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtIconBorder extends Border {
public UtrechtIconBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(ICON_HEADER_ITEM);
+ add(new UtrechtIconBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBehavior.java
new file mode 100644
index 00000000..b7b4e190
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.logo.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtLogoBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtLogoBehavior.class, "@utrecht/logo-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java
index 566a3fa1..b924ef6b 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.logo.utrecht;
-import static css.WicketComponentsCssReferences.LOGO_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtLogoBorder extends Border {
public UtrechtLogoBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(LOGO_HEADER_ITEM);
+ add(new UtrechtLogoBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java
index ab99c503..ce854aa2 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java
@@ -1,23 +1,25 @@
package nl.rotterdam.design_system.wicket.components.number_badge.utrecht;
-import static css.WicketComponentsCssReferences.NUMBER_BADGE_HEADER_ITEM;
-
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
public class UtrechtNumberBadgeBehavior extends Behavior {
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtNumberBadgeBehavior.class, "@utrecht/number-badge-css/dist/index.css")
+ );
+
private final String expectedTagName;
private final String className;
- private final HeaderItem cssHeaderItem;
public UtrechtNumberBadgeBehavior() {
this.expectedTagName = "data";
this.className = "utrecht-number-badge";
- this.cssHeaderItem = NUMBER_BADGE_HEADER_ITEM;
}
@Override
@@ -36,6 +38,6 @@ public void onComponentTag(Component component, ComponentTag tag) {
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
- response.render(cssHeaderItem);
+ response.render(CSS);
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java
index be2f2e0a..356b2731 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java
@@ -1,23 +1,25 @@
package nl.rotterdam.design_system.wicket.components.ordered_list.utrecht;
-import static css.WicketComponentsCssReferences.ORDERED_LIST_HEADER_ITEM;
-
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
public class UtrechtOrderedListBehavior extends Behavior {
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtOrderedListBehavior.class, "@utrecht/ordered-list-css/dist/index.css")
+ );
+
private final String expectedTagName;
private final String className;
- private final HeaderItem cssHeaderItem;
public UtrechtOrderedListBehavior() {
this.expectedTagName = "ol";
this.className = "utrecht-ordered-list";
- this.cssHeaderItem = ORDERED_LIST_HEADER_ITEM;
}
@Override
@@ -37,6 +39,6 @@ public void onComponentTag(Component component, ComponentTag tag) {
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
- response.render(cssHeaderItem);
+ response.render(CSS);
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItemBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItemBehavior.java
index c8effb5a..8d889455 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItemBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListItemBehavior.java
@@ -1,23 +1,17 @@
package nl.rotterdam.design_system.wicket.components.ordered_list.utrecht;
-import static css.WicketComponentsCssReferences.ORDERED_LIST_HEADER_ITEM;
-
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.HeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
public class UtrechtOrderedListItemBehavior extends Behavior {
private final String expectedTagName;
private final String className;
- private final HeaderItem cssHeaderItem;
public UtrechtOrderedListItemBehavior() {
this.expectedTagName = "li";
this.className = "utrecht-ordered-list__item utrecht-ordered-list__item";
- this.cssHeaderItem = ORDERED_LIST_HEADER_ITEM;
}
@Override
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBehavior.java
new file mode 100644
index 00000000..a06f29b8
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.page_body.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtPageBodyBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtPageBodyBehavior.class, "@utrecht/page-body-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.java
index e953c139..98adfec3 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBorder.java
@@ -6,5 +6,6 @@ public class UtrechtPageBodyBorder extends Border {
public UtrechtPageBodyBorder(String id) {
super(id);
+ add(new UtrechtPageBodyBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBehavior.java
new file mode 100644
index 00000000..a02d6b87
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.page_footer.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtPageFooterBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtPageFooterBehavior.class, "@utrecht/page-footer-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java
index 19615aa9..97846649 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.page_footer.utrecht;
-import static css.WicketComponentsCssReferences.PAGE_FOOTER_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtPageFooterBorder extends Border {
public UtrechtPageFooterBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(PAGE_FOOTER_HEADER_ITEM);
+ add(new UtrechtPageFooterBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBehavior.java
new file mode 100644
index 00000000..6958c1f8
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.page_header.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtPageHeaderBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtPageHeaderBehavior.class, "@utrecht/page-header-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java
index fb3f4608..eb7748b6 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.page_header.utrecht;
-import static css.WicketComponentsCssReferences.PAGE_HEADER_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtPageHeaderBorder extends Border {
public UtrechtPageHeaderBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(PAGE_HEADER_HEADER_ITEM);
+ add(new UtrechtPageHeaderBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java
index a1a41f44..e9132762 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayout.java
@@ -1,7 +1,5 @@
package nl.rotterdam.design_system.wicket.components.page_layout.utrecht;
-import static css.WicketComponentsCssReferences.PAGE_LAYOUT_HEADER_ITEM;
-
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.panel.Panel;
@@ -16,6 +14,6 @@ public UtrechtPageLayout(String id) {
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
- response.render(PAGE_LAYOUT_HEADER_ITEM);
+ add(new UtrechtPageLayoutBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java
new file mode 100644
index 00000000..db0ba894
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.page_layout.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtPageLayoutBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtPageLayoutBehavior.class, "@utrecht/page-layout-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java-disabled b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java-disabled
deleted file mode 100644
index c0bacb96..00000000
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java-disabled
+++ /dev/null
@@ -1,36 +0,0 @@
-package nl.rotterdam.design_system.wicket.components.page_layout.utrecht;
-
-import static css.WicketComponentsCssReferences.UTRECHT_PAGE_LAYOUT_HEADER_ITEM;
-
-import java.util.Map;
-import org.apache.wicket.Component;
-import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.HeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
-
-public class UtrechtPageLayoutBehavior extends Behavior {
-
- private final String className;
- private final HeaderItem cssHeaderItem = UTRECHT_PAGE_LAYOUT_HEADER_ITEM;
-
- private UtrechtPageLayoutBehavior(HeaderItem cssHeaderItem) {
- this.className = "utrecht-page-layout";
- this.cssHeaderItem = cssHeaderItem;
- }
-
- @Override
- public void onComponentTag(Component component, ComponentTag tag) {
- super.onComponentTag(component, tag);
-
- if (!tag.isClose()) {
- tag.append("class", className, " ");
- }
- }
-
- @Override
- public void renderHead(Component component, IHeaderResponse response) {
- super.renderHead(component, response);
- response.render(cssHeaderItem);
- }
-}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java
index cd96776c..264fb45f 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.page_layout.utrecht;
-import static css.WicketComponentsCssReferences.PAGE_LAYOUT_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtPageLayoutBorder extends Border {
public UtrechtPageLayoutBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(PAGE_LAYOUT_HEADER_ITEM);
+ add(new UtrechtPageLayoutBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataBehavior.java
new file mode 100644
index 00000000..4eae7d5e
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.preserve_data.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtPreserveDataBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtPreserveDataBehavior.class, "@utrecht/preserve-data-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataLabel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataLabel.java
index 2b2de167..7b4275a2 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataLabel.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataLabel.java
@@ -1,10 +1,7 @@
package nl.rotterdam.design_system.wicket.components.preserve_data.utrecht;
-import static css.WicketComponentsCssReferences.PRESERVE_DATA_HEADER_ITEM;
-
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;
@@ -17,6 +14,7 @@ public class UtrechtPreserveDataLabel extends Label {
public UtrechtPreserveDataLabel(String id, IModel> model) {
super(id, model);
+ add(new UtrechtPreserveDataBehavior());
}
@Override
@@ -31,10 +29,4 @@ protected void onInitialize() {
add(AttributeModifier.replace("translate", "no"));
add(AttributeModifier.append("class", "utrecht-preserve-data"));
}
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(PRESERVE_DATA_HEADER_ITEM);
- }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBehavior.java
new file mode 100644
index 00000000..322684ec
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.root.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtRootBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtRootBehavior.class, "@utrecht/root-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java
index 553f6307..08a0bc48 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBorder.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.root.utrecht;
-import static css.WicketComponentsCssReferences.ROOT_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.border.Border;
public class UtrechtRootBorder extends Border {
public UtrechtRootBorder(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(ROOT_HEADER_ITEM);
+ add(new UtrechtRootBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java
index 424cd496..28f13572 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparator.java
@@ -1,15 +1,13 @@
package nl.rotterdam.design_system.wicket.components.separator.utrecht;
-import static css.WicketComponentsCssReferences.SEPARATOR_HEADER_ITEM;
-
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.WebComponent;
public class UtrechtSeparator extends WebComponent {
public UtrechtSeparator(String id) {
super(id);
+ add(new UtrechtSeparatorBehavior());
}
@Override
@@ -18,10 +16,4 @@ protected void onComponentTag(ComponentTag tag) {
tag.setName("hr");
tag.put("class", "utrecht-separator");
}
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(SEPARATOR_HEADER_ITEM);
- }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparatorBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparatorBehavior.java
new file mode 100644
index 00000000..96ffa36d
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparatorBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.separator.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtSeparatorBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtSeparatorBehavior.class, "@utrecht/separator-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java
index 5ec1781b..7d1e429c 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedList.java
@@ -1,19 +1,11 @@
package nl.rotterdam.design_system.wicket.components.unordered_list.utrecht;
-import static css.WicketComponentsCssReferences.UNORDERED_LIST_HEADER_ITEM;
-
-import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.panel.Panel;
public class UtrechtUnorderedList extends Panel {
public UtrechtUnorderedList(String id) {
super(id);
- }
-
- @Override
- public void renderHead(IHeaderResponse response) {
- super.renderHead(response);
- response.render(UNORDERED_LIST_HEADER_ITEM);
+ add(new UtrechtUnorderedListBehavior());
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java
index 49ec537c..879463a7 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java
@@ -1,23 +1,25 @@
package nl.rotterdam.design_system.wicket.components.unordered_list.utrecht;
-import static css.WicketComponentsCssReferences.UNORDERED_LIST_HEADER_ITEM;
-
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.HeaderItem;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
public class UtrechtUnorderedListBehavior extends Behavior {
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtUnorderedListBehavior.class, "@utrecht/unordered-list-css/dist/index.css")
+ );
+
private final String expectedTagName;
private final String className;
- private final HeaderItem cssHeaderItem;
public UtrechtUnorderedListBehavior() {
this.expectedTagName = "ul";
this.className = "utrecht-unordered-list";
- this.cssHeaderItem = UNORDERED_LIST_HEADER_ITEM;
}
@Override
@@ -37,6 +39,6 @@ public void onComponentTag(Component component, ComponentTag tag) {
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
- response.render(cssHeaderItem);
+ response.render(CSS);
}
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
index c5a3dfa2..79a9a7d9 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
@@ -1,31 +1,7 @@
package nl.rotterdam.wicket.docs;
import static css.DesignTokensWicketCssReference.THEME_ROTTERDAM_RODS_CSS_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.ALERT_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.BADGE_LIST_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.BODY_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.BUTTON_GROUP_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.CHECKBOX_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.COLUMN_LAYOUT_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.CUSTOM_CHECKBOX_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.FORM_FIELD_DESCRIPTION_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.FORM_FIELD_ERROR_MESSAGE_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.FORM_FIELD_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.FORM_LABEL_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.HEADING_GROUP_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.HTML_CONTENT_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.ICON_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.LOGO_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.NUMBER_BADGE_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.ORDERED_LIST_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.PAGE_BODY_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.PAGE_FOOTER_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.PAGE_HEADER_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.PAGE_LAYOUT_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.ROOT_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.SEPARATOR_HEADER_ITEM;
import static css.WicketComponentsCssReferences.THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.UNORDERED_LIST_HEADER_ITEM;
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
@@ -40,7 +16,9 @@ public abstract class BasePage extends WebPage {
new CssResourceReference(BasePage.class, "docs.css")
);
- public BasePage() {}
+ public BasePage() {
+ super();
+ }
@Override
public void renderHead(IHeaderResponse response) {
@@ -49,7 +27,5 @@ public void renderHead(IHeaderResponse response) {
response.render(THEME_ROTTERDAM_RODS_CSS_HEADER_ITEM);
response.render(THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM);
response.render(DOCS_CSS_HEADER_ITEM);
- response.render(ROOT_HEADER_ITEM);
- response.render(BODY_HEADER_ITEM);
}
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ESMReferenceHeaderItem.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ESMReferenceHeaderItem.java
new file mode 100644
index 00000000..942cb739
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ESMReferenceHeaderItem.java
@@ -0,0 +1,14 @@
+package nl.rotterdam.wicket.docs;
+
+import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem;
+import org.apache.wicket.markup.head.JavaScriptReferenceType;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.request.resource.ResourceReference;
+
+public class ESMReferenceHeaderItem extends JavaScriptReferenceHeaderItem {
+
+ public ESMReferenceHeaderItem(ResourceReference reference, PageParameters pageParameters, String id) {
+ super(reference, pageParameters, id);
+ this.setType(JavaScriptReferenceType.MODULE);
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/rods-story-canvas.js b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/rods-story-canvas.js
index 36979bbd..98d2ea6b 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/rods-story-canvas.js
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/rods-story-canvas.js
@@ -31,10 +31,11 @@ class RodsStoryElement extends HTMLElement {
shadow.adoptedStyleSheets = [stylesheet];
const template = this.querySelector('template');
const div = this.ownerDocument.createElement('div');
+ div.appendChild(this.ownerDocument.createElement('slot'));
div.classList.add('rods-story-canvas');
shadow.appendChild(div);
if (template) {
- div.appendChild(template.content.cloneNode(true));
+ this.appendChild(template.content.cloneNode(true));
}
}
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java
new file mode 100644
index 00000000..e92da387
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/Kind.java
@@ -0,0 +1,6 @@
+package nl.rotterdam.wicket.docs.unordered_list;
+
+import java.io.Serializable;
+
+public record Kind(String naam, int geboortejaar, long administratienummer) implements Serializable {
+}
From acb40562ef71f21b60070fa90ce9274d31b7e243 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 6 Dec 2024 15:45:35 +0100
Subject: [PATCH 41/75] Child labels don't have to be fields
---
.../components/code_block/utrecht/UtrechtCodeBlock.java | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java
index 18e6a196..b966b4e8 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.java
@@ -7,12 +7,10 @@
public class UtrechtCodeBlock extends Panel {
public static final String SLOT_ID = "slot";
- private final Label label;
public UtrechtCodeBlock(String id, IModel textContent) {
super(id);
- label = new Label(SLOT_ID, textContent);
- add(label);
+ add(new Label(SLOT_ID, textContent));
add(new UtrechtCodeBlockBehavior());
}
}
From 5dd9134154627d224e75636dabb12fce940f5ae1 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 6 Dec 2024 15:57:43 +0100
Subject: [PATCH 42/75] Centralize logic for creating css header items
---
.../components/CssReferenceHeaderItems.java | 11 ++++++
.../alert/utrecht/UtrechtAlertBehavior.java | 13 +++----
.../utrecht/UtrechtBadgeListBehavior.java | 8 ++--
.../body/utrecht/UtrechtBodyBehavior.java | 9 ++---
.../utrecht/UtrechtButtonGroupBehavior.java | 9 ++---
.../utrecht/UtrechtCodeBlockBehavior.java | 9 ++---
.../utrecht/UtrechtColumnLayoutBehavior.java | 9 ++---
.../utrecht/UtrechtFormLabelBehavior.java | 9 ++---
.../utrecht/UtrechtHeadingBehavior.java | 37 ++++++++-----------
.../utrecht/UtrechtHeadingGroupBehavior.java | 9 ++---
.../utrecht/UtrechtHtmlContentBehavior.java | 9 ++---
.../icon/utrecht/UtrechtIconBehavior.java | 9 ++---
.../logo/utrecht/UtrechtLogoBehavior.java | 9 ++---
.../utrecht/UtrechtNumberBadgeBehavior.java | 9 ++---
.../utrecht/UtrechtOrderedListBehavior.java | 9 ++---
.../utrecht/UtrechtPageBodyBehavior.java | 9 ++---
.../utrecht/UtrechtPageFooterBehavior.java | 9 ++---
.../utrecht/UtrechtPageHeaderBehavior.java | 9 ++---
.../utrecht/UtrechtPageLayoutBehavior.java | 9 ++---
.../utrecht/UtrechtPreserveDataBehavior.java | 9 ++---
.../root/utrecht/UtrechtRootBehavior.java | 9 ++---
.../utrecht/UtrechtSeparatorBehavior.java | 9 ++---
.../utrecht/UtrechtUnorderedListBehavior.java | 9 ++---
23 files changed, 112 insertions(+), 128 deletions(-)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/CssReferenceHeaderItems.java
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/CssReferenceHeaderItems.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/CssReferenceHeaderItems.java
new file mode 100644
index 00000000..01f24f88
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/CssReferenceHeaderItems.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components;
+
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class CssReferenceHeaderItems {
+
+ public static CssReferenceHeaderItem cssReferenceHeaderItem(Class> scope, String name) {
+ return CssReferenceHeaderItem.forReference(new CssResourceReference(scope, name));
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
index 8a53f8b6..479f54cf 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
@@ -1,15 +1,15 @@
package nl.rotterdam.design_system.wicket.components.alert.utrecht;
import css.HTMLUtil;
-import java.util.Map;
-import nl.rotterdam.design_system.wicket.components.badge_list.utrecht.UtrechtBadgeListBehavior;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import java.util.Map;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtAlertBehavior extends Behavior {
@@ -39,9 +39,8 @@ public static Behavior utrechtAlert(UtrechtAlertType type) {
UTRECHT_ALERT_OK
);
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtAlertBehavior.class, "@utrecht/alert-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(UtrechtAlertBehavior.class, "@utrecht/alert-css/dist/index.css");
+
private final String expectedTagName;
private final String className;
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java
index 8ca423fa..b5dcb27d 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java
@@ -2,16 +2,14 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtBadgeListBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtBadgeListBehavior.class, "@utrecht/badge-list-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(UtrechtBadgeListBehavior.class, "@utrecht/badge-list-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBehavior.java
index a9e52803..6de4e4c0 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/body/utrecht/UtrechtBodyBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtBodyBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtBodyBehavior.class, "@utrecht/body-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtBodyBehavior.class, "@utrecht/body-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
index 388a63b1..1459901c 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtButtonGroupBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtButtonGroupBehavior.class, "@utrecht/button-group-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtButtonGroupBehavior.class, "@utrecht/button-group-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java
index 15545e08..023b6323 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtCodeBlockBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtCodeBlockBehavior.class, "@utrecht/code-block-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtCodeBlockBehavior.class, "@utrecht/code-block-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBehavior.java
index 076da87d..e54f502a 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/column_layout/utrecht/UtrechtColumnLayoutBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtColumnLayoutBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtColumnLayoutBehavior.class, "@utrecht/column-layout-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtColumnLayoutBehavior.class, "@utrecht/column-layout-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabelBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabelBehavior.java
index 63b6f8a2..48d1cdee 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabelBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_label/utrecht/UtrechtFormLabelBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtFormLabelBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtFormLabelBehavior.class, "@utrecht/form-label-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtFormLabelBehavior.class, "@utrecht/form-label-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java
index 08b0f1fc..cf246ce9 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading/utrecht/UtrechtHeadingBehavior.java
@@ -1,35 +1,30 @@
package nl.rotterdam.design_system.wicket.components.heading.utrecht;
-import java.util.Map;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.HeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import java.util.Map;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtHeadingBehavior extends Behavior {
- public static final CssReferenceHeaderItem UTRECHT_HEADING_1_HEADER_ITEM = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-1-css/dist/index.css")
- );
- public static final CssReferenceHeaderItem UTRECHT_HEADING_2_HEADER_ITEM = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-2-css/dist/index.css")
- );
- public static final CssReferenceHeaderItem UTRECHT_HEADING_3_HEADER_ITEM = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-3-css/dist/index.css")
- );
- public static final CssReferenceHeaderItem UTRECHT_HEADING_4_HEADER_ITEM = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-4-css/dist/index.css")
- );
- public static final CssReferenceHeaderItem UTRECHT_HEADING_5_HEADER_ITEM = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-5-css/dist/index.css")
- );
- public static final CssReferenceHeaderItem UTRECHT_HEADING_6_HEADER_ITEM = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtHeadingBehavior.class, "@utrecht/heading-6-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_1_HEADER_ITEM =
+ cssReferenceHeaderItem(UtrechtHeadingBehavior.class, "@utrecht/heading-1-css/dist/index.css");
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_2_HEADER_ITEM =
+ cssReferenceHeaderItem(UtrechtHeadingBehavior.class, "@utrecht/heading-2-css/dist/index.css");
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_3_HEADER_ITEM =
+ cssReferenceHeaderItem(UtrechtHeadingBehavior.class, "@utrecht/heading-3-css/dist/index.css");
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_4_HEADER_ITEM =
+ cssReferenceHeaderItem(UtrechtHeadingBehavior.class, "@utrecht/heading-4-css/dist/index.css");
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_5_HEADER_ITEM =
+ cssReferenceHeaderItem(UtrechtHeadingBehavior.class, "@utrecht/heading-5-css/dist/index.css");
+ public static final CssReferenceHeaderItem UTRECHT_HEADING_6_HEADER_ITEM =
+ cssReferenceHeaderItem(UtrechtHeadingBehavior.class, "@utrecht/heading-6-css/dist/index.css");
public static Behavior heading(int level) {
Behavior behavior = behaviors.get(level);
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBehavior.java
index ffb82d6a..9a5c31e1 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/heading_group/utrecht/UtrechtHeadingGroupBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtHeadingGroupBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtHeadingGroupBehavior.class, "@utrecht/heading-group-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtHeadingGroupBehavior.class, "@utrecht/heading-group-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBehavior.java
index f062dd33..558a056d 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/html_content/utrecht/UtrechtHtmlContentBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtHtmlContentBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtHtmlContentBehavior.class, "@utrecht/html-content-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtHtmlContentBehavior.class, "@utrecht/html-content-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBehavior.java
index d5c70d2b..e0231919 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/utrecht/UtrechtIconBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtIconBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtIconBehavior.class, "@utrecht/icon/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtIconBehavior.class, "@utrecht/icon/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBehavior.java
index b7b4e190..7a1e4b49 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/logo/utrecht/UtrechtLogoBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtLogoBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtLogoBehavior.class, "@utrecht/logo-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtLogoBehavior.class, "@utrecht/logo-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java
index ce854aa2..bb961c3a 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/number_badge/utrecht/UtrechtNumberBadgeBehavior.java
@@ -3,16 +3,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtNumberBadgeBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtNumberBadgeBehavior.class, "@utrecht/number-badge-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtNumberBadgeBehavior.class, "@utrecht/number-badge-css/dist/index.css");
private final String expectedTagName;
private final String className;
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java
index 356b2731..67a1fd59 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/ordered_list/utrecht/UtrechtOrderedListBehavior.java
@@ -3,16 +3,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtOrderedListBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtOrderedListBehavior.class, "@utrecht/ordered-list-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtOrderedListBehavior.class, "@utrecht/ordered-list-css/dist/index.css");
private final String expectedTagName;
private final String className;
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBehavior.java
index a06f29b8..b1568930 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_body/utrecht/UtrechtPageBodyBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtPageBodyBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtPageBodyBehavior.class, "@utrecht/page-body-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtPageBodyBehavior.class, "@utrecht/page-body-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBehavior.java
index a02d6b87..e8562519 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_footer/utrecht/UtrechtPageFooterBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtPageFooterBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtPageFooterBehavior.class, "@utrecht/page-footer-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtPageFooterBehavior.class, "@utrecht/page-footer-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBehavior.java
index 6958c1f8..7a45e582 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_header/utrecht/UtrechtPageHeaderBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtPageHeaderBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtPageHeaderBehavior.class, "@utrecht/page-header-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtPageHeaderBehavior.class, "@utrecht/page-header-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java
index db0ba894..222a62de 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/page_layout/utrecht/UtrechtPageLayoutBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtPageLayoutBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtPageLayoutBehavior.class, "@utrecht/page-layout-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtPageLayoutBehavior.class, "@utrecht/page-layout-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataBehavior.java
index 4eae7d5e..7b005d42 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/preserve_data/utrecht/UtrechtPreserveDataBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtPreserveDataBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtPreserveDataBehavior.class, "@utrecht/preserve-data-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtPreserveDataBehavior.class, "@utrecht/preserve-data-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBehavior.java
index 322684ec..ef759f24 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/root/utrecht/UtrechtRootBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtRootBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtRootBehavior.class, "@utrecht/root-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtRootBehavior.class, "@utrecht/root-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparatorBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparatorBehavior.java
index 96ffa36d..734cef77 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparatorBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/separator/utrecht/UtrechtSeparatorBehavior.java
@@ -2,16 +2,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtSeparatorBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtSeparatorBehavior.class, "@utrecht/separator-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtSeparatorBehavior.class, "@utrecht/separator-css/dist/index.css");
@Override
public void renderHead(Component component, IHeaderResponse response) {
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java
index 879463a7..5021e497 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListBehavior.java
@@ -3,16 +3,15 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
-import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import org.apache.wicket.request.resource.CssResourceReference;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
public class UtrechtUnorderedListBehavior extends Behavior {
- public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
- new CssResourceReference(UtrechtUnorderedListBehavior.class, "@utrecht/unordered-list-css/dist/index.css")
- );
+ public static final CssReferenceHeaderItem CSS =
+ cssReferenceHeaderItem(UtrechtUnorderedListBehavior.class, "@utrecht/unordered-list-css/dist/index.css");
private final String expectedTagName;
private final String className;
From 71ead76b007f1f47f010eab3bdb8bc7784158152 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 6 Dec 2024 16:09:57 +0100
Subject: [PATCH 43/75] Do not use container div to make adding classes and
attributes possible when using the component
---
.../alert/utrecht/UtrechtAlertBehavior.java | 12 +++++-------
.../utrecht/UtrechtButtonGroupBehavior.java | 17 +++++++++++++++++
.../utrecht/UtrechtButtonGroupBorder.html | 2 --
.../rotterdam/wicket/docs/ComponentsPage.html | 2 +-
4 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
index 479f54cf..0dcf8ffa 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
@@ -41,14 +41,12 @@ public static Behavior utrechtAlert(UtrechtAlertType type) {
public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(UtrechtAlertBehavior.class, "@utrecht/alert-css/dist/index.css");
+ private static final String EXPECTED_TAG_NAME = "div";
+ private static final String CLASS_NAME = "utrecht-alert";
- private final String expectedTagName;
- private final String className;
private final UtrechtAlertType type;
private UtrechtAlertBehavior(UtrechtAlertType type) {
- this.expectedTagName = "div";
- this.className = "utrecht-alert";
this.type = type;
}
@@ -56,12 +54,12 @@ private UtrechtAlertBehavior(UtrechtAlertType type) {
public void onComponentTag(Component component, ComponentTag tag) {
super.onComponentTag(component, tag);
- if (!expectedTagName.equals(tag.getName())) {
- tag.setName(expectedTagName);
+ if (!EXPECTED_TAG_NAME.equals(tag.getName())) {
+ tag.setName(EXPECTED_TAG_NAME);
}
if (!tag.isClose()) {
- tag.put("class", HTMLUtil.className(this.className, "utrecht-alert utrecht-alert--" + type.type));
+ tag.put("class", HTMLUtil.className(CLASS_NAME, "utrecht-alert utrecht-alert--" + type.type));
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
index 1459901c..76d43222 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
@@ -2,6 +2,7 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
@@ -12,10 +13,26 @@ public class UtrechtButtonGroupBehavior extends Behavior {
public static final CssReferenceHeaderItem CSS =
cssReferenceHeaderItem(UtrechtButtonGroupBehavior.class, "@utrecht/button-group-css/dist/index.css");
+ private static final String EXPECTED_TAG_NAME = "div";
+ private static final String CLASS_NAME = "utrecht-button-group";
+
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
response.render(CSS);
}
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!EXPECTED_TAG_NAME.equals(tag.getName())) {
+ tag.setName(EXPECTED_TAG_NAME);
+ }
+
+ if (!tag.isClose()) {
+ tag.put("class", CLASS_NAME);
+ }
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.html
index 80c5d9c4..c912e562 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.html
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBorder.html
@@ -2,8 +2,6 @@
-
-
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index c488312b..1944ecca 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -64,7 +64,7 @@ Hello world
-->
- Buttons go here
+ Buttons go here
From 7fed86c65c199fc32d60630a89aaf8c22e2b7adb Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 6 Dec 2024 16:10:32 +0100
Subject: [PATCH 44/75] No warnings
---
.../nl/rotterdam/wicket/nl_design/docs/Start.java | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java
index 5bdab64d..de36cf77 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/Start.java
@@ -1,19 +1,25 @@
package nl.rotterdam.wicket.nl_design.docs;
-import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
-
-import java.time.Duration;
+import nl.rotterdam.wicket.nl_design.docs.storybook_generator.GenerateMarkdownAndStorybookExamplesMain;
import org.eclipse.jetty.ee10.webapp.WebAppContext;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
+import java.time.Duration;
+
+import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
+
public class Start {
public static final int PORT = 8945;
+ @SuppressWarnings({"CallToPrintStackTrace", "ResultOfMethodCallIgnored"})
public static void main(final String[] args) {
+
+ GenerateMarkdownAndStorybookExamplesMain.main(args);
+
final int timeout = (int) Duration.ofHours(1L).toMillis();
final Server server = new Server();
From 90adcd1d7430d0baa8c41013a5283d910276706f Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 6 Dec 2024 16:15:59 +0100
Subject: [PATCH 45/75] Base class for behaviors to make it easier to add new
components
---
.../alert/utrecht/UtrechtAlertBehavior.java | 22 ++-------------
.../base/TagNameClassComponentBehavior.java | 28 +++++++++++++++++++
.../utrecht/UtrechtButtonGroupBehavior.java | 22 ++++-----------
3 files changed, 37 insertions(+), 35 deletions(-)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
index 0dcf8ffa..6ed0c9b1 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
@@ -1,9 +1,8 @@
package nl.rotterdam.design_system.wicket.components.alert.utrecht;
-import css.HTMLUtil;
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
@@ -11,7 +10,7 @@
import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
-public class UtrechtAlertBehavior extends Behavior {
+public class UtrechtAlertBehavior extends TagNameClassComponentBehavior {
public static Behavior utrechtAlert(UtrechtAlertType type) {
Behavior behavior = types.get(type);
@@ -44,23 +43,8 @@ public static Behavior utrechtAlert(UtrechtAlertType type) {
private static final String EXPECTED_TAG_NAME = "div";
private static final String CLASS_NAME = "utrecht-alert";
- private final UtrechtAlertType type;
-
private UtrechtAlertBehavior(UtrechtAlertType type) {
- this.type = type;
- }
-
- @Override
- public void onComponentTag(Component component, ComponentTag tag) {
- super.onComponentTag(component, tag);
-
- if (!EXPECTED_TAG_NAME.equals(tag.getName())) {
- tag.setName(EXPECTED_TAG_NAME);
- }
-
- if (!tag.isClose()) {
- tag.put("class", HTMLUtil.className(CLASS_NAME, "utrecht-alert utrecht-alert--" + type.type));
- }
+ super(EXPECTED_TAG_NAME, CLASS_NAME, "utrecht-alert--" + type.type);
}
@Override
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
new file mode 100644
index 00000000..1d1b14e4
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
@@ -0,0 +1,28 @@
+package nl.rotterdam.design_system.wicket.components.base;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+
+public abstract class TagNameClassComponentBehavior extends Behavior {
+
+ private final String expectedTagName;
+ private final String[] classNames;
+
+ public TagNameClassComponentBehavior(String expectedTagName, String... classNames) {
+ this.expectedTagName = expectedTagName;
+ this.classNames = classNames;
+ }
+
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!expectedTagName.equals(tag.getName())) {
+ tag.setName(expectedTagName);
+ }
+
+ if (!tag.isClose()) {
+ tag.put("class", String.join(" ", classNames));
+ }
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
index 76d43222..c170888c 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
@@ -1,14 +1,13 @@
package nl.rotterdam.design_system.wicket.components.button_group.utrecht;
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
import org.apache.wicket.Component;
-import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
-public class UtrechtButtonGroupBehavior extends Behavior {
+public class UtrechtButtonGroupBehavior extends TagNameClassComponentBehavior {
public static final CssReferenceHeaderItem CSS =
cssReferenceHeaderItem(UtrechtButtonGroupBehavior.class, "@utrecht/button-group-css/dist/index.css");
@@ -16,23 +15,14 @@ public class UtrechtButtonGroupBehavior extends Behavior {
private static final String EXPECTED_TAG_NAME = "div";
private static final String CLASS_NAME = "utrecht-button-group";
+ public UtrechtButtonGroupBehavior() {
+ super(EXPECTED_TAG_NAME, CLASS_NAME);
+ }
+
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
response.render(CSS);
}
-
- @Override
- public void onComponentTag(Component component, ComponentTag tag) {
- super.onComponentTag(component, tag);
-
- if (!EXPECTED_TAG_NAME.equals(tag.getName())) {
- tag.setName(EXPECTED_TAG_NAME);
- }
-
- if (!tag.isClose()) {
- tag.put("class", CLASS_NAME);
- }
- }
}
From 1ba017d4883fba6a8820071723466e0c28fd82f2 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 6 Dec 2024 16:21:41 +0100
Subject: [PATCH 46/75] Keep existing classes
---
.../wicket/components/base/TagNameClassComponentBehavior.java | 2 +-
.../java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
index 1d1b14e4..082aa176 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
@@ -22,7 +22,7 @@ public void onComponentTag(Component component, ComponentTag tag) {
}
if (!tag.isClose()) {
- tag.put("class", String.join(" ", classNames));
+ tag.append("class", String.join(" ", classNames), " ");
}
}
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html
index c78dfc96..31adb0a7 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/alert/AlertExamplesPanel.html
@@ -15,7 +15,7 @@ Alert Alert
- Lorem ipsum dolor sit amet
+
From 32d411d38152e7aa2ba3098a4d1eba1b98dce289 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 16:36:11 +0100
Subject: [PATCH 47/75] feat: add Form Field Textbox component
---
wicket/components-wicket/pom.xml | 8 +
.../utrecht/UtrechtFormFieldTextbox.html | 11 +
.../utrecht/UtrechtFormFieldTextbox.java | 196 ++++++++++++++++++
.../utrecht/UtrechtTextboxBehavior.java | 22 ++
.../rotterdam/wicket/docs/ComponentsPage.html | 1 +
.../rotterdam/wicket/docs/ComponentsPage.java | 3 +
.../UtrechtFormFieldTextboxExamplesPanel.html | 43 ++++
.../UtrechtFormFieldTextboxExamplesPanel.java | 64 ++++++
8 files changed, 348 insertions(+)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_textbox/utrecht/UtrechtFormFieldTextbox.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_textbox/utrecht/UtrechtFormFieldTextbox.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/textbox/utrecht/UtrechtTextboxBehavior.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_textbox/UtrechtFormFieldTextboxExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_textbox/UtrechtFormFieldTextboxExamplesPanel.java
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index 288daaa4..0c175302 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -295,6 +295,14 @@
nl/rotterdam/design_system/wicket/components/separator/utrecht
+
+ false
+ node_modules/
+
+ @utrecht/textbox-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/textbox/utrecht
+
false
node_modules/
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_textbox/utrecht/UtrechtFormFieldTextbox.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_textbox/utrecht/UtrechtFormFieldTextbox.html
new file mode 100644
index 00000000..34a360b0
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_textbox/utrecht/UtrechtFormFieldTextbox.html
@@ -0,0 +1,11 @@
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_textbox/utrecht/UtrechtFormFieldTextbox.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_textbox/utrecht/UtrechtFormFieldTextbox.java
new file mode 100644
index 00000000..b37205a3
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_textbox/utrecht/UtrechtFormFieldTextbox.java
@@ -0,0 +1,196 @@
+package nl.rotterdam.design_system.wicket.components.form_field_textbox.utrecht;
+
+import css.HTMLUtil;
+import java.util.UUID;
+import nl.rotterdam.design_system.wicket.components.form_field.utrecht.UtrechtFormFieldBehavior;
+import nl.rotterdam.design_system.wicket.components.form_field_description.utrecht.UtrechtFormFieldDescriptionBehavior;
+import nl.rotterdam.design_system.wicket.components.form_field_error_message.utrecht.UtrechtFormFieldErrorMessageBehavior;
+import nl.rotterdam.design_system.wicket.components.form_label.utrecht.UtrechtFormLabelBehavior;
+import nl.rotterdam.design_system.wicket.components.textbox.utrecht.UtrechtTextboxBehavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+
+public class UtrechtFormFieldTextbox extends Panel {
+
+ private static final long serialVersionUID = 1L;
+
+ private final TextField control;
+ private final Label description;
+ private final IModel errorMessageModel;
+ private final Label errorMessage;
+ private final String controlId;
+ private final String fieldId;
+ private final String descriptionId;
+ private final String errorMessageId;
+
+ public static final String FORM_FIELD_CLASSNAME = "utrecht-form-field";
+ public static final String FORM_FIELD_INVALID_CLASSNAME = "utrecht-form-field--invalid";
+ public static final String FORM_LABEL_CLASSNAME = "utrecht-form-label";
+ public static final String FORM_LABEL_DISABLED_CLASSNAME = "utrecht-form-label--disabled";
+ public static final String TEXTBOX_CLASSNAME = "utrecht-textbox utrecht-textbox--html-input";
+ public static final String CHECKBOX_DISABLED_CLASSNAME = "utrecht-textbox--disabled";
+ public static final String INVALID_CLASSNAME = "utrecht-textbox--invalid";
+ public static final String FORM_FIELD_INPUT_CLASSNAME = "utrecht-form-field__input";
+
+ public UtrechtFormFieldTextbox(String id, IModel model, String labelText) {
+ this(id, model, Model.of(labelText), null, null);
+ }
+
+ public UtrechtFormFieldTextbox(
+ String id,
+ IModel model,
+ IModel labelModel,
+ IModel descriptionModel,
+ IModel errorModel
+ ) {
+ super(id);
+ add(new UtrechtFormFieldBehavior());
+ add(new UtrechtFormLabelBehavior());
+ add(new UtrechtFormFieldDescriptionBehavior());
+ add(new UtrechtFormFieldErrorMessageBehavior());
+ add(new UtrechtTextboxBehavior());
+ errorMessageModel = errorModel;
+
+ // Generate unique IDs `for` and `aria-describedby` ID references
+ fieldId = UUID.randomUUID().toString();
+ controlId = UUID.randomUUID().toString();
+ descriptionId = UUID.randomUUID().toString();
+ errorMessageId = UUID.randomUUID().toString();
+
+ // TODO: Implement disabled state
+ Boolean disabled = false;
+
+ // TODO: Implement indeterminate state, when someone needs it.
+
+ // Create the text input
+ control = new TextField("control", model) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ control.setMarkupId(controlId);
+ tag.put(
+ "class",
+ HTMLUtil.className(
+ UtrechtFormFieldTextbox.TEXTBOX_CLASSNAME,
+ UtrechtFormFieldTextbox.FORM_FIELD_INPUT_CLASSNAME,
+ disabled ? UtrechtFormFieldTextbox.CHECKBOX_DISABLED_CLASSNAME : null,
+ isInvalid() ? UtrechtFormFieldTextbox.INVALID_CLASSNAME : null
+ )
+ );
+
+ String ariaDescribedBy = HTMLUtil.idRefs(
+ descriptionModel != null && descriptionModel.getObject() != null ? descriptionId : null,
+ isInvalid() ? errorMessageId : null
+ );
+
+ // Do not render an empty `aria-describedby` attribute.
+ if (!ariaDescribedBy.isEmpty()) {
+ tag.put("aria-describedby", ariaDescribedBy);
+ }
+
+ if (isRequired()) {
+ tag.put("aria-required", "true");
+ }
+ if (isInvalid()) {
+ tag.put("aria-invalid", "true");
+ }
+ }
+
+ protected void onDisabled(final ComponentTag tag) {
+ tag.put("disabled", "disabled");
+ // TODO: Add `CHECKBOX_DISABLED_CLASSNAME` class name
+ }
+ };
+
+ // Create the label
+ Label label = new Label("label", labelModel) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ tag.put("for", controlId);
+ tag.put(
+ "class",
+ HTMLUtil.className(
+ UtrechtFormFieldTextbox.FORM_LABEL_CLASSNAME,
+ disabled ? UtrechtFormFieldTextbox.FORM_LABEL_DISABLED_CLASSNAME : null
+ )
+ );
+ }
+ };
+
+ Label labelText = new Label("labelText", labelModel) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ }
+ };
+
+ // Create description and error message
+ description = new Label("description", descriptionModel) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ tag.put("id", descriptionId);
+ }
+
+ @Override
+ public boolean isVisible() {
+ return getDefaultModelObject() != null;
+ }
+ };
+
+ errorMessage = new Label("error", errorModel) {
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ tag.put("id", errorMessageId);
+ }
+
+ @Override
+ public boolean isVisible() {
+ return getDefaultModelObject() != null;
+ }
+ };
+
+ // Add all components
+ add(control);
+ add(label);
+ add(labelText);
+ add(description);
+ add(errorMessage);
+ }
+
+ protected boolean isInvalid() {
+ return errorMessageModel != null && errorMessageModel.getObject() != null;
+ }
+
+ protected boolean isRequired() {
+ return control.isRequired();
+ }
+
+ @Override
+ protected void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+ tag.put("id", fieldId);
+ tag.put(
+ "class",
+ HTMLUtil.className(
+ UtrechtFormFieldTextbox.FORM_FIELD_CLASSNAME,
+ isInvalid() ? UtrechtFormFieldTextbox.FORM_FIELD_INVALID_CLASSNAME : null
+ )
+ );
+ }
+
+ public UtrechtFormFieldTextbox setRequired(boolean required) {
+ control.setRequired(required);
+ return this;
+ }
+
+ public TextField getTextField() {
+ return control;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/textbox/utrecht/UtrechtTextboxBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/textbox/utrecht/UtrechtTextboxBehavior.java
new file mode 100644
index 00000000..2e732ffa
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/textbox/utrecht/UtrechtTextboxBehavior.java
@@ -0,0 +1,22 @@
+package nl.rotterdam.design_system.wicket.components.textbox.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.head.CssHeaderItem;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.request.resource.CssResourceReference;
+
+public class UtrechtTextboxBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = CssHeaderItem.forReference(
+ new CssResourceReference(UtrechtTextboxBehavior.class, "@utrecht/textbox-css/dist/index.css")
+ );
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ response.render(CSS);
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index 1944ecca..567a72d4 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -27,6 +27,7 @@ Components
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index 94322c96..ad1d06e1 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -9,6 +9,7 @@
import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
import nl.rotterdam.design_system.wicket.components.column_layout.utrecht.UtrechtColumnLayoutBorder;
import nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht.UtrechtFormFieldCheckbox;
+import nl.rotterdam.design_system.wicket.components.form_field_textbox.utrecht.UtrechtFormFieldTextbox;
import nl.rotterdam.design_system.wicket.components.heading_group.utrecht.UtrechtHeadingGroupBorder;
import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
import nl.rotterdam.design_system.wicket.components.icon.utrecht.UtrechtIconBorder;
@@ -32,6 +33,7 @@
import nl.rotterdam.wicket.docs.column_layout.ColumnLayoutExamplesPanel;
import nl.rotterdam.wicket.docs.form_field_checkbox.FormFieldCheckboxExamplesPanel;
import nl.rotterdam.wicket.docs.form_field_label.FormFieldLabelExamplesPanel;
+import nl.rotterdam.wicket.docs.form_field_textbox.UtrechtFormFieldTextboxExamplesPanel;
// import nl.rotterdam.wicket.docs.form_label.FormLabelExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
@@ -135,6 +137,7 @@ protected void onInitialize() {
pageBody.add(new ColumnLayoutExamplesPanel("columnLayoutExamplesPanel"));
pageBody.add(new FormFieldCheckboxExamplesPanel("formFieldCheckboxExamplesPanel"));
pageBody.add(new FormFieldLabelExamplesPanel("formFieldLabelExamplesPanel"));
+ pageBody.add(new UtrechtFormFieldTextboxExamplesPanel("formFieldTextboxExamplesPanel"));
pageBody.add(new HeadingExamplesPanel("headingExamplesPanel"));
pageBody.add(new HeadingGroupExamplesPanel("headingGroupExamplesPanel"));
pageBody.add(new HtmlContentExamplesPanel("htmlContentExamplesPanel"));
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_textbox/UtrechtFormFieldTextboxExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_textbox/UtrechtFormFieldTextboxExamplesPanel.html
new file mode 100644
index 00000000..e4a86833
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_textbox/UtrechtFormFieldTextboxExamplesPanel.html
@@ -0,0 +1,43 @@
+
+
+
+
+
+ Form Field Textbox component
+
+
Biedt de mogelijkheid om één regel aan tekens in te vullen.
+
+
+
+ Form Field Textbox
+
+
+
+
+
+
+ Form Field Textbox Required
+
+
+
+
+
+
+ Form Field Textbox Disabled
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_textbox/UtrechtFormFieldTextboxExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_textbox/UtrechtFormFieldTextboxExamplesPanel.java
new file mode 100644
index 00000000..f69a0700
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/form_field_textbox/UtrechtFormFieldTextboxExamplesPanel.java
@@ -0,0 +1,64 @@
+package nl.rotterdam.wicket.docs.form_field_textbox;
+
+import nl.rotterdam.design_system.wicket.components.form_field_textbox.utrecht.UtrechtFormFieldTextbox;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class UtrechtFormFieldTextboxExamplesPanel extends Panel {
+
+ public UtrechtFormFieldTextboxExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleFormFieldTextbox() {
+ return new UtrechtFormFieldTextbox(
+ "utrechtFormFieldTextbox",
+ Model.of("Hello world!"),
+ Model.of("I agree"),
+ Model.of("Description"),
+ Model.of("error")
+ );
+ }
+
+ @ComponentExample
+ private static Component exampleFormFieldTextboxRequired() {
+ UtrechtFormFieldTextbox formField = new UtrechtFormFieldTextbox(
+ "utrechtFormFieldTextboxRequired",
+ Model.of("Hello world!"),
+ Model.of("I agree"),
+ Model.of("Description"),
+ Model.of("error")
+ );
+
+ formField.setRequired(true);
+
+ return formField;
+ }
+
+ @ComponentExample
+ private static Component exampleFormFieldTextboxDisabled() {
+ UtrechtFormFieldTextbox formField = new UtrechtFormFieldTextbox(
+ "utrechtFormFieldTextboxDisabled",
+ Model.of("Hello world!"),
+ Model.of("I agree"),
+ Model.of("Description"),
+ Model.of("error")
+ );
+
+ // formField.setDisabled(true);
+
+ return formField;
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleFormFieldTextbox());
+ add(exampleFormFieldTextboxRequired());
+ add(exampleFormFieldTextboxDisabled());
+ }
+}
From 958a0a22dc477c553c1f625075e71af227e8c5be Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 6 Dec 2024 16:36:36 +0100
Subject: [PATCH 48/75] renderHead can now be omitted for most components by
adding css header items to base class
---
.../alert/utrecht/UtrechtAlertBehavior.java | 17 ++++------------
.../base/TagNameClassComponentBehavior.java | 20 +++++++++++++++++++
.../utrecht/UtrechtButtonGroupBehavior.java | 15 ++------------
.../code_block/utrecht/UtrechtCodeBlock.html | 2 +-
.../utrecht/UtrechtCodeBlockBehavior.java | 14 +++++--------
5 files changed, 32 insertions(+), 36 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
index 6ed0c9b1..66bd2b47 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/alert/utrecht/UtrechtAlertBehavior.java
@@ -1,10 +1,8 @@
package nl.rotterdam.design_system.wicket.components.alert.utrecht;
import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
-import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
import java.util.Map;
@@ -12,6 +10,8 @@
public class UtrechtAlertBehavior extends TagNameClassComponentBehavior {
+ private static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(UtrechtAlertBehavior.class, "@utrecht/alert-css/dist/index.css");
+
public static Behavior utrechtAlert(UtrechtAlertType type) {
Behavior behavior = types.get(type);
@@ -38,18 +38,9 @@ public static Behavior utrechtAlert(UtrechtAlertType type) {
UTRECHT_ALERT_OK
);
- public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(UtrechtAlertBehavior.class, "@utrecht/alert-css/dist/index.css");
-
- private static final String EXPECTED_TAG_NAME = "div";
- private static final String CLASS_NAME = "utrecht-alert";
private UtrechtAlertBehavior(UtrechtAlertType type) {
- super(EXPECTED_TAG_NAME, CLASS_NAME, "utrecht-alert--" + type.type);
- }
-
- @Override
- public void renderHead(Component component, IHeaderResponse response) {
- super.renderHead(component, response);
- response.render(CSS);
+ super("div", "utrecht-alert", "utrecht-alert--" + type.type);
+ addHeaderItem(CSS);
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
index 082aa176..6cb2c7bd 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
@@ -3,17 +3,31 @@
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+
+import java.util.ArrayList;
+import java.util.List;
public abstract class TagNameClassComponentBehavior extends Behavior {
private final String expectedTagName;
private final String[] classNames;
+ private final List headerItems = new ArrayList<>();
+
public TagNameClassComponentBehavior(String expectedTagName, String... classNames) {
this.expectedTagName = expectedTagName;
this.classNames = classNames;
}
+ public void addHeaderItem(CssReferenceHeaderItem headerItem) {
+ if (headerItem == null) {
+ throw new RuntimeException("Header item cannot be null");
+ }
+ headerItems.add(headerItem);
+ }
+
public void onComponentTag(Component component, ComponentTag tag) {
super.onComponentTag(component, tag);
@@ -25,4 +39,10 @@ public void onComponentTag(Component component, ComponentTag tag) {
tag.append("class", String.join(" ", classNames), " ");
}
}
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ headerItems.forEach(response::render);
+ }
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
index c170888c..406460bd 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button_group/utrecht/UtrechtButtonGroupBehavior.java
@@ -1,9 +1,7 @@
package nl.rotterdam.design_system.wicket.components.button_group.utrecht;
import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
-import org.apache.wicket.Component;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
@@ -12,17 +10,8 @@ public class UtrechtButtonGroupBehavior extends TagNameClassComponentBehavior {
public static final CssReferenceHeaderItem CSS =
cssReferenceHeaderItem(UtrechtButtonGroupBehavior.class, "@utrecht/button-group-css/dist/index.css");
- private static final String EXPECTED_TAG_NAME = "div";
- private static final String CLASS_NAME = "utrecht-button-group";
-
public UtrechtButtonGroupBehavior() {
- super(EXPECTED_TAG_NAME, CLASS_NAME);
- }
-
- @Override
- public void renderHead(Component component, IHeaderResponse response) {
- super.renderHead(component, response);
-
- response.render(CSS);
+ super("div", "utrecht-button-group");
+ addHeaderItem(CSS);
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.html
index 33867804..23400cd1 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.html
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlock.html
@@ -1,3 +1,3 @@
-
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java
index 023b6323..178a9236 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/code_block/utrecht/UtrechtCodeBlockBehavior.java
@@ -1,21 +1,17 @@
package nl.rotterdam.design_system.wicket.components.code_block.utrecht;
-import org.apache.wicket.Component;
-import org.apache.wicket.behavior.Behavior;
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
-public class UtrechtCodeBlockBehavior extends Behavior {
+public class UtrechtCodeBlockBehavior extends TagNameClassComponentBehavior {
public static final CssReferenceHeaderItem CSS =
cssReferenceHeaderItem(UtrechtCodeBlockBehavior.class, "@utrecht/code-block-css/dist/index.css");
- @Override
- public void renderHead(Component component, IHeaderResponse response) {
- super.renderHead(component, response);
-
- response.render(CSS);
+ public UtrechtCodeBlockBehavior() {
+ super("pre", "utrecht-code-block");
+ addHeaderItem(CSS);
}
}
From 91ed9a71799eb68edb0067f3c86d73d1b713e26d Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Fri, 6 Dec 2024 17:03:54 +0100
Subject: [PATCH 49/75] Add ability to include rendered markup instead of
source markup
---
.../GenerateMarkdownAndStorybookExamples.java | 59 +++++++++----------
.../HtmlDocumentationExtractor.java | 15 +++--
...arkdownDocumentationExamplesGenerator.java | 39 +++++++-----
3 files changed, 61 insertions(+), 52 deletions(-)
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index a33894bb..ead3f452 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -75,10 +75,15 @@ void generateAlertComponent() {
@Test
void generateBadgeListComponent() {
+
+ tester.startComponentInPage(BadgeListExamplesPanel.class);
+ String renderedHtml = tester.getLastResponseAsString();
+
new MarkdownDocumentationExamplesGenerator(
BadgeListExamplesPanel.class,
UtrechtBadgeListBorder.class,
- "badge-list"
+ "badge-list",
+ renderedHtml
).generate();
}
@@ -92,8 +97,7 @@ void generateButtonGroupComponent() {
new MarkdownDocumentationExamplesGenerator(
ButtonGroupExamplesPanel.class,
UtrechtButtonGroupBorder.class,
- "button-group"
- ).generate();
+ "button-group").generate();
}
@Test
@@ -134,10 +138,15 @@ void generateFormFieldLabelComponent() {
@Test
void generateHeadingComponent() {
+
+ tester.startComponentInPage(HeadingExamplesPanel.class);
+ String renderedHtml = tester.getLastResponseAsString();
+
new MarkdownDocumentationExamplesGenerator(
HeadingExamplesPanel.class,
UtrechtHeading.class,
- "heading"
+ "heading",
+ renderedHtml
).generate();
}
@@ -146,8 +155,7 @@ void generateHeadingGroupComponent() {
new MarkdownDocumentationExamplesGenerator(
HeadingGroupExamplesPanel.class,
UtrechtHeadingGroupBorder.class,
- "heading-group"
- ).generate();
+ "heading-group").generate();
}
@Test
@@ -155,8 +163,7 @@ void generateHtmlContentComponent() {
new MarkdownDocumentationExamplesGenerator(
HtmlContentExamplesPanel.class,
UtrechtHtmlContentBorder.class,
- "html-content"
- ).generate();
+ "html-content").generate();
}
@Test
@@ -164,8 +171,7 @@ void generateRotterdamLogoImage() {
new MarkdownDocumentationExamplesGenerator(
RotterdamLogoImageExamplesPanel.class,
RotterdamLogoImage.class,
- "rotterdam-logo-image"
- ).generate();
+ "rotterdam-logo-image").generate();
}
@Test
@@ -173,8 +179,7 @@ void generateUtrechtLogo() {
new MarkdownDocumentationExamplesGenerator(
UtrechtLogoExamplesPanel.class,
UtrechtLogoBorder.class,
- "utrecht-logo"
- ).generate();
+ "utrecht-logo").generate();
}
@Test
@@ -182,8 +187,7 @@ void generateUtrechtIcon() {
new MarkdownDocumentationExamplesGenerator(
IconExamplesPanel.class,
UtrechtIconBorder.class,
- "utrecht-icon"
- ).generate();
+ "utrecht-icon").generate();
}
@Test
@@ -191,8 +195,7 @@ void generateUtrechtNumberBadge() {
new MarkdownDocumentationExamplesGenerator(
UtrechtNumberBadgeExamplesPanel.class,
UtrechtNumberBadge.class,
- "utrecht-number-badge"
- ).generate();
+ "utrecht-number-badge").generate();
}
@Test
@@ -200,8 +203,7 @@ void generateUtrechtPageBody() {
new MarkdownDocumentationExamplesGenerator(
UtrechtPageBodyExamplesPanel.class,
UtrechtPageBodyBorder.class,
- "utrecht-page-body"
- ).generate();
+ "utrecht-page-body").generate();
}
@Test
@@ -209,8 +211,7 @@ void generateUtrechtPageFooter() {
new MarkdownDocumentationExamplesGenerator(
UtrechtPageFooterExamplesPanel.class,
UtrechtPageFooterBorder.class,
- "utrecht-page-footer"
- ).generate();
+ "utrecht-page-footer").generate();
}
@Test
@@ -218,8 +219,7 @@ void generateUtrechtPageLayout() {
new MarkdownDocumentationExamplesGenerator(
UtrechtPageLayoutExamplesPanel.class,
UtrechtPageLayoutBorder.class,
- "utrecht-page-layout"
- ).generate();
+ "utrecht-page-layout").generate();
}
@Test
@@ -227,8 +227,7 @@ void generateUtrechtPreserveData() {
new MarkdownDocumentationExamplesGenerator(
UtrechtPreserveDataExamplesPanel.class,
UtrechtPreserveDataLabel.class,
- "utrecht-preserve-data"
- ).generate();
+ "utrecht-preserve-data").generate();
}
@Test
@@ -236,8 +235,7 @@ void generateUtrechtRoot() {
new MarkdownDocumentationExamplesGenerator(
UtrechtRootExamplesPanel.class,
UtrechtRootBorder.class,
- "utrecht-root"
- ).generate();
+ "utrecht-root").generate();
}
@Test
@@ -245,8 +243,7 @@ void generateUtrechtSeparator() {
new MarkdownDocumentationExamplesGenerator(
UtrechtSeparatorExamplesPanel.class,
UtrechtSeparator.class,
- "utrecht-separator"
- ).generate();
+ "utrecht-separator").generate();
}
@Test
@@ -254,8 +251,7 @@ void generateUtrechtOrderedList() {
new MarkdownDocumentationExamplesGenerator(
UtrechtOrderedListExamplesPanel.class,
UtrechtOrderedList.class,
- "utrecht-ordered-list"
- ).generate();
+ "utrecht-ordered-list").generate();
}
@Test
@@ -263,8 +259,7 @@ void generateUtrechtUnorderedList() {
new MarkdownDocumentationExamplesGenerator(
UtrechtOrderedListExamplesPanel.class,
UtrechtOrderedList.class,
- "utrecht-unordered-list"
- ).generate();
+ "utrecht-unordered-list").generate();
}
@AfterEach
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java
index 8ce0652a..a8b0273e 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/HtmlDocumentationExtractor.java
@@ -1,15 +1,16 @@
package nl.rotterdam.wicket.nl_design.docs.storybook_generator;
-import static com.google.common.base.Preconditions.checkNotNull;
-
import com.google.common.base.Charsets;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.util.Optional;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
+import java.io.IOException;
+import java.nio.file.Path;
+import java.util.Optional;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
public class HtmlDocumentationExtractor {
private final Document document;
@@ -22,6 +23,10 @@ public HtmlDocumentationExtractor(Path path) {
}
}
+ public HtmlDocumentationExtractor(String renderedHtml) {
+ document = Jsoup.parse(renderedHtml);
+ }
+
public WicketHtmlExampleSnippet extractExample(String wicketId) {
Element element = document.selectFirst("[data-testid=" + wicketId + "]");
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
index f9f3944e..7998280e 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
@@ -1,11 +1,15 @@
package nl.rotterdam.wicket.nl_design.docs.storybook_generator;
-import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
-
import com.github.javaparser.JavaParser;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.vladsch.flexmark.html2md.converter.FlexmarkHtmlConverter;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.util.string.Strings;
+import org.junit.platform.commons.support.ModifierSupport;
+
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -14,11 +18,8 @@
import java.util.Comparator;
import java.util.List;
import java.util.stream.IntStream;
-import nl.rotterdam.wicket.docs.ComponentExample;
-import org.apache.wicket.Component;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.util.string.Strings;
-import org.junit.platform.commons.support.ModifierSupport;
+
+import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
public class MarkdownDocumentationExamplesGenerator {
@@ -38,8 +39,17 @@ public MarkdownDocumentationExamplesGenerator(
When you have a Behavior and a component, put them in the same package.
*/
Class extends Component> componentClass,
- String componentName
- ) {
+ String componentName) {
+ this(examplePanelClass, componentClass, componentName, null);
+ }
+ public MarkdownDocumentationExamplesGenerator(
+ Class extends Panel> examplePanelClass,
+ /*
+ When you have a Behavior and a component, put them in the same package.
+ */
+ Class extends Component> componentClass,
+ String componentName,
+ String renderedHtml) {
this.componentName = componentName;
this.componentNameCapitalized = Strings.capitalize(componentName);
@@ -53,8 +63,10 @@ public MarkdownDocumentationExamplesGenerator(
String exampleFilenameWithoutExtension = basePathInDocs + examplePanelClass.getSimpleName();
exampleJavaFile = new File(exampleFilenameWithoutExtension + ".java");
- documentationExtractor = new HtmlDocumentationExtractor(
- new File(exampleFilenameWithoutExtension + ".html").toPath()
+ documentationExtractor =
+ renderedHtml != null
+ ? new HtmlDocumentationExtractor(renderedHtml)
+ : new HtmlDocumentationExtractor(new File(exampleFilenameWithoutExtension + ".html").toPath()
);
markdownReadmeFile = new File(moduleRootPath + "/stories/" + componentName + ".md");
@@ -176,10 +188,7 @@ private void writeWicketComponentsReadme(List results) t
lines.addAll(
List.of(
"```html",
- "",
- // TODO: Indent each line of codeHTML, not only the first
- " " + example.htmlSnippet().codeHTML(),
- " ",
+ example.htmlSnippet().codeHTML(),
"```",
"",
"```java",
From 6c0f53becf08a7ae98fe11aca6068460318e743e Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Fri, 6 Dec 2024 21:02:48 +0100
Subject: [PATCH 50/75] improve Wicket stories
---
pnpm-lock.yaml | 8 +
wicket/components-wicket/package.json | 1 +
wicket/components-wicket/pom.xml | 8 +
.../utrecht/UtrechtBadgeListBehavior.java | 21 ++-
.../utrecht/UtrechtDataBadgeBehavior.java | 44 ++++++
.../UtrechtUnorderedListItemBehavior.java | 29 ++++
.../rotterdam/wicket/docs/ComponentsPage.html | 76 ---------
.../rotterdam/wicket/docs/ComponentsPage.java | 146 ------------------
.../badge_list/BadgeListExamplesPanel.html | 7 +-
.../badge_list/BadgeListExamplesPanel.java | 30 +++-
.../ColumnLayoutExamplesPanel.html | 27 +++-
.../HeadingGroupExamplesPanel.html | 7 +-
.../HtmlContentExamplesPanel.html | 9 +-
.../wicket/docs/icon/IconExamplesPanel.html | 18 ++-
.../UtrechtOrderedListExamplesPanel.html | 6 +-
.../UtrechtOrderedListExamplesPanel.java | 30 +++-
.../UtrechtUnorderedListExamplesPanel.html | 7 +-
.../UtrechtUnorderedListExamplesPanel.java | 33 +++-
18 files changed, 259 insertions(+), 248 deletions(-)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/data_badge/utrecht/UtrechtDataBadgeBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListItemBehavior.java
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 58c63a58..8da2f32f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -617,6 +617,9 @@ importers:
'@utrecht/custom-checkbox-css':
specifier: 1.1.1
version: 1.1.1
+ '@utrecht/data-badge-css':
+ specifier: 1.0.0
+ version: 1.0.0
'@utrecht/form-field-css':
specifier: 1.5.0
version: 1.5.0
@@ -2930,6 +2933,9 @@ packages:
'@utrecht/custom-checkbox-css@1.3.1':
resolution: {integrity: sha512-iChJIVwvWIgc4j3cP+0fcGHnOmN4cIevg4X27TxEADsVyJvTgjYfsudjAt4OlzYD/Vx6nvnY+ElDQhmge0jc/g==}
+ '@utrecht/data-badge-css@1.0.0':
+ resolution: {integrity: sha512-f+u4fYqOKEtFJrtiRcByDLnSTmlgMICjLDRgMMiRFZls9iq7jLK/5as8nOv/1dYjSdSWjN5AxeIvh6KmzWmWJA==}
+
'@utrecht/fieldset-react@1.0.4':
resolution: {integrity: sha512-mgLV7fPTTWXb+8HatYqOOtHpnce4fACKNfo26OkHKw38nI9BV+VsDkALcHhgPDjfdhvnEXvJRRNx1YxBm+kDBw==}
peerDependencies:
@@ -10585,6 +10591,8 @@ snapshots:
'@utrecht/custom-checkbox-css@1.3.1': {}
+ '@utrecht/data-badge-css@1.0.0': {}
+
'@utrecht/fieldset-react@1.0.4(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
diff --git a/wicket/components-wicket/package.json b/wicket/components-wicket/package.json
index 5004f98a..6b6f0ebc 100644
--- a/wicket/components-wicket/package.json
+++ b/wicket/components-wicket/package.json
@@ -29,6 +29,7 @@
"@utrecht/code-block-css": "1.4.0",
"@utrecht/column-layout-css": "1.5.0",
"@utrecht/custom-checkbox-css": "1.1.1",
+ "@utrecht/data-badge-css": "1.0.0",
"@utrecht/form-field-css": "1.5.0",
"@utrecht/form-field-description-css": "1.5.0",
"@utrecht/form-field-error-message-css": "1.5.0",
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index 0c175302..b1832184 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -146,6 +146,14 @@
nl/rotterdam/design_system/wicket/components/column_layout/utrecht
+
+ false
+ node_modules/
+
+ @utrecht/data-badge-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/data_badge/utrecht
+
false
node_modules/
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java
index b5dcb27d..8d2c9a70 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/badge_list/utrecht/UtrechtBadgeListBehavior.java
@@ -1,20 +1,19 @@
package nl.rotterdam.design_system.wicket.components.badge_list.utrecht;
-import org.apache.wicket.Component;
-import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.markup.head.CssReferenceHeaderItem;
-import org.apache.wicket.markup.head.IHeaderResponse;
-
import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
-public class UtrechtBadgeListBehavior extends Behavior {
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
- public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(UtrechtBadgeListBehavior.class, "@utrecht/badge-list-css/dist/index.css");
+public class UtrechtBadgeListBehavior extends TagNameClassComponentBehavior {
- @Override
- public void renderHead(Component component, IHeaderResponse response) {
- super.renderHead(component, response);
+ private static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
+ UtrechtBadgeListBehavior.class,
+ "@utrecht/badge-list-css/dist/index.css"
+ );
- response.render(CSS);
+ public UtrechtBadgeListBehavior() {
+ super("div", "utrecht-badge-list");
+ addHeaderItem(CSS);
}
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/data_badge/utrecht/UtrechtDataBadgeBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/data_badge/utrecht/UtrechtDataBadgeBehavior.java
new file mode 100644
index 00000000..a1532e49
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/data_badge/utrecht/UtrechtDataBadgeBehavior.java
@@ -0,0 +1,44 @@
+package nl.rotterdam.design_system.wicket.components.data_badge.utrecht;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import org.apache.wicket.markup.head.IHeaderResponse;
+
+public class UtrechtDataBadgeBehavior extends Behavior {
+
+ public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
+ UtrechtDataBadgeBehavior.class,
+ "@utrecht/data-badge-css/dist/index.css"
+ );
+
+ private final String expectedTagName;
+ private final String className;
+
+ public UtrechtDataBadgeBehavior() {
+ this.expectedTagName = "data";
+ this.className = "utrecht-data-badge";
+ }
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!expectedTagName.equals(tag.getName())) {
+ tag.setName(expectedTagName);
+ }
+
+ if (!tag.isClose()) {
+ tag.append("class", className, " ");
+ }
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ response.render(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListItemBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListItemBehavior.java
new file mode 100644
index 00000000..cac359da
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/unordered_list/utrecht/UtrechtUnorderedListItemBehavior.java
@@ -0,0 +1,29 @@
+package nl.rotterdam.design_system.wicket.components.unordered_list.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+
+public class UtrechtUnorderedListItemBehavior extends Behavior {
+
+ private final String expectedTagName;
+ private final String className;
+
+ public UtrechtUnorderedListItemBehavior() {
+ this.expectedTagName = "li";
+ this.className = "utrecht-unordered-list__item utrecht-unordered-list__item";
+ }
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ if (!expectedTagName.equals(tag.getName())) {
+ tag.setName(expectedTagName);
+ }
+
+ if (!tag.isClose()) {
+ tag.append("class", className, " ");
+ }
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index 567a72d4..9ab8e173 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -43,84 +43,8 @@ Components
- Code Block
-
-
-
-
-
-
- 42
-
Link to trigger Wicket stateful page refresh
-
-
Hello world
-
- Submit
-
-
-
-
- Buttons go here
-
-
-
-
-
- Utrecht ordered list
-
-
- Example label
-
-
- End ordered list
-
-
-
-
-
-
-
-
- Nam quod exercitationem vero et. Sapiente alias occaecati voluptas est. Ullam sed quis hic est nisi. Et
- saepe expedita est sunt sed vitae exercitationem et.
-
- Eos provident at quaerat sed. Et adipisci corporis iste. Praesentium ut aut sit dolores distinctio.
-
- Alias officiis et sint. Autem fuga praesentium omnis velit sit id sunt suscipit. Nihil vel minus cumque.
- At mollitia inventore ut quia enim. Ut cupiditate explicabo porro ab vel vel. Velit nostrum doloribus
- et.
-
-
- Natus eos veniam voluptas. Ea modi est dolores doloribus delectus amet nemo. Ea vel nihil et eos et
- perspiciatis iure commodi. Vel dolores exercitationem facilis quisquam. Voluptas modi quo consequatur
- quos.
-
-
- Aut consequuntur sed qui. Ea id molestiae similique sequi facere deserunt sunt fugiat. Molestiae beatae
- consectetur perferendis. Qui earum velit sed vel non officiis odit. Deleniti nesciunt nemo ut delectus
- nemo at sunt. Maiores numquam natus aut adipisci ipsum fuga aliquam consequatur.
-
-
-
- Heading in a heading group
- Sub-heading
-
-
-
-
Page footer
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index ad1d06e1..b7a02fab 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -2,29 +2,12 @@
import css.DesignSystemTheme;
import java.util.Arrays;
-import java.util.List;
-// import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlert;
-// import nl.rotterdam.design_system.wicket.components.alert.utrecht.UtrechtAlertType;
-import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
-import nl.rotterdam.design_system.wicket.components.code_block.utrecht.UtrechtCodeBlock;
-import nl.rotterdam.design_system.wicket.components.column_layout.utrecht.UtrechtColumnLayoutBorder;
-import nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht.UtrechtFormFieldCheckbox;
-import nl.rotterdam.design_system.wicket.components.form_field_textbox.utrecht.UtrechtFormFieldTextbox;
-import nl.rotterdam.design_system.wicket.components.heading_group.utrecht.UtrechtHeadingGroupBorder;
-import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
-import nl.rotterdam.design_system.wicket.components.icon.utrecht.UtrechtIconBorder;
import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
-import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
-import nl.rotterdam.design_system.wicket.components.ordered_list.utrecht.UtrechtOrderedList;
-import nl.rotterdam.design_system.wicket.components.ordered_list.utrecht.UtrechtOrderedListBehavior;
-import nl.rotterdam.design_system.wicket.components.ordered_list.utrecht.UtrechtOrderedListItemBehavior;
import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
import nl.rotterdam.design_system.wicket.components.page_header.utrecht.UtrechtPageHeaderBorder;
import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
-import nl.rotterdam.design_system.wicket.components.separator.utrecht.UtrechtSeparator;
-import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedList;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
import nl.rotterdam.wicket.docs.badge_list.BadgeListExamplesPanel;
import nl.rotterdam.wicket.docs.body.BodyExamplesPanel;
@@ -34,7 +17,6 @@
import nl.rotterdam.wicket.docs.form_field_checkbox.FormFieldCheckboxExamplesPanel;
import nl.rotterdam.wicket.docs.form_field_label.FormFieldLabelExamplesPanel;
import nl.rotterdam.wicket.docs.form_field_textbox.UtrechtFormFieldTextboxExamplesPanel;
-// import nl.rotterdam.wicket.docs.form_label.FormLabelExamplesPanel;
import nl.rotterdam.wicket.docs.heading.HeadingExamplesPanel;
import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
import nl.rotterdam.wicket.docs.html_content.HtmlContentExamplesPanel;
@@ -49,21 +31,16 @@
import nl.rotterdam.wicket.docs.preserve_data.UtrechtPreserveDataExamplesPanel;
import nl.rotterdam.wicket.docs.root.UtrechtRootExamplesPanel;
import nl.rotterdam.wicket.docs.separator.UtrechtSeparatorExamplesPanel;
-import nl.rotterdam.wicket.docs.unordered_list.Kind;
import nl.rotterdam.wicket.docs.unordered_list.UtrechtUnorderedListExamplesPanel;
import org.apache.wicket.Component;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem;
import org.apache.wicket.markup.head.JavaScriptReferenceType;
-import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.LambdaChoiceRenderer;
-import org.apache.wicket.markup.html.link.ExternalLink;
import org.apache.wicket.markup.html.link.Link;
-import org.apache.wicket.markup.html.list.ListItem;
-import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
import org.slf4j.Logger;
@@ -100,8 +77,6 @@ private static Component createActiveThemeChoice() {
private UtrechtPageHeaderBorder pageHeader;
private UtrechtPageBodyBorder pageBody;
private UtrechtPageFooterBorder pageFooter;
- private UtrechtOrderedList orderedList;
- private UtrechtUnorderedList unorderedList;
private UtrechtLogoBorder logo;
@Override
@@ -126,8 +101,6 @@ protected void onInitialize() {
pageFooter = new UtrechtPageFooterBorder("utrechtPageFooter");
pageLayout.add(pageFooter);
- pageBody.add(new UtrechtCodeBlock("code-block-example", Model.of("Reload Page")));
-
// Add the component stories
pageBody.add(new AlertExamplesPanel("alertExamplesPanel"));
pageBody.add(new BadgeListExamplesPanel("badgeListExamplesPanel"));
@@ -154,119 +127,6 @@ protected void onInitialize() {
pageBody.add(new UtrechtSeparatorExamplesPanel("separatorExamplesPanel"));
pageBody.add(new UtrechtUnorderedListExamplesPanel("unorderedListExamplesPanel"));
- pageBody.add(new HeadingExamplesPanel("headingComponents"));
- // add(new HeadingPanel("labelComponents"));
- // pageBody.add(new FormFieldLabelExamplesPanel("labelComponents"));
- pageBody.add(new UtrechtHtmlContentBorder("utrechtHtmlContent"));
- pageBody.add(new UtrechtNumberBadge("utrechtNumberBadge", Model.of("42")));
- /*
- pageBody.add(
- new UtrechtAlert(
- "utrechtAlertInfo",
- Model.of(
- "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
- ),
- UtrechtAlertType.INFO
- )
- );
- pageBody.add(
- new UtrechtAlert(
- "utrechtAlertWarning",
- Model.of(
- "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
- ),
- UtrechtAlertType.WARNING
- )
- );
- pageBody.add(
- new UtrechtAlert(
- "utrechtAlertAlert",
- Model.of(
- "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
- ),
- UtrechtAlertType.ERROR
- )
- );
- pageBody.add(
- new UtrechtAlert(
- "utrechtAlertOk",
- Model.of(
- "Deze gegevens zijn reeds ingevuld en komen uit Basis Registratie Personen (BRP). Indien deze gegevens niet kloppen, kunt u dit wijzigen in het BRP."
- ),
- UtrechtAlertType.OK
- )
- );
- */
- pageBody.add(new UtrechtSeparator("utrechtSeparator"));
- pageBody.add(new UtrechtButtonGroupBorder("utrechtButtonGroup"));
- orderedList = new UtrechtOrderedList("utrechtOrderedList");
- pageBody.add(orderedList);
-
- unorderedList = new UtrechtUnorderedList("utrechtUnorderedList");
- pageBody.add(unorderedList);
-
- pageBody.add(new UtrechtIconBorder("utrechtIcon"));
- pageBody.add(new UtrechtColumnLayoutBorder("utrechtColumnLayout"));
- pageBody.add(new UtrechtHeadingGroupBorder("utrechtHeadingGroup"));
- pageBody.add(
- new UtrechtFormFieldCheckbox(
- "utrechtFormFieldCheckbox",
- Model.of(false),
- Model.of("I agree"),
- Model.of("Description"),
- Model.of("error")
- )
- );
- // pageBody.add(
- // new WebMarkupContainer("utrechtOrderedList2") {
- // @Override
- // protected void onInitialize() {
- // super.onInitialize();
- // add(new UtrechtOrderedListBehavior());
- // }
- // }
- // );
-
- List kinderen = List.of(
- new Kind("Jan", 2000, 123456789),
- new Kind("Storm", 2001, 123456790),
- new Kind("Fatima", 2002, 123456791)
- );
-
- pageBody.add(
- new WebMarkupContainer("utrechtOrderedListWebMarkupContainer") {
- @Override
- protected void onInitialize() {
- super.onInitialize();
-
- add(new UtrechtOrderedListBehavior()); // TODO should be singleton
- add(
- new ListView("listItem", kinderen) {
- @Override
- protected void populateItem(ListItem item) {
- Kind kind = item.getModelObject();
- item.add(new UtrechtOrderedListItemBehavior()); // TODO: should be singleton
- item.add(
- new ExternalLink(
- "link",
- "https://concern.ir.rotterdam.nl/example/kind/" + kind.administratienummer(),
- kind.naam() + " - " + kind.geboortejaar()
- )
- );
- }
- }
- );
- }
- }
- );
-
- // RepeatingView listItems = new RepeatingView("utrechtOrderedListItem");
- // listItems.add(new Label(listItems.newChildId(), "green"));
- // listItems.add(new Label(listItems.newChildId(), "blue"));
- // listItems.add(new Label(listItems.newChildId(), "red"));
-
- // pageLayout.add(new PageLayoutExamplesPanel("pageLayoutExamples"));
-
add(
// TODO set title using model in BasePage
new Label(TITLE_ID, "ComponentsPage · Apache Wicket · Rotterdam Design System")
@@ -274,10 +134,6 @@ protected void populateItem(ListItem item) {
pageBody.add(createActiveThemeChoice());
pageBody.add(createRefreshPgaeLink());
- // pageBody.add(
- // new UtrechtCodeBlock("code-block-example", Model.of("Reload Page")),
- // new HeadingExamplesPanel("headingComponents")
- // );
}
@Override
@@ -288,7 +144,5 @@ public void renderHead(IHeaderResponse response) {
response.render(COMPONENTS_JS_HEADER_ITEM);
}
- // private final UtrechtOrderedListItem orderedListItem;
-
public ComponentsPage() {}
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html
index d282c6a3..b22fa3da 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.html
@@ -8,11 +8,14 @@ Badge List component
Lijst van labels met extra informatie, zoals een categorie of een eigenschap.
-
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.java
index 9232404f..974f117c 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/badge_list/BadgeListExamplesPanel.java
@@ -1,8 +1,14 @@
package nl.rotterdam.wicket.docs.badge_list;
-import nl.rotterdam.design_system.wicket.components.badge_list.utrecht.UtrechtBadgeListBorder;
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.badge_list.utrecht.UtrechtBadgeListBehavior;
+import nl.rotterdam.design_system.wicket.components.data_badge.utrecht.UtrechtDataBadgeBehavior;
import nl.rotterdam.wicket.docs.ComponentExample;
import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
public class BadgeListExamplesPanel extends Panel {
@@ -13,7 +19,27 @@ public BadgeListExamplesPanel(String id) {
@ComponentExample
private static Component exampleBadgeList() {
- return new UtrechtBadgeListBorder("utrechtBadgeList");
+ List namen = List.of("duurzaamheid", "schoon, heel en veilig");
+
+ return new WebMarkupContainer("utrechtBadgeListWebMarkupContainer") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new UtrechtBadgeListBehavior()); // TODO should be singleton
+ add(
+ new ListView("listItem", namen) {
+ @Override
+ protected void populateItem(ListItem item) {
+ item.add(new UtrechtDataBadgeBehavior()); // TODO: should be singleton
+ String naam = item.getModelObject();
+ // item.add(naam);
+ item.add(new Label("label", naam));
+ }
+ }
+ );
+ }
+ };
}
@Override
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html
index 342ec020..86f840a1 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/column_layout/ColumnLayoutExamplesPanel.html
@@ -14,7 +14,32 @@ Column Layout
Voorbeeld.
+ >
+
+
+ Nam quod exercitationem vero et. Sapiente alias occaecati voluptas est. Ullam sed quis hic est nisi.
+ Et saepe expedita est sunt sed vitae exercitationem et.
+
+
+ Eos provident at quaerat sed. Et adipisci corporis iste. Praesentium ut aut sit dolores distinctio.
+
+
+ Alias officiis et sint. Autem fuga praesentium omnis velit sit id sunt suscipit. Nihil vel minus
+ cumque. At mollitia inventore ut quia enim. Ut cupiditate explicabo porro ab vel vel. Velit nostrum
+ doloribus et.
+
+
+ Natus eos veniam voluptas. Ea modi est dolores doloribus delectus amet nemo. Ea vel nihil et eos et
+ perspiciatis iure commodi. Vel dolores exercitationem facilis quisquam. Voluptas modi quo consequatur
+ quos.
+
+
+ Aut consequuntur sed qui. Ea id molestiae similique sequi facere deserunt sunt fugiat. Molestiae
+ beatae consectetur perferendis. Qui earum velit sed vel non officiis odit. Deleniti nesciunt nemo ut
+ delectus nemo at sunt. Maiores numquam natus aut adipisci ipsum fuga aliquam consequatur.
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html
index 6676ee2e..65dffb87 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/heading_group/HeadingGroupExamplesPanel.html
@@ -14,7 +14,12 @@ Heading Group
Voorbeeld.
+ >
+
+
Heading in a heading group
+
Sub-heading
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html
index c98aec7c..00e8f327 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/html_content/HtmlContentExamplesPanel.html
@@ -14,7 +14,14 @@ HTML Content
Voorbeeld.
+ >
+
+
Hello world
+
+ Submit
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html
index b427e654..35ec8f79 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/IconExamplesPanel.html
@@ -14,7 +14,23 @@ Icon
Voorbeeld.
+ >
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
index 1739fd4f..7be3762f 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
@@ -14,7 +14,11 @@ Ordered List
Voorbeeld.
+ >
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.java
index 1e6f22cf..af018084 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.java
@@ -1,8 +1,14 @@
package nl.rotterdam.wicket.docs.ordered_list;
-import nl.rotterdam.design_system.wicket.components.ordered_list.utrecht.UtrechtOrderedList;
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.ordered_list.utrecht.UtrechtOrderedListBehavior;
+import nl.rotterdam.design_system.wicket.components.ordered_list.utrecht.UtrechtOrderedListItemBehavior;
import nl.rotterdam.wicket.docs.ComponentExample;
import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
public class UtrechtOrderedListExamplesPanel extends Panel {
@@ -13,7 +19,27 @@ public UtrechtOrderedListExamplesPanel(String id) {
@ComponentExample
private static Component exampleOrderedList() {
- return new UtrechtOrderedList("utrechtOrderedList");
+ List namen = List.of("Adam", "Noah", "Mohammed", "Zayn", "James");
+
+ return new WebMarkupContainer("utrechtOrderedListWebMarkupContainer") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new UtrechtOrderedListBehavior()); // TODO should be singleton
+ add(
+ new ListView("listItem", namen) {
+ @Override
+ protected void populateItem(ListItem item) {
+ item.add(new UtrechtOrderedListItemBehavior()); // TODO: should be singleton
+ String naam = item.getModelObject();
+ // item.add(naam);
+ item.add(new Label("label", naam));
+ }
+ }
+ );
+ }
+ };
}
@Override
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html
index 9ced1d9a..8a795e46 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.html
@@ -8,13 +8,16 @@ Unordered List component
Opsomming waar de volgorde van items in de lijst niet van belang is.
-
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.java
index a7d463f3..217805f5 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/unordered_list/UtrechtUnorderedListExamplesPanel.java
@@ -1,8 +1,14 @@
package nl.rotterdam.wicket.docs.unordered_list;
-import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedList;
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedListBehavior;
+import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedListItemBehavior;
import nl.rotterdam.wicket.docs.ComponentExample;
import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
public class UtrechtUnorderedListExamplesPanel extends Panel {
@@ -13,7 +19,30 @@ public UtrechtUnorderedListExamplesPanel(String id) {
@ComponentExample
private static Component exampleUnorderedList() {
- return new UtrechtUnorderedList("utrechtUnorderedList");
+ List namen = List.of(
+ "Binnen 5 werkdagen krijgt u een eerste bericht.",
+ "Na uiterlijk 4 weken geeft de gemeente een inhoudelijke reactie."
+ );
+
+ return new WebMarkupContainer("utrechtUnorderedListWebMarkupContainer") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new UtrechtUnorderedListBehavior()); // TODO should be singleton
+ add(
+ new ListView("listItem", namen) {
+ @Override
+ protected void populateItem(ListItem item) {
+ item.add(new UtrechtUnorderedListItemBehavior()); // TODO: should be singleton
+ String naam = item.getModelObject();
+ // item.add(naam);
+ item.add(new Label("label", naam));
+ }
+ }
+ );
+ }
+ };
}
@Override
From 14401a29c909b3f06fb35e52ee96519980750d29 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Sun, 8 Dec 2024 10:37:30 +0100
Subject: [PATCH 51/75] feat: add Paragraph component
---
wicket/components-wicket/pom.xml | 8 ++++
.../paragraph/utrecht/UtrechtParagraph.java | 27 ++++++++++++++
.../utrecht/UtrechtParagraphAppearance.java | 11 ++++++
.../utrecht/UtrechtParagraphBehavior.java | 23 ++++++++++++
.../rotterdam/wicket/docs/ComponentsPage.html | 1 +
.../rotterdam/wicket/docs/ComponentsPage.java | 2 +
.../UtrechtParagraphExamplesPanel.html | 37 +++++++++++++++++++
.../UtrechtParagraphExamplesPanel.java | 36 ++++++++++++++++++
8 files changed, 145 insertions(+)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraph.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraphAppearance.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraphBehavior.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/paragraph/utrecht/UtrechtParagraphExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/paragraph/utrecht/UtrechtParagraphExamplesPanel.java
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index b1832184..014f40aa 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -279,6 +279,14 @@
nl/rotterdam/design_system/wicket/components/page_layout/utrecht
+
+ false
+ node_modules/
+
+ @utrecht/paragraph-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/paragraph/utrecht
+
false
node_modules/
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraph.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraph.java
new file mode 100644
index 00000000..a8206888
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraph.java
@@ -0,0 +1,27 @@
+package nl.rotterdam.design_system.wicket.components.paragraph.utrecht;
+
+import java.io.Serializable;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+
+public class UtrechtParagraph extends Label {
+
+ public UtrechtParagraph(String id, IModel> model) {
+ super(id, model);
+ add(new UtrechtParagraphBehavior());
+ }
+
+ public UtrechtParagraph(String id, Serializable label) {
+ this(id, Model.of(label));
+ }
+
+ public UtrechtParagraph(String id, Serializable label, UtrechtParagraphAppearance appearance) {
+ this(id, Model.of(label), appearance);
+ }
+
+ public UtrechtParagraph(String id, IModel> model, UtrechtParagraphAppearance appearance) {
+ super(id, model);
+ add(new UtrechtParagraphBehavior(appearance));
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraphAppearance.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraphAppearance.java
new file mode 100644
index 00000000..1a9d8040
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraphAppearance.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components.paragraph.utrecht;
+
+public enum UtrechtParagraphAppearance {
+ LEAD("lead");
+
+ final String appearance;
+
+ UtrechtParagraphAppearance(String appearance) {
+ this.appearance = appearance;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraphBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraphBehavior.java
new file mode 100644
index 00000000..4a69defd
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/paragraph/utrecht/UtrechtParagraphBehavior.java
@@ -0,0 +1,23 @@
+package nl.rotterdam.design_system.wicket.components.paragraph.utrecht;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+
+public class UtrechtParagraphBehavior extends TagNameClassComponentBehavior {
+
+ public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
+ UtrechtParagraphBehavior.class,
+ "@utrecht/paragraph-css/dist/index.css"
+ );
+
+ public UtrechtParagraphBehavior() {
+ super("p", "utrecht-paragraph");
+ addHeaderItem(CSS);
+ }
+
+ public UtrechtParagraphBehavior(UtrechtParagraphAppearance appearance) {
+ super("p", "utrecht-paragraph", "utrecht-paragraph--" + appearance.appearance);
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index 9ab8e173..bbd8d437 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -39,6 +39,7 @@ Components
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index b7a02fab..2812421e 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -28,6 +28,7 @@
import nl.rotterdam.wicket.docs.page_body.UtrechtPageBodyExamplesPanel;
import nl.rotterdam.wicket.docs.page_footer.UtrechtPageFooterExamplesPanel;
import nl.rotterdam.wicket.docs.page_layout.UtrechtPageLayoutExamplesPanel;
+import nl.rotterdam.wicket.docs.paragraph.utrecht.UtrechtParagraphExamplesPanel;
import nl.rotterdam.wicket.docs.preserve_data.UtrechtPreserveDataExamplesPanel;
import nl.rotterdam.wicket.docs.root.UtrechtRootExamplesPanel;
import nl.rotterdam.wicket.docs.separator.UtrechtSeparatorExamplesPanel;
@@ -122,6 +123,7 @@ protected void onInitialize() {
pageBody.add(new UtrechtPageBodyExamplesPanel("pageBodyExamplesPanel"));
pageBody.add(new UtrechtPageFooterExamplesPanel("pageFooterExamplesPanel"));
pageBody.add(new UtrechtPageLayoutExamplesPanel("pageLayoutExamplesPanel"));
+ pageBody.add(new UtrechtParagraphExamplesPanel("paragraphExamplesPanel"));
pageBody.add(new UtrechtPreserveDataExamplesPanel("preserveDataExamplesPanel"));
pageBody.add(new UtrechtRootExamplesPanel("rootExamplesPanel"));
pageBody.add(new UtrechtSeparatorExamplesPanel("separatorExamplesPanel"));
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/paragraph/utrecht/UtrechtParagraphExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/paragraph/utrecht/UtrechtParagraphExamplesPanel.html
new file mode 100644
index 00000000..5908d164
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/paragraph/utrecht/UtrechtParagraphExamplesPanel.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+ Paragraph component
+
+
Toont een alinea aan tekst.
+
+
+
+ Paragraph
+
+
+ Lorem ipsum dolor sit amet
+
+
+
+
+ Lead Paragraph
+
+
+ Lorem ipsum dolor sit amet
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/paragraph/utrecht/UtrechtParagraphExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/paragraph/utrecht/UtrechtParagraphExamplesPanel.java
new file mode 100644
index 00000000..48531708
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/paragraph/utrecht/UtrechtParagraphExamplesPanel.java
@@ -0,0 +1,36 @@
+package nl.rotterdam.wicket.docs.paragraph.utrecht;
+
+import nl.rotterdam.design_system.wicket.components.paragraph.utrecht.UtrechtParagraph;
+import nl.rotterdam.design_system.wicket.components.paragraph.utrecht.UtrechtParagraphAppearance;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtParagraphExamplesPanel extends Panel {
+
+ public UtrechtParagraphExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleParagraph() {
+ return new UtrechtParagraph("utrechtParagraph", "Lorem ipsum dolor sit amet");
+ }
+
+ @ComponentExample
+ private static Component exampleParagraphLead() {
+ return new UtrechtParagraph(
+ "utrechtParagraphLead",
+ "Lorem ipsum dolor sit amet",
+ UtrechtParagraphAppearance.LEAD
+ );
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleParagraph());
+ add(exampleParagraphLead());
+ }
+}
From 0511a19d6989c6713de467b17a8180b21aed2948 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Sun, 8 Dec 2024 12:15:57 +0100
Subject: [PATCH 52/75] feat: add Link component
---
wicket/components-wicket/pom.xml | 8 +
.../link/utrecht/UtrechtBookmarkableLink.java | 49 ++++++
.../link/utrecht/UtrechtExternalLink.java | 41 +++++
.../components/link/utrecht/UtrechtLink.java | 60 ++++++++
.../link/utrecht/UtrechtLinkBehavior.java | 19 +++
.../rotterdam/wicket/docs/ComponentsPage.html | 6 +
.../rotterdam/wicket/docs/ComponentsPage.java | 2 +
.../docs/link/UtrechtLinkExamplesPanel.html | 128 ++++++++++++++++
.../docs/link/UtrechtLinkExamplesPanel.java | 140 ++++++++++++++++++
9 files changed, 453 insertions(+)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtBookmarkableLink.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtExternalLink.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtLink.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtLinkBehavior.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link/UtrechtLinkExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link/UtrechtLinkExamplesPanel.java
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index 014f40aa..23771ab5 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -223,6 +223,14 @@
nl/rotterdam/design_system/wicket/components/icon/utrecht
+
+ false
+ node_modules/
+
+ @utrecht/link-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/link/utrecht
+
false
node_modules/
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtBookmarkableLink.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtBookmarkableLink.java
new file mode 100644
index 00000000..1ea3b6ad
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtBookmarkableLink.java
@@ -0,0 +1,49 @@
+package nl.rotterdam.design_system.wicket.components.link.utrecht;
+
+import org.apache.wicket.Page;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+
+public class UtrechtBookmarkableLink extends BookmarkablePageLink {
+
+ public boolean placeholder = false;
+
+ public UtrechtBookmarkableLink(String id, Class pageClass) {
+ super(id, pageClass);
+ this.setAutoEnable(true);
+ }
+
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ add(new UtrechtLinkBehavior());
+ }
+
+ @Override
+ public void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+
+ if (this.placeholder) {
+ tag.append("class", "utrecht-link--placeholder", " ");
+ tag.put("role", "link");
+ tag.put("aria-disabled", "true");
+ }
+
+ if (linksTo(getPage())) {
+ tag.put("role", "link");
+ tag.put("aria-disabled", "true");
+ tag.put("aria-current", "page");
+ }
+ }
+
+ @Override
+ public boolean isEnabled() {
+ // Use the `isEnabled()` from `Link` to add an extra condition to disable
+ // the link: when it is a placeholder.
+ return super.isEnabled() && !this.placeholder;
+ }
+
+ public void setPlaceholder(boolean enabled) {
+ this.placeholder = enabled;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtExternalLink.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtExternalLink.java
new file mode 100644
index 00000000..eb02d763
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtExternalLink.java
@@ -0,0 +1,41 @@
+package nl.rotterdam.design_system.wicket.components.link.utrecht;
+
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.link.ExternalLink;
+
+public class UtrechtExternalLink extends ExternalLink {
+
+ public boolean placeholder = false;
+
+ public UtrechtExternalLink(final String id, final String href, final String label) {
+ super(id, href, label);
+ }
+
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ add(new UtrechtLinkBehavior());
+ }
+
+ @Override
+ public void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+
+ if (this.placeholder) {
+ tag.append("class", "utrecht-link--placeholder", " ");
+ tag.put("role", "link");
+ tag.put("aria-disabled", "true");
+ }
+ }
+
+ @Override
+ public boolean isEnabled() {
+ // Use the `isEnabled()` from `Link` to add an extra condition to disable
+ // the link: when it is a placeholder.
+ return super.isEnabled() && !this.placeholder;
+ }
+
+ public void setPlaceholder(boolean enabled) {
+ this.placeholder = enabled;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtLink.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtLink.java
new file mode 100644
index 00000000..07934b97
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtLink.java
@@ -0,0 +1,60 @@
+package nl.rotterdam.design_system.wicket.components.link.utrecht;
+
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.request.component.IRequestablePage;
+
+public class UtrechtLink extends Link {
+
+ public Class webPage = null;
+ public boolean placeholder = false;
+
+ public UtrechtLink(final String id) {
+ super(id);
+ }
+
+ public UtrechtLink(final String id, IModel model) {
+ super(id, model);
+ }
+
+ public UtrechtLink(final String id, IModel model, Class webPage) {
+ super(id, model);
+ this.webPage = webPage;
+ }
+
+ @Override
+ public void onClick() {
+ if (this.webPage != null) {
+ setResponsePage(this.webPage);
+ }
+ }
+
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ add(new UtrechtLinkBehavior());
+ }
+
+ @Override
+ public void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+
+ if (this.placeholder) {
+ tag.append("class", "utrecht-link--placeholder", " ");
+ tag.put("role", "link");
+ tag.put("aria-disabled", "true");
+ }
+ }
+
+ @Override
+ public boolean isEnabled() {
+ // Use the `isEnabled()` from `Link` to add an extra condition to disable
+ // the link: when it is a placeholder.
+ return super.isEnabled() && !this.placeholder;
+ }
+
+ public void setPlaceholder(boolean enabled) {
+ this.placeholder = enabled;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtLinkBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtLinkBehavior.java
new file mode 100644
index 00000000..5710d01d
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link/utrecht/UtrechtLinkBehavior.java
@@ -0,0 +1,19 @@
+package nl.rotterdam.design_system.wicket.components.link.utrecht;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+
+public class UtrechtLinkBehavior extends TagNameClassComponentBehavior {
+
+ public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
+ UtrechtLinkBehavior.class,
+ "@utrecht/link-css/dist/index.css"
+ );
+
+ public UtrechtLinkBehavior() {
+ super("a", "utrecht-link", "utrecht-link--html-a");
+ addHeaderItem(CSS);
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index bbd8d437..cc80bfa5 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -19,6 +19,11 @@
Components
+
+ Deze componenten zijn ontwikkeld voor Apache Wicket. Lees meer in de
+ Apache Wicket 10.x Reference Guide .
+
@@ -33,6 +38,7 @@ Components
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index 2812421e..6eb6704e 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -21,6 +21,7 @@
import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
import nl.rotterdam.wicket.docs.html_content.HtmlContentExamplesPanel;
import nl.rotterdam.wicket.docs.icon.IconExamplesPanel;
+import nl.rotterdam.wicket.docs.link.UtrechtLinkExamplesPanel;
import nl.rotterdam.wicket.docs.logo.UtrechtLogoExamplesPanel;
import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
import nl.rotterdam.wicket.docs.number_badge.UtrechtNumberBadgeExamplesPanel;
@@ -117,6 +118,7 @@ protected void onInitialize() {
pageBody.add(new HtmlContentExamplesPanel("htmlContentExamplesPanel"));
pageBody.add(new IconExamplesPanel("iconExamplesPanel"));
pageBody.add(new RotterdamLogoImageExamplesPanel("rotterdamLogoImageExamplesPanel"));
+ pageBody.add(new UtrechtLinkExamplesPanel("linkExamplesPanel"));
pageBody.add(new UtrechtLogoExamplesPanel("logoExamplesPanel"));
pageBody.add(new UtrechtNumberBadgeExamplesPanel("numberBadgeExamplesPanel"));
pageBody.add(new UtrechtOrderedListExamplesPanel("orderedListExamplesPanel"));
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link/UtrechtLinkExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link/UtrechtLinkExamplesPanel.html
new file mode 100644
index 00000000..f8d93b54
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link/UtrechtLinkExamplesPanel.html
@@ -0,0 +1,128 @@
+
+
+
+
+
+ Link component
+
+
Toont een tekstlabel dat informeert over de in te vullen informatie.
+
+
+
+ Link met Link
+
+
+
Voorbeeld van een "vanilla" Link
van Apache Wicket, ter referentie.
+
+
+ Link tekst
+
+
+
+
+ Link met ExternalLink
+
+
Voorbeeld van een "vanilla" ExternalLink
van Apache Wicket, ter referentie.
+
+ Link tekst
+
+
+
+
+ Link met Link
+
+
Voorbeeld van de UtrechtLink
class.
+
+ Link tekst
+
+
+
+
+ Link met ExternalLink
+
+
Voorbeeld van de UtrechtExternalLink
class.
+
+ Link tekst
+
+
+
+
+ Link met BookmarkableLink
+
+
Voorbeeld van de UtrechtBookmarkableLink
class.
+
+ Mijn Loket
+
+
+
+
+ Link met BookmarkableLink
naar de huidige pagina
+
+
+ Voorbeeld van de UtrechtBookmarkableLink
class die naar de huidige pagina verwijst.
+ Automatisch wordt aria-current
toegevoegd.
+
+
+ Componenten · rotterdam.nl
+
+
+
+
+ Link met Link
+
+
Voorbeeld van de Link
met een UtrechtLinkBehavior
.
+
+ Link tekst
+
+
+
+
+ Link met ExternalLink
+
+
Voorbeeld van de ExternalLink
met een UtrechtLinkBehavior
.
+
+ Link tekst
+
+
+
+
+ Placeholder Link met UtrechtLink
+
+ Link tekst
+
+
+
+
+ Placeholder Link met UtrechtLinkExternal
+
+ Link tekst
+
+
+
+
+ Placeholder Link met UtrechtBookmarkableLink
+
+ Link tekst
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link/UtrechtLinkExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link/UtrechtLinkExamplesPanel.java
new file mode 100644
index 00000000..9951761f
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link/UtrechtLinkExamplesPanel.java
@@ -0,0 +1,140 @@
+package nl.rotterdam.wicket.docs.link;
+
+import nl.rotterdam.design_system.wicket.components.link.utrecht.UtrechtBookmarkableLink;
+import nl.rotterdam.design_system.wicket.components.link.utrecht.UtrechtExternalLink;
+import nl.rotterdam.design_system.wicket.components.link.utrecht.UtrechtLink;
+import nl.rotterdam.design_system.wicket.components.link.utrecht.UtrechtLinkBehavior;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import nl.rotterdam.wicket.docs.ComponentsPage;
+import nl.rotterdam.wicket.docs.mijn_loket_page.MijnLoketPage;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.link.ExternalLink;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class UtrechtLinkExamplesPanel extends Panel {
+
+ public UtrechtLinkExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleLinkLabel() {
+ // Vanilla Apache Wicket implementation, for reference
+ return new Link("link") {
+ @Override
+ public void onClick() {
+ setResponsePage(ComponentsPage.class);
+ }
+ };
+ }
+
+ @ComponentExample
+ private static Component exampleLinkExternal() {
+ // Vanilla Apache Wicket implementation, for reference
+ return new ExternalLink("linkExternal", "https://example.com/", "example.com");
+ }
+
+ @ComponentExample
+ private static Component exampleUtrechtLink() {
+ return new UtrechtLink("utrechtLink", Model.of("Homepage"), ComponentsPage.class);
+ }
+
+ @ComponentExample
+ private static Component exampleUtrechtBookmarkableLink() {
+ return new UtrechtBookmarkableLink<>("utrechtBookmarkableLink", MijnLoketPage.class);
+ }
+
+ @ComponentExample
+ private static Component exampleUtrechtBookmarkableLinkCurrent() {
+ return new UtrechtBookmarkableLink<>("utrechtBookmarkableLinkCurrent", ComponentsPage.class);
+ }
+
+ @ComponentExample
+ private static Component exampleUtrechtLinkExternal() {
+ return new UtrechtExternalLink("utrechtLinkExternal", "https://example.com", "example.com");
+ }
+
+ @ComponentExample
+ private static Component exampleUtrechtLinkBehavior() {
+ return new Link("utrechtLinkBehavior", Model.of("Homepage")) {
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ add(new UtrechtLinkBehavior());
+ }
+
+ @Override
+ public void onClick() {
+ setResponsePage(ComponentsPage.class);
+ }
+ };
+ }
+
+ @ComponentExample
+ private static Component exampleUtrechtLinkExternalBehavior() {
+ return new ExternalLink("utrechtLinkExternalBehavior", "https://example.com/", "example.com") {
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ add(new UtrechtLinkBehavior());
+ }
+ };
+ }
+
+ @ComponentExample
+ private static Component exampleUtrechtLinkPlaceholder() {
+ // `setDisabled()` is default functionality on `Link`
+ UtrechtLink link = new UtrechtLink(
+ "utrechtLinkPlaceholder",
+ Model.of("Homepage"),
+ ComponentsPage.class
+ );
+
+ link.setPlaceholder(true);
+ return link;
+ }
+
+ @ComponentExample
+ private static Component exampleUtrechtLinkExternalPlaceholder() {
+ // `setDisabled()` is default functionality on `Link`
+ UtrechtExternalLink link = new UtrechtExternalLink(
+ "utrechtLinkExternalPlaceholder",
+ "https://example.com/",
+ "example.com"
+ );
+
+ link.setPlaceholder(true);
+ return link;
+ }
+
+ @ComponentExample
+ private static Component exampleUtrechtBookmarkableLinkPlaceholder() {
+ // `setDisabled()` is default functionality on `Link`
+ UtrechtBookmarkableLink> link = new UtrechtBookmarkableLink<>(
+ "utrechtBookmarkableLinkPlaceholder",
+ ComponentsPage.class
+ );
+
+ link.setPlaceholder(true);
+ return link;
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleLinkLabel());
+ add(exampleLinkExternal());
+ add(exampleUtrechtLink());
+ add(exampleUtrechtBookmarkableLink());
+ add(exampleUtrechtBookmarkableLinkCurrent());
+ add(exampleUtrechtLinkExternal());
+ add(exampleUtrechtLinkBehavior());
+ add(exampleUtrechtLinkExternalBehavior());
+ add(exampleUtrechtLinkPlaceholder());
+ add(exampleUtrechtLinkExternalPlaceholder());
+ add(exampleUtrechtBookmarkableLinkPlaceholder());
+ }
+}
From 10755f861f92f7862537326fd90cca6065780b6c Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Sun, 8 Dec 2024 14:43:44 +0100
Subject: [PATCH 53/75] feat: add Button component
---
wicket/components-wicket/pom.xml | 8 +
.../button/utrecht/UtrechtButton.java | 76 +++++++++
.../utrecht/UtrechtButtonAppearance.java | 14 ++
.../button/utrecht/UtrechtButtonBehavior.java | 19 +++
.../button/utrecht/UtrechtButtonHint.java | 13 ++
.../rotterdam/wicket/docs/ComponentsPage.html | 1 +
.../rotterdam/wicket/docs/ComponentsPage.java | 2 +
.../button/UtrechtButtonExamplesPanel.html | 157 ++++++++++++++++++
.../button/UtrechtButtonExamplesPanel.java | 113 +++++++++++++
9 files changed, 403 insertions(+)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButton.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonAppearance.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonHint.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button/UtrechtButtonExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button/UtrechtButtonExamplesPanel.java
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index 23771ab5..05fbb5b1 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -113,6 +113,14 @@
nl/rotterdam/design_system/wicket/components/body/utrecht
+
+ false
+ node_modules/
+
+ @utrecht/button-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/button/utrecht
+
false
node_modules/
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButton.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButton.java
new file mode 100644
index 00000000..c2ad373a
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButton.java
@@ -0,0 +1,76 @@
+package nl.rotterdam.design_system.wicket.components.button.utrecht;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.form.Button;
+import org.apache.wicket.model.IModel;
+
+public class UtrechtButton extends Button {
+
+ public boolean busy = false;
+ public UtrechtButtonAppearance appearance = null;
+ public UtrechtButtonHint hint = null;
+
+ // Pressed is a nullable boolean
+ public Boolean pressed = null;
+
+ public UtrechtButton(String id) {
+ this(id, null);
+ }
+
+ public UtrechtButton(final String id, final IModel model) {
+ super(id, model);
+ }
+
+ public void setAppearance(UtrechtButtonAppearance appearance) {
+ this.appearance = appearance;
+ }
+
+ public void setHint(UtrechtButtonHint hint) {
+ this.hint = hint;
+ }
+
+ public void setBusy(boolean busy) {
+ this.busy = busy;
+ }
+
+ public void setPressed(Boolean pressed) {
+ this.pressed = pressed;
+ }
+
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ boolean isEnabled = this.isEnabled();
+ boolean isBusy = this.busy;
+ UtrechtButtonAppearance appearance = this.appearance;
+ UtrechtButtonHint hint = this.hint;
+ Boolean isPressed = this.pressed;
+
+ add(
+ new UtrechtButtonBehavior() {
+ @Override
+ public String[] getClassNames() {
+ return new String[] {
+ "utrecht-button",
+ appearance != null ? "utrecht-button--" + appearance.appearance : "",
+ hint != null ? "utrecht-button--" + hint.hint : "",
+ isEnabled ? "" : "utrecht-button--disabled",
+ isPressed != null && isPressed == true ? "utrecht-button--pressed" : "",
+ isBusy ? "utrecht-button--busy" : "",
+ };
+ }
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ // Create a toggle button when the nullable boolean `isPressed` is a boolean.
+ if (isPressed != null) {
+ tag.put("aria-pressed", isPressed ? "true" : "false");
+ }
+ }
+ }
+ );
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonAppearance.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonAppearance.java
new file mode 100644
index 00000000..645eac9c
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonAppearance.java
@@ -0,0 +1,14 @@
+package nl.rotterdam.design_system.wicket.components.button.utrecht;
+
+public enum UtrechtButtonAppearance {
+ PRIMARY_ACTION("primary-action"),
+ SECONDARY_ACTION("secondary-action"),
+ SUBTLE("subtle"),
+ DEFAULT("");
+
+ final String appearance;
+
+ UtrechtButtonAppearance(String appearance) {
+ this.appearance = appearance;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonBehavior.java
new file mode 100644
index 00000000..7dda7de3
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonBehavior.java
@@ -0,0 +1,19 @@
+package nl.rotterdam.design_system.wicket.components.button.utrecht;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+
+public class UtrechtButtonBehavior extends TagNameClassComponentBehavior {
+
+ public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
+ UtrechtButtonBehavior.class,
+ "@utrecht/button-css/dist/index.css"
+ );
+
+ public UtrechtButtonBehavior() {
+ super("button", "utrecht-button", "utrecht-button--html-button");
+ addHeaderItem(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonHint.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonHint.java
new file mode 100644
index 00000000..130d81d8
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/button/utrecht/UtrechtButtonHint.java
@@ -0,0 +1,13 @@
+package nl.rotterdam.design_system.wicket.components.button.utrecht;
+
+public enum UtrechtButtonHint {
+ DANGER("danger"),
+ WARNING("warning"),
+ READY("ready");
+
+ final String hint;
+
+ UtrechtButtonHint(String hint) {
+ this.hint = hint;
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index cc80bfa5..2eb58216 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -27,6 +27,7 @@ Components
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index 6eb6704e..17ec72db 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -11,6 +11,7 @@
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
import nl.rotterdam.wicket.docs.badge_list.BadgeListExamplesPanel;
import nl.rotterdam.wicket.docs.body.BodyExamplesPanel;
+import nl.rotterdam.wicket.docs.button.UtrechtButtonExamplesPanel;
import nl.rotterdam.wicket.docs.button_group.ButtonGroupExamplesPanel;
import nl.rotterdam.wicket.docs.code_block.CodeBlockExamplesPanel;
import nl.rotterdam.wicket.docs.column_layout.ColumnLayoutExamplesPanel;
@@ -107,6 +108,7 @@ protected void onInitialize() {
pageBody.add(new AlertExamplesPanel("alertExamplesPanel"));
pageBody.add(new BadgeListExamplesPanel("badgeListExamplesPanel"));
pageBody.add(new BodyExamplesPanel("bodyExamplesPanel"));
+ pageBody.add(new UtrechtButtonExamplesPanel("buttonExamplesPanel"));
pageBody.add(new ButtonGroupExamplesPanel("buttonGroupExamplesPanel"));
pageBody.add(new CodeBlockExamplesPanel("codeBlockExamplesPanel"));
pageBody.add(new ColumnLayoutExamplesPanel("columnLayoutExamplesPanel"));
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button/UtrechtButtonExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button/UtrechtButtonExamplesPanel.html
new file mode 100644
index 00000000..3c477ae9
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button/UtrechtButtonExamplesPanel.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+ Button component
+
+
Biedt de mogelijkheid om een actie uit te voeren.
+
+
+
+ Button
+
+
+ Click me
+
+
+
+
+ Disabled Button
+
+
+ Click me
+
+
+
+
+ Busy Button
+
+
+ Click me
+
+
+
+
+ Toggle Button
+
+
+ Click me
+
+
+
+
+ Pressed Toggle Button
+
+
+ Click me
+
+
+
+
+ Button met Icon Start
+
+
+
+
+
+
+
+
+ Primary Action Button
+
+
+ Click me
+
+
+
+
+ Secondary Action Button
+
+
+ Click me
+
+
+
+
+ Subtle Button
+
+
+ Click me
+
+
+
+
+ Primary Action + Danger Button
+
+
+ Click me
+
+
+
+
+ Submit Button
+
+
+ Submit
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button/UtrechtButtonExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button/UtrechtButtonExamplesPanel.java
new file mode 100644
index 00000000..c98480ff
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/button/UtrechtButtonExamplesPanel.java
@@ -0,0 +1,113 @@
+package nl.rotterdam.wicket.docs.button;
+
+import nl.rotterdam.design_system.wicket.components.button.utrecht.UtrechtButton;
+import nl.rotterdam.design_system.wicket.components.button.utrecht.UtrechtButtonAppearance;
+import nl.rotterdam.design_system.wicket.components.button.utrecht.UtrechtButtonHint;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class UtrechtButtonExamplesPanel extends Panel {
+
+ public UtrechtButtonExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component utrechtButton() {
+ return new UtrechtButton("utrechtButton");
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonDisabled() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonDisabled");
+ button.setEnabled(false);
+ return button;
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonBusy() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonBusy");
+ button.setBusy(true);
+ return button;
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonToggle() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonToggle");
+ button.setPressed(false);
+ return button;
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonPressed() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonPressed");
+ button.setPressed(true);
+ return button;
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonIconStart() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonIconStart");
+ return button;
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonPrimaryAction() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonPrimaryAction");
+ button.setAppearance(UtrechtButtonAppearance.PRIMARY_ACTION);
+ return button;
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonSecondaryAction() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonSecondaryAction");
+ button.setAppearance(UtrechtButtonAppearance.SECONDARY_ACTION);
+ return button;
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonSubtle() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonSubtle");
+ button.setAppearance(UtrechtButtonAppearance.SUBTLE);
+ return button;
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonPrimaryActionDanger() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonPrimaryActionDanger");
+ button.setAppearance(UtrechtButtonAppearance.PRIMARY_ACTION);
+ button.setHint(UtrechtButtonHint.DANGER);
+ return button;
+ }
+
+ @ComponentExample
+ private static Component utrechtButtonSubmit() {
+ UtrechtButton button = new UtrechtButton("utrechtButtonSubmit") {
+ // @Override
+ // protected void onSubmit() {
+ // info("Submitted!");
+ // super.onSubmit();
+ // }
+ };
+ // TODO: Find out how this works
+ return button;
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(utrechtButton());
+ add(utrechtButtonDisabled());
+ add(utrechtButtonBusy());
+ add(utrechtButtonToggle());
+ add(utrechtButtonPressed());
+ add(utrechtButtonIconStart());
+ add(utrechtButtonPrimaryAction());
+ add(utrechtButtonSecondaryAction());
+ add(utrechtButtonSubtle());
+ add(utrechtButtonPrimaryActionDanger());
+ add(utrechtButtonSubmit());
+ }
+}
From b9922c959ec3ca08a9b97d9e8aacf82cc02af1c2 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Sun, 8 Dec 2024 16:41:27 +0100
Subject: [PATCH 54/75] refactor: allow customizing class names for
TagNameClassComponentBehavior
---
.../base/TagNameClassComponentBehavior.java | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
index 6cb2c7bd..50252b80 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/base/TagNameClassComponentBehavior.java
@@ -1,14 +1,13 @@
package nl.rotterdam.design_system.wicket.components.base;
+import java.util.ArrayList;
+import java.util.List;
import org.apache.wicket.Component;
import org.apache.wicket.behavior.Behavior;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
-import java.util.ArrayList;
-import java.util.List;
-
public abstract class TagNameClassComponentBehavior extends Behavior {
private final String expectedTagName;
@@ -28,6 +27,10 @@ public void addHeaderItem(CssReferenceHeaderItem headerItem) {
headerItems.add(headerItem);
}
+ public String[] getClassNames() {
+ return classNames;
+ }
+
public void onComponentTag(Component component, ComponentTag tag) {
super.onComponentTag(component, tag);
@@ -36,7 +39,7 @@ public void onComponentTag(Component component, ComponentTag tag) {
}
if (!tag.isClose()) {
- tag.append("class", String.join(" ", classNames), " ");
+ tag.append("class", String.join(" ", this.getClassNames()), " ");
}
}
From 0668ac8c1fdb5b9b740f5f31138934a4d7a24515 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Sun, 8 Dec 2024 18:45:05 +0100
Subject: [PATCH 55/75] feat: create example pages based on RotterdamBasePage
---
.../rotterdam/wicket/docs/ComponentsPage.html | 111 +-
.../rotterdam/wicket/docs/ComponentsPage.java | 43 +-
.../wicket/docs/DocsApplication.java | 11 +
.../wicket/docs/RotterdamBasePage.html | 28 +
.../wicket/docs/RotterdamBasePage.java | 83 ++
.../wicket/docs/RotterdamHelloWorldPage.html | 1071 +++++++++++++++++
.../wicket/docs/RotterdamHelloWorldPage.java | 9 +
.../wicket/docs/RotterdamHtmlPage.html | 5 +
.../wicket/docs/RotterdamHtmlPage.java | 13 +
.../wicket/docs/RotterdamPlaceholderPage.html | 7 +
.../wicket/docs/RotterdamPlaceholderPage.java | 13 +
.../wicket/docs/login_page/LoginPage.html | 31 +
.../wicket/docs/login_page/LoginPage.java | 15 +
.../docs/mijn_loket_page/MijnLoketPage.html | 35 +
.../docs/mijn_loket_page/MijnLoketPage.java | 89 ++
.../SingleSignOnLoginFormPanel.html | 38 +
.../SingleSignOnLoginFormPanel.java | 57 +
.../sso_login_page/SingleSignOnLoginPage.html | 5 +
.../sso_login_page/SingleSignOnLoginPage.java | 17 +
19 files changed, 1582 insertions(+), 99 deletions(-)
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHelloWorldPage.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHelloWorldPage.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHtmlPage.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHtmlPage.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamPlaceholderPage.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamPlaceholderPage.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/login_page/LoginPage.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/login_page/LoginPage.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/mijn_loket_page/MijnLoketPage.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/mijn_loket_page/MijnLoketPage.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.java
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index 2eb58216..d6b4b359 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -1,63 +1,52 @@
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index 17ec72db..903bc1b8 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -2,12 +2,6 @@
import css.DesignSystemTheme;
import java.util.Arrays;
-import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
-import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
-import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
-import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
-import nl.rotterdam.design_system.wicket.components.page_header.utrecht.UtrechtPageHeaderBorder;
-import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
import nl.rotterdam.wicket.docs.badge_list.BadgeListExamplesPanel;
import nl.rotterdam.wicket.docs.body.BodyExamplesPanel;
@@ -40,7 +34,6 @@
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem;
import org.apache.wicket.markup.head.JavaScriptReferenceType;
-import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.LambdaChoiceRenderer;
import org.apache.wicket.markup.html.link.Link;
@@ -49,7 +42,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class ComponentsPage extends BasePage {
+public class ComponentsPage extends RotterdamBasePage {
private static final Logger LOGGER = LoggerFactory.getLogger(ComponentsPage.class);
private static final JavaScriptReferenceHeaderItem COMPONENTS_JS_HEADER_ITEM = JavaScriptHeaderItem.forReference(
@@ -76,34 +69,10 @@ private static Component createActiveThemeChoice() {
).setOutputMarkupId(true);
}
- private UtrechtPageLayoutBorder pageLayout;
- private UtrechtPageHeaderBorder pageHeader;
- private UtrechtPageBodyBorder pageBody;
- private UtrechtPageFooterBorder pageFooter;
- private UtrechtLogoBorder logo;
-
@Override
protected void onInitialize() {
super.onInitialize();
- // Build up the page layout
- pageLayout = new UtrechtPageLayoutBorder("utrechtPageLayout");
- add(pageLayout);
-
- pageHeader = new UtrechtPageHeaderBorder("utrechtPageHeader");
- pageLayout.add(pageHeader);
-
- logo = new UtrechtLogoBorder("utrechtLogo");
- pageHeader.add(logo);
-
- logo.add(new RotterdamLogoImage("rotterdamLogoImage"));
-
- pageBody = new UtrechtPageBodyBorder("utrechtPageBody");
- pageLayout.add(pageBody);
-
- pageFooter = new UtrechtPageFooterBorder("utrechtPageFooter");
- pageLayout.add(pageFooter);
-
// Add the component stories
pageBody.add(new AlertExamplesPanel("alertExamplesPanel"));
pageBody.add(new BadgeListExamplesPanel("badgeListExamplesPanel"));
@@ -133,11 +102,6 @@ protected void onInitialize() {
pageBody.add(new UtrechtSeparatorExamplesPanel("separatorExamplesPanel"));
pageBody.add(new UtrechtUnorderedListExamplesPanel("unorderedListExamplesPanel"));
- add(
- // TODO set title using model in BasePage
- new Label(TITLE_ID, "ComponentsPage · Apache Wicket · Rotterdam Design System")
- );
-
pageBody.add(createActiveThemeChoice());
pageBody.add(createRefreshPgaeLink());
}
@@ -150,5 +114,8 @@ public void renderHead(IHeaderResponse response) {
response.render(COMPONENTS_JS_HEADER_ITEM);
}
- public ComponentsPage() {}
+ public ComponentsPage() {
+ super();
+ this.pageTitle = "Componenten voor Apache Wicket";
+ }
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java
index de59cab7..c8c9e172 100755
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsApplication.java
@@ -1,7 +1,10 @@
package nl.rotterdam.wicket.docs;
+import nl.rotterdam.wicket.docs.mijn_loket_page.MijnLoketPage;
+import nl.rotterdam.wicket.docs.sso_login_page.SingleSignOnLoginPage;
import org.apache.wicket.csp.CSPDirective;
import org.apache.wicket.csp.CSPDirectiveSrcValue;
+import org.apache.wicket.markup.html.HTML5Attributes;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.settings.ExceptionSettings;
@@ -15,6 +18,9 @@ public void init() {
// Avoid in the output HTML
getMarkupSettings().setStripWicketTags(true);
+ // A listener to instantiations of FormComponents to add HTML5 attributes.
+ getComponentInstantiationListeners().add(new HTML5Attributes.InstantiationListener());
+
// Configure our own fance error page
getExceptionSettings().setUnexpectedExceptionDisplay(ExceptionSettings.SHOW_EXCEPTION_PAGE);
@@ -44,6 +50,11 @@ public void init() {
.add(CSPDirective.STYLE_SRC, CSPDirectiveSrcValue.UNSAFE_INLINE)
.add(CSPDirective.SCRIPT_SRC, CSPDirectiveSrcValue.SELF)
.add(CSPDirective.STYLE_SRC, CSPDirectiveSrcValue.SELF);
+ mountPage("sso", SingleSignOnLoginPage.class);
+ mountPage("rotterdam-base-page", RotterdamBasePage.class);
+ mountPage("hello-world", RotterdamHelloWorldPage.class);
+ mountPage("mijn-loket", MijnLoketPage.class);
+ mountPage("voorbeeld", RotterdamPlaceholderPage.class);
}
@Override
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.html
new file mode 100644
index 00000000..d2aee4ab
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Page footer
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
new file mode 100644
index 00000000..ebbda37c
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
@@ -0,0 +1,83 @@
+package nl.rotterdam.wicket.docs;
+
+import java.util.Arrays;
+import java.util.stream.Collectors;
+import nl.rotterdam.design_system.wicket.components.body.utrecht.UtrechtBodyBehavior;
+import nl.rotterdam.design_system.wicket.components.link.utrecht.UtrechtBookmarkableLink;
+import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
+import nl.rotterdam.design_system.wicket.components.logo_image.rotterdam.RotterdamLogoImage;
+import nl.rotterdam.design_system.wicket.components.page_body.utrecht.UtrechtPageBodyBorder;
+import nl.rotterdam.design_system.wicket.components.page_footer.utrecht.UtrechtPageFooterBorder;
+import nl.rotterdam.design_system.wicket.components.page_header.utrecht.UtrechtPageHeaderBorder;
+import nl.rotterdam.design_system.wicket.components.page_layout.utrecht.UtrechtPageLayoutBorder;
+import nl.rotterdam.design_system.wicket.components.root.utrecht.UtrechtRootBehavior;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.Link;
+
+public class RotterdamBasePage extends BasePage {
+
+ public UtrechtPageLayoutBorder pageLayout;
+ public UtrechtPageHeaderBorder pageHeader;
+ public UtrechtPageBodyBorder pageBody;
+ public UtrechtPageFooterBorder pageFooter;
+ private UtrechtLogoBorder logo;
+ private String siteTitle = "rotterdam.nl";
+ public String pageTitle;
+ public String stepTitle;
+ public String errorTitle;
+ public String titlePartSeparator = " · ";
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ // Build up the page layout
+ pageLayout = new UtrechtPageLayoutBorder("utrechtPageLayout");
+ add(pageLayout);
+
+ pageHeader = new UtrechtPageHeaderBorder("utrechtPageHeader");
+ pageLayout.add(pageHeader);
+
+ logo = new UtrechtLogoBorder("utrechtLogo");
+ pageHeader.add(logo);
+
+ // Use Apache Wicket API to determine the internal homepage
+ // TODO: Allow configuring an external homepage URL, outside of this application.
+ Link> logoLink = new UtrechtBookmarkableLink<>("logoLink", getApplication().getHomePage());
+ logo.add(logoLink);
+
+ logoLink.add(new RotterdamLogoImage("rotterdamLogoImage"));
+
+ pageBody = new UtrechtPageBodyBorder("utrechtPageBody");
+ pageLayout.add(pageBody);
+
+ pageFooter = new UtrechtPageFooterBorder("utrechtPageFooter");
+ pageLayout.add(pageFooter);
+
+ String[] titleParts = new String[] { this.errorTitle, this.stepTitle, this.pageTitle, this.siteTitle };
+
+ add(
+ new Label(
+ "title",
+ Arrays.stream(titleParts)
+ .filter(part -> part != null && !part.trim().isEmpty())
+ .collect(Collectors.joining(titlePartSeparator))
+ )
+ );
+ }
+
+ public RotterdamBasePage() {}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+
+ // Add the style of the following components directly, because I don't know how to apply a behavior to the and elements
+ // - Root for
+ // - Body for
+
+ response.render(UtrechtRootBehavior.CSS);
+ response.render(UtrechtBodyBehavior.CSS);
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHelloWorldPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHelloWorldPage.html
new file mode 100644
index 00000000..6414cc2e
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHelloWorldPage.html
@@ -0,0 +1,1071 @@
+
+
+
+
+
+
+ Hello, World!
+
+ Lorem ipsum dolor sit amet,
+ consectetur adipiscing elit . Nullam lacus felis,
+ condimentum eu condimentum et, condimentum id tortor. Fusce rutrum interdum dolor . Cras ligula
+ dolor, iaculis id vulputate vitae, egestas quis mauris. Aliquam pharetra, lectus sed sollicitudin
+ tincidunt, massa enim venenatis mi , quis pretium eros est id nisl. Nam ac dui enim. Nam
+ efficitur aliquam lacinia. Pellentesque rhoncus nulla eget dui iaculis, ac iaculis ante dictum. Nam rutrum
+ diam eget aliquet gravida. Mauris dictum mi in nibh varius feugiat. In hac habitasse platea
+ dictumst. Sed aliquet nisi id nunc
+ pellentesque varius. Vestibulum sed tincidunt ligula. Aliquam consectetur nibh purus, ullamcorper bibendum
+ augue volutpat vitae. Nullam pretium quam sed ultricies suscipit. Quisque ut malesuada eros, eu tincidunt
+ tellus. Aenean eget tristique turpis, a tristique lacus.
+
+ The Quick Brown Fox Jumps Over The Heading 2
+
+ Nam nec bibendum lorem. Etiam at arcu facilisis, posuere augue eu, semper dui. Maecenas molestie, lorem ac
+ dictum fringilla, leo felis tincidunt nulla, sit amet vestibulum neque velit sit amet lectus. Fusce
+ laoreet non felis at accumsan. Mauris maximus id lorem id varius. Aliquam vehicula nibh porta, pulvinar
+ sapien a, rhoncus ante. Nunc id venenatis tellus, non mollis velit. Pellentesque sodales enim non urna
+ porta, eget egestas nisl lobortis. Vestibulum metus purus, molestie sit amet lobortis ac, dignissim non
+ risus. Curabitur et malesuada augue.
+
+ The Quick Brown Fox Jumps Over The Heading 3
+
+ Phasellus eget convallis nulla. Integer auctor arcu in ipsum maximus efficitur. Nullam fringilla eros et
+ tempor dignissim. Cras sodales nunc in enim sodales, ut accumsan ex scelerisque. Praesent ornare tortor
+ sed erat vulputate, vitae posuere sapien ornare. Vivamus sollicitudin quam in consequat ultrices. Nunc eu
+ tellus nibh. Morbi ornare risus dictum pellentesque consequat. Class aptent taciti sociosqu ad litora
+ torquent per conubia nostra, per inceptos himenaeos. Nunc porta velit ullamcorper, vestibulum odio non,
+ feugiat lorem. Nam venenatis vel risus a placerat. Curabitur aliquet turpis sit amet molestie vehicula.
+
+ The Quick Brown Fox Jumps Over The Heading 4
+
+ Nunc vel elit accumsan, tempus ante eget, tempor nisl. Nunc vel ex vel justo molestie laoreet eget id ex.
+ Nullam euismod ultricies arcu, a molestie odio condimentum ut. Vivamus sodales felis sit amet dolor
+ fringilla, at lacinia risus laoreet. Curabitur mattis elit quam. Quisque blandit metus vitae sem fringilla
+ ultricies. Donec rutrum porta risus, ac viverra lacus fringilla eu. Donec tempor ipsum vitae turpis
+ dignissim ultrices eget vel diam. Curabitur at diam efficitur, pharetra nisi sed, laoreet magna. Morbi
+ vitae mi lorem. Suspendisse tincidunt consectetur nunc, a iaculis augue tristique eleifend. Fusce euismod,
+ nulla et lacinia tempus, quam urna varius orci, eu pharetra dolor lectus sed tortor.
+
+ The Quick Brown Fox Jumps Over The Heading 5
+
+ Quisque felis neque, blandit vel fringilla id, fringilla ac metus. Donec laoreet purus eu sagittis
+ vestibulum. Donec enim ipsum, rhoncus a molestie sit amet, mattis sed tellus. Mauris volutpat id magna sit
+ amet ultricies. Nam finibus dapibus ipsum. Cras dictum ornare dapibus. Mauris at tincidunt lacus.
+ Phasellus commodo velit eget egestas luctus. Vivamus placerat lacus at tortor rhoncus, suscipit molestie
+ metus ullamcorper.
+
+ The Quick Brown Fox Jumps Over The Heading 6
+
+ Fusce non mi efficitur, cursus purus eu, commodo magna. Donec quis ante at lacus rutrum tincidunt at eu
+ nibh. Suspendisse gravida sagittis orci, sit amet posuere ex pretium vel. Curabitur bibendum nibh ante, in
+ commodo sapien semper sit amet. Ut ut metus et sem tempus pretium. Sed ultricies mauris lorem, ut suscipit
+ lacus fermentum eu. Sed dignissim eros lectus, id rutrum risus pulvinar vitae. Cras feugiat neque sed
+ ligula sollicitudin vulputate. Nullam tristique, dolor sit amet condimentum sagittis, erat urna
+ pellentesque ex, quis pharetra leo nulla sed magna.
+
+
+
+ Nullam venenatis neque purus, nec pulvinar metus lacinia vel. Vestibulum eleifend dolor nec condimentum
+ faucibus. Donec tristique facilisis justo, vitae finibus nibh vulputate ac. Aliquam malesuada tellus diam,
+ nec sodales massa venenatis eget. Praesent at nisl sodales, blandit enim sit amet, luctus ante. Sed sit
+ amet dapibus augue. Mauris ultricies lacus arcu, non eleifend libero euismod ut. Orci varius natoque
+ penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nunc aliquam arcu consequat pretium
+ viverra. Sed dapibus ultrices lectus ac consequat. Ut a ullamcorper elit. Suspendisse at diam commodo nunc
+ placerat convallis et nec nisi.
+
+
+ Sed ut turpis pellentesque, consectetur sem quis, congue nisl. Aliquam tincidunt vestibulum arcu.
+ Pellentesque elementum purus ut bibendum sodales. Praesent luctus felis vitae ante convallis, a tristique
+ sem ornare. Donec nulla dolor, pellentesque eu venenatis et, vulputate sed eros. Morbi at bibendum tortor.
+ Proin eu magna ut diam malesuada fringilla.
+
+
+
+ Table with header, footer and row headings
+
+
+
+ Bla
+ Bla
+ Bla
+
+
+
+
+ Bla
+ Bla
+ Bla
+
+
+
+
+ Bla
+ Bla
+ Bla
+
+
+
+
+ Aliquam erat volutpat. Nam sapien arcu, facilisis non consectetur a, condimentum vel nisl. Aenean vitae
+ eros sed metus euismod venenatis ac non erat. Maecenas finibus finibus finibus. Mauris eget ligula tempor,
+ tempor nunc a, posuere eros. Nullam tincidunt vulputate ante, non consequat nibh. Duis quis sapien leo.
+ Nunc dolor magna, aliquam quis condimentum vitae, porttitor vel justo. Mauris nec massa in augue volutpat
+ varius. Nunc felis arcu, rhoncus sit amet ipsum at, accumsan fermentum eros. Nam lacus diam, luctus in
+ congue ut, fermentum sed purus. Donec fringilla erat quis velit commodo tristique. Aenean volutpat felis
+ non libero rutrum, ut iaculis diam interdum. Proin auctor aliquam facilisis. Nullam feugiat quis urna at
+ pulvinar. Fusce dapibus viverra sapien, a sagittis tellus aliquam sit amet.
+
+
+
+ Table with only rows
+
+
+ Bla
+ Bla
+ Bla
+
+
+ Bla
+ Bla
+ Bla
+
+
+ Bla
+ Bla
+ Bla
+
+
+
+ Ut placerat eros vel mollis tristique. Maecenas in eros tristique, pulvinar quam at, molestie arcu.
+ Curabitur vel tellus nulla. Aenean bibendum consectetur ipsum. Sed in eleifend diam. Lorem ipsum dolor sit
+ amet, consectetur adipiscing elit. Cras vel fermentum turpis. Vestibulum malesuada enim massa, maximus
+ condimentum lectus condimentum sit amet. Sed ut nibh pulvinar, ornare mi id, scelerisque lorem. Maecenas
+ venenatis, nisl eget aliquam venenatis, quam ligula malesuada libero, a tincidunt ligula lorem eget
+ turpis. Quisque facilisis tempor finibus. Pellentesque sit amet tortor eget nibh rhoncus auctor eu sit
+ amet leo. Nullam non placerat leo.
+
+
+ Praesent feugiat auctor tellus, sed laoreet elit dapibus vel. Pellentesque habitant morbi tristique
+ senectus et netus et malesuada fames ac turpis egestas. In hac habitasse platea dictumst. Fusce
+ sollicitudin finibus quam, eget fringilla turpis maximus ac. Praesent vulputate elit eget semper
+ hendrerit. Donec tempor viverra sapien, vel faucibus neque finibus ut. Nunc placerat maximus mauris, et
+ vestibulum risus fringilla ut. Nunc faucibus facilisis mauris et rhoncus. Integer dapibus tortor eu urna
+ egestas auctor. Maecenas eu arcu dignissim, consectetur felis vel, viverra mi. Nullam faucibus ligula est,
+ a dapibus libero sagittis eu. Nam mi orci, euismod ac ligula ut, fermentum dapibus est. Sed id rutrum
+ turpis. Ut ullamcorper nibh nisi, nec efficitur leo lobortis ut. Vivamus posuere quis ligula non tempor.
+
+
+ Lorem ipsum dolor sit amet
+ consectetur adipiscing elit
+ Nullam lacus felis
+ condimentum eu condimentum et
+
+
+ Donec condimentum lacus id dui molestie, ac efficitur quam iaculis. Maecenas a nisi id nulla luctus
+ pulvinar. Sed quis aliquet enim. Nulla ac turpis sit amet purus rhoncus ultricies. Suspendisse scelerisque
+ erat at turpis volutpat pretium. In hac habitasse platea dictumst. Suspendisse quis accumsan neque, nec
+ luctus lectus. Suspendisse vitae porttitor justo. Nam eu eros consequat, maximus eros id, fermentum enim.
+ Morbi volutpat erat est, non lobortis justo iaculis nec. Mauris vestibulum scelerisque augue eu posuere.
+
+
+ Suspendisse dictum ante at nisi pharetra mattis. Sed at pharetra risus. Donec rutrum erat sed erat
+ imperdiet, non viverra nulla cursus. Etiam quis mauris a urna tempor dictum. Nulla tempor fringilla
+ convallis. Nunc tristique tellus a justo lacinia, rutrum placerat lectus viverra. Vivamus sit amet
+ convallis urna. Duis fringilla consequat molestie.
+
+
+ Lorem ipsum dolor sit amet
+ consectetur adipiscing elit
+ Nullam lacus felis
+ condimentum eu condimentum et
+
+
+ Aliquam erat volutpat. Phasellus pulvinar felis vulputate aliquam pharetra. Duis eget aliquet tellus.
+ Etiam nec aliquet ex. Phasellus convallis lectus sit amet ex tristique finibus. Phasellus tortor nunc,
+ laoreet non odio sed, fermentum posuere risus. Nulla facilisis vulputate nibh non egestas. Sed rhoncus
+ condimentum urna, ac luctus erat cursus vel. Quisque tincidunt, arcu sed rhoncus euismod, magna felis
+ pharetra sapien, ut sollicitudin nibh sapien eu odio. Sed consectetur pellentesque sapien nec efficitur.
+
+
+
+ Back to the top
+
+
+
+
+ UAE Dirham
+ Afghani
+ Lek
+ Armenian Dram
+ Netherlands Antillean Guilder
+ Kwanza
+ Argentine Peso
+ Australian Dollar
+ Aruban Florin
+ Azerbaijan Manat
+ Convertible Mark
+ Barbados Dollar
+ Taka
+ Bulgarian Lev
+ Bahraini Dinar
+ Burundi Franc
+ Bermudian Dollar
+ Brunei Dollar
+ Boliviano
+ Mvdol
+ Brazilian Real
+ Bahamian Dollar
+ Ngultrum
+ Pula
+ Belarusian Ruble
+ Belize Dollar
+ Canadian Dollar
+ Congolese Franc
+ WIR Euro
+ Swiss Franc
+ WIR Franc
+ Unidad de Fomento
+ Chilean Peso
+ Yuan Renminbi
+ Colombian Peso
+ Unidad de Valor Real
+ Costa Rican Colon
+ Peso Convertible
+ Cuban Peso
+ Cabo Verde Escudo
+ Czech Koruna
+ Djibouti Franc
+ Danish Krone
+ Dominican Peso
+ Algerian Dinar
+ Egyptian Pound
+ Nakfa
+ Ethiopian Birr
+ Euro
+ Fiji Dollar
+ Falkland Islands Pound
+ Pound Sterling
+ Lari
+ Ghana Cedi
+ Gibraltar Pound
+ Dalasi
+ Guinean Franc
+ Quetzal
+ Guyana Dollar
+ Hong Kong Dollar
+ Lempira
+ Kuna
+ Gourde
+ Forint
+ Rupiah
+ New Israeli Sheqel
+ Indian Rupee
+ Iraqi Dinar
+ Iranian Rial
+ Iceland Krona
+ Jamaican Dollar
+ Jordanian Dinar
+ Yen
+ Kenyan Shilling
+ Som
+ Riel
+ Comorian Franc
+ North Korean Won
+ Won
+ Kuwaiti Dinar
+ Cayman Islands Dollar
+ Tenge
+ Lao Kip
+ Lebanese Pound
+ Sri Lanka Rupee
+ Liberian Dollar
+ Loti
+ Libyan Dinar
+ Moroccan Dirham
+ Moldovan Leu
+ Malagasy Ariary
+ Denar
+ Kyat
+ Tugrik
+ Pataca
+ Ouguiya
+ Mauritius Rupee
+ Rufiyaa
+ Malawi Kwacha
+ Mexican Peso
+ Mexican Unidad de Inversion (UDI)
+ Malaysian Ringgit
+ Mozambique Metical
+ Namibia Dollar
+ Naira
+ Cordoba Oro
+ Norwegian Krone
+ Nepalese Rupee
+ New Zealand Dollar
+ Rial Omani
+ Balboa
+ Sol
+ Kina
+ Philippine Peso
+ Pakistan Rupee
+ Zloty
+ Guarani
+ Qatari Rial
+ Romanian Leu
+ Serbian Dinar
+ Russian Ruble
+ Rwanda Franc
+ Saudi Riyal
+ Solomon Islands Dollar
+ Seychelles Rupee
+ Sudanese Pound
+ Swedish Krona
+ Singapore Dollar
+ Saint Helena Pound
+ Leone
+ Somali Shilling
+ Surinam Dollar
+ South Sudanese Pound
+ Dobra
+ El Salvador Colon
+ Syrian Pound
+ Lilangeni
+ Baht
+ Somoni
+ Turkmenistan New Manat
+ Tunisian Dinar
+ Pa’anga
+ Turkish Lira
+ Trinidad and Tobago Dollar
+ New Taiwan Dollar
+ Tanzanian Shilling
+ Hryvnia
+ Uganda Shilling
+ US Dollar
+ US Dollar (Next day)
+ Uruguay Peso en Unidades Indexadas (UI)
+ Peso Uruguayo
+ Unidad Previsional
+ Uzbekistan Sum
+ BolÃvar Soberano
+ Dong
+ Vatu
+ Tala
+ Yemeni Rial
+ Rand
+ Zambian Kwacha
+ Zimbabwe Dollar
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHelloWorldPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHelloWorldPage.java
new file mode 100644
index 00000000..1bcaec55
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHelloWorldPage.java
@@ -0,0 +1,9 @@
+package nl.rotterdam.wicket.docs;
+
+public class RotterdamHelloWorldPage extends RotterdamHtmlPage {
+
+ public RotterdamHelloWorldPage() {
+ super();
+ this.pageTitle = "Hello, World!";
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHtmlPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHtmlPage.html
new file mode 100644
index 00000000..e7750066
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHtmlPage.html
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHtmlPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHtmlPage.java
new file mode 100644
index 00000000..dd36ddd8
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamHtmlPage.java
@@ -0,0 +1,13 @@
+package nl.rotterdam.wicket.docs;
+
+import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
+
+public class RotterdamHtmlPage extends RotterdamBasePage {
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ pageBody.add(new UtrechtHtmlContentBorder("utrechtHtml"));
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamPlaceholderPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamPlaceholderPage.html
new file mode 100644
index 00000000..a16cf9a3
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamPlaceholderPage.html
@@ -0,0 +1,7 @@
+
+
+ Deze pagina is nog niet gemaakt!
+ Je bent nu op een pagina die onderdeel is van ons prototype, maar deze pagina is nog niet gemaakt.
+ Ga één pagina terug zodat je verder kunt met het prototype testen.
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamPlaceholderPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamPlaceholderPage.java
new file mode 100644
index 00000000..43af3333
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamPlaceholderPage.java
@@ -0,0 +1,13 @@
+package nl.rotterdam.wicket.docs;
+
+import nl.rotterdam.design_system.wicket.components.html_content.utrecht.UtrechtHtmlContentBorder;
+
+public class RotterdamPlaceholderPage extends RotterdamBasePage {
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ pageBody.add(new UtrechtHtmlContentBorder("utrechtHtml"));
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/login_page/LoginPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/login_page/LoginPage.html
new file mode 100644
index 00000000..0879c3b3
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/login_page/LoginPage.html
@@ -0,0 +1,31 @@
+
+
+
+
+ Inloggen bij Mijn Loket - gemeente Rotterdam
+
+
+
+
+
Welkom bij Mijn Loket
+
+ U kunt op Mijn Loket informatie vinden over diensten & producten van de gemeente Rotterdam en deze direct
+ online regelen, aanvragen of bekijken. Als u inlogt, kunt u bovendien uw aanvragen, gemaakte afspraken en uw
+ gegevens zien.
+
+
+ Nog geen DigiD of eHerkenning? Vraag dan eerst DigiD (voor burgers) of eHerkenning (voor
+ bedrijven/instellingen) aan.
+
+
+ Inloggen
+ Login met uw DigiD of eHerkenning om uw zaken online te regelen.
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/login_page/LoginPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/login_page/LoginPage.java
new file mode 100644
index 00000000..adc16ef8
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/login_page/LoginPage.java
@@ -0,0 +1,15 @@
+package nl.rotterdam.wicket.docs.login_page;
+
+import nl.rotterdam.wicket.docs.RotterdamBasePage;
+
+public class LoginPage extends RotterdamBasePage {
+
+ public LoginPage() {
+ super();
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/mijn_loket_page/MijnLoketPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/mijn_loket_page/MijnLoketPage.html
new file mode 100644
index 00000000..aa4a0ea2
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/mijn_loket_page/MijnLoketPage.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+ Hallo
+
+ Via Mijn Loket kunt u veel zelf regelen met de gemeente. Bijvoorbeeld een afspraak maken om uw paspoort te
+ verlengen, of een subsidie aanvraag indienen. U kunt ook zien welke dingen u nog moet regelen of die wij van u
+ vragen. Bijvoorbeeld het betalen van gemeentelijke belastingen. Zie hiervoor ‘Wat ik moet regelen’.
+
+ Wat moet ik regelen
+ ...
+ Zelf regelen
+
+ Paspoort vernieuwen of aanvragen
+
+
+
+ Parkeervergunning aanvragen of beheren
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/mijn_loket_page/MijnLoketPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/mijn_loket_page/MijnLoketPage.java
new file mode 100644
index 00000000..91a79896
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/mijn_loket_page/MijnLoketPage.java
@@ -0,0 +1,89 @@
+package nl.rotterdam.wicket.docs.mijn_loket_page;
+
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht.UtrechtBreadcrumbNavPanel;
+import nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht.UtrechtBreadcrumbNavRecord;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
+import nl.rotterdam.design_system.wicket.components.link_list.utrecht.UtrechtLinkListPanel;
+import nl.rotterdam.design_system.wicket.components.link_list.utrecht.UtrechtLinkListRecord;
+import nl.rotterdam.design_system.wicket.components.preserve_data.utrecht.UtrechtPreserveDataLabel;
+import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavPanel;
+import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavRecord;
+import nl.rotterdam.wicket.docs.RotterdamBasePage;
+import nl.rotterdam.wicket.docs.RotterdamPlaceholderPage;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.request.component.IRequestablePage;
+
+public class MijnLoketPage extends RotterdamBasePage {
+
+ public List> sideNavRecords;
+ public List> linkListLinks;
+ public List> breadcrumbNavLinks;
+
+ public String username;
+
+ public MijnLoketPage() {
+ super();
+ this.pageTitle = "Mijn Loket";
+ this.username = "mevrouw Van Bergenhenegouwen";
+
+ this.sideNavRecords = List.of(
+ new DenhaagSideNavRecord<>(RotterdamIconType.OVERVIEW, "Overzicht", MijnLoketPage.class, 0, ""),
+ new DenhaagSideNavRecord<>(
+ RotterdamIconType.INBOX,
+ "Mijn berichten",
+ RotterdamPlaceholderPage.class,
+ 2,
+ "2 nieuwe berichten"
+ ),
+ new DenhaagSideNavRecord<>(
+ RotterdamIconType.BOX,
+ "Mijn lopende zaken",
+ RotterdamPlaceholderPage.class,
+ 0,
+ ""
+ ),
+ new DenhaagSideNavRecord<>(
+ RotterdamIconType.SUMMARY,
+ "Zelf regelen",
+ RotterdamPlaceholderPage.class,
+ 0,
+ ""
+ ),
+ new DenhaagSideNavRecord<>(RotterdamIconType.COINS, "Belastingen", RotterdamPlaceholderPage.class, 0, ""),
+ new DenhaagSideNavRecord<>(
+ RotterdamIconType.MONEY_2,
+ "Werk & Inkomen",
+ RotterdamPlaceholderPage.class,
+ 0,
+ ""
+ ),
+ new DenhaagSideNavRecord<>(RotterdamIconType.PARKING, "Parkeren", RotterdamPlaceholderPage.class, 0, ""),
+ new DenhaagSideNavRecord<>(RotterdamIconType.USER, "Mijn gegevens", RotterdamPlaceholderPage.class, 0, "")
+ );
+
+ this.breadcrumbNavLinks = List.of(
+ new UtrechtBreadcrumbNavRecord<>(null, "rotterdam.nl", this.getApplication().getHomePage()),
+ new UtrechtBreadcrumbNavRecord<>(null, "Mijn Loket", MijnLoketPage.class)
+ );
+
+ this.linkListLinks = List.of(
+ new UtrechtLinkListRecord<>(null, "Direct regelen", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(null, "Meer informatie op Rotterdam.nl", RotterdamPlaceholderPage.class)
+ );
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ pageBody.add(new DenhaagSideNavPanel("sideNav", this.sideNavRecords));
+
+ pageBody.add(new UtrechtBreadcrumbNavPanel("breadcrumbNav", this.breadcrumbNavLinks));
+
+ pageBody.add(new UtrechtPreserveDataLabel("name", Model.of(this.username)));
+ pageBody.add(new UtrechtLinkListPanel("linkList1", linkListLinks));
+ pageBody.add(new UtrechtLinkListPanel("linkList2", linkListLinks));
+ pageBody.add(new UtrechtLinkListPanel("linkList3", linkListLinks));
+ pageBody.add(new UtrechtLinkListPanel("linkList4", linkListLinks));
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.html
new file mode 100644
index 00000000..2407fe3a
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.html
@@ -0,0 +1,38 @@
+
+ Inloggen
+ Login met je organisatieaccount.
+
+ Feedback goes here
+
+
+
+ Name
+
+
+
+
+
+
+ Password
+
+
+
+
+
+
+ Remember me
+
+
+ Onthoud mij 14 dagen
+
+
+
+
+
+
+
+ Submit
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.java
new file mode 100644
index 00000000..8cd49729
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.java
@@ -0,0 +1,57 @@
+package nl.rotterdam.wicket.docs.sso_login_page;
+
+import nl.rotterdam.design_system.wicket.components.button.utrecht.UtrechtButton;
+import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
+import nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht.UtrechtFormFieldCheckbox;
+import org.apache.wicket.markup.html.form.*;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
+
+public class SingleSignOnLoginFormPanel extends Panel {
+
+ public SingleSignOnLoginFormPanel(String id) {
+ super(id);
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ Model username = Model.of("");
+ Model password = Model.of("");
+ Model rememberMe = Model.of(false);
+
+ add(
+ new Form("loginForm") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ UtrechtButtonGroupBorder actionGroup = new UtrechtButtonGroupBorder("actionGroup");
+
+ add(
+ new FeedbackPanel("feedback"),
+ new RequiredTextField<>("username", username)
+ .setRequired(true)
+ .setLabel(Model.of("Gebruikersnaam")),
+ new PasswordTextField("password", password).setRequired(true).setLabel(Model.of("Wachtwoord")),
+ new CheckBox("rememberMe", rememberMe).setLabel(Model.of("Onthoud mij")),
+ new UtrechtFormFieldCheckbox("rememberMeNlDesign", rememberMe, "Onthoud mij").setRequired(true),
+ actionGroup
+ );
+ actionGroup.add(new UtrechtButton("submit"));
+ }
+
+ @Override
+ protected void onSubmit() {
+ info("Submitted!");
+
+ System.out.println("Received username: " + username.getObject());
+ System.out.println("Received rememberMe: " + rememberMe.getObject());
+
+ super.onSubmit();
+ }
+ }
+ );
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.html
new file mode 100644
index 00000000..0a72f120
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.html
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.java
new file mode 100644
index 00000000..bf0619b3
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.java
@@ -0,0 +1,17 @@
+package nl.rotterdam.wicket.docs.sso_login_page;
+
+import nl.rotterdam.wicket.docs.RotterdamBasePage;
+
+public class SingleSignOnLoginPage extends RotterdamBasePage {
+
+ public SingleSignOnLoginPage() {
+ super();
+ this.pageTitle = "Inloggen";
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ pageBody.add(new SingleSignOnLoginFormPanel("loginForm"));
+ }
+}
From 267f0de949d92266cacec6a05d0c1f270dab626d Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Sun, 8 Dec 2024 20:50:19 +0100
Subject: [PATCH 56/75] feat: add SideNav component
---
pnpm-lock.yaml | 3 +
wicket/components-wicket/package.json | 1 +
wicket/components-wicket/pom.xml | 8 ++
.../denhaag/DenhaagSideNavBehavior.java | 19 +++
.../denhaag/DenhaagSideNavItemBehavior.java | 11 ++
.../side_nav/denhaag/DenhaagSideNavLink.java | 50 ++++++++
.../denhaag/DenhaagSideNavLinkBehavior.java | 11 ++
.../denhaag/DenhaagSideNavListBehavior.java | 11 ++
.../side_nav/denhaag/DenhaagSideNavPanel.html | 13 ++
.../side_nav/denhaag/DenhaagSideNavPanel.java | 95 +++++++++++++++
.../denhaag/DenhaagSideNavRecord.java | 13 ++
.../rotterdam/wicket/docs/ComponentsPage.html | 1 +
.../rotterdam/wicket/docs/ComponentsPage.java | 2 +
.../side_nav/DenhaagSideNavExamplesPanel.html | 35 ++++++
.../side_nav/DenhaagSideNavExamplesPanel.java | 111 ++++++++++++++++++
.../wicket/docs/side_nav/SideNavRecord.java | 13 ++
16 files changed, 397 insertions(+)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavItemBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavLink.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavLinkBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavListBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavRecord.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/SideNavRecord.java
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8da2f32f..51c962fc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -587,6 +587,9 @@ importers:
wicket/components-wicket:
devDependencies:
+ '@gemeente-denhaag/sidenav':
+ specifier: 0.1.0-alpha.218
+ version: 0.1.0-alpha.218(react@18.3.1)
'@nl-design-system-candidate/paragraph-css':
specifier: 2.0.0
version: 2.0.0
diff --git a/wicket/components-wicket/package.json b/wicket/components-wicket/package.json
index 6b6f0ebc..4a2e1254 100644
--- a/wicket/components-wicket/package.json
+++ b/wicket/components-wicket/package.json
@@ -19,6 +19,7 @@
},
"scripts": {},
"devDependencies": {
+ "@gemeente-denhaag/sidenav": "0.1.0-alpha.218",
"@nl-design-system-candidate/paragraph-css": "2.0.0",
"@nl-design-system-unstable/voorbeeld-design-tokens": "3.3.4",
"@utrecht/alert-css": "2.2.0",
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index 05fbb5b1..2d17aed8 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -89,6 +89,14 @@
css
+
+ false
+ node_modules/
+
+ @gemeente-denhaag/sidenav/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/side_nav/denhaag
+
false
node_modules/
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavBehavior.java
new file mode 100644
index 00000000..3e8a24c1
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavBehavior.java
@@ -0,0 +1,19 @@
+package nl.rotterdam.design_system.wicket.components.side_nav.denhaag;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+
+public class DenhaagSideNavBehavior extends TagNameClassComponentBehavior {
+
+ public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
+ DenhaagSideNavBehavior.class,
+ "@gemeente-denhaag/sidenav/dist/index.css"
+ );
+
+ public DenhaagSideNavBehavior() {
+ super("nav", "denhaag-sidenav");
+ addHeaderItem(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavItemBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavItemBehavior.java
new file mode 100644
index 00000000..a7dfadc9
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavItemBehavior.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components.side_nav.denhaag;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+
+public class DenhaagSideNavItemBehavior extends TagNameClassComponentBehavior {
+
+ public DenhaagSideNavItemBehavior() {
+ super("li", "denhaag-sidenav__item");
+ addHeaderItem(DenhaagSideNavBehavior.CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavLink.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavLink.java
new file mode 100644
index 00000000..c6fd2102
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavLink.java
@@ -0,0 +1,50 @@
+package nl.rotterdam.design_system.wicket.components.side_nav.denhaag;
+
+import org.apache.wicket.Page;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+
+public class DenhaagSideNavLink extends BookmarkablePageLink {
+
+ public boolean placeholder = false;
+ private String placeholderClassName = "denhaag-sidenav__link--placeholder";
+
+ public DenhaagSideNavLink(String id, Class pageClass) {
+ super(id, pageClass);
+ this.setAutoEnable(true);
+ }
+
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ add(new DenhaagSideNavLinkBehavior());
+ }
+
+ @Override
+ public void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+
+ if (this.placeholder) {
+ tag.append("class", this.placeholderClassName, " ");
+ tag.put("role", "link");
+ tag.put("aria-disabled", "true");
+ }
+
+ if (linksTo(getPage())) {
+ tag.put("role", "link");
+ tag.put("aria-disabled", "true");
+ tag.put("aria-current", "page");
+ }
+ }
+
+ @Override
+ public boolean isEnabled() {
+ // Use the `isEnabled()` from `Link` to add an extra condition to disable
+ // the link: when it is a placeholder.
+ return super.isEnabled() && !this.placeholder;
+ }
+
+ public void setPlaceholder(boolean enabled) {
+ this.placeholder = enabled;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavLinkBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavLinkBehavior.java
new file mode 100644
index 00000000..91d02c59
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavLinkBehavior.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components.side_nav.denhaag;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+
+public class DenhaagSideNavLinkBehavior extends TagNameClassComponentBehavior {
+
+ public DenhaagSideNavLinkBehavior() {
+ super("a", "denhaag-sidenav__link");
+ addHeaderItem(DenhaagSideNavBehavior.CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavListBehavior.java
new file mode 100644
index 00000000..f274e0a3
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavListBehavior.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components.side_nav.denhaag;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+
+public class DenhaagSideNavListBehavior extends TagNameClassComponentBehavior {
+
+ public DenhaagSideNavListBehavior() {
+ super("ul", "denhaag-sidenav__list");
+ addHeaderItem(DenhaagSideNavBehavior.CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.html
new file mode 100644
index 00000000..39b89fe9
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.java
new file mode 100644
index 00000000..d4ca453f
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.java
@@ -0,0 +1,95 @@
+package nl.rotterdam.design_system.wicket.components.side_nav.denhaag;
+
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconBehavior;
+import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.request.component.IRequestablePage;
+
+public class DenhaagSideNavPanel extends Panel {
+
+ public List> sideNavRecords;
+
+ public DenhaagSideNavPanel(String id, List> sideNavRecords) {
+ super(id);
+ this.sideNavRecords = sideNavRecords;
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ List> sideNavRecords = this.sideNavRecords;
+
+ add(
+ new WebMarkupContainer("denhaagSideNav") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ add(new DenhaagSideNavBehavior());
+
+ add(
+ new WebMarkupContainer("denhaagSideNavList") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new DenhaagSideNavListBehavior()); // TODO should be singleton
+ add(
+ new ListView>(
+ "denhaagSideNavItem",
+ sideNavRecords
+ ) {
+ @Override
+ protected void populateItem(
+ ListItem> item
+ ) {
+ item.add(new DenhaagSideNavItemBehavior()); // TODO: should be singleton
+ DenhaagSideNavRecord extends IRequestablePage> record =
+ item.getModelObject();
+ String naam = record.label();
+
+ // TODO: How do I type this?
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ DenhaagSideNavLink> link = new DenhaagSideNavLink(
+ "denhaagSideNavLink",
+ record.target()
+ );
+
+ // Optionally add an icon
+ if (record.icon() != null) {
+ WebMarkupContainer icon = new WebMarkupContainer(
+ "denhaagSideNavLinkIcon"
+ );
+ icon.add(new RotterdamIconBehavior(record.icon()));
+ link.add(icon);
+ } else {
+ link.add(new Label("denhaagSideNavLinkIcon", ""));
+ }
+
+ // Add the link text
+ link.add(new Label("denhaagSideNavLinkLabel", naam));
+
+ // Optionally add a number badge
+ UtrechtNumberBadge numberBadge = new UtrechtNumberBadge(
+ "denhaagSideNavLinkNumberBadge",
+ record.numberBadge()
+ );
+ numberBadge.setVisible(record.numberBadge() >= 1);
+ link.add(numberBadge);
+
+ item.add(link);
+ }
+ }
+ );
+ }
+ }
+ );
+ }
+ }
+ );
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavRecord.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavRecord.java
new file mode 100644
index 00000000..6838736e
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavRecord.java
@@ -0,0 +1,13 @@
+package nl.rotterdam.design_system.wicket.components.side_nav.denhaag;
+
+import java.io.Serializable;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
+
+public record DenhaagSideNavRecord(
+ RotterdamIconType icon,
+ String label,
+ Class target,
+ long numberBadge,
+ String numberBadgeLabel
+)
+ implements Serializable {}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index d6b4b359..bb14d411 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -19,6 +19,7 @@ Componenten voor Apache Wicket
Lees meer over ontwikkelen voor Apache Wicket in de
Apache Wicket 10.x Reference Guide .
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index 903bc1b8..ff11075d 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -28,6 +28,7 @@
import nl.rotterdam.wicket.docs.preserve_data.UtrechtPreserveDataExamplesPanel;
import nl.rotterdam.wicket.docs.root.UtrechtRootExamplesPanel;
import nl.rotterdam.wicket.docs.separator.UtrechtSeparatorExamplesPanel;
+import nl.rotterdam.wicket.docs.side_nav.DenhaagSideNavExamplesPanel;
import nl.rotterdam.wicket.docs.unordered_list.UtrechtUnorderedListExamplesPanel;
import org.apache.wicket.Component;
import org.apache.wicket.markup.head.IHeaderResponse;
@@ -74,6 +75,7 @@ protected void onInitialize() {
super.onInitialize();
// Add the component stories
+ pageBody.add(new DenhaagSideNavExamplesPanel("denhaagSideNavExamplesPanel"));
pageBody.add(new AlertExamplesPanel("alertExamplesPanel"));
pageBody.add(new BadgeListExamplesPanel("badgeListExamplesPanel"));
pageBody.add(new BodyExamplesPanel("bodyExamplesPanel"));
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.html
new file mode 100644
index 00000000..574d8357
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.html
@@ -0,0 +1,35 @@
+
+
+
+
+
+ Side Navigation component
+
+
Toont een hiërarchische, verticale navigatie aan de zijkant van een pagina.
+
+
+
+ Side Navigation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.java
new file mode 100644
index 00000000..c0519827
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.java
@@ -0,0 +1,111 @@
+package nl.rotterdam.wicket.docs.side_nav;
+
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconBehavior;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
+import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
+import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavBehavior;
+import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavItemBehavior;
+import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavLink;
+import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavListBehavior;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import nl.rotterdam.wicket.docs.RotterdamPlaceholderPage;
+import nl.rotterdam.wicket.docs.mijn_loket_page.MijnLoketPage;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class DenhaagSideNavExamplesPanel extends Panel {
+
+ public DenhaagSideNavExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleDenhaagSideNav() {
+ List> links = List.of(
+ new SideNavRecord<>(RotterdamIconType.OVERVIEW, "Overzicht", MijnLoketPage.class, 0, ""),
+ new SideNavRecord<>(
+ RotterdamIconType.INBOX,
+ "Mijn berichten",
+ RotterdamPlaceholderPage.class,
+ 2,
+ "2 nieuwe berichten"
+ ),
+ new SideNavRecord<>(RotterdamIconType.BOX, "Mijn lopende zaken", RotterdamPlaceholderPage.class, 0, ""),
+ new SideNavRecord<>(RotterdamIconType.SUMMARY, "Zelf regelen", RotterdamPlaceholderPage.class, 0, ""),
+ new SideNavRecord<>(RotterdamIconType.COINS, "Belastingen", RotterdamPlaceholderPage.class, 0, ""),
+ new SideNavRecord<>(RotterdamIconType.MONEY_2, "Werk & Inkomen", RotterdamPlaceholderPage.class, 0, ""),
+ new SideNavRecord<>(RotterdamIconType.PARKING, "Parkeren", RotterdamPlaceholderPage.class, 0, ""),
+ new SideNavRecord<>(RotterdamIconType.USER, "Mijn gegevens", RotterdamPlaceholderPage.class, 0, "")
+ );
+
+ return new WebMarkupContainer("denhaagSideNav") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ add(new DenhaagSideNavBehavior());
+
+ add(
+ new WebMarkupContainer("denhaagSideNavList") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new DenhaagSideNavListBehavior()); // TODO should be singleton
+ add(
+ new ListView>("denhaagSideNavItem", links) {
+ @Override
+ protected void populateItem(ListItem> item) {
+ item.add(new DenhaagSideNavItemBehavior()); // TODO: should be singleton
+ SideNavRecord> record = item.getModelObject();
+ String naam = record.label();
+
+ // TODO: How do I type this?
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ DenhaagSideNavLink> link = new DenhaagSideNavLink(
+ "denhaagSideNavLink",
+ record.target()
+ );
+
+ // Optionally add an icon
+ if (record.icon() != null) {
+ WebMarkupContainer icon = new WebMarkupContainer("denhaagSideNavLinkIcon");
+ icon.add(new RotterdamIconBehavior(record.icon()));
+ link.add(icon);
+ } else {
+ link.add(new Label("denhaagSideNavLinkIcon", ""));
+ }
+
+ // Add the link text
+ link.add(new Label("denhaagSideNavLinkLabel", naam));
+
+ // Optionally add a number badge
+ UtrechtNumberBadge numberBadge = new UtrechtNumberBadge(
+ "denhaagSideNavLinkNumberBadge",
+ record.numberBadge()
+ );
+ numberBadge.setVisible(record.numberBadge() >= 1);
+ link.add(numberBadge);
+
+ item.add(link);
+ }
+ }
+ );
+ }
+ }
+ );
+ }
+ };
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleDenhaagSideNav());
+ }
+}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/SideNavRecord.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/SideNavRecord.java
new file mode 100644
index 00000000..b9b49109
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/SideNavRecord.java
@@ -0,0 +1,13 @@
+package nl.rotterdam.wicket.docs.side_nav;
+
+import java.io.Serializable;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
+
+public record SideNavRecord(
+ RotterdamIconType icon,
+ String label,
+ Class target,
+ long numberBadge,
+ String numberBadgeLabel
+)
+ implements Serializable {}
From c21afecb20f893cc8498b39f8fedcc445e8004f0 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Sun, 8 Dec 2024 22:35:33 +0100
Subject: [PATCH 57/75] feat: add Rotterdam Icon component
---
wicket/components-wicket/package.json | 1 +
wicket/components-wicket/pom.xml | 9 +
.../icon/rotterdam/RotterdamIconBehavior.java | 179 ++++++++++++++++++
.../icon/rotterdam/RotterdamIconType.java | 115 +++++++++++
.../icon/rotterdam/define-custom-elements.js | 3 +
.../rotterdam/wicket/docs/ComponentsPage.html | 1 +
.../rotterdam/wicket/docs/ComponentsPage.java | 2 +
.../docs/icon/RodsIconExamplesPanel.html | 30 +++
.../docs/icon/RodsIconExamplesPanel.java | 81 ++++++++
9 files changed, 421 insertions(+)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/RotterdamIconBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/RotterdamIconType.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/define-custom-elements.js
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/RodsIconExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/RodsIconExamplesPanel.java
diff --git a/wicket/components-wicket/package.json b/wicket/components-wicket/package.json
index 4a2e1254..a7b35cb0 100644
--- a/wicket/components-wicket/package.json
+++ b/wicket/components-wicket/package.json
@@ -20,6 +20,7 @@
"scripts": {},
"devDependencies": {
"@gemeente-denhaag/sidenav": "0.1.0-alpha.218",
+ "@gemeente-rotterdam/web-components-stencil": "workspace:*",
"@nl-design-system-candidate/paragraph-css": "2.0.0",
"@nl-design-system-unstable/voorbeeld-design-tokens": "3.3.4",
"@utrecht/alert-css": "2.2.0",
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index 2d17aed8..412884ff 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -97,6 +97,15 @@
nl/rotterdam/design_system/wicket/components/side_nav/denhaag
+
+ false
+ node_modules/
+
+ @gemeente-rotterdam/web-components-stencil/dist/**/*
+ @gemeente-rotterdam/web-components-stencil/loader/**/*
+
+ nl/rotterdam/design_system/wicket/components/icon/rotterdam
+
false
node_modules/
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/RotterdamIconBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/RotterdamIconBehavior.java
new file mode 100644
index 00000000..32161590
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/RotterdamIconBehavior.java
@@ -0,0 +1,179 @@
+package nl.rotterdam.design_system.wicket.components.icon.rotterdam;
+
+import org.apache.wicket.Component;
+import org.apache.wicket.behavior.Behavior;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+import org.apache.wicket.markup.head.JavaScriptReferenceHeaderItem;
+import org.apache.wicket.markup.head.JavaScriptReferenceType;
+import org.apache.wicket.request.resource.JavaScriptResourceReference;
+
+public class RotterdamIconBehavior extends Behavior {
+
+ public static final RotterdamIconBehavior ADD_IMAGE = new RotterdamIconBehavior(RotterdamIconType.ADD_IMAGE);
+ public static final RotterdamIconBehavior ADD_USER = new RotterdamIconBehavior(RotterdamIconType.ADD_USER);
+ public static final RotterdamIconBehavior ARROW_DOWN = new RotterdamIconBehavior(RotterdamIconType.ARROW_DOWN);
+ public static final RotterdamIconBehavior ARROW_LEFT = new RotterdamIconBehavior(RotterdamIconType.ARROW_LEFT);
+ public static final RotterdamIconBehavior ARROW_UP = new RotterdamIconBehavior(RotterdamIconType.ARROW_UP);
+ public static final RotterdamIconBehavior ARROW_RIGHT = new RotterdamIconBehavior(RotterdamIconType.ARROW_RIGHT);
+ public static final RotterdamIconBehavior ATTACHMENT = new RotterdamIconBehavior(RotterdamIconType.ATTACHMENT);
+ public static final RotterdamIconBehavior BADGE_ALERT_SOLID = new RotterdamIconBehavior(
+ RotterdamIconType.BADGE_ALERT_SOLID
+ );
+ public static final RotterdamIconBehavior BADGE_ALERT = new RotterdamIconBehavior(RotterdamIconType.BADGE_ALERT);
+ public static final RotterdamIconBehavior BADGE_CHECK_SOLID = new RotterdamIconBehavior(
+ RotterdamIconType.BADGE_CHECK_SOLID
+ );
+ public static final RotterdamIconBehavior BADGE_CHECK = new RotterdamIconBehavior(RotterdamIconType.BADGE_CHECK);
+ public static final RotterdamIconBehavior BADGE_CROSS = new RotterdamIconBehavior(RotterdamIconType.BADGE_CROSS);
+ public static final RotterdamIconBehavior BADGE_INFO = new RotterdamIconBehavior(RotterdamIconType.BADGE_INFO);
+ public static final RotterdamIconBehavior BADGE_QUESTION_SOLID = new RotterdamIconBehavior(
+ RotterdamIconType.BADGE_QUESTION_SOLID
+ );
+ public static final RotterdamIconBehavior BADGE_QUESTION = new RotterdamIconBehavior(
+ RotterdamIconType.BADGE_QUESTION
+ );
+ public static final RotterdamIconBehavior BOX = new RotterdamIconBehavior(RotterdamIconType.BOX);
+ public static final RotterdamIconBehavior CALENDAR = new RotterdamIconBehavior(RotterdamIconType.CALENDAR);
+ public static final RotterdamIconBehavior CAMERA = new RotterdamIconBehavior(RotterdamIconType.CAMERA);
+ public static final RotterdamIconBehavior CANCEL = new RotterdamIconBehavior(RotterdamIconType.CANCEL);
+ public static final RotterdamIconBehavior CHAT = new RotterdamIconBehavior(RotterdamIconType.CHAT);
+ public static final RotterdamIconBehavior CHECK = new RotterdamIconBehavior(RotterdamIconType.CHECK);
+ public static final RotterdamIconBehavior CHEVRON_LEFT = new RotterdamIconBehavior(RotterdamIconType.CHEVRON_LEFT);
+ public static final RotterdamIconBehavior CHEVRON_RIGHT = new RotterdamIconBehavior(
+ RotterdamIconType.CHEVRON_RIGHT
+ );
+ public static final RotterdamIconBehavior CHEVRON_SMALL_DOUBLE_LEFT = new RotterdamIconBehavior(
+ RotterdamIconType.CHEVRON_SMALL_DOUBLE_LEFT
+ );
+ public static final RotterdamIconBehavior CHEVRON_SMALL_DOUBLE_RIGHT = new RotterdamIconBehavior(
+ RotterdamIconType.CHEVRON_SMALL_DOUBLE_RIGHT
+ );
+ public static final RotterdamIconBehavior CHEVRON_SMALL_DOWN = new RotterdamIconBehavior(
+ RotterdamIconType.CHEVRON_SMALL_DOWN
+ );
+ public static final RotterdamIconBehavior CHEVRON_SMALL_LEFT = new RotterdamIconBehavior(
+ RotterdamIconType.CHEVRON_SMALL_LEFT
+ );
+ public static final RotterdamIconBehavior CHEVRON_SMALL_RIGHT = new RotterdamIconBehavior(
+ RotterdamIconType.CHEVRON_SMALL_RIGHT
+ );
+ public static final RotterdamIconBehavior CHEVRON_SMALL_UP = new RotterdamIconBehavior(
+ RotterdamIconType.CHEVRON_SMALL_UP
+ );
+ public static final RotterdamIconBehavior CLIPBOARD = new RotterdamIconBehavior(RotterdamIconType.CLIPBOARD);
+ public static final RotterdamIconBehavior CLOSE = new RotterdamIconBehavior(RotterdamIconType.CLOSE);
+ public static final RotterdamIconBehavior CLOUD_SOLID = new RotterdamIconBehavior(RotterdamIconType.CLOUD_SOLID);
+ public static final RotterdamIconBehavior COINS = new RotterdamIconBehavior(RotterdamIconType.COINS);
+ public static final RotterdamIconBehavior COMMENT_SOLID = new RotterdamIconBehavior(
+ RotterdamIconType.COMMENT_SOLID
+ );
+ public static final RotterdamIconBehavior COMMENTS = new RotterdamIconBehavior(RotterdamIconType.COMMENTS);
+ public static final RotterdamIconBehavior DOCUMENT = new RotterdamIconBehavior(RotterdamIconType.DOCUMENT);
+ public static final RotterdamIconBehavior DOWNLOAD = new RotterdamIconBehavior(RotterdamIconType.DOWNLOAD);
+ public static final RotterdamIconBehavior DRAGGABLE = new RotterdamIconBehavior(RotterdamIconType.DRAGGABLE);
+ public static final RotterdamIconBehavior DROPDOWN = new RotterdamIconBehavior(RotterdamIconType.DROPDOWN);
+ public static final RotterdamIconBehavior EDIT = new RotterdamIconBehavior(RotterdamIconType.EDIT);
+ public static final RotterdamIconBehavior ENVELOPE_SOLID = new RotterdamIconBehavior(
+ RotterdamIconType.ENVELOPE_SOLID
+ );
+ public static final RotterdamIconBehavior ENVELOPE = new RotterdamIconBehavior(RotterdamIconType.ENVELOPE);
+ public static final RotterdamIconBehavior EXTERNAL = new RotterdamIconBehavior(RotterdamIconType.EXTERNAL);
+ public static final RotterdamIconBehavior FACEBOOK = new RotterdamIconBehavior(RotterdamIconType.FACEBOOK);
+ public static final RotterdamIconBehavior FAVORITE_SOLID = new RotterdamIconBehavior(
+ RotterdamIconType.FAVORITE_SOLID
+ );
+ public static final RotterdamIconBehavior FAVORITE = new RotterdamIconBehavior(RotterdamIconType.FAVORITE);
+ public static final RotterdamIconBehavior FILE = new RotterdamIconBehavior(RotterdamIconType.FILE);
+ public static final RotterdamIconBehavior FILTER = new RotterdamIconBehavior(RotterdamIconType.FILTER);
+ public static final RotterdamIconBehavior FLASH_DISABLED = new RotterdamIconBehavior(
+ RotterdamIconType.FLASH_DISABLED
+ );
+ public static final RotterdamIconBehavior FLASH = new RotterdamIconBehavior(RotterdamIconType.FLASH);
+ public static final RotterdamIconBehavior FULL_SCREEN = new RotterdamIconBehavior(RotterdamIconType.FULL_SCREEN);
+ public static final RotterdamIconBehavior GLOBE = new RotterdamIconBehavior(RotterdamIconType.GLOBE);
+ public static final RotterdamIconBehavior HEART = new RotterdamIconBehavior(RotterdamIconType.HEART);
+ public static final RotterdamIconBehavior HIDE = new RotterdamIconBehavior(RotterdamIconType.HIDE);
+ public static final RotterdamIconBehavior HISTORY = new RotterdamIconBehavior(RotterdamIconType.HISTORY);
+ public static final RotterdamIconBehavior HOME = new RotterdamIconBehavior(RotterdamIconType.HOME);
+ public static final RotterdamIconBehavior IDEA = new RotterdamIconBehavior(RotterdamIconType.IDEA);
+ public static final RotterdamIconBehavior INBOX = new RotterdamIconBehavior(RotterdamIconType.INBOX);
+ public static final RotterdamIconBehavior INSTAGRAM = new RotterdamIconBehavior(RotterdamIconType.INSTAGRAM);
+ public static final RotterdamIconBehavior LAYERS = new RotterdamIconBehavior(RotterdamIconType.LAYERS);
+ public static final RotterdamIconBehavior LINK = new RotterdamIconBehavior(RotterdamIconType.LINK);
+ public static final RotterdamIconBehavior LINKEDIN = new RotterdamIconBehavior(RotterdamIconType.LINKEDIN);
+ public static final RotterdamIconBehavior LOCATION = new RotterdamIconBehavior(RotterdamIconType.LOCATION);
+ public static final RotterdamIconBehavior LOCK = new RotterdamIconBehavior(RotterdamIconType.LOCK);
+ public static final RotterdamIconBehavior LOG_OUT = new RotterdamIconBehavior(RotterdamIconType.LOG_OUT);
+ public static final RotterdamIconBehavior MAP = new RotterdamIconBehavior(RotterdamIconType.MAP);
+ public static final RotterdamIconBehavior MEDIUM = new RotterdamIconBehavior(RotterdamIconType.MEDIUM);
+ public static final RotterdamIconBehavior MENU = new RotterdamIconBehavior(RotterdamIconType.MENU);
+ public static final RotterdamIconBehavior MIJN_LOKET = new RotterdamIconBehavior(RotterdamIconType.MIJN_LOKET);
+ public static final RotterdamIconBehavior MINUS = new RotterdamIconBehavior(RotterdamIconType.MINUS);
+ public static final RotterdamIconBehavior MONEY = new RotterdamIconBehavior(RotterdamIconType.MONEY);
+ public static final RotterdamIconBehavior MONEY_2 = new RotterdamIconBehavior(RotterdamIconType.MONEY_2);
+ public static final RotterdamIconBehavior MORE_OPTIONS = new RotterdamIconBehavior(RotterdamIconType.MORE_OPTIONS);
+ public static final RotterdamIconBehavior NO_IMAGE = new RotterdamIconBehavior(RotterdamIconType.NO_IMAGE);
+ public static final RotterdamIconBehavior NOTIFICATION_OFF = new RotterdamIconBehavior(
+ RotterdamIconType.NOTIFICATION_OFF
+ );
+ public static final RotterdamIconBehavior NOTIFICATION = new RotterdamIconBehavior(RotterdamIconType.NOTIFICATION);
+ public static final RotterdamIconBehavior OVERVIEW = new RotterdamIconBehavior(RotterdamIconType.OVERVIEW);
+ public static final RotterdamIconBehavior PARKING = new RotterdamIconBehavior(RotterdamIconType.PARKING);
+ public static final RotterdamIconBehavior PHONE_2 = new RotterdamIconBehavior(RotterdamIconType.PHONE_2);
+ public static final RotterdamIconBehavior PHONE = new RotterdamIconBehavior(RotterdamIconType.PHONE);
+ public static final RotterdamIconBehavior PIN_SOLID = new RotterdamIconBehavior(RotterdamIconType.PIN_SOLID);
+ public static final RotterdamIconBehavior PIN = new RotterdamIconBehavior(RotterdamIconType.PIN);
+ public static final RotterdamIconBehavior PLAY_SOLID = new RotterdamIconBehavior(RotterdamIconType.PLAY_SOLID);
+ public static final RotterdamIconBehavior PLUS = new RotterdamIconBehavior(RotterdamIconType.PLUS);
+ public static final RotterdamIconBehavior RENEW = new RotterdamIconBehavior(RotterdamIconType.RENEW);
+ public static final RotterdamIconBehavior RING = new RotterdamIconBehavior(RotterdamIconType.RING);
+ public static final RotterdamIconBehavior SEARCH = new RotterdamIconBehavior(RotterdamIconType.SEARCH);
+ public static final RotterdamIconBehavior SEND = new RotterdamIconBehavior(RotterdamIconType.SEND);
+ public static final RotterdamIconBehavior SETTINGS_1 = new RotterdamIconBehavior(RotterdamIconType.SETTINGS_1);
+ public static final RotterdamIconBehavior SETTINGS_2 = new RotterdamIconBehavior(RotterdamIconType.SETTINGS_2);
+ public static final RotterdamIconBehavior SHARE = new RotterdamIconBehavior(RotterdamIconType.SHARE);
+ public static final RotterdamIconBehavior SHIELD = new RotterdamIconBehavior(RotterdamIconType.SHIELD);
+ public static final RotterdamIconBehavior SHOPPING_CART = new RotterdamIconBehavior(
+ RotterdamIconType.SHOPPING_CART
+ );
+ public static final RotterdamIconBehavior SHOW = new RotterdamIconBehavior(RotterdamIconType.SHOW);
+ public static final RotterdamIconBehavior SPEAKER = new RotterdamIconBehavior(RotterdamIconType.SPEAKER);
+ public static final RotterdamIconBehavior SUMMARY = new RotterdamIconBehavior(RotterdamIconType.SUMMARY);
+ public static final RotterdamIconBehavior THEME = new RotterdamIconBehavior(RotterdamIconType.THEME);
+ public static final RotterdamIconBehavior TIME = new RotterdamIconBehavior(RotterdamIconType.TIME);
+ public static final RotterdamIconBehavior TRASH = new RotterdamIconBehavior(RotterdamIconType.TRASH);
+ public static final RotterdamIconBehavior TWITTER = new RotterdamIconBehavior(RotterdamIconType.TWITTER);
+ public static final RotterdamIconBehavior UPLOAD = new RotterdamIconBehavior(RotterdamIconType.UPLOAD);
+ public static final RotterdamIconBehavior USER_SOLID = new RotterdamIconBehavior(RotterdamIconType.USER_SOLID);
+ public static final RotterdamIconBehavior USER = new RotterdamIconBehavior(RotterdamIconType.USER);
+ public static final RotterdamIconBehavior VIDEO = new RotterdamIconBehavior(RotterdamIconType.VIDEO);
+ public static final RotterdamIconBehavior WHATSAPP = new RotterdamIconBehavior(RotterdamIconType.WHATSAPP);
+
+ String icon = null;
+
+ public RotterdamIconBehavior(RotterdamIconType icon) {
+ super();
+ this.icon = icon.type;
+ }
+
+ private static final JavaScriptReferenceHeaderItem ESM = JavaScriptHeaderItem.forReference(
+ new JavaScriptResourceReference(RotterdamIconBehavior.class, "define-custom-elements.js")
+ );
+
+ @Override
+ public void onComponentTag(Component component, ComponentTag tag) {
+ super.onComponentTag(component, tag);
+
+ tag.setName("rods-icon-" + this.icon);
+ }
+
+ @Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+
+ ESM.setType(JavaScriptReferenceType.MODULE);
+ response.render(ESM);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/RotterdamIconType.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/RotterdamIconType.java
new file mode 100644
index 00000000..551722f1
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/RotterdamIconType.java
@@ -0,0 +1,115 @@
+package nl.rotterdam.design_system.wicket.components.icon.rotterdam;
+
+public enum RotterdamIconType {
+ ADD_IMAGE("add-image"),
+ ADD_USER("add-user"),
+ ARROW_DOWN("arrow-down"),
+ ARROW_LEFT("arrow-left"),
+ ARROW_UP("arrow-up"),
+ ARROW_RIGHT("arrow-right"),
+ ATTACHMENT("attachment"),
+ BADGE_ALERT_SOLID("badge-alert-solid"),
+ BADGE_ALERT("badge-alert"),
+ BADGE_CHECK_SOLID("badge-check-solid"),
+ BADGE_CHECK("badge-check"),
+ BADGE_CROSS("badge-cross"),
+ BADGE_INFO("badge-info"),
+ BADGE_QUESTION_SOLID("badge-question-solid"),
+ BADGE_QUESTION("badge-question"),
+ BOX("box"),
+ CALENDAR("calendar"),
+ CAMERA("camera"),
+ CANCEL("cancel"),
+ CHAT("chat"),
+ CHECK("check"),
+ CHEVRON_LEFT("chevron-left"),
+ CHEVRON_RIGHT("chevron-right"),
+ CHEVRON_SMALL_DOUBLE_LEFT("chevron-small-double-left"),
+ CHEVRON_SMALL_DOUBLE_RIGHT("chevron-small-double-right"),
+ CHEVRON_SMALL_DOWN("chevron-small-down"),
+ CHEVRON_SMALL_LEFT("chevron-small-left"),
+ CHEVRON_SMALL_RIGHT("chevron-small-right"),
+ CHEVRON_SMALL_UP("chevron-small-up"),
+ CLIPBOARD("clipboard"),
+ CLOSE("close"),
+ CLOUD_SOLID("cloud-solid"),
+ COINS("coins"),
+ COMMENT_SOLID("comment-solid"),
+ COMMENTS("comments"),
+ DOCUMENT("document"),
+ DOWNLOAD("download"),
+ DRAGGABLE("draggable"),
+ DROPDOWN("dropdown"),
+ EDIT("edit"),
+ ENVELOPE_SOLID("envelope-solid"),
+ ENVELOPE("envelope"),
+ EXTERNAL("external"),
+ FACEBOOK("facebook"),
+ FAVORITE_SOLID("favorite-solid"),
+ FAVORITE("favorite"),
+ FILE("file"),
+ FILTER("filter"),
+ FLASH_DISABLED("flash-disabled"),
+ FLASH("flash"),
+ FULL_SCREEN("full-screen"),
+ GLOBE("globe"),
+ HEART("heart"),
+ HIDE("hide"),
+ HISTORY("history"),
+ HOME("home"),
+ IDEA("idea"),
+ INBOX("inbox"),
+ INSTAGRAM("instagram"),
+ LAYERS("layers"),
+ LINK("link"),
+ LINKEDIN("linkedin"),
+ LOCATION("location"),
+ LOCK("lock"),
+ LOG_OUT("log-out"),
+ MAP("map"),
+ MEDIUM("medium"),
+ MENU("menu"),
+ MIJN_LOKET("mijn-loket"),
+ MINUS("minus"),
+ MONEY("money"),
+ MONEY_2("money-2"),
+ MORE_OPTIONS("more-options"),
+ NO_IMAGE("no-image"),
+ NOTIFICATION_OFF("notification-off"),
+ NOTIFICATION("notification"),
+ OVERVIEW("overview"),
+ PARKING("parking"),
+ PHONE_2("phone-2"),
+ PHONE("phone"),
+ PIN_SOLID("pin-solid"),
+ PIN("pin"),
+ PLAY_SOLID("play-solid"),
+ PLUS("plus"),
+ RENEW("renew"),
+ RING("ring"),
+ SEARCH("search"),
+ SEND("send"),
+ SETTINGS_1("settings-1"),
+ SETTINGS_2("settings-2"),
+ SHARE("share"),
+ SHIELD("shield"),
+ SHOPPING_CART("shopping-cart"),
+ SHOW("show"),
+ SPEAKER("speaker"),
+ SUMMARY("summary"),
+ THEME("theme"),
+ TIME("time"),
+ TRASH("trash"),
+ TWITTER("twitter"),
+ UPLOAD("upload"),
+ USER_SOLID("user-solid"),
+ USER("user"),
+ VIDEO("video"),
+ WHATSAPP("whatsapp");
+
+ public final String type;
+
+ RotterdamIconType(String type) {
+ this.type = type;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/define-custom-elements.js b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/define-custom-elements.js
new file mode 100644
index 00000000..2558260e
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/icon/rotterdam/define-custom-elements.js
@@ -0,0 +1,3 @@
+import { defineCustomElements } from './@gemeente-rotterdam/web-components-stencil/loader/index.js';
+
+defineCustomElements();
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index bb14d411..b192dd37 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -34,6 +34,7 @@ Componenten voor Apache Wicket
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index ff11075d..c8e739fa 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -16,6 +16,7 @@
import nl.rotterdam.wicket.docs.heading_group.HeadingGroupExamplesPanel;
import nl.rotterdam.wicket.docs.html_content.HtmlContentExamplesPanel;
import nl.rotterdam.wicket.docs.icon.IconExamplesPanel;
+import nl.rotterdam.wicket.docs.icon.RodsIconExamplesPanel;
import nl.rotterdam.wicket.docs.link.UtrechtLinkExamplesPanel;
import nl.rotterdam.wicket.docs.logo.UtrechtLogoExamplesPanel;
import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
@@ -90,6 +91,7 @@ protected void onInitialize() {
pageBody.add(new HeadingGroupExamplesPanel("headingGroupExamplesPanel"));
pageBody.add(new HtmlContentExamplesPanel("htmlContentExamplesPanel"));
pageBody.add(new IconExamplesPanel("iconExamplesPanel"));
+ pageBody.add(new RodsIconExamplesPanel("rodsIconExamplesPanel"));
pageBody.add(new RotterdamLogoImageExamplesPanel("rotterdamLogoImageExamplesPanel"));
pageBody.add(new UtrechtLinkExamplesPanel("linkExamplesPanel"));
pageBody.add(new UtrechtLogoExamplesPanel("logoExamplesPanel"));
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/RodsIconExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/RodsIconExamplesPanel.html
new file mode 100644
index 00000000..de5f925d
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/RodsIconExamplesPanel.html
@@ -0,0 +1,30 @@
+
+
+
+
+
+ Rotterdam Icon component
+
+
Toont een SVG icoon uit de iconenset van gemeente Rotterdam.
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/RodsIconExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/RodsIconExamplesPanel.java
new file mode 100644
index 00000000..c4e7e79b
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/icon/RodsIconExamplesPanel.java
@@ -0,0 +1,81 @@
+package nl.rotterdam.wicket.docs.icon;
+
+import java.util.Arrays;
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconBehavior;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
+import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedListBehavior;
+import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedListItemBehavior;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.markup.html.panel.Panel;
+
+public class RodsIconExamplesPanel extends Panel {
+
+ public RodsIconExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleRodsIcons() {
+ // List links = Arrays.asList(RotterdamIconType.values());
+ List icons = Arrays.asList(RotterdamIconType.values());
+ // List icons = List.of(RotterdamIconType.TRASH);
+
+ return new WebMarkupContainer("rodsIconset") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new UtrechtUnorderedListBehavior());
+ add(
+ new ListView("iconItem", icons) {
+ @Override
+ protected void populateItem(ListItem item) {
+ item.add(new UtrechtUnorderedListItemBehavior()); // TODO: should be singleton
+ RotterdamIconType iconType = item.getModelObject();
+ // item.add(naam);
+ // item.add(new RotterdamIconBehavior(iconType))
+ WebMarkupContainer icon = new WebMarkupContainer("icon");
+ icon.add(new RotterdamIconBehavior(iconType));
+ item.add(icon);
+
+ item.add(
+ new Label("label", "RotterdamIconType." + iconType.type.toUpperCase().replace("-", "_"))
+ );
+ }
+ }
+ );
+ /*
+ new ListView("iconItem", icons) {
+ @Override
+ protected void populateItem(ListItem item) {
+ RotterdamIconType iconType = item.getModelObject();
+
+ // WebMarkupContainer icon = new WebMarkupContainer("icon");
+ // icon.add(new RotterdamIconBehavior(iconType));
+
+ // WebMarkupContainer iconLabel = new WebMarkupContainer("iconLabel");
+ // iconLabel.add(new Label(iconType.type));
+
+ // item.add(iconLabel);
+ // item.add(icon);
+ item.add(new Label(iconType.type));
+ }
+ }
+ ); */
+ }
+ };
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleRodsIcons());
+ }
+}
From 21ced827011ab5c899a9e4e8a0bb9ab3c9ba8235 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Mon, 9 Dec 2024 00:08:00 +0100
Subject: [PATCH 58/75] feat: add Link List component
---
wicket/components-wicket/package.json | 1 +
wicket/components-wicket/pom.xml | 8 ++
.../utrecht/UtrechtLinkListBehavior.java | 19 +++++
.../utrecht/UtrechtLinkListItemBehavior.java | 11 +++
.../utrecht/UtrechtLinkListLink.java | 43 +++++++++++
.../utrecht/UtrechtLinkListLinkBehavior.java | 11 +++
.../utrecht/UtrechtLinkListPanel.html | 10 +++
.../utrecht/UtrechtLinkListPanel.java | 73 +++++++++++++++++++
.../utrecht/UtrechtLinkListRecord.java | 6 ++
.../rotterdam/wicket/docs/ComponentsPage.html | 1 +
.../rotterdam/wicket/docs/ComponentsPage.java | 2 +
.../UtrechtLinkListExamplesPanel.html | 37 ++++++++++
.../UtrechtLinkListExamplesPanel.java | 59 +++++++++++++++
13 files changed, 281 insertions(+)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListItemBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListLink.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListLinkBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListRecord.java
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link_list/UtrechtLinkListExamplesPanel.html
create mode 100644 wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link_list/UtrechtLinkListExamplesPanel.java
diff --git a/wicket/components-wicket/package.json b/wicket/components-wicket/package.json
index a7b35cb0..64cc20bd 100644
--- a/wicket/components-wicket/package.json
+++ b/wicket/components-wicket/package.json
@@ -45,6 +45,7 @@
"@utrecht/html-content-css": "1.3.0",
"@utrecht/icon": "1.3.0",
"@utrecht/link-css": "1.1.0",
+ "@utrecht/link-list-css": "2.3.0",
"@utrecht/logo-css": "1.4.0",
"@utrecht/nav-bar-css": "1.4.0",
"@utrecht/number-badge-css": "2.3.0",
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index 412884ff..fb9dbda1 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -256,6 +256,14 @@
nl/rotterdam/design_system/wicket/components/link/utrecht
+
+ false
+ node_modules/
+
+ @utrecht/link-list-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/link_list/utrecht
+
false
node_modules/
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java
new file mode 100644
index 00000000..7a318c7b
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java
@@ -0,0 +1,19 @@
+package nl.rotterdam.design_system.wicket.components.link_list.utrecht;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+
+public class UtrechtLinkListBehavior extends TagNameClassComponentBehavior {
+
+ public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
+ UtrechtLinkListBehavior.class,
+ "@utrecht/link-list-css/dist/index.css"
+ );
+
+ public UtrechtLinkListBehavior() {
+ super("ul", "utrecht-link-list");
+ addHeaderItem(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListItemBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListItemBehavior.java
new file mode 100644
index 00000000..93c151ab
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListItemBehavior.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components.link_list.utrecht;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+
+public class UtrechtLinkListItemBehavior extends TagNameClassComponentBehavior {
+
+ public UtrechtLinkListItemBehavior() {
+ super("li", "utrecht-link-list__item");
+ addHeaderItem(UtrechtLinkListBehavior.CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListLink.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListLink.java
new file mode 100644
index 00000000..3a3956fa
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListLink.java
@@ -0,0 +1,43 @@
+package nl.rotterdam.design_system.wicket.components.link_list.utrecht;
+
+import org.apache.wicket.Page;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+
+public class UtrechtLinkListLink extends BookmarkablePageLink {
+
+ public boolean placeholder = false;
+
+ public UtrechtLinkListLink(String id, Class pageClass) {
+ super(id, pageClass);
+ this.setAutoEnable(true);
+ }
+
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ add(new UtrechtLinkListLinkBehavior());
+ }
+
+ @Override
+ public void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+
+ if (linksTo(getPage())) {
+ tag.put("role", "link");
+ tag.put("aria-disabled", "true");
+ tag.put("aria-current", "page");
+ }
+ }
+
+ @Override
+ public boolean isEnabled() {
+ // Use the `isEnabled()` from `Link` to add an extra condition to disable
+ // the link: when it is a placeholder.
+ return super.isEnabled() && !this.placeholder;
+ }
+
+ public void setPlaceholder(boolean enabled) {
+ this.placeholder = enabled;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListLinkBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListLinkBehavior.java
new file mode 100644
index 00000000..879f8b8a
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListLinkBehavior.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components.link_list.utrecht;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+
+public class UtrechtLinkListLinkBehavior extends TagNameClassComponentBehavior {
+
+ public UtrechtLinkListLinkBehavior() {
+ super("a", "utrecht-link-list__link");
+ addHeaderItem(UtrechtLinkListBehavior.CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.html
new file mode 100644
index 00000000..e83717b5
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.html
@@ -0,0 +1,10 @@
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.java
new file mode 100644
index 00000000..b818538c
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.java
@@ -0,0 +1,73 @@
+package nl.rotterdam.design_system.wicket.components.link_list.utrecht;
+
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconBehavior;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.request.component.IRequestablePage;
+
+public class UtrechtLinkListPanel extends Panel {
+
+ public List> links;
+
+ public UtrechtLinkListPanel(String id, List> links) {
+ super(id);
+ this.links = links;
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ List> links = this.links;
+
+ add(
+ new WebMarkupContainer("utrechtLinkList") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new UtrechtLinkListBehavior()); // TODO should be singleton
+ add(
+ new ListView>("utrechtLinkListItem", links) {
+ @Override
+ protected void populateItem(
+ ListItem> item
+ ) {
+ item.add(new UtrechtLinkListItemBehavior()); // TODO: should be singleton
+ UtrechtLinkListRecord extends IRequestablePage> record = item.getModelObject();
+ String naam = record.label();
+
+ // TODO: How do I type this?
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ UtrechtLinkListLink> link = new UtrechtLinkListLink(
+ "utrechtLinkListLink",
+ record.target()
+ );
+
+ // Optionally add an icon
+ if (record.icon() != null) {
+ WebMarkupContainer icon = new WebMarkupContainer("utrechtLinkListLinkIcon");
+ icon.add(new RotterdamIconBehavior(record.icon()));
+ link.add(icon);
+ } else {
+ WebMarkupContainer icon = new WebMarkupContainer("utrechtLinkListLinkIcon");
+ icon.add(new RotterdamIconBehavior(RotterdamIconType.CHEVRON_RIGHT));
+ link.add(icon);
+ }
+
+ // Add the link text
+ link.add(new Label("utrechtLinkListLinkLabel", naam));
+
+ item.add(link);
+ }
+ }
+ );
+ }
+ }
+ );
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListRecord.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListRecord.java
new file mode 100644
index 00000000..20f88ef6
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListRecord.java
@@ -0,0 +1,6 @@
+package nl.rotterdam.design_system.wicket.components.link_list.utrecht;
+
+import java.io.Serializable;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
+
+public record UtrechtLinkListRecord(RotterdamIconType icon, String label, Class target) implements Serializable {}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
index b192dd37..b10dbf4d 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.html
@@ -37,6 +37,7 @@ Componenten voor Apache Wicket
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index c8e739fa..4763038a 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -18,6 +18,7 @@
import nl.rotterdam.wicket.docs.icon.IconExamplesPanel;
import nl.rotterdam.wicket.docs.icon.RodsIconExamplesPanel;
import nl.rotterdam.wicket.docs.link.UtrechtLinkExamplesPanel;
+import nl.rotterdam.wicket.docs.link_list.UtrechtLinkListExamplesPanel;
import nl.rotterdam.wicket.docs.logo.UtrechtLogoExamplesPanel;
import nl.rotterdam.wicket.docs.logo_image.RotterdamLogoImageExamplesPanel;
import nl.rotterdam.wicket.docs.number_badge.UtrechtNumberBadgeExamplesPanel;
@@ -94,6 +95,7 @@ protected void onInitialize() {
pageBody.add(new RodsIconExamplesPanel("rodsIconExamplesPanel"));
pageBody.add(new RotterdamLogoImageExamplesPanel("rotterdamLogoImageExamplesPanel"));
pageBody.add(new UtrechtLinkExamplesPanel("linkExamplesPanel"));
+ pageBody.add(new UtrechtLinkListExamplesPanel("linkListExamplesPanel"));
pageBody.add(new UtrechtLogoExamplesPanel("logoExamplesPanel"));
pageBody.add(new UtrechtNumberBadgeExamplesPanel("numberBadgeExamplesPanel"));
pageBody.add(new UtrechtOrderedListExamplesPanel("orderedListExamplesPanel"));
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link_list/UtrechtLinkListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link_list/UtrechtLinkListExamplesPanel.html
new file mode 100644
index 00000000..79472615
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link_list/UtrechtLinkListExamplesPanel.html
@@ -0,0 +1,37 @@
+
+
+
+
+
+ Link List component
+
+
Een lijst met gerelateerde links naar andere pagina’s of websites.
+
+
+
+
+
+ Link List with icons
+
+
+
+
+
+
+
+
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link_list/UtrechtLinkListExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link_list/UtrechtLinkListExamplesPanel.java
new file mode 100644
index 00000000..641061e9
--- /dev/null
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/link_list/UtrechtLinkListExamplesPanel.java
@@ -0,0 +1,59 @@
+package nl.rotterdam.wicket.docs.link_list;
+
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
+import nl.rotterdam.design_system.wicket.components.link_list.utrecht.UtrechtLinkListPanel;
+import nl.rotterdam.design_system.wicket.components.link_list.utrecht.UtrechtLinkListRecord;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import nl.rotterdam.wicket.docs.RotterdamPlaceholderPage;
+import nl.rotterdam.wicket.docs.mijn_loket_page.MijnLoketPage;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.request.component.IRequestablePage;
+
+public class UtrechtLinkListExamplesPanel extends Panel {
+
+ public UtrechtLinkListExamplesPanel(String id) {
+ super(id);
+ }
+
+ @ComponentExample
+ private static Component exampleLinkList() {
+ List> links = List.of(
+ new UtrechtLinkListRecord<>(null, "Overzicht", MijnLoketPage.class),
+ new UtrechtLinkListRecord<>(null, "Mijn berichten", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(null, "Mijn lopende zaken", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(null, "Zelf regelen", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(null, "Belastingen", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(null, "Werk & Inkomen", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(null, "Parkeren", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(null, "Mijn gegevens", RotterdamPlaceholderPage.class)
+ );
+
+ return new UtrechtLinkListPanel("utrechtLinkList", links);
+ }
+
+ @ComponentExample
+ private static Component exampleLinkListIcon() {
+ List> links = List.of(
+ new UtrechtLinkListRecord<>(RotterdamIconType.OVERVIEW, "Overzicht", MijnLoketPage.class),
+ new UtrechtLinkListRecord<>(RotterdamIconType.INBOX, "Mijn berichten", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(RotterdamIconType.BOX, "Mijn lopende zaken", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(RotterdamIconType.SUMMARY, "Zelf regelen", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(RotterdamIconType.COINS, "Belastingen", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(RotterdamIconType.MONEY_2, "Werk & Inkomen", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(RotterdamIconType.PARKING, "Parkeren", RotterdamPlaceholderPage.class),
+ new UtrechtLinkListRecord<>(RotterdamIconType.USER, "Mijn gegevens", RotterdamPlaceholderPage.class)
+ );
+
+ return new UtrechtLinkListPanel("utrechtLinkListIcon", links);
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(exampleLinkList());
+ add(exampleLinkListIcon());
+ }
+}
From e8300b6b71ce140649e78f3042f03875d4169e5a Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Tue, 10 Dec 2024 19:33:18 +0100
Subject: [PATCH 59/75] feat: add Breadcrumb Navigation component
---
pnpm-lock.yaml | 30 +++++++
wicket/components-wicket/package.json | 1 +
wicket/components-wicket/pom.xml | 8 ++
.../utrecht/UtrechtBreadcrumbNavBehavior.java | 19 ++++
.../UtrechtBreadcrumbNavItemBehavior.java | 11 +++
.../utrecht/UtrechtBreadcrumbNavLink.java | 50 +++++++++++
.../UtrechtBreadcrumbNavLinkBehavior.java | 11 +++
.../UtrechtBreadcrumbNavListBehavior.java | 11 +++
.../utrecht/UtrechtBreadcrumbNavPanel.html | 12 +++
.../utrecht/UtrechtBreadcrumbNavPanel.java | 86 +++++++++++++++++++
.../utrecht/UtrechtBreadcrumbNavRecord.java | 7 ++
11 files changed, 246 insertions(+)
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavLink.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavLinkBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.html
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java
create mode 100644 wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavRecord.java
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 51c962fc..5038383a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -590,6 +590,9 @@ importers:
'@gemeente-denhaag/sidenav':
specifier: 0.1.0-alpha.218
version: 0.1.0-alpha.218(react@18.3.1)
+ '@gemeente-rotterdam/web-components-stencil':
+ specifier: workspace:*
+ version: link:../../packages/web-components-stencil
'@nl-design-system-candidate/paragraph-css':
specifier: 2.0.0
version: 2.0.0
@@ -605,6 +608,9 @@ importers:
'@utrecht/body-css':
specifier: 1.1.0
version: 1.1.0
+ '@utrecht/breadcrumb-nav-css':
+ specifier: 1.1.0
+ version: 1.1.0
'@utrecht/button-css':
specifier: 1.1.0
version: 1.1.0
@@ -662,6 +668,9 @@ importers:
'@utrecht/link-css':
specifier: 1.1.0
version: 1.1.0
+ '@utrecht/link-list-css':
+ specifier: 2.3.0
+ version: 2.3.0
'@utrecht/logo-css':
specifier: 1.4.0
version: 1.4.0
@@ -711,6 +720,8 @@ importers:
specifier: 1.4.0
version: 1.4.0
+ wicket/components-wicket/target/classes/nl/rotterdam/design_system/wicket/components/icon/rotterdam/@gemeente-rotterdam/web-components-stencil/loader: {}
+
wicket/design-tokens-wicket:
devDependencies:
'@gemeente-rotterdam/design-tokens':
@@ -1877,6 +1888,11 @@ packages:
peerDependencies:
react: ^18.0.0
+ '@gemeente-denhaag/sidenav@0.1.0-alpha.218':
+ resolution: {integrity: sha512-KK6mZBwbVFwPaSU1XJ3ok0t3zr/d9C1E0SuAVfJwn7DH6GwYK6SRiTrQM/MUdMIFrOZa8RmGI+QfSMrtl6cyKg==}
+ peerDependencies:
+ react: ^18.0.0
+
'@gemeente-denhaag/sidenav@0.1.0-alpha.240':
resolution: {integrity: sha512-IZrD8WeJ8oX8tveBmv6NxTjYM1/MDm3iW5EhA2LSH4I7XpKIumnEL+tfpRLZIOGlp4cQw+oBwjYCF0kJocWcOA==}
peerDependencies:
@@ -2861,6 +2877,9 @@ packages:
'@utrecht/body-css@1.1.0':
resolution: {integrity: sha512-bKIHtnumGwF8biJoYamCNaro4Bko/M90I1ACjV5qYJGRWCBvp14gD0Qxeq8xHqPe+sWFYQmbFRvSrukiqzYy3A==}
+ '@utrecht/breadcrumb-nav-css@1.1.0':
+ resolution: {integrity: sha512-n7D1X/QJSU3pzJ/HvjUqxgZ4XHFPmdVLJ5RYZnlm6ygFcVQMblz35rI4Rz2iK5foddkehAFiNmXzQPDOrUb9VQ==}
+
'@utrecht/breadcrumb-nav-css@1.4.0':
resolution: {integrity: sha512-mBe/Xczr2ekfT9sxl9svOtZJWrW0klbnWBDyhf4it4zOk5BKeeKxUYEjbOQghOQ5jqVRPdnRbIVZoKX0Vrq3sQ==}
@@ -3032,6 +3051,9 @@ packages:
'@utrecht/link-css@1.5.0':
resolution: {integrity: sha512-2GgUbhOGWwu7GEoahQAV4QwHgNCkiUgdde6Ko97sjRhX0INhMIhQl++ROyA3jSefUHJYTkVSSWTNDUVF7vkFAg==}
+ '@utrecht/link-list-css@2.3.0':
+ resolution: {integrity: sha512-rpPJ6MJhnMscO6B5YdufXg9ERteiDsWZ4b3PlLxyWXQkIeKS+/By+b7ER7VJhYSKP+J9TIjuRFxGF3LTNhO8WA==}
+
'@utrecht/link-react@1.0.4':
resolution: {integrity: sha512-0tOmJuQGL2oorw7oZCPZEsdyl2exanOH7X6L3lL4b89I3PHSrzBkLpTlvBXPTbIuZKDCKcdGXzDykmIhK/wlOw==}
peerDependencies:
@@ -9356,6 +9378,10 @@ snapshots:
'@gemeente-denhaag/icons': 1.0.0(react@18.3.1)
react: 18.3.1
+ '@gemeente-denhaag/sidenav@0.1.0-alpha.218(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
'@gemeente-denhaag/sidenav@0.1.0-alpha.240(react@18.3.1)':
dependencies:
react: 18.3.1
@@ -10516,6 +10542,8 @@ snapshots:
'@utrecht/body-css@1.1.0': {}
+ '@utrecht/breadcrumb-nav-css@1.1.0': {}
+
'@utrecht/breadcrumb-nav-css@1.4.0': {}
'@utrecht/button-css@1.1.0': {}
@@ -10677,6 +10705,8 @@ snapshots:
'@utrecht/link-css@1.5.0': {}
+ '@utrecht/link-list-css@2.3.0': {}
+
'@utrecht/link-react@1.0.4(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
diff --git a/wicket/components-wicket/package.json b/wicket/components-wicket/package.json
index 64cc20bd..d8633b39 100644
--- a/wicket/components-wicket/package.json
+++ b/wicket/components-wicket/package.json
@@ -26,6 +26,7 @@
"@utrecht/alert-css": "2.2.0",
"@utrecht/badge-list-css": "2.2.0",
"@utrecht/body-css": "1.1.0",
+ "@utrecht/breadcrumb-nav-css": "1.1.0",
"@utrecht/button-css": "1.1.0",
"@utrecht/button-group-css": "1.4.0",
"@utrecht/code-block-css": "1.4.0",
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index fb9dbda1..b27d85b6 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -130,6 +130,14 @@
nl/rotterdam/design_system/wicket/components/body/utrecht
+
+ false
+ node_modules/
+
+ @utrecht/breadcrumb-nav-css/dist/*.css
+
+ nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht
+
false
node_modules/
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavBehavior.java
new file mode 100644
index 00000000..e8819857
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavBehavior.java
@@ -0,0 +1,19 @@
+package nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht;
+
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+
+public class UtrechtBreadcrumbNavBehavior extends TagNameClassComponentBehavior {
+
+ public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
+ UtrechtBreadcrumbNavBehavior.class,
+ "@utrecht/breadcrumb-nav-css/dist/index.css"
+ );
+
+ public UtrechtBreadcrumbNavBehavior() {
+ super("nav", "utrecht-breadcrumb-nav");
+ addHeaderItem(CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java
new file mode 100644
index 00000000..2f43aae1
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+
+public class UtrechtBreadcrumbNavItemBehavior extends TagNameClassComponentBehavior {
+
+ public UtrechtBreadcrumbNavItemBehavior() {
+ super("li", "utrecht-breadcrumb-nav__item");
+ addHeaderItem(UtrechtBreadcrumbNavBehavior.CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavLink.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavLink.java
new file mode 100644
index 00000000..90de512b
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavLink.java
@@ -0,0 +1,50 @@
+package nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht;
+
+import org.apache.wicket.Page;
+import org.apache.wicket.markup.ComponentTag;
+import org.apache.wicket.markup.html.link.BookmarkablePageLink;
+
+public class UtrechtBreadcrumbNavLink extends BookmarkablePageLink {
+
+ public boolean placeholder = false;
+ private String placeholderClassName = "utrecht-breadcrumb-nav__link--placeholder";
+
+ public UtrechtBreadcrumbNavLink(String id, Class pageClass) {
+ super(id, pageClass);
+ this.setAutoEnable(true);
+ }
+
+ @Override
+ public void onInitialize() {
+ super.onInitialize();
+ add(new UtrechtBreadcrumbNavLinkBehavior());
+ }
+
+ @Override
+ public void onComponentTag(ComponentTag tag) {
+ super.onComponentTag(tag);
+
+ if (this.placeholder) {
+ tag.append("class", this.placeholderClassName, " ");
+ tag.put("role", "link");
+ tag.put("aria-disabled", "true");
+ }
+
+ if (linksTo(getPage())) {
+ tag.put("role", "link");
+ tag.put("aria-disabled", "true");
+ tag.put("aria-current", "page");
+ }
+ }
+
+ @Override
+ public boolean isEnabled() {
+ // Use the `isEnabled()` from `Link` to add an extra condition to disable
+ // the link: when it is a placeholder.
+ return super.isEnabled() && !this.placeholder;
+ }
+
+ public void setPlaceholder(boolean enabled) {
+ this.placeholder = enabled;
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavLinkBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavLinkBehavior.java
new file mode 100644
index 00000000..93fe113b
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavLinkBehavior.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+
+public class UtrechtBreadcrumbNavLinkBehavior extends TagNameClassComponentBehavior {
+
+ public UtrechtBreadcrumbNavLinkBehavior() {
+ super("a", "utrecht-breadcrumb-nav__link");
+ addHeaderItem(UtrechtBreadcrumbNavBehavior.CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java
new file mode 100644
index 00000000..2d2a491d
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java
@@ -0,0 +1,11 @@
+package nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht;
+
+import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
+
+public class UtrechtBreadcrumbNavListBehavior extends TagNameClassComponentBehavior {
+
+ public UtrechtBreadcrumbNavListBehavior() {
+ super("ul", "utrecht-breadcrumb-nav__list");
+ addHeaderItem(UtrechtBreadcrumbNavBehavior.CSS);
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.html b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.html
new file mode 100644
index 00000000..3b8a2ff7
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java
new file mode 100644
index 00000000..2cf7dd47
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java
@@ -0,0 +1,86 @@
+package nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht;
+
+import java.util.List;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconBehavior;
+import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.list.ListItem;
+import org.apache.wicket.markup.html.list.ListView;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.request.component.IRequestablePage;
+
+public class UtrechtBreadcrumbNavPanel extends Panel {
+
+ public List> links;
+
+ public UtrechtBreadcrumbNavPanel(String id, List> links) {
+ super(id);
+ this.links = links;
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ List> links = this.links;
+
+ add(
+ new WebMarkupContainer("utrechtBreadcrumbNav") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ add(new UtrechtBreadcrumbNavBehavior());
+
+ add(
+ new WebMarkupContainer("utrechtBreadcrumbNavList") {
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+
+ add(new UtrechtBreadcrumbNavListBehavior()); // TODO should be singleton
+ add(
+ new ListView>(
+ "utrechtBreadcrumbNavItem",
+ links
+ ) {
+ @Override
+ protected void populateItem(
+ ListItem> item
+ ) {
+ item.add(new UtrechtBreadcrumbNavItemBehavior()); // TODO: should be singleton
+ UtrechtBreadcrumbNavRecord extends IRequestablePage> record =
+ item.getModelObject();
+ String naam = record.label();
+
+ // TODO: How do I type this?
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ UtrechtBreadcrumbNavLink> link = new UtrechtBreadcrumbNavLink(
+ "utrechtBreadcrumbNavLink",
+ record.target()
+ );
+
+ // Optionally add an icon
+ if (record.icon() != null) {
+ WebMarkupContainer icon = new WebMarkupContainer(
+ "utrechtBreadcrumbNavLinkIcon"
+ );
+ icon.add(new RotterdamIconBehavior(record.icon()));
+ link.add(icon);
+ } else {
+ link.add(new Label("utrechtBreadcrumbNavLinkIcon", ""));
+ }
+
+ // Add the link text
+ link.add(new Label("utrechtBreadcrumbNavLinkLabel", naam));
+
+ item.add(link);
+ }
+ }
+ );
+ }
+ }
+ );
+ }
+ }
+ );
+ }
+}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavRecord.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavRecord.java
new file mode 100644
index 00000000..fc0e6e03
--- /dev/null
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavRecord.java
@@ -0,0 +1,7 @@
+package nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht;
+
+import java.io.Serializable;
+import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
+
+public record UtrechtBreadcrumbNavRecord(RotterdamIconType icon, String label, Class target)
+ implements Serializable {}
From 3fc4ae75b6344c5d13c72f0e79c6a0c9d44f6ca1 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 15:23:41 +0100
Subject: [PATCH 60/75] make protected
---
.../rotterdam/wicket/docs/RotterdamBasePage.java | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
index ebbda37c..617776ff 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
@@ -1,7 +1,5 @@
package nl.rotterdam.wicket.docs;
-import java.util.Arrays;
-import java.util.stream.Collectors;
import nl.rotterdam.design_system.wicket.components.body.utrecht.UtrechtBodyBehavior;
import nl.rotterdam.design_system.wicket.components.link.utrecht.UtrechtBookmarkableLink;
import nl.rotterdam.design_system.wicket.components.logo.utrecht.UtrechtLogoBorder;
@@ -15,14 +13,17 @@
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.Link;
+import java.util.Arrays;
+import java.util.stream.Collectors;
+
public class RotterdamBasePage extends BasePage {
- public UtrechtPageLayoutBorder pageLayout;
- public UtrechtPageHeaderBorder pageHeader;
- public UtrechtPageBodyBorder pageBody;
- public UtrechtPageFooterBorder pageFooter;
+ protected UtrechtPageLayoutBorder pageLayout;
+ protected UtrechtPageHeaderBorder pageHeader;
+ protected UtrechtPageBodyBorder pageBody;
+ protected UtrechtPageFooterBorder pageFooter;
private UtrechtLogoBorder logo;
- private String siteTitle = "rotterdam.nl";
+ private final String siteTitle = "rotterdam.nl";
public String pageTitle;
public String stepTitle;
public String errorTitle;
From 09964303fa7f987e9c24c4445cb6a04fded00b82 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 15:25:04 +0100
Subject: [PATCH 61/75] Fix test
---
.../docs/ordered_list/UtrechtOrderedListExamplesPanel.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
index 7be3762f..fe39b5db 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ordered_list/UtrechtOrderedListExamplesPanel.html
@@ -8,7 +8,7 @@ Ordered List component
Lijst waarvan de volgorde van items betekenis heeft.
-
+
Ordered List
Voorbeeld.
From 0d731812bd129484aed38d5ca68ea7926f51d83c Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 15:27:07 +0100
Subject: [PATCH 62/75] Run correct examples panel
---
.../GenerateMarkdownAndStorybookExamples.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index ead3f452..8deb7e78 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -21,6 +21,7 @@
import nl.rotterdam.design_system.wicket.components.preserve_data.utrecht.UtrechtPreserveDataLabel;
import nl.rotterdam.design_system.wicket.components.root.utrecht.UtrechtRootBorder;
import nl.rotterdam.design_system.wicket.components.separator.utrecht.UtrechtSeparator;
+import nl.rotterdam.design_system.wicket.components.unordered_list.utrecht.UtrechtUnorderedList;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.DocsApplication;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
@@ -45,6 +46,7 @@
import nl.rotterdam.wicket.docs.preserve_data.UtrechtPreserveDataExamplesPanel;
import nl.rotterdam.wicket.docs.root.UtrechtRootExamplesPanel;
import nl.rotterdam.wicket.docs.separator.UtrechtSeparatorExamplesPanel;
+import nl.rotterdam.wicket.docs.unordered_list.UtrechtUnorderedListExamplesPanel;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
@@ -257,8 +259,8 @@ void generateUtrechtOrderedList() {
@Test
void generateUtrechtUnorderedList() {
new MarkdownDocumentationExamplesGenerator(
- UtrechtOrderedListExamplesPanel.class,
- UtrechtOrderedList.class,
+ UtrechtUnorderedListExamplesPanel.class,
+ UtrechtUnorderedList.class,
"utrecht-unordered-list").generate();
}
From 542411578fa55d7487c1066be2541312fee9ae20 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 15:28:10 +0100
Subject: [PATCH 63/75] Make sure directory exists but is ingored
---
wicket/docs-wicket/stories/.gitignore | 1 +
1 file changed, 1 insertion(+)
create mode 100644 wicket/docs-wicket/stories/.gitignore
diff --git a/wicket/docs-wicket/stories/.gitignore b/wicket/docs-wicket/stories/.gitignore
new file mode 100644
index 00000000..72e8ffc0
--- /dev/null
+++ b/wicket/docs-wicket/stories/.gitignore
@@ -0,0 +1 @@
+*
From 01ef17dd9050faff10c6f194fac5eedba02c40cf Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 15:30:34 +0100
Subject: [PATCH 64/75] Do not make fields in base-class public
public is intended for usage on other classes, while here we only want subclasses to be able to change things
---
.../java/nl/rotterdam/wicket/docs/RotterdamBasePage.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
index 617776ff..2f7d8105 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
@@ -24,10 +24,10 @@ public class RotterdamBasePage extends BasePage {
protected UtrechtPageFooterBorder pageFooter;
private UtrechtLogoBorder logo;
private final String siteTitle = "rotterdam.nl";
- public String pageTitle;
- public String stepTitle;
- public String errorTitle;
- public String titlePartSeparator = " · ";
+ protected String pageTitle;
+ protected String stepTitle;
+ protected String errorTitle;
+ protected String titlePartSeparator = " · ";
@Override
protected void onInitialize() {
From 4d243dfaeb90b68d0036124a4147e7b7f17735b6 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 15:33:41 +0100
Subject: [PATCH 65/75] Match the page name the intent
Other project in Rotterdam also has 'BasePage' class, making it a bit confusing
---
.../docs/{BasePage.html => DocsBasePage.html} | 0
.../docs/{BasePage.java => DocsBasePage.java} | 13 ++++++-------
.../nl/rotterdam/wicket/docs/RotterdamBasePage.java | 2 +-
3 files changed, 7 insertions(+), 8 deletions(-)
rename wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/{BasePage.html => DocsBasePage.html} (100%)
rename wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/{BasePage.java => DocsBasePage.java} (83%)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsBasePage.html
similarity index 100%
rename from wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.html
rename to wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsBasePage.html
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsBasePage.java
similarity index 83%
rename from wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
rename to wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsBasePage.java
index 79a9a7d9..bc8a7749 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/BasePage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/DocsBasePage.java
@@ -1,22 +1,21 @@
package nl.rotterdam.wicket.docs;
-import static css.DesignTokensWicketCssReference.THEME_ROTTERDAM_RODS_CSS_HEADER_ITEM;
-import static css.WicketComponentsCssReferences.THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM;
-
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.request.resource.CssResourceReference;
-public abstract class BasePage extends WebPage {
+import static css.DesignTokensWicketCssReference.THEME_ROTTERDAM_RODS_CSS_HEADER_ITEM;
+import static css.WicketComponentsCssReferences.THEME_VOORBEELD_GEMEENTE_CSS_HEADER_ITEM;
+
+public abstract class DocsBasePage extends WebPage {
- public static final String TITLE_ID = "title";
public static final CssReferenceHeaderItem DOCS_CSS_HEADER_ITEM = CssHeaderItem.forReference(
- new CssResourceReference(BasePage.class, "docs.css")
+ new CssResourceReference(DocsBasePage.class, "docs.css")
);
- public BasePage() {
+ public DocsBasePage() {
super();
}
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
index 2f7d8105..cd67285f 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/RotterdamBasePage.java
@@ -16,7 +16,7 @@
import java.util.Arrays;
import java.util.stream.Collectors;
-public class RotterdamBasePage extends BasePage {
+public class RotterdamBasePage extends DocsBasePage {
protected UtrechtPageLayoutBorder pageLayout;
protected UtrechtPageHeaderBorder pageHeader;
From a660696c5e022b77b7b7a983c876d6e475fe4228 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 15:41:27 +0100
Subject: [PATCH 66/75] Fixed some singletons
---
.../UtrechtBreadcrumbNavItemBehavior.java | 4 +-
.../UtrechtBreadcrumbNavListBehavior.java | 4 +-
.../utrecht/UtrechtBreadcrumbNavPanel.java | 82 ++++++++++---------
3 files changed, 48 insertions(+), 42 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java
index 2f43aae1..c8cd4086 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java
@@ -4,7 +4,9 @@
public class UtrechtBreadcrumbNavItemBehavior extends TagNameClassComponentBehavior {
- public UtrechtBreadcrumbNavItemBehavior() {
+ public static final UtrechtBreadcrumbNavItemBehavior INSTANCE = new UtrechtBreadcrumbNavItemBehavior();
+
+ private UtrechtBreadcrumbNavItemBehavior() {
super("li", "utrecht-breadcrumb-nav__item");
addHeaderItem(UtrechtBreadcrumbNavBehavior.CSS);
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java
index 2d2a491d..58c109bb 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java
@@ -4,7 +4,9 @@
public class UtrechtBreadcrumbNavListBehavior extends TagNameClassComponentBehavior {
- public UtrechtBreadcrumbNavListBehavior() {
+ public static final UtrechtBreadcrumbNavListBehavior INSTANCE = new UtrechtBreadcrumbNavListBehavior();
+
+ private UtrechtBreadcrumbNavListBehavior() {
super("ul", "utrecht-breadcrumb-nav__list");
addHeaderItem(UtrechtBreadcrumbNavBehavior.CSS);
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java
index 2cf7dd47..d393ab7f 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java
@@ -1,7 +1,7 @@
package nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht;
-import java.util.List;
import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconBehavior;
+import org.apache.wicket.Component;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.list.ListItem;
@@ -9,6 +9,8 @@
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.request.component.IRequestablePage;
+import java.util.List;
+
public class UtrechtBreadcrumbNavPanel extends Panel {
public List> links;
@@ -18,6 +20,43 @@ public UtrechtBreadcrumbNavPanel(String id, List> links) {
+ return new ListView<>("utrechtBreadcrumbNavItem", links) {
+ @Override
+ protected void populateItem(
+ ListItem> item
+ ) {
+ item.add(UtrechtBreadcrumbNavItemBehavior.INSTANCE);
+ UtrechtBreadcrumbNavRecord extends IRequestablePage> record =
+ item.getModelObject();
+ String naam = record.label();
+
+ // TODO: How do I type this?
+ @SuppressWarnings({"rawtypes", "unchecked"})
+ UtrechtBreadcrumbNavLink> link = new UtrechtBreadcrumbNavLink(
+ "utrechtBreadcrumbNavLink",
+ record.target()
+ );
+
+ // Optionally add an icon
+ if (record.icon() != null) {
+ WebMarkupContainer icon = new WebMarkupContainer(
+ "utrechtBreadcrumbNavLinkIcon"
+ );
+ icon.add(new RotterdamIconBehavior(record.icon()));
+ link.add(icon);
+ } else {
+ link.add(new Label("utrechtBreadcrumbNavLinkIcon", ""));
+ }
+
+ // Add the link text
+ link.add(new Label("utrechtBreadcrumbNavLinkLabel", naam));
+
+ item.add(link);
+ }
+ };
+ }
+
@Override
protected void onInitialize() {
super.onInitialize();
@@ -36,45 +75,8 @@ protected void onInitialize() {
protected void onInitialize() {
super.onInitialize();
- add(new UtrechtBreadcrumbNavListBehavior()); // TODO should be singleton
- add(
- new ListView>(
- "utrechtBreadcrumbNavItem",
- links
- ) {
- @Override
- protected void populateItem(
- ListItem> item
- ) {
- item.add(new UtrechtBreadcrumbNavItemBehavior()); // TODO: should be singleton
- UtrechtBreadcrumbNavRecord extends IRequestablePage> record =
- item.getModelObject();
- String naam = record.label();
-
- // TODO: How do I type this?
- @SuppressWarnings({ "rawtypes", "unchecked" })
- UtrechtBreadcrumbNavLink> link = new UtrechtBreadcrumbNavLink(
- "utrechtBreadcrumbNavLink",
- record.target()
- );
-
- // Optionally add an icon
- if (record.icon() != null) {
- WebMarkupContainer icon = new WebMarkupContainer(
- "utrechtBreadcrumbNavLinkIcon"
- );
- icon.add(new RotterdamIconBehavior(record.icon()));
- link.add(icon);
- } else {
- link.add(new Label("utrechtBreadcrumbNavLinkIcon", ""));
- }
-
- // Add the link text
- link.add(new Label("utrechtBreadcrumbNavLinkLabel", naam));
-
- item.add(link);
- }
- }
+ add(UtrechtBreadcrumbNavListBehavior.INSTANCE);
+ add(createNavListview(links)
);
}
}
From 1266da9923181b54675b26e880f46ded66e5d2e2 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 15:46:59 +0100
Subject: [PATCH 67/75] named singletons
---
.../utrecht/UtrechtBreadcrumbNavItemBehavior.java | 2 +-
.../utrecht/UtrechtBreadcrumbNavListBehavior.java | 2 +-
.../breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java | 7 +++++--
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java
index c8cd4086..607b0144 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavItemBehavior.java
@@ -4,7 +4,7 @@
public class UtrechtBreadcrumbNavItemBehavior extends TagNameClassComponentBehavior {
- public static final UtrechtBreadcrumbNavItemBehavior INSTANCE = new UtrechtBreadcrumbNavItemBehavior();
+ public static final UtrechtBreadcrumbNavItemBehavior UTRECHT_BREADCRUMB_NAV_ITEM_BEHAVIOR = new UtrechtBreadcrumbNavItemBehavior();
private UtrechtBreadcrumbNavItemBehavior() {
super("li", "utrecht-breadcrumb-nav__item");
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java
index 58c109bb..39aaddad 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavListBehavior.java
@@ -4,7 +4,7 @@
public class UtrechtBreadcrumbNavListBehavior extends TagNameClassComponentBehavior {
- public static final UtrechtBreadcrumbNavListBehavior INSTANCE = new UtrechtBreadcrumbNavListBehavior();
+ public static final UtrechtBreadcrumbNavListBehavior UTRECHT_BREADCRUMB_NAV_LIST_BEHAVIOR = new UtrechtBreadcrumbNavListBehavior();
private UtrechtBreadcrumbNavListBehavior() {
super("ul", "utrecht-breadcrumb-nav__list");
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java
index d393ab7f..f1715528 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/breadcrumb_nav/utrecht/UtrechtBreadcrumbNavPanel.java
@@ -11,6 +11,9 @@
import java.util.List;
+import static nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht.UtrechtBreadcrumbNavItemBehavior.UTRECHT_BREADCRUMB_NAV_ITEM_BEHAVIOR;
+import static nl.rotterdam.design_system.wicket.components.breadcrumb_nav.utrecht.UtrechtBreadcrumbNavListBehavior.UTRECHT_BREADCRUMB_NAV_LIST_BEHAVIOR;
+
public class UtrechtBreadcrumbNavPanel extends Panel {
public List> links;
@@ -26,7 +29,7 @@ private static Component createNavListview(List> item
) {
- item.add(UtrechtBreadcrumbNavItemBehavior.INSTANCE);
+ item.add(UTRECHT_BREADCRUMB_NAV_ITEM_BEHAVIOR);
UtrechtBreadcrumbNavRecord extends IRequestablePage> record =
item.getModelObject();
String naam = record.label();
@@ -75,7 +78,7 @@ protected void onInitialize() {
protected void onInitialize() {
super.onInitialize();
- add(UtrechtBreadcrumbNavListBehavior.INSTANCE);
+ add(UTRECHT_BREADCRUMB_NAV_LIST_BEHAVIOR);
add(createNavListview(links)
);
}
From d2024d7d965674c4313f5f77fb82e65f94641dff Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 15:53:41 +0100
Subject: [PATCH 68/75] Singletons for behaviors
---
.../link_list/utrecht/UtrechtLinkListBehavior.java | 8 +++++---
.../link_list/utrecht/UtrechtLinkListPanel.java | 11 +++++++----
.../side_nav/denhaag/DenhaagSideNavListBehavior.java | 4 +++-
.../side_nav/denhaag/DenhaagSideNavPanel.java | 7 +++++--
.../docs/side_nav/DenhaagSideNavExamplesPanel.java | 8 +++++---
5 files changed, 25 insertions(+), 13 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java
index 7a318c7b..6446bc73 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java
@@ -1,18 +1,20 @@
package nl.rotterdam.design_system.wicket.components.link_list.utrecht;
-import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
-
import nl.rotterdam.design_system.wicket.components.base.TagNameClassComponentBehavior;
import org.apache.wicket.markup.head.CssReferenceHeaderItem;
+import static nl.rotterdam.design_system.wicket.components.CssReferenceHeaderItems.cssReferenceHeaderItem;
+
public class UtrechtLinkListBehavior extends TagNameClassComponentBehavior {
+ public static final UtrechtLinkListBehavior UTRECHT_LINK_LIST_BEHAVIOR = new UtrechtLinkListBehavior();
+
public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
UtrechtLinkListBehavior.class,
"@utrecht/link-list-css/dist/index.css"
);
- public UtrechtLinkListBehavior() {
+ private UtrechtLinkListBehavior() {
super("ul", "utrecht-link-list");
addHeaderItem(CSS);
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.java
index b818538c..40ddfa21 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListPanel.java
@@ -1,6 +1,5 @@
package nl.rotterdam.design_system.wicket.components.link_list.utrecht;
-import java.util.List;
import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconBehavior;
import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -10,6 +9,10 @@
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.request.component.IRequestablePage;
+import java.util.List;
+
+import static nl.rotterdam.design_system.wicket.components.link_list.utrecht.UtrechtLinkListBehavior.UTRECHT_LINK_LIST_BEHAVIOR;
+
public class UtrechtLinkListPanel extends Panel {
public List> links;
@@ -30,9 +33,9 @@ protected void onInitialize() {
protected void onInitialize() {
super.onInitialize();
- add(new UtrechtLinkListBehavior()); // TODO should be singleton
+ add(UTRECHT_LINK_LIST_BEHAVIOR);
add(
- new ListView>("utrechtLinkListItem", links) {
+ new ListView<>("utrechtLinkListItem", links) {
@Override
protected void populateItem(
ListItem> item
@@ -42,7 +45,7 @@ protected void populateItem(
String naam = record.label();
// TODO: How do I type this?
- @SuppressWarnings({ "rawtypes", "unchecked" })
+ @SuppressWarnings({"rawtypes", "unchecked"})
UtrechtLinkListLink> link = new UtrechtLinkListLink(
"utrechtLinkListLink",
record.target()
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavListBehavior.java
index f274e0a3..4fd71660 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavListBehavior.java
@@ -4,7 +4,9 @@
public class DenhaagSideNavListBehavior extends TagNameClassComponentBehavior {
- public DenhaagSideNavListBehavior() {
+ public static final DenhaagSideNavListBehavior DENHAAG_SIDE_NAV_LIST_BEHAVIOR = new DenhaagSideNavListBehavior();
+
+ private DenhaagSideNavListBehavior() {
super("ul", "denhaag-sidenav__list");
addHeaderItem(DenhaagSideNavBehavior.CSS);
}
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.java
index d4ca453f..ba1f4b8c 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/side_nav/denhaag/DenhaagSideNavPanel.java
@@ -1,6 +1,5 @@
package nl.rotterdam.design_system.wicket.components.side_nav.denhaag;
-import java.util.List;
import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconBehavior;
import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -10,6 +9,10 @@
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.request.component.IRequestablePage;
+import java.util.List;
+
+import static nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavListBehavior.DENHAAG_SIDE_NAV_LIST_BEHAVIOR;
+
public class DenhaagSideNavPanel extends Panel {
public List> sideNavRecords;
@@ -37,7 +40,7 @@ protected void onInitialize() {
protected void onInitialize() {
super.onInitialize();
- add(new DenhaagSideNavListBehavior()); // TODO should be singleton
+ add(DENHAAG_SIDE_NAV_LIST_BEHAVIOR); // TODO should be singleton
add(
new ListView>(
"denhaagSideNavItem",
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.java
index c0519827..00516e49 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/side_nav/DenhaagSideNavExamplesPanel.java
@@ -1,13 +1,11 @@
package nl.rotterdam.wicket.docs.side_nav;
-import java.util.List;
import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconBehavior;
import nl.rotterdam.design_system.wicket.components.icon.rotterdam.RotterdamIconType;
import nl.rotterdam.design_system.wicket.components.number_badge.utrecht.UtrechtNumberBadge;
import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavBehavior;
import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavItemBehavior;
import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavLink;
-import nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavListBehavior;
import nl.rotterdam.wicket.docs.ComponentExample;
import nl.rotterdam.wicket.docs.RotterdamPlaceholderPage;
import nl.rotterdam.wicket.docs.mijn_loket_page.MijnLoketPage;
@@ -18,6 +16,10 @@
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.Panel;
+import java.util.List;
+
+import static nl.rotterdam.design_system.wicket.components.side_nav.denhaag.DenhaagSideNavListBehavior.DENHAAG_SIDE_NAV_LIST_BEHAVIOR;
+
public class DenhaagSideNavExamplesPanel extends Panel {
public DenhaagSideNavExamplesPanel(String id) {
@@ -55,7 +57,7 @@ protected void onInitialize() {
protected void onInitialize() {
super.onInitialize();
- add(new DenhaagSideNavListBehavior()); // TODO should be singleton
+ add(DENHAAG_SIDE_NAV_LIST_BEHAVIOR);
add(
new ListView>("denhaagSideNavItem", links) {
@Override
From 37a0c5e017bbf5a77c8583e59258362bcae0fb94 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 16:03:34 +0100
Subject: [PATCH 69/75] Make code easier to read
---
.../rotterdam/wicket/docs/ComponentsPage.java | 34 +++++++++++--------
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
index 4763038a..1e928957 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/ComponentsPage.java
@@ -1,7 +1,6 @@
package nl.rotterdam.wicket.docs;
import css.DesignSystemTheme;
-import java.util.Arrays;
import nl.rotterdam.wicket.docs.alert.AlertExamplesPanel;
import nl.rotterdam.wicket.docs.badge_list.BadgeListExamplesPanel;
import nl.rotterdam.wicket.docs.body.BodyExamplesPanel;
@@ -45,6 +44,8 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Arrays;
+
public class ComponentsPage extends RotterdamBasePage {
private static final Logger LOGGER = LoggerFactory.getLogger(ComponentsPage.class);
@@ -76,20 +77,23 @@ private static Component createActiveThemeChoice() {
protected void onInitialize() {
super.onInitialize();
- // Add the component stories
- pageBody.add(new DenhaagSideNavExamplesPanel("denhaagSideNavExamplesPanel"));
- pageBody.add(new AlertExamplesPanel("alertExamplesPanel"));
- pageBody.add(new BadgeListExamplesPanel("badgeListExamplesPanel"));
- pageBody.add(new BodyExamplesPanel("bodyExamplesPanel"));
- pageBody.add(new UtrechtButtonExamplesPanel("buttonExamplesPanel"));
- pageBody.add(new ButtonGroupExamplesPanel("buttonGroupExamplesPanel"));
- pageBody.add(new CodeBlockExamplesPanel("codeBlockExamplesPanel"));
- pageBody.add(new ColumnLayoutExamplesPanel("columnLayoutExamplesPanel"));
- pageBody.add(new FormFieldCheckboxExamplesPanel("formFieldCheckboxExamplesPanel"));
- pageBody.add(new FormFieldLabelExamplesPanel("formFieldLabelExamplesPanel"));
- pageBody.add(new UtrechtFormFieldTextboxExamplesPanel("formFieldTextboxExamplesPanel"));
- pageBody.add(new HeadingExamplesPanel("headingExamplesPanel"));
- pageBody.add(new HeadingGroupExamplesPanel("headingGroupExamplesPanel"));
+ // Add the component stories. You can add multiple components with just one add, making it easier to read.
+ pageBody.add(
+ new DenhaagSideNavExamplesPanel("denhaagSideNavExamplesPanel"),
+ new AlertExamplesPanel("alertExamplesPanel"),
+ new BadgeListExamplesPanel("badgeListExamplesPanel"),
+ new BodyExamplesPanel("bodyExamplesPanel"),
+ new UtrechtButtonExamplesPanel("buttonExamplesPanel"),
+ new ButtonGroupExamplesPanel("buttonGroupExamplesPanel"),
+ new CodeBlockExamplesPanel("codeBlockExamplesPanel"),
+ new ColumnLayoutExamplesPanel("columnLayoutExamplesPanel"),
+ new FormFieldCheckboxExamplesPanel("formFieldCheckboxExamplesPanel"),
+ new FormFieldLabelExamplesPanel("formFieldLabelExamplesPanel"),
+ new UtrechtFormFieldTextboxExamplesPanel("formFieldTextboxExamplesPanel"),
+ new HeadingExamplesPanel("headingExamplesPanel"),
+ new HeadingGroupExamplesPanel("headingGroupExamplesPanel")
+ );
+
pageBody.add(new HtmlContentExamplesPanel("htmlContentExamplesPanel"));
pageBody.add(new IconExamplesPanel("iconExamplesPanel"));
pageBody.add(new RodsIconExamplesPanel("rodsIconExamplesPanel"));
From da9ef2cee77a81b7c6dbdd952f0f906065f0937a Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 16:04:45 +0100
Subject: [PATCH 70/75] singleton must be the last static-final in a .java file
---
.../components/link_list/utrecht/UtrechtLinkListBehavior.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java
index 6446bc73..bbb6761f 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/link_list/utrecht/UtrechtLinkListBehavior.java
@@ -7,13 +7,14 @@
public class UtrechtLinkListBehavior extends TagNameClassComponentBehavior {
- public static final UtrechtLinkListBehavior UTRECHT_LINK_LIST_BEHAVIOR = new UtrechtLinkListBehavior();
public static final CssReferenceHeaderItem CSS = cssReferenceHeaderItem(
UtrechtLinkListBehavior.class,
"@utrecht/link-list-css/dist/index.css"
);
+ public static final UtrechtLinkListBehavior UTRECHT_LINK_LIST_BEHAVIOR = new UtrechtLinkListBehavior();
+
private UtrechtLinkListBehavior() {
super("ul", "utrecht-link-list");
addHeaderItem(CSS);
From cb7bfbd0cae008a580999bba0f96b8812ffc4482 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 16:12:53 +0100
Subject: [PATCH 71/75] Set the markupId using wicket api
Otherwise wicket won't function in a correct way in some cases and a warning is logged.
---
.../utrecht/UtrechtFormFieldCheckbox.java | 24 +++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
index fe87be3f..01f481a3 100644
--- a/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
+++ b/wicket/components-wicket/src/main/java/nl/rotterdam/design_system/wicket/components/form_field_checkbox/utrecht/UtrechtFormFieldCheckbox.java
@@ -1,7 +1,6 @@
package nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht;
import css.HTMLUtil;
-import java.util.UUID;
import nl.rotterdam.design_system.wicket.components.checkbox.utrecht.UtrechtCheckboxBehavior;
import nl.rotterdam.design_system.wicket.components.form_field.utrecht.UtrechtFormFieldBehavior;
import nl.rotterdam.design_system.wicket.components.form_field_description.utrecht.UtrechtFormFieldDescriptionBehavior;
@@ -14,6 +13,8 @@
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
+import java.util.UUID;
+
public class UtrechtFormFieldCheckbox extends Panel {
private static final long serialVersionUID = 1L;
@@ -138,7 +139,12 @@ protected void onComponentTag(ComponentTag tag) {
@Override
protected void onComponentTag(ComponentTag tag) {
super.onComponentTag(tag);
- tag.put("id", descriptionId);
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ setMarkupId(descriptionId);
}
@Override
@@ -151,7 +157,12 @@ public boolean isVisible() {
@Override
protected void onComponentTag(ComponentTag tag) {
super.onComponentTag(tag);
- tag.put("id", errorMessageId);
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ UtrechtFormFieldCheckbox.this.setMarkupId(errorMessageId);
}
@Override
@@ -179,7 +190,6 @@ protected boolean isRequired() {
@Override
protected void onComponentTag(ComponentTag tag) {
super.onComponentTag(tag);
- tag.put("id", fieldId);
tag.put(
"class",
HTMLUtil.className(
@@ -190,6 +200,12 @@ protected void onComponentTag(ComponentTag tag) {
);
}
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ setMarkupId(fieldId);
+ }
+
public UtrechtFormFieldCheckbox setRequired(boolean required) {
checkbox.setRequired(required);
return this;
From c8813997b6256d1dadebd9e54b550e8cac5595a0 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 16:19:45 +0100
Subject: [PATCH 72/75] Add checkbox css to java world
---
pnpm-lock.yaml | 256 ++------------------------
wicket/components-wicket/package.json | 1 +
2 files changed, 14 insertions(+), 243 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5038383a..d9290a0c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -617,6 +617,9 @@ importers:
'@utrecht/button-group-css':
specifier: 1.4.0
version: 1.4.0
+ '@utrecht/checkbox-css':
+ specifier: 1.5.0
+ version: 1.5.0
'@utrecht/code-block-css':
specifier: 1.4.0
version: 1.4.0
@@ -1528,204 +1531,102 @@ packages:
'@dual-bundle/import-meta-resolve@4.1.0':
resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==}
- '@esbuild/aix-ppc64@0.21.5':
- resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/aix-ppc64@0.24.2':
resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.21.5':
- resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.24.2':
resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.21.5':
- resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.24.2':
resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
engines: {node: '>=18'}
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.21.5':
- resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.24.2':
resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
engines: {node: '>=18'}
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.21.5':
- resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.24.2':
resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
engines: {node: '>=18'}
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.21.5':
- resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.24.2':
resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
engines: {node: '>=18'}
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.21.5':
- resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.24.2':
resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.21.5':
- resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.24.2':
resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
engines: {node: '>=18'}
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.21.5':
- resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.24.2':
resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
engines: {node: '>=18'}
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.21.5':
- resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.24.2':
resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
engines: {node: '>=18'}
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.21.5':
- resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.24.2':
resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
engines: {node: '>=18'}
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.21.5':
- resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.24.2':
resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
engines: {node: '>=18'}
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.21.5':
- resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.24.2':
resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
engines: {node: '>=18'}
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.21.5':
- resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.24.2':
resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
engines: {node: '>=18'}
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.21.5':
- resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.24.2':
resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
engines: {node: '>=18'}
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.21.5':
- resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.24.2':
resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
engines: {node: '>=18'}
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.21.5':
- resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.24.2':
resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
engines: {node: '>=18'}
@@ -1738,12 +1639,6 @@ packages:
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.21.5':
- resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.24.2':
resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
engines: {node: '>=18'}
@@ -1756,60 +1651,30 @@ packages:
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.21.5':
- resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.24.2':
resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
engines: {node: '>=18'}
cpu: [x64]
os: [openbsd]
- '@esbuild/sunos-x64@0.21.5':
- resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.24.2':
resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
engines: {node: '>=18'}
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.21.5':
- resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.24.2':
resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
engines: {node: '>=18'}
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.21.5':
- resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.24.2':
resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
engines: {node: '>=18'}
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.21.5':
- resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.24.2':
resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
engines: {node: '>=18'}
@@ -2909,6 +2774,9 @@ packages:
react: '18'
react-dom: '18'
+ '@utrecht/checkbox-css@1.5.0':
+ resolution: {integrity: sha512-b+2BFQ/H2scrk5XyKcz13ZsTWDjdmWi00jydagfJ6aH4p6pMZLa7IU3msXkmL4tkZheGUzIDu0w9u4DDl0g1VA==}
+
'@utrecht/checkbox-react@1.0.5':
resolution: {integrity: sha512-LfQw2mGUvS7qH1aohHYKsndcwiH9JyxygvS9A1iA+I9VIDZQRO6G1gC9yOd9j8wdl6A5/I+XfJGx3usN5EnDOQ==}
peerDependencies:
@@ -4266,11 +4134,6 @@ packages:
peerDependencies:
esbuild: '>=0.12 <1'
- esbuild@0.21.5:
- resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
- engines: {node: '>=12'}
- hasBin: true
-
esbuild@0.24.2:
resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
engines: {node: '>=18'}
@@ -9147,147 +9010,78 @@ snapshots:
'@dual-bundle/import-meta-resolve@4.1.0': {}
- '@esbuild/aix-ppc64@0.21.5':
- optional: true
-
'@esbuild/aix-ppc64@0.24.2':
optional: true
- '@esbuild/android-arm64@0.21.5':
- optional: true
-
'@esbuild/android-arm64@0.24.2':
optional: true
- '@esbuild/android-arm@0.21.5':
- optional: true
-
'@esbuild/android-arm@0.24.2':
optional: true
- '@esbuild/android-x64@0.21.5':
- optional: true
-
'@esbuild/android-x64@0.24.2':
optional: true
- '@esbuild/darwin-arm64@0.21.5':
- optional: true
-
'@esbuild/darwin-arm64@0.24.2':
optional: true
- '@esbuild/darwin-x64@0.21.5':
- optional: true
-
'@esbuild/darwin-x64@0.24.2':
optional: true
- '@esbuild/freebsd-arm64@0.21.5':
- optional: true
-
'@esbuild/freebsd-arm64@0.24.2':
optional: true
- '@esbuild/freebsd-x64@0.21.5':
- optional: true
-
'@esbuild/freebsd-x64@0.24.2':
optional: true
- '@esbuild/linux-arm64@0.21.5':
- optional: true
-
'@esbuild/linux-arm64@0.24.2':
optional: true
- '@esbuild/linux-arm@0.21.5':
- optional: true
-
'@esbuild/linux-arm@0.24.2':
optional: true
- '@esbuild/linux-ia32@0.21.5':
- optional: true
-
'@esbuild/linux-ia32@0.24.2':
optional: true
- '@esbuild/linux-loong64@0.21.5':
- optional: true
-
'@esbuild/linux-loong64@0.24.2':
optional: true
- '@esbuild/linux-mips64el@0.21.5':
- optional: true
-
'@esbuild/linux-mips64el@0.24.2':
optional: true
- '@esbuild/linux-ppc64@0.21.5':
- optional: true
-
'@esbuild/linux-ppc64@0.24.2':
optional: true
- '@esbuild/linux-riscv64@0.21.5':
- optional: true
-
'@esbuild/linux-riscv64@0.24.2':
optional: true
- '@esbuild/linux-s390x@0.21.5':
- optional: true
-
'@esbuild/linux-s390x@0.24.2':
optional: true
- '@esbuild/linux-x64@0.21.5':
- optional: true
-
'@esbuild/linux-x64@0.24.2':
optional: true
'@esbuild/netbsd-arm64@0.24.2':
optional: true
- '@esbuild/netbsd-x64@0.21.5':
- optional: true
-
'@esbuild/netbsd-x64@0.24.2':
optional: true
'@esbuild/openbsd-arm64@0.24.2':
optional: true
- '@esbuild/openbsd-x64@0.21.5':
- optional: true
-
'@esbuild/openbsd-x64@0.24.2':
optional: true
- '@esbuild/sunos-x64@0.21.5':
- optional: true
-
'@esbuild/sunos-x64@0.24.2':
optional: true
- '@esbuild/win32-arm64@0.21.5':
- optional: true
-
'@esbuild/win32-arm64@0.24.2':
optional: true
- '@esbuild/win32-ia32@0.21.5':
- optional: true
-
'@esbuild/win32-ia32@0.24.2':
optional: true
- '@esbuild/win32-x64@0.21.5':
- optional: true
-
'@esbuild/win32-x64@0.24.2':
optional: true
@@ -10056,12 +9850,12 @@ snapshots:
'@storybook/csf': 0.1.11
better-opn: 3.0.2
browser-assert: 1.2.1
- esbuild: 0.21.5
- esbuild-register: 3.5.0(esbuild@0.21.5)
+ esbuild: 0.24.2
+ esbuild-register: 3.5.0(esbuild@0.24.2)
jsdoc-type-pratt-parser: 4.1.0
process: 0.11.10
recast: 0.23.6
- semver: 7.6.2
+ semver: 7.6.3
util: 0.12.5
ws: 8.13.0
optionalDependencies:
@@ -10572,6 +10366,8 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ '@utrecht/checkbox-css@1.5.0': {}
+
'@utrecht/checkbox-react@1.0.5(@babel/runtime@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@babel/runtime': 7.26.0
@@ -12171,39 +11967,13 @@ snapshots:
is-date-object: 1.1.0
is-symbol: 1.1.1
- esbuild-register@3.5.0(esbuild@0.21.5):
+ esbuild-register@3.5.0(esbuild@0.24.2):
dependencies:
debug: 4.4.0
- esbuild: 0.21.5
+ esbuild: 0.24.2
transitivePeerDependencies:
- supports-color
- esbuild@0.21.5:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.21.5
- '@esbuild/android-arm': 0.21.5
- '@esbuild/android-arm64': 0.21.5
- '@esbuild/android-x64': 0.21.5
- '@esbuild/darwin-arm64': 0.21.5
- '@esbuild/darwin-x64': 0.21.5
- '@esbuild/freebsd-arm64': 0.21.5
- '@esbuild/freebsd-x64': 0.21.5
- '@esbuild/linux-arm': 0.21.5
- '@esbuild/linux-arm64': 0.21.5
- '@esbuild/linux-ia32': 0.21.5
- '@esbuild/linux-loong64': 0.21.5
- '@esbuild/linux-mips64el': 0.21.5
- '@esbuild/linux-ppc64': 0.21.5
- '@esbuild/linux-riscv64': 0.21.5
- '@esbuild/linux-s390x': 0.21.5
- '@esbuild/linux-x64': 0.21.5
- '@esbuild/netbsd-x64': 0.21.5
- '@esbuild/openbsd-x64': 0.21.5
- '@esbuild/sunos-x64': 0.21.5
- '@esbuild/win32-arm64': 0.21.5
- '@esbuild/win32-ia32': 0.21.5
- '@esbuild/win32-x64': 0.21.5
-
esbuild@0.24.2:
optionalDependencies:
'@esbuild/aix-ppc64': 0.24.2
diff --git a/wicket/components-wicket/package.json b/wicket/components-wicket/package.json
index d8633b39..6f546098 100644
--- a/wicket/components-wicket/package.json
+++ b/wicket/components-wicket/package.json
@@ -31,6 +31,7 @@
"@utrecht/button-group-css": "1.4.0",
"@utrecht/code-block-css": "1.4.0",
"@utrecht/column-layout-css": "1.5.0",
+ "@utrecht/checkbox-css": "1.5.0",
"@utrecht/custom-checkbox-css": "1.1.1",
"@utrecht/data-badge-css": "1.0.0",
"@utrecht/form-field-css": "1.5.0",
From 7f8dc7f1ad0c2288de8585aad77804d4fa525a53 Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 16:27:20 +0100
Subject: [PATCH 73/75] Add checkbox css to java world
---
.../SingleSignOnLoginFormPanel.java | 15 ++++++++++++---
.../sso_login_page/SingleSignOnLoginPage.html | 2 +-
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.java b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.java
index 8cd49729..3064b688 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.java
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginFormPanel.java
@@ -3,7 +3,10 @@
import nl.rotterdam.design_system.wicket.components.button.utrecht.UtrechtButton;
import nl.rotterdam.design_system.wicket.components.button_group.utrecht.UtrechtButtonGroupBorder;
import nl.rotterdam.design_system.wicket.components.form_field_checkbox.utrecht.UtrechtFormFieldCheckbox;
-import org.apache.wicket.markup.html.form.*;
+import org.apache.wicket.markup.html.form.CheckBox;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.markup.html.form.RequiredTextField;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.Model;
@@ -42,14 +45,20 @@ protected void onInitialize() {
actionGroup.add(new UtrechtButton("submit"));
}
+ @Override
+ protected void onError() {
+ super.onError();
+ error("On error called. Only possible in classic browsers who don't support 'required' attribute.");
+ }
+
@Override
protected void onSubmit() {
+ super.onSubmit();
+
info("Submitted!");
System.out.println("Received username: " + username.getObject());
System.out.println("Received rememberMe: " + rememberMe.getObject());
-
- super.onSubmit();
}
}
);
diff --git a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.html b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.html
index 0a72f120..8aeed400 100644
--- a/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.html
+++ b/wicket/docs-wicket/src/main/java/nl/rotterdam/wicket/docs/sso_login_page/SingleSignOnLoginPage.html
@@ -1,5 +1,5 @@
-
+
From 855319805b46f0bcb27f8f50cedfafae55728d3b Mon Sep 17 00:00:00 2001
From: Kees van Dieren
Date: Wed, 18 Dec 2024 16:29:57 +0100
Subject: [PATCH 74/75] preserve_data, hyphen not allowed in java packages
---
wicket/components-wicket/pom.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/wicket/components-wicket/pom.xml b/wicket/components-wicket/pom.xml
index b27d85b6..506f54e2 100644
--- a/wicket/components-wicket/pom.xml
+++ b/wicket/components-wicket/pom.xml
@@ -342,7 +342,7 @@
@utrecht/preserve-data-css/dist/*.css
- nl/rotterdam/design_system/wicket/components/preserve-data/utrecht
+ nl/rotterdam/design_system/wicket/components/preserve_data/utrecht
false
@@ -388,4 +388,4 @@
-
\ No newline at end of file
+
From 05253575cba26719134b3445cfd2eb17469c8289 Mon Sep 17 00:00:00 2001
From: Robbert Broersma
Date: Tue, 31 Dec 2024 20:04:48 +0100
Subject: [PATCH 75/75] docs: pretty titles for Apache Wicket in Storybook
---
.../GenerateMarkdownAndStorybookExamples.java | 90 ++++++++++++++-----
...arkdownDocumentationExamplesGenerator.java | 38 ++++----
2 files changed, 88 insertions(+), 40 deletions(-)
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
index 8deb7e78..2699d945 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/GenerateMarkdownAndStorybookExamples.java
@@ -72,12 +72,16 @@ public class GenerateMarkdownAndStorybookExamples {
@Test
void generateAlertComponent() {
- new MarkdownDocumentationExamplesGenerator(AlertExamplesPanel.class, UtrechtAlert.class, "alert").generate();
+ new MarkdownDocumentationExamplesGenerator(
+ AlertExamplesPanel.class,
+ UtrechtAlert.class,
+ "alert",
+ "Alert"
+ ).generate();
}
@Test
void generateBadgeListComponent() {
-
tester.startComponentInPage(BadgeListExamplesPanel.class);
String renderedHtml = tester.getLastResponseAsString();
@@ -85,13 +89,19 @@ void generateBadgeListComponent() {
BadgeListExamplesPanel.class,
UtrechtBadgeListBorder.class,
"badge-list",
+ "Badge List",
renderedHtml
).generate();
}
@Test
void generateBodyComponent() {
- new MarkdownDocumentationExamplesGenerator(BodyExamplesPanel.class, BodyExamplesPanel.class, "body").generate();
+ new MarkdownDocumentationExamplesGenerator(
+ BodyExamplesPanel.class,
+ BodyExamplesPanel.class,
+ "body",
+ "Body"
+ ).generate();
}
@Test
@@ -99,7 +109,9 @@ void generateButtonGroupComponent() {
new MarkdownDocumentationExamplesGenerator(
ButtonGroupExamplesPanel.class,
UtrechtButtonGroupBorder.class,
- "button-group").generate();
+ "button-group",
+ "Button Group"
+ ).generate();
}
@Test
@@ -107,7 +119,8 @@ void generateCodeBlockComponent() {
new MarkdownDocumentationExamplesGenerator(
CodeBlockExamplesPanel.class,
UtrechtCodeBlock.class,
- "code-block"
+ "code-block",
+ "Code Block"
).generate();
}
@@ -116,7 +129,8 @@ void generateColumnLayoutComponent() {
new MarkdownDocumentationExamplesGenerator(
ColumnLayoutExamplesPanel.class,
UtrechtColumnLayoutBorder.class,
- "column-layout"
+ "column-layout",
+ "Column Layout"
).generate();
}
@@ -125,7 +139,8 @@ void generateFormFieldCheckboxComponent() {
new MarkdownDocumentationExamplesGenerator(
FormFieldCheckboxExamplesPanel.class,
UtrechtFormFieldCheckbox.class,
- "form-field-checkbox"
+ "form-field-checkbox",
+ "Form Field Checkbox"
).generate();
}
@@ -134,13 +149,13 @@ void generateFormFieldLabelComponent() {
new MarkdownDocumentationExamplesGenerator(
FormFieldLabelExamplesPanel.class,
UtrechtFormLabel.class,
- "form-field-label"
+ "form-field-label",
+ "Form Field Label"
).generate();
}
@Test
void generateHeadingComponent() {
-
tester.startComponentInPage(HeadingExamplesPanel.class);
String renderedHtml = tester.getLastResponseAsString();
@@ -148,6 +163,7 @@ void generateHeadingComponent() {
HeadingExamplesPanel.class,
UtrechtHeading.class,
"heading",
+ "Heading",
renderedHtml
).generate();
}
@@ -157,7 +173,9 @@ void generateHeadingGroupComponent() {
new MarkdownDocumentationExamplesGenerator(
HeadingGroupExamplesPanel.class,
UtrechtHeadingGroupBorder.class,
- "heading-group").generate();
+ "heading-group",
+ "Heading Group"
+ ).generate();
}
@Test
@@ -165,7 +183,9 @@ void generateHtmlContentComponent() {
new MarkdownDocumentationExamplesGenerator(
HtmlContentExamplesPanel.class,
UtrechtHtmlContentBorder.class,
- "html-content").generate();
+ "html-content",
+ "HTML Content"
+ ).generate();
}
@Test
@@ -173,7 +193,9 @@ void generateRotterdamLogoImage() {
new MarkdownDocumentationExamplesGenerator(
RotterdamLogoImageExamplesPanel.class,
RotterdamLogoImage.class,
- "rotterdam-logo-image").generate();
+ "rotterdam-logo-image",
+ "Rotterdam Logo Image"
+ ).generate();
}
@Test
@@ -181,7 +203,9 @@ void generateUtrechtLogo() {
new MarkdownDocumentationExamplesGenerator(
UtrechtLogoExamplesPanel.class,
UtrechtLogoBorder.class,
- "utrecht-logo").generate();
+ "utrecht-logo",
+ "Logo"
+ ).generate();
}
@Test
@@ -189,7 +213,9 @@ void generateUtrechtIcon() {
new MarkdownDocumentationExamplesGenerator(
IconExamplesPanel.class,
UtrechtIconBorder.class,
- "utrecht-icon").generate();
+ "utrecht-icon",
+ "Icon"
+ ).generate();
}
@Test
@@ -197,7 +223,9 @@ void generateUtrechtNumberBadge() {
new MarkdownDocumentationExamplesGenerator(
UtrechtNumberBadgeExamplesPanel.class,
UtrechtNumberBadge.class,
- "utrecht-number-badge").generate();
+ "utrecht-number-badge",
+ "Number Badge"
+ ).generate();
}
@Test
@@ -205,7 +233,9 @@ void generateUtrechtPageBody() {
new MarkdownDocumentationExamplesGenerator(
UtrechtPageBodyExamplesPanel.class,
UtrechtPageBodyBorder.class,
- "utrecht-page-body").generate();
+ "utrecht-page-body",
+ "Page Body"
+ ).generate();
}
@Test
@@ -213,7 +243,9 @@ void generateUtrechtPageFooter() {
new MarkdownDocumentationExamplesGenerator(
UtrechtPageFooterExamplesPanel.class,
UtrechtPageFooterBorder.class,
- "utrecht-page-footer").generate();
+ "utrecht-page-footer",
+ "Page Footer"
+ ).generate();
}
@Test
@@ -221,7 +253,9 @@ void generateUtrechtPageLayout() {
new MarkdownDocumentationExamplesGenerator(
UtrechtPageLayoutExamplesPanel.class,
UtrechtPageLayoutBorder.class,
- "utrecht-page-layout").generate();
+ "utrecht-page-layout",
+ "Page Layout"
+ ).generate();
}
@Test
@@ -229,7 +263,9 @@ void generateUtrechtPreserveData() {
new MarkdownDocumentationExamplesGenerator(
UtrechtPreserveDataExamplesPanel.class,
UtrechtPreserveDataLabel.class,
- "utrecht-preserve-data").generate();
+ "utrecht-preserve-data",
+ "Preserve Data"
+ ).generate();
}
@Test
@@ -237,7 +273,9 @@ void generateUtrechtRoot() {
new MarkdownDocumentationExamplesGenerator(
UtrechtRootExamplesPanel.class,
UtrechtRootBorder.class,
- "utrecht-root").generate();
+ "utrecht-root",
+ "Root"
+ ).generate();
}
@Test
@@ -245,7 +283,9 @@ void generateUtrechtSeparator() {
new MarkdownDocumentationExamplesGenerator(
UtrechtSeparatorExamplesPanel.class,
UtrechtSeparator.class,
- "utrecht-separator").generate();
+ "utrecht-separator",
+ "Separator"
+ ).generate();
}
@Test
@@ -253,7 +293,9 @@ void generateUtrechtOrderedList() {
new MarkdownDocumentationExamplesGenerator(
UtrechtOrderedListExamplesPanel.class,
UtrechtOrderedList.class,
- "utrecht-ordered-list").generate();
+ "utrecht-ordered-list",
+ "Ordered List"
+ ).generate();
}
@Test
@@ -261,7 +303,9 @@ void generateUtrechtUnorderedList() {
new MarkdownDocumentationExamplesGenerator(
UtrechtUnorderedListExamplesPanel.class,
UtrechtUnorderedList.class,
- "utrecht-unordered-list").generate();
+ "utrecht-unordered-list",
+ "Unordered List"
+ ).generate();
}
@AfterEach
diff --git a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
index 7998280e..1345660b 100644
--- a/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
+++ b/wicket/docs-wicket/src/test/java/nl/rotterdam/wicket/nl_design/docs/storybook_generator/MarkdownDocumentationExamplesGenerator.java
@@ -1,15 +1,11 @@
package nl.rotterdam.wicket.nl_design.docs.storybook_generator;
+import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
+
import com.github.javaparser.JavaParser;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.vladsch.flexmark.html2md.converter.FlexmarkHtmlConverter;
-import nl.rotterdam.wicket.docs.ComponentExample;
-import org.apache.wicket.Component;
-import org.apache.wicket.markup.html.panel.Panel;
-import org.apache.wicket.util.string.Strings;
-import org.junit.platform.commons.support.ModifierSupport;
-
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Method;
@@ -18,8 +14,11 @@
import java.util.Comparator;
import java.util.List;
import java.util.stream.IntStream;
-
-import static nl.rotterdam.wicket.nl_design.docs.ModuleRootResolver.resolveModuleRootPath;
+import nl.rotterdam.wicket.docs.ComponentExample;
+import org.apache.wicket.Component;
+import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.util.string.Strings;
+import org.junit.platform.commons.support.ModifierSupport;
public class MarkdownDocumentationExamplesGenerator {
@@ -28,6 +27,7 @@ public class MarkdownDocumentationExamplesGenerator {
private final File markdownStorybookFile;
private final Panel headingPanel;
private final String componentName;
+ private final String componentTitle;
private final String componentNameCapitalized;
private final HtmlDocumentationExtractor documentationExtractor;
private final String gitHubExamplePath;
@@ -39,9 +39,12 @@ public MarkdownDocumentationExamplesGenerator(
When you have a Behavior and a component, put them in the same package.
*/
Class extends Component> componentClass,
- String componentName) {
- this(examplePanelClass, componentClass, componentName, null);
+ String componentName,
+ String componentTitle
+ ) {
+ this(examplePanelClass, componentClass, componentName, componentTitle, null);
}
+
public MarkdownDocumentationExamplesGenerator(
Class extends Panel> examplePanelClass,
/*
@@ -49,8 +52,11 @@ public MarkdownDocumentationExamplesGenerator(
*/
Class extends Component> componentClass,
String componentName,
- String renderedHtml) {
+ String componentTitle,
+ String renderedHtml
+ ) {
this.componentName = componentName;
+ this.componentTitle = componentTitle;
this.componentNameCapitalized = Strings.capitalize(componentName);
String moduleRootPath = resolveModuleRootPath(GenerateMarkdownAndStorybookExamples.class).getAbsolutePath();
@@ -63,11 +69,9 @@ public MarkdownDocumentationExamplesGenerator(
String exampleFilenameWithoutExtension = basePathInDocs + examplePanelClass.getSimpleName();
exampleJavaFile = new File(exampleFilenameWithoutExtension + ".java");
- documentationExtractor =
- renderedHtml != null
- ? new HtmlDocumentationExtractor(renderedHtml)
- : new HtmlDocumentationExtractor(new File(exampleFilenameWithoutExtension + ".html").toPath()
- );
+ documentationExtractor = renderedHtml != null
+ ? new HtmlDocumentationExtractor(renderedHtml)
+ : new HtmlDocumentationExtractor(new File(exampleFilenameWithoutExtension + ".html").toPath());
markdownReadmeFile = new File(moduleRootPath + "/stories/" + componentName + ".md");
markdownStorybookFile = new File(moduleRootPath + "/stories/" + componentName + ".mdx");
@@ -156,7 +160,7 @@ private void writeStoryBookFile() throws IOException {
{markdown}
""",
componentName,
- Strings.capitalize(componentName)
+ componentTitle
);
Files.write(markdownStorybookFile.toPath(), content.getBytes());