@digigov/react-core 0.25.5 → 0.27.0-28c68d3d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Accordion/index.d.ts +1 -1
- package/AccordionControls/index.d.ts +1 -1
- package/AccordionSection/index.d.ts +1 -1
- package/AccordionSectionContent/index.d.ts +1 -1
- package/AccordionSectionHeader/index.d.ts +1 -1
- package/AccordionSectionSummary/index.d.ts +17 -1
- package/AccordionSectionSummary/index.js +6 -3
- package/AccordionSectionSummaryHeading/index.d.ts +1 -1
- package/Aside/index.d.ts +1 -1
- package/BackLink/index.d.ts +1 -1
- package/Base/index.d.ts +1 -0
- package/Base/index.js +2 -34
- package/Blockquote/index.d.ts +1 -1
- package/Bottom/index.d.ts +1 -1
- package/Breadcrumbs/index.d.ts +1 -1
- package/BreadcrumbsList/index.d.ts +1 -1
- package/BreadcrumbsListItem/index.d.ts +1 -1
- package/Button/index.d.ts +1 -1
- package/ButtonGroup/index.d.ts +1 -1
- package/ButtonLink/index.d.ts +1 -1
- package/CHANGELOG.md +13 -1
- package/CallToAction/index.d.ts +1 -1
- package/Card/index.d.ts +1 -1
- package/CardAction/index.d.ts +1 -1
- package/CardHeading/index.d.ts +1 -1
- package/CardText/index.d.ts +1 -1
- package/CaretContainer/index.d.ts +1 -1
- package/Checkbox/index.d.ts +1 -1
- package/CheckboxConditional/index.d.ts +1 -1
- package/CheckboxItem/__snapshots__/index.test.tsx.snap +219 -73
- package/CheckboxItem/index.d.ts +7 -1
- package/CheckboxItem/index.js +8 -3
- package/CheckboxItem/index.test.js +20 -1
- package/ChoiceDivider/__snapshots__/index.test.tsx.snap +18 -0
- package/ChoiceDivider/index.d.ts +11 -0
- package/ChoiceDivider/index.js +39 -0
- package/ChoiceDivider/index.test.d.ts +1 -0
- package/ChoiceDivider/index.test.js +17 -0
- package/Confirmation/index.d.ts +1 -1
- package/ConfirmationBody/index.d.ts +1 -1
- package/ConfirmationTitle/index.d.ts +1 -1
- package/Container/index.d.ts +1 -1
- package/CopyrightContainer/index.d.ts +1 -1
- package/DateInputContainer/index.d.ts +1 -1
- package/DateInputItem/index.d.ts +1 -1
- package/Details/index.d.ts +1 -1
- package/DetailsContent/index.d.ts +1 -1
- package/DetailsSummary/index.d.ts +1 -1
- package/ErrorMessage/index.d.ts +1 -1
- package/ErrorSummary/index.d.ts +1 -1
- package/FieldContainer/index.d.ts +1 -1
- package/Fieldset/index.d.ts +1 -1
- package/FieldsetLegend/index.d.ts +1 -1
- package/FileUpload/index.d.ts +1 -1
- package/FileUploadContainer/index.d.ts +1 -1
- package/Footer/index.d.ts +1 -1
- package/FooterContainer/index.d.ts +1 -1
- package/FooterContent/index.d.ts +1 -1
- package/FooterContentLogos/index.d.ts +1 -1
- package/FooterHeading/index.d.ts +1 -1
- package/FooterImage/index.d.ts +1 -1
- package/FooterInlineList/index.d.ts +1 -1
- package/FooterInlineListItem/index.d.ts +1 -1
- package/FooterLink/index.d.ts +1 -1
- package/FooterList/index.d.ts +1 -1
- package/FooterListItem/index.d.ts +1 -1
- package/FooterMeta/index.d.ts +1 -1
- package/FooterMetaItem/index.d.ts +1 -1
- package/FooterNavigation/index.d.ts +1 -1
- package/FooterSection/index.d.ts +1 -1
- package/Form/index.d.ts +1 -1
- package/GovGRLogo/index.d.ts +1 -1
- package/Grid/index.d.ts +1 -1
- package/Header/index.d.ts +1 -1
- package/HeaderContent/index.d.ts +1 -1
- package/HeaderLogo/index.d.ts +1 -1
- package/HeaderNavMenuContent/index.d.ts +1 -1
- package/HeaderSecondaryLogo/index.d.ts +1 -1
- package/HeaderSection/index.d.ts +1 -1
- package/HeaderSubtitle/index.d.ts +1 -1
- package/HeaderTitle/index.d.ts +1 -1
- package/Heading/index.d.ts +1 -1
- package/HeadingCaption/index.d.ts +1 -1
- package/HellenicRepublicLogo/index.d.ts +1 -1
- package/Hidden/index.d.ts +1 -1
- package/Hint/index.d.ts +1 -1
- package/LabelContainer/index.d.ts +1 -1
- package/LabelTitle/index.d.ts +1 -1
- package/Layout/index.d.ts +1 -1
- package/LinkBase/index.d.ts +1 -1
- package/List/index.d.ts +1 -1
- package/ListItem/index.d.ts +1 -1
- package/Main/index.d.ts +1 -1
- package/Masthead/index.d.ts +1 -1
- package/MastheadBody/index.d.ts +1 -1
- package/Nav/index.d.ts +1 -1
- package/NavList/index.d.ts +1 -1
- package/NavListItem/index.d.ts +1 -1
- package/NavListItemButton/index.d.ts +1 -1
- package/NavListItemLink/index.d.ts +1 -1
- package/NavMenu/index.d.ts +1 -1
- package/NavMenuContainer/index.d.ts +1 -1
- package/NavMenuContainerContent/index.d.ts +1 -1
- package/NavMenuContainerContentList/index.d.ts +1 -1
- package/NavMenuContainerContentListItem/index.d.ts +1 -1
- package/NavMenuContainerTitle/index.d.ts +1 -1
- package/NavVertical/index.d.ts +1 -1
- package/NavVerticalItem/index.d.ts +7 -1
- package/NavVerticalItem/index.js +4 -2
- package/NormalText/index.d.ts +1 -1
- package/NotificationBannerContainer/index.d.ts +1 -1
- package/NotificationBannerContent/index.d.ts +1 -1
- package/NotificationBannerHeader/index.d.ts +1 -1
- package/NotificationBannerHeading/index.d.ts +1 -1
- package/NotificationBannerLink/index.d.ts +1 -1
- package/PageTitle/index.d.ts +1 -1
- package/PageTitleCaption/index.d.ts +1 -1
- package/PageTitleHeading/index.d.ts +1 -1
- package/PageTitleSection/index.d.ts +1 -1
- package/Paragraph/index.d.ts +1 -1
- package/PhaseBanner/index.d.ts +1 -1
- package/PhaseBannerHeaderContainer/index.d.ts +1 -1
- package/PhaseBannerTag/index.d.ts +1 -1
- package/PhaseBannerText/index.d.ts +1 -1
- package/RadioConditional/index.d.ts +1 -1
- package/RadioContainer/index.d.ts +1 -1
- package/RadioItem/__snapshots__/index.test.tsx.snap +253 -90
- package/RadioItem/index.d.ts +7 -1
- package/RadioItem/index.js +9 -4
- package/RadioItem/index.test.js +24 -5
- package/SectionBreak/index.d.ts +1 -1
- package/SelectContainer/index.d.ts +1 -1
- package/SelectOption/index.d.ts +1 -1
- package/SingleCharacterInputContainer/index.d.ts +1 -1
- package/SingleCharacterInputItem/index.d.ts +1 -1
- package/SkipLink/index.d.ts +1 -1
- package/SummaryList/index.d.ts +1 -1
- package/SummaryListItem/index.d.ts +1 -1
- package/SummaryListItemAction/index.d.ts +1 -1
- package/SummaryListItemKey/index.d.ts +1 -1
- package/SummaryListItemValue/index.d.ts +1 -1
- package/SvgIcon/index.d.ts +1 -1
- package/Table/index.d.ts +1 -1
- package/TableBody/index.d.ts +1 -1
- package/TableCaption/index.d.ts +1 -1
- package/TableContainer/index.d.ts +1 -1
- package/TableDataCell/index.d.ts +1 -1
- package/TableHead/index.d.ts +1 -1
- package/TableHeadCell/index.d.ts +1 -1
- package/TableNoDataRow/index.d.ts +1 -1
- package/TableRow/index.d.ts +1 -1
- package/Tabs/index.d.ts +1 -1
- package/TabsHeading/index.d.ts +1 -1
- package/TabsList/index.d.ts +1 -1
- package/TabsListItem/index.d.ts +1 -1
- package/TabsPanel/index.d.ts +1 -1
- package/TextArea/index.d.ts +1 -1
- package/TextInput/index.d.ts +1 -1
- package/Top/index.d.ts +1 -1
- package/VisuallyHidden/index.d.ts +1 -1
- package/WarningText/index.d.ts +1 -1
- package/es/AccordionSectionSummary/index.js +6 -3
- package/es/Base/index.js +2 -35
- package/es/CheckboxItem/__snapshots__/index.test.tsx.snap +219 -73
- package/es/CheckboxItem/index.js +7 -3
- package/es/CheckboxItem/index.test.js +20 -1
- package/es/ChoiceDivider/__snapshots__/index.test.tsx.snap +18 -0
- package/es/ChoiceDivider/index.js +23 -0
- package/es/ChoiceDivider/index.test.js +11 -0
- package/es/NavVerticalItem/index.js +4 -2
- package/es/RadioItem/__snapshots__/index.test.tsx.snap +253 -90
- package/es/RadioItem/index.js +8 -4
- package/es/RadioItem/index.test.js +24 -5
- package/es/index.js +1 -0
- package/es/registry.js +2 -0
- package/esm/AccordionSectionSummary/index.js +6 -3
- package/esm/Base/index.js +2 -35
- package/esm/CheckboxItem/__snapshots__/index.test.tsx.snap +219 -73
- package/esm/CheckboxItem/index.js +7 -3
- package/esm/CheckboxItem/index.test.js +20 -1
- package/esm/ChoiceDivider/__snapshots__/index.test.tsx.snap +18 -0
- package/esm/ChoiceDivider/index.js +23 -0
- package/esm/ChoiceDivider/index.test.js +11 -0
- package/esm/NavVerticalItem/index.js +4 -2
- package/esm/RadioItem/__snapshots__/index.test.tsx.snap +253 -90
- package/esm/RadioItem/index.js +8 -4
- package/esm/RadioItem/index.test.js +24 -5
- package/esm/index.js +2 -1
- package/esm/registry.js +2 -0
- package/index.d.ts +1 -0
- package/index.js +13 -0
- package/package.json +2 -2
- package/registry.d.ts +1 -0
- package/registry.js +3 -0
- package/src/AccordionSectionSummary/index.tsx +21 -2
- package/src/Base/index.tsx +31 -80
- package/src/CheckboxItem/__snapshots__/index.test.tsx.snap +219 -73
- package/src/CheckboxItem/index.test.tsx +13 -0
- package/src/CheckboxItem/index.tsx +35 -24
- package/src/ChoiceDivider/__snapshots__/index.test.tsx.snap +18 -0
- package/src/ChoiceDivider/index.test.tsx +8 -0
- package/src/ChoiceDivider/index.tsx +29 -0
- package/src/NavVerticalItem/index.tsx +8 -1
- package/src/RadioItem/__snapshots__/index.test.tsx.snap +253 -90
- package/src/RadioItem/index.test.tsx +16 -0
- package/src/RadioItem/index.tsx +35 -24
- package/src/index.ts +1 -0
- package/src/registry.js +2 -0
package/src/Base/index.tsx
CHANGED
|
@@ -55,6 +55,7 @@ export type BaseProps<
|
|
|
55
55
|
paddingRight?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
|
|
56
56
|
/** printHidden is optional. Default value is false. When true, the component is hidden at print. */
|
|
57
57
|
printHidden?: boolean;
|
|
58
|
+
printVisible?: 'block' | 'inline';
|
|
58
59
|
/** Components will be hidden from 'xs' screen size and up. */
|
|
59
60
|
xsUpHidden?: boolean;
|
|
60
61
|
/** Components will be hidden from 'sm' screen size and up. */
|
|
@@ -85,59 +86,6 @@ type BaseComponent = <C extends React.ElementType = 'span'>(
|
|
|
85
86
|
props: BaseProps<C>
|
|
86
87
|
) => React.ReactElement | null;
|
|
87
88
|
|
|
88
|
-
function calculateClasses(
|
|
89
|
-
margin?: number,
|
|
90
|
-
marginTop?: number,
|
|
91
|
-
marginBottom?: number,
|
|
92
|
-
marginRight?: number,
|
|
93
|
-
marginLeft?: number,
|
|
94
|
-
padding?: number,
|
|
95
|
-
paddingTop?: number,
|
|
96
|
-
paddingBottom?: number,
|
|
97
|
-
paddingRight?: number,
|
|
98
|
-
paddingLeft?: number,
|
|
99
|
-
printHidden?: boolean,
|
|
100
|
-
printVisible?: 'block' | 'inline',
|
|
101
|
-
xsUpHidden?: boolean,
|
|
102
|
-
smUpHidden?: boolean,
|
|
103
|
-
mdUpHidden?: boolean,
|
|
104
|
-
lgUpHidden?: boolean,
|
|
105
|
-
xlUpHidden?: boolean,
|
|
106
|
-
xsHidden?: boolean,
|
|
107
|
-
smHidden?: boolean,
|
|
108
|
-
mdHidden?: boolean,
|
|
109
|
-
lgHidden?: boolean,
|
|
110
|
-
xlHidden?: boolean
|
|
111
|
-
) {
|
|
112
|
-
const classList = {} as Record<string, boolean>;
|
|
113
|
-
for (let i = 0; i <= 12; i++) {
|
|
114
|
-
classList[`govgr-m-${i}`] = margin === i;
|
|
115
|
-
classList[`govgr-mt-${i}`] = marginTop === i;
|
|
116
|
-
classList[`govgr-mb-${i}`] = marginBottom === i;
|
|
117
|
-
classList[`govgr-mr-${i}`] = marginRight === i;
|
|
118
|
-
classList[`govgr-ml-${i}`] = marginLeft === i;
|
|
119
|
-
classList[`govgr-p-${i}`] = padding === i;
|
|
120
|
-
classList[`govgr-pt-${i}`] = paddingTop === i;
|
|
121
|
-
classList[`govgr-pb-${i}`] = paddingBottom === i;
|
|
122
|
-
classList[`govgr-pr-${i}`] = paddingRight === i;
|
|
123
|
-
classList[`govgr-pl-${i}`] = paddingLeft === i;
|
|
124
|
-
}
|
|
125
|
-
classList['govgr-print-hidden'] = !!printHidden;
|
|
126
|
-
classList['govgr-print-visible-block'] = printVisible === 'block';
|
|
127
|
-
classList['govgr-print-visible-inline'] = printVisible === 'inline';
|
|
128
|
-
classList['govgr-hidden-xs--up'] = xsUpHidden === true;
|
|
129
|
-
classList['govgr-hidden-sm--up'] = smUpHidden === true;
|
|
130
|
-
classList['govgr-hidden-md--up'] = mdUpHidden === true;
|
|
131
|
-
classList['govgr-hidden-lg--up'] = lgUpHidden === true;
|
|
132
|
-
classList['govgr-hidden-xl--up'] = xlUpHidden === true;
|
|
133
|
-
classList['govgr-hidden-xs'] = xsHidden === true;
|
|
134
|
-
classList['govgr-hidden-sm'] = smHidden === true;
|
|
135
|
-
classList['govgr-hidden-md'] = mdHidden === true;
|
|
136
|
-
classList['govgr-hidden-lg'] = lgHidden === true;
|
|
137
|
-
classList['govgr-hidden-xl'] = xlHidden === true;
|
|
138
|
-
return classList;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
89
|
export const Base: BaseComponent = React.forwardRef(function Base<
|
|
142
90
|
C extends React.ElementType = 'span'
|
|
143
91
|
>(
|
|
@@ -175,34 +123,37 @@ export const Base: BaseComponent = React.forwardRef(function Base<
|
|
|
175
123
|
|
|
176
124
|
return (
|
|
177
125
|
<Component
|
|
126
|
+
className={clsx(className, {
|
|
127
|
+
[`govgr-m-${margin}`]: margin !== undefined ? true : undefined,
|
|
128
|
+
[`govgr-mt-${marginTop}`]: marginTop !== undefined ? true : undefined,
|
|
129
|
+
[`govgr-mb-${marginBottom}`]:
|
|
130
|
+
marginBottom !== undefined ? true : undefined,
|
|
131
|
+
[`govgr-mr-${marginRight}`]:
|
|
132
|
+
marginRight !== undefined ? true : undefined,
|
|
133
|
+
[`govgr-ml-${marginLeft}`]: marginLeft !== undefined ? true : undefined,
|
|
134
|
+
[`govgr-p-${padding}`]: padding !== undefined ? true : undefined,
|
|
135
|
+
[`govgr-pt-${paddingTop}`]: paddingTop !== undefined ? true : undefined,
|
|
136
|
+
[`govgr-pb-${paddingBottom}`]:
|
|
137
|
+
paddingBottom !== undefined ? true : undefined,
|
|
138
|
+
[`govgr-pr-${paddingRight}`]:
|
|
139
|
+
paddingRight !== undefined ? true : undefined,
|
|
140
|
+
[`govgr-pl-${paddingLeft}`]:
|
|
141
|
+
paddingLeft !== undefined ? true : undefined,
|
|
142
|
+
'govgr-print-hidden': !!printHidden,
|
|
143
|
+
'govgr-print-visible-block': printVisible === 'block',
|
|
144
|
+
'govgr-print-visible-inline': printVisible === 'inline',
|
|
145
|
+
'govgr-hidden-xs--up': !!xsUpHidden,
|
|
146
|
+
'govgr-hidden-sm--up': !!smUpHidden,
|
|
147
|
+
'govgr-hidden-md--up': !!mdUpHidden,
|
|
148
|
+
'govgr-hidden-lg--up': !!lgUpHidden,
|
|
149
|
+
'govgr-hidden-xl--up': !!xlUpHidden,
|
|
150
|
+
'govgr-hidden-xs': !!xsHidden,
|
|
151
|
+
'govgr-hidden-sm': !!smHidden,
|
|
152
|
+
'govgr-hidden-md': !!mdHidden,
|
|
153
|
+
'govgr-hidden-lg': !!lgHidden,
|
|
154
|
+
'govgr-hidden-xl': !!xlHidden,
|
|
155
|
+
})}
|
|
178
156
|
ref={ref}
|
|
179
|
-
className={clsx(
|
|
180
|
-
className,
|
|
181
|
-
calculateClasses(
|
|
182
|
-
margin,
|
|
183
|
-
marginTop,
|
|
184
|
-
marginBottom,
|
|
185
|
-
marginRight,
|
|
186
|
-
marginLeft,
|
|
187
|
-
padding,
|
|
188
|
-
paddingTop,
|
|
189
|
-
paddingBottom,
|
|
190
|
-
paddingRight,
|
|
191
|
-
paddingLeft,
|
|
192
|
-
printHidden,
|
|
193
|
-
printVisible,
|
|
194
|
-
xsUpHidden,
|
|
195
|
-
smUpHidden,
|
|
196
|
-
mdUpHidden,
|
|
197
|
-
lgUpHidden,
|
|
198
|
-
xlUpHidden,
|
|
199
|
-
xsHidden,
|
|
200
|
-
smHidden,
|
|
201
|
-
mdHidden,
|
|
202
|
-
lgHidden,
|
|
203
|
-
xlHidden
|
|
204
|
-
)
|
|
205
|
-
)}
|
|
206
157
|
{...props}
|
|
207
158
|
>
|
|
208
159
|
{children}
|
|
@@ -7,23 +7,81 @@ exports[`renders the CheckboxItem with \`disabled\` prop 1`] = `
|
|
|
7
7
|
<div
|
|
8
8
|
className="govgr-checkboxes__item"
|
|
9
9
|
>
|
|
10
|
-
<
|
|
11
|
-
className="govgr-checkboxes__label--disabled govgr-
|
|
10
|
+
<ForwardRef(LabelContainer)
|
|
11
|
+
className="govgr-checkboxes__label--disabled govgr-checkboxes__label"
|
|
12
12
|
>
|
|
13
|
-
hello
|
|
14
13
|
<ForwardRef(Base)
|
|
15
|
-
as="
|
|
16
|
-
className="govgr-
|
|
17
|
-
disabled={true}
|
|
18
|
-
type="checkbox"
|
|
14
|
+
as="label"
|
|
15
|
+
className="govgr-checkboxes__label--disabled govgr-checkboxes__label govgr-label"
|
|
19
16
|
>
|
|
20
|
-
<
|
|
21
|
-
className="govgr-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
<label
|
|
18
|
+
className="govgr-checkboxes__label--disabled govgr-checkboxes__label govgr-label"
|
|
19
|
+
>
|
|
20
|
+
hello
|
|
21
|
+
<ForwardRef(Base)
|
|
22
|
+
as="input"
|
|
23
|
+
className="govgr-checkboxes__input"
|
|
24
|
+
disabled={true}
|
|
25
|
+
type="checkbox"
|
|
26
|
+
>
|
|
27
|
+
<input
|
|
28
|
+
className="govgr-checkboxes__input"
|
|
29
|
+
disabled={true}
|
|
30
|
+
type="checkbox"
|
|
31
|
+
/>
|
|
32
|
+
</ForwardRef(Base)>
|
|
33
|
+
</label>
|
|
25
34
|
</ForwardRef(Base)>
|
|
26
|
-
</
|
|
35
|
+
</ForwardRef(LabelContainer)>
|
|
36
|
+
</div>
|
|
37
|
+
</ForwardRef(CheckboxItem)>
|
|
38
|
+
`;
|
|
39
|
+
|
|
40
|
+
exports[`renders the CheckboxItem with \`divider\` prop 1`] = `
|
|
41
|
+
<ForwardRef(CheckboxItem)
|
|
42
|
+
divider="ή"
|
|
43
|
+
>
|
|
44
|
+
<ForwardRef(ChoiceDivider)
|
|
45
|
+
text="ή"
|
|
46
|
+
>
|
|
47
|
+
<ForwardRef(Base)
|
|
48
|
+
as="div"
|
|
49
|
+
className="govgr-choice-divider"
|
|
50
|
+
>
|
|
51
|
+
<div
|
|
52
|
+
className="govgr-choice-divider"
|
|
53
|
+
>
|
|
54
|
+
ή
|
|
55
|
+
</div>
|
|
56
|
+
</ForwardRef(Base)>
|
|
57
|
+
</ForwardRef(ChoiceDivider)>
|
|
58
|
+
<div
|
|
59
|
+
className="govgr-checkboxes__item"
|
|
60
|
+
>
|
|
61
|
+
<ForwardRef(LabelContainer)
|
|
62
|
+
className="govgr-checkboxes__label"
|
|
63
|
+
>
|
|
64
|
+
<ForwardRef(Base)
|
|
65
|
+
as="label"
|
|
66
|
+
className="govgr-checkboxes__label govgr-label"
|
|
67
|
+
>
|
|
68
|
+
<label
|
|
69
|
+
className="govgr-checkboxes__label govgr-label"
|
|
70
|
+
>
|
|
71
|
+
hello
|
|
72
|
+
<ForwardRef(Base)
|
|
73
|
+
as="input"
|
|
74
|
+
className="govgr-checkboxes__input"
|
|
75
|
+
type="checkbox"
|
|
76
|
+
>
|
|
77
|
+
<input
|
|
78
|
+
className="govgr-checkboxes__input"
|
|
79
|
+
type="checkbox"
|
|
80
|
+
/>
|
|
81
|
+
</ForwardRef(Base)>
|
|
82
|
+
</label>
|
|
83
|
+
</ForwardRef(Base)>
|
|
84
|
+
</ForwardRef(LabelContainer)>
|
|
27
85
|
</div>
|
|
28
86
|
</ForwardRef(CheckboxItem)>
|
|
29
87
|
`;
|
|
@@ -35,25 +93,32 @@ exports[`renders the CheckboxItem with \`name\` prop 1`] = `
|
|
|
35
93
|
<div
|
|
36
94
|
className="govgr-checkboxes__item"
|
|
37
95
|
>
|
|
38
|
-
<
|
|
39
|
-
className="govgr-
|
|
96
|
+
<ForwardRef(LabelContainer)
|
|
97
|
+
className="govgr-checkboxes__label"
|
|
40
98
|
>
|
|
41
|
-
hello
|
|
42
99
|
<ForwardRef(Base)
|
|
43
|
-
as="
|
|
44
|
-
className="govgr-
|
|
45
|
-
disabled={false}
|
|
46
|
-
name="example"
|
|
47
|
-
type="checkbox"
|
|
100
|
+
as="label"
|
|
101
|
+
className="govgr-checkboxes__label govgr-label"
|
|
48
102
|
>
|
|
49
|
-
<
|
|
50
|
-
className="govgr-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
103
|
+
<label
|
|
104
|
+
className="govgr-checkboxes__label govgr-label"
|
|
105
|
+
>
|
|
106
|
+
hello
|
|
107
|
+
<ForwardRef(Base)
|
|
108
|
+
as="input"
|
|
109
|
+
className="govgr-checkboxes__input"
|
|
110
|
+
name="example"
|
|
111
|
+
type="checkbox"
|
|
112
|
+
>
|
|
113
|
+
<input
|
|
114
|
+
className="govgr-checkboxes__input"
|
|
115
|
+
name="example"
|
|
116
|
+
type="checkbox"
|
|
117
|
+
/>
|
|
118
|
+
</ForwardRef(Base)>
|
|
119
|
+
</label>
|
|
55
120
|
</ForwardRef(Base)>
|
|
56
|
-
</
|
|
121
|
+
</ForwardRef(LabelContainer)>
|
|
57
122
|
</div>
|
|
58
123
|
</ForwardRef(CheckboxItem)>
|
|
59
124
|
`;
|
|
@@ -67,27 +132,94 @@ exports[`renders the CheckboxItem with \`value\` \`name\` and \`disabled\` props
|
|
|
67
132
|
<div
|
|
68
133
|
className="govgr-checkboxes__item"
|
|
69
134
|
>
|
|
70
|
-
<
|
|
71
|
-
className="govgr-checkboxes__label--disabled govgr-
|
|
135
|
+
<ForwardRef(LabelContainer)
|
|
136
|
+
className="govgr-checkboxes__label--disabled govgr-checkboxes__label"
|
|
137
|
+
>
|
|
138
|
+
<ForwardRef(Base)
|
|
139
|
+
as="label"
|
|
140
|
+
className="govgr-checkboxes__label--disabled govgr-checkboxes__label govgr-label"
|
|
141
|
+
>
|
|
142
|
+
<label
|
|
143
|
+
className="govgr-checkboxes__label--disabled govgr-checkboxes__label govgr-label"
|
|
144
|
+
>
|
|
145
|
+
hello
|
|
146
|
+
<ForwardRef(Base)
|
|
147
|
+
as="input"
|
|
148
|
+
className="govgr-checkboxes__input"
|
|
149
|
+
disabled={true}
|
|
150
|
+
name="example"
|
|
151
|
+
type="checkbox"
|
|
152
|
+
value="example"
|
|
153
|
+
>
|
|
154
|
+
<input
|
|
155
|
+
className="govgr-checkboxes__input"
|
|
156
|
+
disabled={true}
|
|
157
|
+
name="example"
|
|
158
|
+
type="checkbox"
|
|
159
|
+
value="example"
|
|
160
|
+
/>
|
|
161
|
+
</ForwardRef(Base)>
|
|
162
|
+
</label>
|
|
163
|
+
</ForwardRef(Base)>
|
|
164
|
+
</ForwardRef(LabelContainer)>
|
|
165
|
+
</div>
|
|
166
|
+
</ForwardRef(CheckboxItem)>
|
|
167
|
+
`;
|
|
168
|
+
|
|
169
|
+
exports[`renders the CheckboxItem with \`value\` \`name\`, \`divider\` and \`disabled\` props 1`] = `
|
|
170
|
+
<ForwardRef(CheckboxItem)
|
|
171
|
+
disabled={true}
|
|
172
|
+
divider="ή"
|
|
173
|
+
name="example"
|
|
174
|
+
value="example"
|
|
175
|
+
>
|
|
176
|
+
<ForwardRef(ChoiceDivider)
|
|
177
|
+
text="ή"
|
|
178
|
+
>
|
|
179
|
+
<ForwardRef(Base)
|
|
180
|
+
as="div"
|
|
181
|
+
className="govgr-choice-divider"
|
|
182
|
+
>
|
|
183
|
+
<div
|
|
184
|
+
className="govgr-choice-divider"
|
|
185
|
+
>
|
|
186
|
+
ή
|
|
187
|
+
</div>
|
|
188
|
+
</ForwardRef(Base)>
|
|
189
|
+
</ForwardRef(ChoiceDivider)>
|
|
190
|
+
<div
|
|
191
|
+
className="govgr-checkboxes__item"
|
|
192
|
+
>
|
|
193
|
+
<ForwardRef(LabelContainer)
|
|
194
|
+
className="govgr-checkboxes__label--disabled govgr-checkboxes__label"
|
|
72
195
|
>
|
|
73
|
-
hello
|
|
74
196
|
<ForwardRef(Base)
|
|
75
|
-
as="
|
|
76
|
-
className="govgr-
|
|
77
|
-
disabled={true}
|
|
78
|
-
name="example"
|
|
79
|
-
type="checkbox"
|
|
80
|
-
value="example"
|
|
197
|
+
as="label"
|
|
198
|
+
className="govgr-checkboxes__label--disabled govgr-checkboxes__label govgr-label"
|
|
81
199
|
>
|
|
82
|
-
<
|
|
83
|
-
className="govgr-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
200
|
+
<label
|
|
201
|
+
className="govgr-checkboxes__label--disabled govgr-checkboxes__label govgr-label"
|
|
202
|
+
>
|
|
203
|
+
hello
|
|
204
|
+
<ForwardRef(Base)
|
|
205
|
+
as="input"
|
|
206
|
+
className="govgr-checkboxes__input"
|
|
207
|
+
disabled={true}
|
|
208
|
+
name="example"
|
|
209
|
+
type="checkbox"
|
|
210
|
+
value="example"
|
|
211
|
+
>
|
|
212
|
+
<input
|
|
213
|
+
className="govgr-checkboxes__input"
|
|
214
|
+
disabled={true}
|
|
215
|
+
name="example"
|
|
216
|
+
type="checkbox"
|
|
217
|
+
value="example"
|
|
218
|
+
/>
|
|
219
|
+
</ForwardRef(Base)>
|
|
220
|
+
</label>
|
|
89
221
|
</ForwardRef(Base)>
|
|
90
|
-
</
|
|
222
|
+
</ForwardRef(LabelContainer)>
|
|
91
223
|
</div>
|
|
92
224
|
</ForwardRef(CheckboxItem)>
|
|
93
225
|
`;
|
|
@@ -99,25 +231,32 @@ exports[`renders the CheckboxItem with \`value\` prop 1`] = `
|
|
|
99
231
|
<div
|
|
100
232
|
className="govgr-checkboxes__item"
|
|
101
233
|
>
|
|
102
|
-
<
|
|
103
|
-
className="govgr-
|
|
234
|
+
<ForwardRef(LabelContainer)
|
|
235
|
+
className="govgr-checkboxes__label"
|
|
104
236
|
>
|
|
105
|
-
hello
|
|
106
237
|
<ForwardRef(Base)
|
|
107
|
-
as="
|
|
108
|
-
className="govgr-
|
|
109
|
-
disabled={false}
|
|
110
|
-
type="checkbox"
|
|
111
|
-
value="example"
|
|
238
|
+
as="label"
|
|
239
|
+
className="govgr-checkboxes__label govgr-label"
|
|
112
240
|
>
|
|
113
|
-
<
|
|
114
|
-
className="govgr-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
241
|
+
<label
|
|
242
|
+
className="govgr-checkboxes__label govgr-label"
|
|
243
|
+
>
|
|
244
|
+
hello
|
|
245
|
+
<ForwardRef(Base)
|
|
246
|
+
as="input"
|
|
247
|
+
className="govgr-checkboxes__input"
|
|
248
|
+
type="checkbox"
|
|
249
|
+
value="example"
|
|
250
|
+
>
|
|
251
|
+
<input
|
|
252
|
+
className="govgr-checkboxes__input"
|
|
253
|
+
type="checkbox"
|
|
254
|
+
value="example"
|
|
255
|
+
/>
|
|
256
|
+
</ForwardRef(Base)>
|
|
257
|
+
</label>
|
|
119
258
|
</ForwardRef(Base)>
|
|
120
|
-
</
|
|
259
|
+
</ForwardRef(LabelContainer)>
|
|
121
260
|
</div>
|
|
122
261
|
</ForwardRef(CheckboxItem)>
|
|
123
262
|
`;
|
|
@@ -127,23 +266,30 @@ exports[`renders the CheckboxItem with no props 1`] = `
|
|
|
127
266
|
<div
|
|
128
267
|
className="govgr-checkboxes__item"
|
|
129
268
|
>
|
|
130
|
-
<
|
|
131
|
-
className="govgr-
|
|
269
|
+
<ForwardRef(LabelContainer)
|
|
270
|
+
className="govgr-checkboxes__label"
|
|
132
271
|
>
|
|
133
|
-
hello
|
|
134
272
|
<ForwardRef(Base)
|
|
135
|
-
as="
|
|
136
|
-
className="govgr-
|
|
137
|
-
disabled={false}
|
|
138
|
-
type="checkbox"
|
|
273
|
+
as="label"
|
|
274
|
+
className="govgr-checkboxes__label govgr-label"
|
|
139
275
|
>
|
|
140
|
-
<
|
|
141
|
-
className="govgr-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
276
|
+
<label
|
|
277
|
+
className="govgr-checkboxes__label govgr-label"
|
|
278
|
+
>
|
|
279
|
+
hello
|
|
280
|
+
<ForwardRef(Base)
|
|
281
|
+
as="input"
|
|
282
|
+
className="govgr-checkboxes__input"
|
|
283
|
+
type="checkbox"
|
|
284
|
+
>
|
|
285
|
+
<input
|
|
286
|
+
className="govgr-checkboxes__input"
|
|
287
|
+
type="checkbox"
|
|
288
|
+
/>
|
|
289
|
+
</ForwardRef(Base)>
|
|
290
|
+
</label>
|
|
145
291
|
</ForwardRef(Base)>
|
|
146
|
-
</
|
|
292
|
+
</ForwardRef(LabelContainer)>
|
|
147
293
|
</div>
|
|
148
294
|
</ForwardRef(CheckboxItem)>
|
|
149
295
|
`;
|
|
@@ -21,6 +21,9 @@ it('renders the CheckboxItem with `value` prop', () => {
|
|
|
21
21
|
it('renders the CheckboxItem with `disabled` prop', () => {
|
|
22
22
|
expect(mount(<CheckboxItem disabled>hello</CheckboxItem>)).toMatchSnapshot();
|
|
23
23
|
});
|
|
24
|
+
it('renders the CheckboxItem with `divider` prop', () => {
|
|
25
|
+
expect(mount(<CheckboxItem divider='ή'>hello</CheckboxItem>)).toMatchSnapshot();
|
|
26
|
+
});
|
|
24
27
|
|
|
25
28
|
it('renders the CheckboxItem with `value` `name` and `disabled` props', () => {
|
|
26
29
|
expect(
|
|
@@ -31,3 +34,13 @@ it('renders the CheckboxItem with `value` `name` and `disabled` props', () => {
|
|
|
31
34
|
)
|
|
32
35
|
).toMatchSnapshot();
|
|
33
36
|
});
|
|
37
|
+
it('renders the CheckboxItem with `value` `name`, `divider` and `disabled` props', () => {
|
|
38
|
+
expect(
|
|
39
|
+
mount(
|
|
40
|
+
<CheckboxItem value="example" name="example" divider='ή' disabled>
|
|
41
|
+
hello
|
|
42
|
+
</CheckboxItem>
|
|
43
|
+
)
|
|
44
|
+
).toMatchSnapshot();
|
|
45
|
+
});
|
|
46
|
+
|
|
@@ -2,8 +2,16 @@ import React from 'react';
|
|
|
2
2
|
import Base, { BaseProps } from '@digigov/react-core/Base';
|
|
3
3
|
import LabelContainer from '@digigov/react-core/LabelContainer';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
|
+
import ChoiceDivider from '@digigov/react-core/ChoiceDivider';
|
|
5
6
|
|
|
6
|
-
export interface CheckboxItemProps extends BaseProps<'input'> {
|
|
7
|
+
export interface CheckboxItemProps extends BaseProps<'input'> {
|
|
8
|
+
/**
|
|
9
|
+
* divider is optional.
|
|
10
|
+
* Add this prop to add a choice divider ontop of a checkbox item.
|
|
11
|
+
* The string is the text that it will appear above this checkbox item.
|
|
12
|
+
*/
|
|
13
|
+
divider?: string;
|
|
14
|
+
}
|
|
7
15
|
/**
|
|
8
16
|
* Details for the CheckboxItem.
|
|
9
17
|
* CheckboxItem component allows the user to select one or more checkboxes
|
|
@@ -13,36 +21,39 @@ export const CheckboxItem = React.forwardRef<
|
|
|
13
21
|
HTMLInputElement,
|
|
14
22
|
CheckboxItemProps
|
|
15
23
|
>(function CheckboxItem(
|
|
16
|
-
{ name, value, className, disabled, children, ...props },
|
|
24
|
+
{ name, value, divider, className, disabled, children, ...props },
|
|
17
25
|
ref
|
|
18
26
|
) {
|
|
19
27
|
return (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<LabelContainer
|
|
26
|
-
className={clsx({
|
|
27
|
-
'govgr-checkboxes__label': true,
|
|
28
|
-
'govgr-checkboxes__label--disabled': disabled === true,
|
|
28
|
+
<>
|
|
29
|
+
{divider && <ChoiceDivider text={divider} />}
|
|
30
|
+
<div
|
|
31
|
+
className={clsx(className, {
|
|
32
|
+
'govgr-checkboxes__item': true,
|
|
29
33
|
})}
|
|
30
34
|
>
|
|
31
|
-
|
|
32
|
-
<Base
|
|
33
|
-
as="input"
|
|
34
|
-
ref={ref}
|
|
35
|
-
type="checkbox"
|
|
36
|
-
name={name}
|
|
37
|
-
value={value}
|
|
35
|
+
<LabelContainer
|
|
38
36
|
className={clsx({
|
|
39
|
-
'govgr-
|
|
37
|
+
'govgr-checkboxes__label': true,
|
|
38
|
+
'govgr-checkboxes__label--disabled': disabled === true,
|
|
40
39
|
})}
|
|
41
|
-
|
|
42
|
-
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
>
|
|
41
|
+
{children}
|
|
42
|
+
<Base
|
|
43
|
+
as="input"
|
|
44
|
+
ref={ref}
|
|
45
|
+
type="checkbox"
|
|
46
|
+
name={name}
|
|
47
|
+
value={value}
|
|
48
|
+
className={clsx({
|
|
49
|
+
'govgr-checkboxes__input': true,
|
|
50
|
+
})}
|
|
51
|
+
disabled={disabled}
|
|
52
|
+
{...props}
|
|
53
|
+
/>
|
|
54
|
+
</LabelContainer>
|
|
55
|
+
</div>
|
|
56
|
+
</>
|
|
46
57
|
);
|
|
47
58
|
});
|
|
48
59
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`renders the ChoiceDivider with text prop 1`] = `
|
|
4
|
+
<ForwardRef(ChoiceDivider)
|
|
5
|
+
text="ή"
|
|
6
|
+
>
|
|
7
|
+
<ForwardRef(Base)
|
|
8
|
+
as="div"
|
|
9
|
+
className="govgr-choice-divider"
|
|
10
|
+
>
|
|
11
|
+
<div
|
|
12
|
+
className="govgr-choice-divider"
|
|
13
|
+
>
|
|
14
|
+
ή
|
|
15
|
+
</div>
|
|
16
|
+
</ForwardRef(Base)>
|
|
17
|
+
</ForwardRef(ChoiceDivider)>
|
|
18
|
+
`;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Base, { BaseProps } from '@digigov/react-core/Base';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
|
|
5
|
+
export interface ChoiceDividerProps extends BaseProps<'div'> {
|
|
6
|
+
text?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* ChoiceDivider component adds a text divider on top of a Radio or Checkbox item.
|
|
10
|
+
* It's been used as a prop ("divider") inside RadioItem and CheckboxItem.
|
|
11
|
+
*/
|
|
12
|
+
export const ChoiceDivider = React.forwardRef<HTMLDivElement, ChoiceDividerProps>(
|
|
13
|
+
function ChoiceDivider({ text, className, ...props }, ref) {
|
|
14
|
+
return (
|
|
15
|
+
<Base
|
|
16
|
+
as="div"
|
|
17
|
+
ref={ref}
|
|
18
|
+
className={clsx(className, {
|
|
19
|
+
'govgr-choice-divider': true,
|
|
20
|
+
})}
|
|
21
|
+
{...props}
|
|
22
|
+
>
|
|
23
|
+
{text}
|
|
24
|
+
</Base>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export default ChoiceDivider;
|
|
@@ -8,6 +8,12 @@ export interface NavVerticalItemProps extends BaseProps<'a'> {
|
|
|
8
8
|
* When the NavVerticalItem is active, that means that we are in this option / title / page of the NavVertical.
|
|
9
9
|
*/
|
|
10
10
|
active?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* variant is optional.
|
|
13
|
+
* When variant is spaced, the NavVerticalItem has more padding.
|
|
14
|
+
* When variant is dense, the NavVerticalItem has less padding.
|
|
15
|
+
*/
|
|
16
|
+
variant?: 'spaced' | 'dense';
|
|
11
17
|
}
|
|
12
18
|
/**
|
|
13
19
|
* NavVerticalItem is an <a> element. It should be inside the NavVertical component.
|
|
@@ -15,7 +21,7 @@ export interface NavVerticalItemProps extends BaseProps<'a'> {
|
|
|
15
21
|
export const NavVerticalItem = React.forwardRef<
|
|
16
22
|
HTMLAnchorElement,
|
|
17
23
|
NavVerticalItemProps
|
|
18
|
-
>(function NavVerticalItem({ active, className, children, ...props }, ref) {
|
|
24
|
+
>(function NavVerticalItem({ active, variant = 'spaced', className, children, ...props }, ref) {
|
|
19
25
|
return (
|
|
20
26
|
<Base
|
|
21
27
|
as="a"
|
|
@@ -23,6 +29,7 @@ export const NavVerticalItem = React.forwardRef<
|
|
|
23
29
|
className={clsx(className, {
|
|
24
30
|
'govgr-link': true,
|
|
25
31
|
'govgr-vertical-nav__item': true,
|
|
32
|
+
'govgr-vertical-nav__item--spaced': variant === 'spaced',
|
|
26
33
|
'govgr-vertical-nav__item--active': active === true,
|
|
27
34
|
})}
|
|
28
35
|
{...props}
|