quirk-ui 0.1.205 → 0.1.207
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/dist/{FormField-CC54vtkW.js → FormField-CNsm6oUT.js} +86 -86
- package/dist/FormField-DKM8k1nK.cjs +1 -0
- package/dist/FormField.css +1 -1
- package/dist/core/components/Accordion/Accordion.test.cjs +1 -1
- package/dist/core/components/Accordion/Accordion.test.mjs +1 -1
- package/dist/core/components/Accordion/AccordionItem.test.cjs +1 -1
- package/dist/core/components/Accordion/AccordionItem.test.mjs +1 -1
- package/dist/core/components/Announcement/Announcement.test.cjs +1 -1
- package/dist/core/components/Announcement/Announcement.test.mjs +1 -1
- package/dist/core/components/Avatar/Avatar.test.cjs +1 -1
- package/dist/core/components/Avatar/Avatar.test.mjs +1 -1
- package/dist/core/components/Badge/Badge.test.cjs +1 -1
- package/dist/core/components/Badge/Badge.test.mjs +1 -1
- package/dist/core/components/Box/Box.test.cjs +1 -1
- package/dist/core/components/Box/Box.test.mjs +1 -1
- package/dist/core/components/Breadcrumbs/Breadcrumbs.test.cjs +1 -1
- package/dist/core/components/Breadcrumbs/Breadcrumbs.test.mjs +1 -1
- package/dist/core/components/Button/Button.test.cjs +1 -1
- package/dist/core/components/Button/Button.test.mjs +1 -1
- package/dist/core/components/ButtonGroup/ButtonGroup.test.cjs +1 -1
- package/dist/core/components/ButtonGroup/ButtonGroup.test.mjs +1 -1
- package/dist/core/components/Calendar/Calendar.test.cjs +1 -1
- package/dist/core/components/Calendar/Calendar.test.mjs +1 -1
- package/dist/core/components/Card/Card.test.cjs +1 -1
- package/dist/core/components/Card/Card.test.mjs +1 -1
- package/dist/core/components/Carousel/Carousel.test.cjs +1 -1
- package/dist/core/components/Carousel/Carousel.test.mjs +1 -1
- package/dist/core/components/Checkbox/Checkbox.test.cjs +1 -1
- package/dist/core/components/Checkbox/Checkbox.test.mjs +1 -1
- package/dist/core/components/Container/Container.test.cjs +1 -1
- package/dist/core/components/Container/Container.test.mjs +1 -1
- package/dist/core/components/DatePicker/DatePicker.test.cjs +1 -1
- package/dist/core/components/DatePicker/DatePicker.test.mjs +1 -1
- package/dist/core/components/Divider/Divider.test.cjs +1 -1
- package/dist/core/components/Divider/Divider.test.mjs +1 -1
- package/dist/core/components/Drawer/Drawer.test.cjs +1 -1
- package/dist/core/components/Drawer/Drawer.test.mjs +1 -1
- package/dist/core/components/Fieldset/Fieldset.test.cjs +1 -1
- package/dist/core/components/Fieldset/Fieldset.test.mjs +1 -1
- package/dist/core/components/FileUpload/FileUpload.test.cjs +1 -1
- package/dist/core/components/FileUpload/FileUpload.test.mjs +1 -1
- package/dist/core/components/FloatingActionButton/FloatingActionButton.test.cjs +1 -1
- package/dist/core/components/FloatingActionButton/FloatingActionButton.test.mjs +1 -1
- package/dist/core/components/Footer/Footer.test.cjs +1 -1
- package/dist/core/components/Footer/Footer.test.mjs +1 -1
- package/dist/core/components/Form/Form.test.cjs +1 -1
- package/dist/core/components/Form/Form.test.mjs +1 -1
- package/dist/core/components/Grid/Grid.test.cjs +1 -1
- package/dist/core/components/Grid/Grid.test.mjs +1 -1
- package/dist/core/components/Heading/Heading.test.cjs +1 -1
- package/dist/core/components/Heading/Heading.test.mjs +1 -1
- package/dist/core/components/Input/Input.test.cjs +1 -1
- package/dist/core/components/Input/Input.test.mjs +1 -1
- package/dist/core/components/Label/Label.test.cjs +1 -1
- package/dist/core/components/Label/Label.test.mjs +1 -1
- package/dist/core/components/List/List.test.cjs +1 -1
- package/dist/core/components/List/List.test.mjs +1 -1
- package/dist/core/components/Modal/Modal.test.cjs +6 -1
- package/dist/core/components/Modal/Modal.test.mjs +3190 -315
- package/dist/core/components/Modal/index.cjs +1 -1
- package/dist/core/components/Modal/index.mjs +97 -86
- package/dist/core/components/NavBar/NavBar.test.cjs +1 -1
- package/dist/core/components/NavBar/NavBar.test.mjs +1 -1
- package/dist/core/components/Notification/Notification.test.cjs +1 -1
- package/dist/core/components/Notification/Notification.test.mjs +1 -1
- package/dist/core/components/NotificationContainer/NotificationContainer.test.cjs +1 -1
- package/dist/core/components/NotificationContainer/NotificationContainer.test.mjs +1 -1
- package/dist/core/components/ProgressBar/ProgressBar.test.cjs +1 -1
- package/dist/core/components/ProgressBar/ProgressBar.test.mjs +1 -1
- package/dist/core/components/Radio/Radio.test.cjs +1 -1
- package/dist/core/components/Radio/Radio.test.mjs +1 -1
- package/dist/core/components/Range/Range.test.cjs +1 -1
- package/dist/core/components/Range/Range.test.mjs +1 -1
- package/dist/core/components/Select/Select.test.cjs +1 -1
- package/dist/core/components/Select/Select.test.mjs +1 -1
- package/dist/core/components/Sidebar/Sidebar.test.cjs +1 -1
- package/dist/core/components/Sidebar/Sidebar.test.mjs +1 -1
- package/dist/core/components/Skeleton/Skeleton.test.cjs +1 -1
- package/dist/core/components/Skeleton/Skeleton.test.mjs +1 -1
- package/dist/core/components/Spacer/Spacer.test.cjs +1 -1
- package/dist/core/components/Spacer/Spacer.test.mjs +1 -1
- package/dist/core/components/Spinner/Spinner.test.cjs +1 -1
- package/dist/core/components/Spinner/Spinner.test.mjs +1 -1
- package/dist/core/components/Stack/Stack.test.cjs +1 -1
- package/dist/core/components/Stack/Stack.test.mjs +1 -1
- package/dist/core/components/Switch/Switch.test.cjs +1 -1
- package/dist/core/components/Switch/Switch.test.mjs +1 -1
- package/dist/core/components/Table/Table.test.cjs +1 -1
- package/dist/core/components/Table/Table.test.mjs +1 -1
- package/dist/core/components/Tabs/Tabs.test.cjs +1 -1
- package/dist/core/components/Tabs/Tabs.test.mjs +1 -1
- package/dist/core/components/Text/Text.test.cjs +1 -1
- package/dist/core/components/Text/Text.test.mjs +1 -1
- package/dist/core/components/Textarea/Textarea.test.cjs +1 -1
- package/dist/core/components/Textarea/Textarea.test.mjs +1 -1
- package/dist/core/components/Tooltip/Tooltip.test.cjs +1 -1
- package/dist/core/components/Tooltip/Tooltip.test.mjs +1 -1
- package/dist/index38.css +1 -1
- package/dist/next/blocks/AccordionBlock/AccordionBlock.test.cjs +1 -1
- package/dist/next/blocks/AccordionBlock/AccordionBlock.test.mjs +1 -1
- package/dist/next/blocks/AdditionalCategoriesBlock/AdditionalCategoriesBlock.test.cjs +1 -1
- package/dist/next/blocks/AdditionalCategoriesBlock/AdditionalCategoriesBlock.test.mjs +1 -1
- package/dist/next/blocks/CardGridBlock/CardGridBlock.test.cjs +1 -1
- package/dist/next/blocks/CardGridBlock/CardGridBlock.test.mjs +1 -1
- package/dist/next/blocks/CarouselBlock/CarouselBlock.test.cjs +1 -1
- package/dist/next/blocks/CarouselBlock/CarouselBlock.test.mjs +1 -1
- package/dist/next/blocks/ContentBlock/ContentBlock.test.cjs +1 -1
- package/dist/next/blocks/ContentBlock/ContentBlock.test.mjs +1 -1
- package/dist/next/blocks/DocumentListBlock/CategoryFilters.test.cjs +1 -1
- package/dist/next/blocks/DocumentListBlock/CategoryFilters.test.mjs +1 -1
- package/dist/next/blocks/DocumentListBlock/DocumentListBlock.test.cjs +1 -1
- package/dist/next/blocks/DocumentListBlock/DocumentListBlock.test.mjs +1 -1
- package/dist/next/blocks/FeaturedDocumentsBlock/FeaturedDocumentsBlock.test.cjs +1 -1
- package/dist/next/blocks/FeaturedDocumentsBlock/FeaturedDocumentsBlock.test.mjs +1 -1
- package/dist/next/blocks/FormBlock/FormBlock.test.cjs +1 -1
- package/dist/next/blocks/FormBlock/FormBlock.test.mjs +1 -1
- package/dist/next/blocks/FormBlock/FormField.cjs +1 -1
- package/dist/next/blocks/FormBlock/FormField.mjs +1 -1
- package/dist/next/blocks/FormBlock/FormField.test.cjs +1 -1
- package/dist/next/blocks/FormBlock/FormField.test.mjs +1 -1
- package/dist/next/blocks/FormBlock/index.cjs +1 -1
- package/dist/next/blocks/FormBlock/index.mjs +1 -1
- package/dist/next/blocks/HeroBlock/HeroBlock.test.cjs +1 -1
- package/dist/next/blocks/HeroBlock/HeroBlock.test.mjs +1 -1
- package/dist/next/blocks/HeroBlock/HeroContext.test.cjs +1 -1
- package/dist/next/blocks/HeroBlock/HeroContext.test.mjs +1 -1
- package/dist/next/blocks/HeroBlock/HeroSubComponents.test.cjs +1 -1
- package/dist/next/blocks/HeroBlock/HeroSubComponents.test.mjs +1 -1
- package/dist/next/blocks/MarkdownBlock/MarkdownBlock.test.cjs +1 -1
- package/dist/next/blocks/MarkdownBlock/MarkdownBlock.test.mjs +1 -1
- package/dist/next/blocks/QuoteBlock/QuoteBlock.test.cjs +1 -1
- package/dist/next/blocks/QuoteBlock/QuoteBlock.test.mjs +1 -1
- package/dist/next/blocks/RichTextBlock/RichTextBlock.test.cjs +1 -1
- package/dist/next/blocks/RichTextBlock/RichTextBlock.test.mjs +1 -1
- package/dist/next/blocks/StickyScrollBlock/StickyScrollBlock.test.cjs +1 -1
- package/dist/next/blocks/StickyScrollBlock/StickyScrollBlock.test.mjs +1 -1
- package/dist/next/blocks/TabsBlock/TabsBlock.test.cjs +1 -1
- package/dist/next/blocks/TabsBlock/TabsBlock.test.mjs +1 -1
- package/dist/next/blocks/WasHelpfulBlock/WasHelpfulBlock.test.cjs +1 -1
- package/dist/next/blocks/WasHelpfulBlock/WasHelpfulBlock.test.mjs +1 -1
- package/dist/next/cards/BioCard/BioCard.test.cjs +1 -1
- package/dist/next/cards/BioCard/BioCard.test.mjs +1 -1
- package/dist/next/cards/BlogArticleCard/BlogArticleCard.test.cjs +1 -1
- package/dist/next/cards/BlogArticleCard/BlogArticleCard.test.mjs +1 -1
- package/dist/next/cards/BlogArticleCardAdapter.test.cjs +1 -1
- package/dist/next/cards/BlogArticleCardAdapter.test.mjs +1 -1
- package/dist/next/cards/GridCard/GridCard.test.cjs +1 -1
- package/dist/next/cards/GridCard/GridCard.test.mjs +1 -1
- package/dist/next/cards/ProductCard/ProductCard.test.cjs +1 -1
- package/dist/next/cards/ProductCard/ProductCard.test.mjs +1 -1
- package/dist/next/cards/ReviewCard/ReviewCard.test.cjs +1 -1
- package/dist/next/cards/ReviewCard/ReviewCard.test.mjs +1 -1
- package/dist/next/cards/SegmentCard/SegmentCard.test.cjs +1 -1
- package/dist/next/cards/SegmentCard/SegmentCard.test.mjs +1 -1
- package/dist/next/cards/ServiceCard/ServiceCard.test.cjs +1 -1
- package/dist/next/cards/ServiceCard/ServiceCard.test.mjs +1 -1
- package/dist/next/cards/SpotlightCard/SpotlightCard.test.cjs +1 -1
- package/dist/next/cards/SpotlightCard/SpotlightCard.test.mjs +1 -1
- package/dist/next/cards/SpotlightCardAdapter.test.cjs +1 -1
- package/dist/next/cards/SpotlightCardAdapter.test.mjs +1 -1
- package/dist/next/cards/TestimonialCard/TestimonialCard.test.cjs +1 -1
- package/dist/next/cards/TestimonialCard/TestimonialCard.test.mjs +1 -1
- package/dist/{react.esm-DjxyacK8.js → react.esm-DKyXDL7m.js} +1 -0
- package/dist/{react.esm-C_9Ma9mj.cjs → react.esm-Dmjx7ihM.cjs} +15 -15
- package/package.json +1 -1
- package/dist/AccordionItem.css.d.ts +0 -13
- package/dist/CategoryFilters.css.d.ts +0 -31
- package/dist/FormField-CrjRuF3o.cjs +0 -1
- package/dist/FormField.css.d.ts +0 -29
- package/dist/HeroSubComponents.css.d.ts +0 -36
- package/dist/NavLink.css.d.ts +0 -95
- package/dist/index.css.d.ts +0 -1
- package/dist/index10.css.d.ts +0 -10
- package/dist/index11.css.d.ts +0 -26
- package/dist/index12.css.d.ts +0 -24
- package/dist/index13.css.d.ts +0 -38
- package/dist/index14.css.d.ts +0 -9
- package/dist/index15.css.d.ts +0 -10
- package/dist/index16.css.d.ts +0 -18
- package/dist/index17.css.d.ts +0 -38
- package/dist/index18.css.d.ts +0 -16
- package/dist/index19.css.d.ts +0 -14
- package/dist/index2.css.d.ts +0 -12
- package/dist/index20.css.d.ts +0 -17
- package/dist/index21.css.d.ts +0 -13
- package/dist/index22.css.d.ts +0 -25
- package/dist/index23.css.d.ts +0 -5
- package/dist/index24.css.d.ts +0 -19
- package/dist/index25.css.d.ts +0 -21
- package/dist/index26.css.d.ts +0 -16
- package/dist/index27.css.d.ts +0 -10
- package/dist/index28.css.d.ts +0 -18
- package/dist/index29.css.d.ts +0 -16
- package/dist/index3.css.d.ts +0 -10
- package/dist/index30.css.d.ts +0 -10
- package/dist/index31.css.d.ts +0 -19
- package/dist/index32.css.d.ts +0 -15
- package/dist/index33.css.d.ts +0 -22
- package/dist/index34.css.d.ts +0 -15
- package/dist/index35.css.d.ts +0 -14
- package/dist/index36.css.d.ts +0 -23
- package/dist/index37.css.d.ts +0 -14
- package/dist/index38.css.d.ts +0 -20
- package/dist/index39.css.d.ts +0 -21
- package/dist/index4.css.d.ts +0 -22
- package/dist/index40.css.d.ts +0 -20
- package/dist/index41.css.d.ts +0 -17
- package/dist/index42.css.d.ts +0 -14
- package/dist/index43.css.d.ts +0 -22
- package/dist/index44.css.d.ts +0 -8
- package/dist/index45.css.d.ts +0 -35
- package/dist/index46.css.d.ts +0 -13
- package/dist/index47.css.d.ts +0 -23
- package/dist/index48.css.d.ts +0 -12
- package/dist/index49.css.d.ts +0 -19
- package/dist/index5.css.d.ts +0 -20
- package/dist/index50.css.d.ts +0 -20
- package/dist/index51.css.d.ts +0 -20
- package/dist/index52.css.d.ts +0 -27
- package/dist/index53.css.d.ts +0 -17
- package/dist/index54.css.d.ts +0 -11
- package/dist/index55.css.d.ts +0 -12
- package/dist/index56.css.d.ts +0 -14
- package/dist/index57.css.d.ts +0 -20
- package/dist/index58.css.d.ts +0 -24
- package/dist/index59.css.d.ts +0 -13
- package/dist/index6.css.d.ts +0 -40
- package/dist/index60.css.d.ts +0 -12
- package/dist/index61.css.d.ts +0 -20
- package/dist/index62.css.d.ts +0 -20
- package/dist/index63.css.d.ts +0 -18
- package/dist/index64.css.d.ts +0 -22
- package/dist/index65.css.d.ts +0 -28
- package/dist/index66.css.d.ts +0 -26
- package/dist/index67.css.d.ts +0 -19
- package/dist/index7.css.d.ts +0 -32
- package/dist/index8.css.d.ts +0 -9
- package/dist/index9.css.d.ts +0 -7
- package/dist/styles.css.d.ts +0 -1
- package/dist/tokens.css.d.ts +0 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { Input as
|
|
3
|
-
import { Textarea as
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { Input as q } from "./core/components/Input/index.mjs";
|
|
3
|
+
import { Textarea as v } from "./core/components/Textarea/index.mjs";
|
|
4
4
|
import { Select as m } from "./core/components/Select/index.mjs";
|
|
5
5
|
import { Checkbox as _ } from "./core/components/Checkbox/index.mjs";
|
|
6
|
-
import { Radio as
|
|
6
|
+
import { Radio as T } from "./core/components/Radio/index.mjs";
|
|
7
7
|
import { Fieldset as h } from "./core/components/Fieldset/index.mjs";
|
|
8
|
-
import { DatePicker as
|
|
9
|
-
import { Range as
|
|
10
|
-
import './FormField.css';const
|
|
11
|
-
formBlock:
|
|
12
|
-
container:
|
|
13
|
-
formInner:
|
|
14
|
-
maxWidthSm:
|
|
15
|
-
maxWidthMd:
|
|
16
|
-
maxWidthLg:
|
|
8
|
+
import { DatePicker as W } from "./core/components/DatePicker/index.mjs";
|
|
9
|
+
import { Range as k } from "./core/components/Range/index.mjs";
|
|
10
|
+
import './FormField.css';const w = "_formBlock_18qf1_1", L = "_container_18qf1_7", C = "_formInner_18qf1_20", F = "_maxWidthSm_18qf1_26", y = "_maxWidthMd_18qf1_29", B = "_maxWidthLg_18qf1_32", S = "_maxWidthFull_18qf1_35", H = "_heading_18qf1_41", G = "_eyebrow_18qf1_47", M = "_title_18qf1_51", $ = "_disclaimer_18qf1_55", I = "_progress_18qf1_61", D = "_progressHeader_18qf1_67", O = "_stepLabel_18qf1_73", V = "_stepCount_18qf1_79", P = "_stepDescription_18qf1_84", R = "_fields_18qf1_92", j = "_fieldFull_18qf1_99", N = "_fieldHalf_18qf1_103", z = "_fieldThird_18qf1_111", A = "_actions_18qf1_121", E = "_submitButton_18qf1_128", J = "_success_18qf1_134", K = "_errorBanner_18qf1_149", u = {
|
|
11
|
+
formBlock: w,
|
|
12
|
+
container: L,
|
|
13
|
+
formInner: C,
|
|
14
|
+
maxWidthSm: F,
|
|
15
|
+
maxWidthMd: y,
|
|
16
|
+
maxWidthLg: B,
|
|
17
17
|
maxWidthFull: S,
|
|
18
18
|
heading: H,
|
|
19
19
|
eyebrow: G,
|
|
@@ -34,35 +34,35 @@ import './FormField.css';const L = "_formBlock_1lllk_1", C = "_container_1lllk_7
|
|
|
34
34
|
errorBanner: K
|
|
35
35
|
};
|
|
36
36
|
function c(e) {
|
|
37
|
-
return (e ?? []).map((
|
|
38
|
-
label:
|
|
39
|
-
value:
|
|
40
|
-
disabled:
|
|
37
|
+
return (e ?? []).map((r) => ({
|
|
38
|
+
label: r.label,
|
|
39
|
+
value: r.value.current,
|
|
40
|
+
disabled: r.disabled
|
|
41
41
|
}));
|
|
42
42
|
}
|
|
43
43
|
function p(e) {
|
|
44
|
-
return (e ?? []).map((
|
|
45
|
-
label:
|
|
46
|
-
options:
|
|
47
|
-
label:
|
|
48
|
-
value:
|
|
49
|
-
disabled:
|
|
44
|
+
return (e ?? []).map((r) => ({
|
|
45
|
+
label: r.label,
|
|
46
|
+
options: r.options.map((n) => ({
|
|
47
|
+
label: n.label,
|
|
48
|
+
value: n.value.current,
|
|
49
|
+
disabled: n.disabled
|
|
50
50
|
}))
|
|
51
51
|
}));
|
|
52
52
|
}
|
|
53
|
-
function
|
|
54
|
-
const
|
|
53
|
+
function ne({ field: e, value: r, error: n, onChange: o }) {
|
|
54
|
+
const a = e.name.current, b = {
|
|
55
55
|
full: u.fieldFull,
|
|
56
56
|
half: u.fieldHalf,
|
|
57
57
|
third: u.fieldThird
|
|
58
58
|
}[e.width ?? "full"], i = {
|
|
59
|
-
id:
|
|
60
|
-
name:
|
|
59
|
+
id: a,
|
|
60
|
+
name: a,
|
|
61
61
|
label: e.label,
|
|
62
62
|
required: e.required,
|
|
63
63
|
disabled: e.disabled,
|
|
64
64
|
helperText: e.helperText,
|
|
65
|
-
error:
|
|
65
|
+
error: n
|
|
66
66
|
}, d = () => {
|
|
67
67
|
switch (e.fieldType) {
|
|
68
68
|
// ── Text-based inputs ──────────────────────────────────────────────
|
|
@@ -71,67 +71,67 @@ function ae({ field: e, value: t, error: a, onChange: o }) {
|
|
|
71
71
|
case "phone":
|
|
72
72
|
case "number":
|
|
73
73
|
case "url":
|
|
74
|
-
return /* @__PURE__ */
|
|
75
|
-
|
|
74
|
+
return /* @__PURE__ */ s(
|
|
75
|
+
q,
|
|
76
76
|
{
|
|
77
77
|
...i,
|
|
78
78
|
type: e.fieldType === "phone" ? "tel" : e.fieldType,
|
|
79
79
|
placeholder: e.placeholder,
|
|
80
|
-
value:
|
|
80
|
+
value: r ?? "",
|
|
81
81
|
minLength: e.minLength,
|
|
82
82
|
maxLength: e.maxLength,
|
|
83
83
|
fullWidth: !0,
|
|
84
|
-
onChange: (
|
|
84
|
+
onChange: (t) => o(a, t.target.value)
|
|
85
85
|
}
|
|
86
86
|
);
|
|
87
87
|
// ── Textarea ───────────────────────────────────────────────────────
|
|
88
88
|
case "textarea":
|
|
89
|
-
return /* @__PURE__ */
|
|
90
|
-
|
|
89
|
+
return /* @__PURE__ */ s(
|
|
90
|
+
v,
|
|
91
91
|
{
|
|
92
92
|
...i,
|
|
93
93
|
placeholder: e.placeholder,
|
|
94
|
-
value:
|
|
94
|
+
value: r ?? "",
|
|
95
95
|
rows: e.rows ?? 4,
|
|
96
96
|
maxLength: e.maxLength,
|
|
97
97
|
showCharCount: e.showCharCount,
|
|
98
98
|
fullWidth: !0,
|
|
99
|
-
onChange: (
|
|
99
|
+
onChange: (t) => o(a, t.target.value)
|
|
100
100
|
}
|
|
101
101
|
);
|
|
102
102
|
// ── Select ─────────────────────────────────────────────────────────
|
|
103
103
|
case "select": {
|
|
104
|
-
const
|
|
105
|
-
return /* @__PURE__ */
|
|
104
|
+
const t = e.useOptionGroups ? p(e.optionGroups) : c(e.options);
|
|
105
|
+
return /* @__PURE__ */ s(
|
|
106
106
|
m,
|
|
107
107
|
{
|
|
108
108
|
...i,
|
|
109
109
|
placeholder: e.placeholder,
|
|
110
|
-
options:
|
|
111
|
-
value:
|
|
110
|
+
options: t,
|
|
111
|
+
value: r ?? "",
|
|
112
112
|
fullWidth: !0,
|
|
113
|
-
onChange: (
|
|
113
|
+
onChange: (l) => o(a, l.target.value)
|
|
114
114
|
}
|
|
115
115
|
);
|
|
116
116
|
}
|
|
117
117
|
// ── Multi-select ───────────────────────────────────────────────────
|
|
118
118
|
case "multiselect": {
|
|
119
|
-
const
|
|
120
|
-
return /* @__PURE__ */
|
|
119
|
+
const t = e.useOptionGroups ? p(e.optionGroups) : c(e.options);
|
|
120
|
+
return /* @__PURE__ */ s(
|
|
121
121
|
m,
|
|
122
122
|
{
|
|
123
123
|
...i,
|
|
124
124
|
multiple: !0,
|
|
125
|
-
options:
|
|
126
|
-
value:
|
|
125
|
+
options: t,
|
|
126
|
+
value: r ?? [],
|
|
127
127
|
showSelectedCount: !0,
|
|
128
|
-
onChange: (
|
|
128
|
+
onChange: (l) => o(a, l)
|
|
129
129
|
}
|
|
130
130
|
);
|
|
131
131
|
}
|
|
132
132
|
// ── Single checkbox ────────────────────────────────────────────────
|
|
133
133
|
case "checkbox":
|
|
134
|
-
return /* @__PURE__ */
|
|
134
|
+
return /* @__PURE__ */ s(
|
|
135
135
|
_,
|
|
136
136
|
{
|
|
137
137
|
id: i.id,
|
|
@@ -139,96 +139,96 @@ function ae({ field: e, value: t, error: a, onChange: o }) {
|
|
|
139
139
|
label: e.label,
|
|
140
140
|
required: e.required,
|
|
141
141
|
disabled: e.disabled,
|
|
142
|
-
helperText:
|
|
143
|
-
error: !!
|
|
144
|
-
checked:
|
|
145
|
-
onChange: (
|
|
142
|
+
helperText: n ?? e.helperText,
|
|
143
|
+
error: !!n,
|
|
144
|
+
checked: r ?? !1,
|
|
145
|
+
onChange: (t) => o(a, t.target.checked)
|
|
146
146
|
}
|
|
147
147
|
);
|
|
148
148
|
// ── Checkbox group ─────────────────────────────────────────────────
|
|
149
149
|
case "checkboxGroup": {
|
|
150
|
-
const
|
|
151
|
-
return /* @__PURE__ */
|
|
150
|
+
const t = r ?? [];
|
|
151
|
+
return /* @__PURE__ */ s(h, { legend: e.label, error: !!n, helperText: n, children: c(e.options).map((l) => /* @__PURE__ */ s(
|
|
152
152
|
_,
|
|
153
153
|
{
|
|
154
|
-
id: `${
|
|
155
|
-
name: `${
|
|
156
|
-
label:
|
|
157
|
-
checked:
|
|
158
|
-
disabled:
|
|
154
|
+
id: `${a}-${l.value}`,
|
|
155
|
+
name: `${a}[]`,
|
|
156
|
+
label: l.label,
|
|
157
|
+
checked: t.includes(l.value),
|
|
158
|
+
disabled: l.disabled || e.disabled,
|
|
159
159
|
onChange: (x) => {
|
|
160
|
-
const
|
|
161
|
-
o(
|
|
160
|
+
const f = x.target.checked ? [...t, l.value] : t.filter((g) => g !== l.value);
|
|
161
|
+
o(a, f);
|
|
162
162
|
}
|
|
163
163
|
},
|
|
164
|
-
|
|
164
|
+
l.value
|
|
165
165
|
)) });
|
|
166
166
|
}
|
|
167
167
|
// ── Radio group ────────────────────────────────────────────────────
|
|
168
168
|
case "radio":
|
|
169
|
-
return /* @__PURE__ */
|
|
170
|
-
|
|
169
|
+
return /* @__PURE__ */ s(h, { legend: e.label, error: !!n, helperText: n, children: c(e.options).map((t) => /* @__PURE__ */ s(
|
|
170
|
+
T,
|
|
171
171
|
{
|
|
172
|
-
id: `${
|
|
173
|
-
name:
|
|
174
|
-
value:
|
|
175
|
-
label:
|
|
176
|
-
checked:
|
|
177
|
-
disabled:
|
|
172
|
+
id: `${a}-${t.value}`,
|
|
173
|
+
name: a,
|
|
174
|
+
value: t.value,
|
|
175
|
+
label: t.label,
|
|
176
|
+
checked: r === t.value,
|
|
177
|
+
disabled: t.disabled || e.disabled,
|
|
178
178
|
required: e.required,
|
|
179
|
-
onChange: () => o(
|
|
179
|
+
onChange: () => o(a, t.value)
|
|
180
180
|
},
|
|
181
|
-
|
|
181
|
+
t.value
|
|
182
182
|
)) });
|
|
183
183
|
// ── Date picker ────────────────────────────────────────────────────
|
|
184
184
|
case "date":
|
|
185
|
-
return /* @__PURE__ */
|
|
186
|
-
|
|
185
|
+
return /* @__PURE__ */ s(
|
|
186
|
+
W,
|
|
187
187
|
{
|
|
188
188
|
id: i.id,
|
|
189
189
|
name: i.name,
|
|
190
190
|
label: e.label,
|
|
191
191
|
required: e.required,
|
|
192
192
|
disabled: e.disabled,
|
|
193
|
-
helperText:
|
|
194
|
-
error: !!
|
|
195
|
-
value:
|
|
196
|
-
onChange: (
|
|
193
|
+
helperText: n ?? e.helperText,
|
|
194
|
+
error: !!n,
|
|
195
|
+
value: r ?? null,
|
|
196
|
+
onChange: (t) => o(a, t)
|
|
197
197
|
}
|
|
198
198
|
);
|
|
199
199
|
// ── Range ──────────────────────────────────────────────────────────
|
|
200
200
|
case "range":
|
|
201
|
-
return /* @__PURE__ */
|
|
202
|
-
|
|
201
|
+
return /* @__PURE__ */ s(
|
|
202
|
+
k,
|
|
203
203
|
{
|
|
204
204
|
...i,
|
|
205
|
-
value:
|
|
205
|
+
value: r ?? e.rangeMin ?? 0,
|
|
206
206
|
min: e.rangeMin ?? 0,
|
|
207
207
|
max: e.rangeMax ?? 100,
|
|
208
208
|
step: e.rangeStep ?? 1,
|
|
209
209
|
valuePrefix: e.rangeValuePrefix,
|
|
210
210
|
valueSuffix: e.rangeValueSuffix,
|
|
211
211
|
showValue: !0,
|
|
212
|
-
onChange: (
|
|
212
|
+
onChange: (t) => o(a, t)
|
|
213
213
|
}
|
|
214
214
|
);
|
|
215
215
|
// ── Hidden ─────────────────────────────────────────────────────────
|
|
216
216
|
case "hidden":
|
|
217
|
-
return /* @__PURE__ */
|
|
217
|
+
return /* @__PURE__ */ s(
|
|
218
218
|
"input",
|
|
219
219
|
{
|
|
220
220
|
type: "hidden",
|
|
221
|
-
name:
|
|
222
|
-
value:
|
|
221
|
+
name: a,
|
|
222
|
+
value: r ?? e.hiddenValue ?? ""
|
|
223
223
|
}
|
|
224
224
|
);
|
|
225
225
|
default:
|
|
226
226
|
return null;
|
|
227
227
|
}
|
|
228
228
|
};
|
|
229
|
-
return e.fieldType === "hidden" ? d() : /* @__PURE__ */
|
|
229
|
+
return e.fieldType === "hidden" ? d() : /* @__PURE__ */ s("div", { className: `${b}`, children: d() });
|
|
230
230
|
}
|
|
231
231
|
export {
|
|
232
|
-
|
|
232
|
+
ne as F,
|
|
233
233
|
u as s
|
|
234
234
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";require('./FormField.css');const a=require("react/jsx-runtime"),f=require("./core/components/Input/index.cjs"),v=require("./core/components/Textarea/index.cjs"),_=require("./core/components/Select/index.cjs"),h=require("./core/components/Checkbox/index.cjs"),T=require("./core/components/Radio/index.cjs"),p=require("./core/components/Fieldset/index.cjs"),k=require("./core/components/DatePicker/index.cjs"),W=require("./core/components/Range/index.cjs"),F="_formBlock_18qf1_1",j="_container_18qf1_7",C="_formInner_18qf1_20",w="_maxWidthSm_18qf1_26",L="_maxWidthMd_18qf1_29",y="_maxWidthLg_18qf1_32",S="_maxWidthFull_18qf1_35",B="_heading_18qf1_41",$="_eyebrow_18qf1_47",H="_title_18qf1_51",G="_disclaimer_18qf1_55",I="_progress_18qf1_61",M="_progressHeader_18qf1_67",D="_stepLabel_18qf1_73",O="_stepCount_18qf1_79",P="_stepDescription_18qf1_84",R="_fields_18qf1_92",V="_fieldFull_18qf1_99",N="_fieldHalf_18qf1_103",z="_fieldThird_18qf1_111",A="_actions_18qf1_121",E="_submitButton_18qf1_128",J="_success_18qf1_134",K="_errorBanner_18qf1_149",u={formBlock:F,container:j,formInner:C,maxWidthSm:w,maxWidthMd:L,maxWidthLg:y,maxWidthFull:S,heading:B,eyebrow:$,title:H,disclaimer:G,progress:I,progressHeader:M,stepLabel:D,stepCount:O,stepDescription:P,fields:R,fieldFull:V,fieldHalf:N,fieldThird:z,actions:A,submitButton:E,success:J,errorBanner:K};function i(e){return(e??[]).map(n=>({label:n.label,value:n.value.current,disabled:n.disabled}))}function m(e){return(e??[]).map(n=>({label:n.label,options:n.options.map(s=>({label:s.label,value:s.value.current,disabled:s.disabled}))}))}function Q({field:e,value:n,error:s,onChange:l}){const r=e.name.current,x={full:u.fieldFull,half:u.fieldHalf,third:u.fieldThird}[e.width??"full"],c={id:r,name:r,label:e.label,required:e.required,disabled:e.disabled,helperText:e.helperText,error:s},d=()=>{switch(e.fieldType){case"text":case"email":case"phone":case"number":case"url":return a.jsx(f.Input,{...c,type:e.fieldType==="phone"?"tel":e.fieldType,placeholder:e.placeholder,value:n??"",minLength:e.minLength,maxLength:e.maxLength,fullWidth:!0,onChange:t=>l(r,t.target.value)});case"textarea":return a.jsx(v.Textarea,{...c,placeholder:e.placeholder,value:n??"",rows:e.rows??4,maxLength:e.maxLength,showCharCount:e.showCharCount,fullWidth:!0,onChange:t=>l(r,t.target.value)});case"select":{const t=e.useOptionGroups?m(e.optionGroups):i(e.options);return a.jsx(_.Select,{...c,placeholder:e.placeholder,options:t,value:n??"",fullWidth:!0,onChange:o=>l(r,o.target.value)})}case"multiselect":{const t=e.useOptionGroups?m(e.optionGroups):i(e.options);return a.jsx(_.Select,{...c,multiple:!0,options:t,value:n??[],showSelectedCount:!0,onChange:o=>l(r,o)})}case"checkbox":return a.jsx(h.Checkbox,{id:c.id,name:c.name,label:e.label,required:e.required,disabled:e.disabled,helperText:s??e.helperText,error:!!s,checked:n??!1,onChange:t=>l(r,t.target.checked)});case"checkboxGroup":{const t=n??[];return a.jsx(p.Fieldset,{legend:e.label,error:!!s,helperText:s,children:i(e.options).map(o=>a.jsx(h.Checkbox,{id:`${r}-${o.value}`,name:`${r}[]`,label:o.label,checked:t.includes(o.value),disabled:o.disabled||e.disabled,onChange:b=>{const q=b.target.checked?[...t,o.value]:t.filter(g=>g!==o.value);l(r,q)}},o.value))})}case"radio":return a.jsx(p.Fieldset,{legend:e.label,error:!!s,helperText:s,children:i(e.options).map(t=>a.jsx(T.Radio,{id:`${r}-${t.value}`,name:r,value:t.value,label:t.label,checked:n===t.value,disabled:t.disabled||e.disabled,required:e.required,onChange:()=>l(r,t.value)},t.value))});case"date":return a.jsx(k.DatePicker,{id:c.id,name:c.name,label:e.label,required:e.required,disabled:e.disabled,helperText:s??e.helperText,error:!!s,value:n??null,onChange:t=>l(r,t)});case"range":return a.jsx(W.Range,{...c,value:n??e.rangeMin??0,min:e.rangeMin??0,max:e.rangeMax??100,step:e.rangeStep??1,valuePrefix:e.rangeValuePrefix,valueSuffix:e.rangeValueSuffix,showValue:!0,onChange:t=>l(r,t)});case"hidden":return a.jsx("input",{type:"hidden",name:r,value:n??e.hiddenValue??""});default:return null}};return e.fieldType==="hidden"?d():a.jsx("div",{className:`${x}`,children:d()})}exports.FormField=Q;exports.styles=u;
|
package/dist/FormField.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._formBlock_18qf1_1{width:100%;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}._container_18qf1_7{width:100%;max-width:var(--layout-width, 1250px);margin:0 auto;padding-left:var(--site-gutter);padding-right:var(--site-gutter);display:flex;flex-direction:column;gap:var(--spacing-lg)}._formInner_18qf1_20{width:100%;margin-left:auto;margin-right:auto}._maxWidthSm_18qf1_26{max-width:480px}._maxWidthMd_18qf1_29{max-width:640px}._maxWidthLg_18qf1_32{max-width:800px}._maxWidthFull_18qf1_35{max-width:100%}._heading_18qf1_41{display:flex;flex-direction:column;gap:var(--spacing-sm)}._eyebrow_18qf1_47{font-weight:var(--font-weight-bold)}._title_18qf1_51{text-wrap:balance}._disclaimer_18qf1_55{font-size:var(--font-size-sm)}._progress_18qf1_61{display:flex;flex-direction:column;gap:var(--spacing-sm)}._progressHeader_18qf1_67{display:flex;justify-content:space-between;align-items:center}._stepLabel_18qf1_73{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--color-text-primary)}._stepCount_18qf1_79{font-size:var(--font-size-sm);color:var(--color-secondary-50)}._stepDescription_18qf1_84{color:var(--color-secondary-75);font-size:var(--font-size-md);margin:0}._fields_18qf1_92{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}._fieldFull_18qf1_99{width:100%}._fieldHalf_18qf1_103{width:calc(50% - var(--spacing-md) / 2)}@media (max-width: 767px){._fieldHalf_18qf1_103{width:100%}}._fieldThird_18qf1_111{width:calc(33.333% - var(--spacing-md) * 2 / 3)}@media (max-width: 767px){._fieldThird_18qf1_111{width:100%}}._actions_18qf1_121{display:flex;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-sm)}._submitButton_18qf1_128{margin-left:auto}._success_18qf1_134{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-md) 0 0}._success_18qf1_134 p{color:var(--color-states-success-bg);font-weight:var(--font-weight-semibold)}._errorBanner_18qf1_149{padding:var(--spacing-md);background-color:var(--color-states-error-bg);color:var(--color-states-error-text);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.removePaddingAll ._container_18qf1_7{padding:0}.split ._container_18qf1_7{flex-direction:row;gap:3rem}.split ._heading_18qf1_41,.split form{flex:.5}@media (max-width: 767px){.split ._container_18qf1_7{flex-direction:column}.split ._heading_18qf1_41,.split form{flex:1}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Accordion",()=>{const o=[{id:"item1",title:"Title 1",description:"Content 1"},{id:"item2",title:"Title 2",description:"Content 2"},{id:"item3",title:"Title 3",description:"Content 3"}];e.describe("Rendering",()=>{e.it("renders all accordion items",()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0})),e.globalExpect(e.screen.getByText("Title 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Title 2")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Title 3")).toBeInTheDocument()}),e.it("renders with custom className",()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o,className:"custom-class"})),i=t.querySelector(".custom-class");e.globalExpect(i).toBeInTheDocument()}),e.it("renders content as ReactNode",()=>{const t=[{id:"item1",title:"Title",description:n.jsx("div",{"data-testid":"custom-content",children:"Custom Content"})}];e.render(n.jsx(r.Accordion,{items:t})),e.globalExpect(e.screen.getByTestId("custom-content")).toBeInTheDocument()})}),e.describe("Accessibility",()=>{e.it("has correct ARIA attributes when closed",()=>{e.render(n.jsx(r.Accordion,{items:o}));const t=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(t).toHaveAttribute("aria-expanded","false")}),e.it("has correct ARIA attributes when open",async()=>{e.render(n.jsx(r.Accordion,{items:o}));const t=e.screen.getByRole("button",{name:/Title 1/i});e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveAttribute("aria-expanded","true")})}),e.it("has proper aria-controls and role attributes",()=>{e.render(n.jsx(r.Accordion,{items:o}));const i=e.screen.getByRole("button",{name:/Title 1/i}).getAttribute("aria-controls");e.globalExpect(i).toBeTruthy();const a=document.getElementById(i);e.globalExpect(a).toHaveAttribute("role","region")})}),e.describe("Single mode (multiple=false)",()=>{e.it("opens an item when clicked",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),await e.waitForWrapper(()=>{const i=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(i).toHaveAttribute("aria-expanded","true")})}),e.it("closes the current item when clicking a different item",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false")})}),e.it("closes an open item when clicking it again",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false")})})}),e.describe("Multiple mode (multiple=true)",()=>{e.it("allows multiple items to be open simultaneously",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")})}),e.it("closes individual items independently",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")})})}),e.describe("Default open items",()=>{e.it("opens items specified in defaultOpenItems",()=>{e.render(n.jsx(r.Accordion,{items:o,defaultOpenItems:["item1","item3"],multiple:!0})),e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","false"),e.globalExpect(e.screen.getByRole("button",{name:/Title 3/i})).toHaveAttribute("aria-expanded","true")})}),e.describe("Callbacks",()=>{e.it("calls onItemToggle when item is opened",async()=>{const t=e.vi.fn();e.render(n.jsx(r.Accordion,{items:o,onItemToggle:t}));const i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!0)})}),e.it("calls onItemToggle when item is closed",async()=>{const t=e.vi.fn();e.render(n.jsx(r.Accordion,{items:o,onItemToggle:t}));const i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!0)}),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!1)})})}),e.describe("CSS Classes",()=>{e.it("applies active class to open accordion header",async()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o})),i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{const a=t.querySelector("button.active");e.globalExpect(a).toBeInTheDocument()})}),e.it("applies rotate class to icon when open",async()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o})),i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{const a=t.querySelector(".rotate");e.globalExpect(a).toBeInTheDocument()})})}),e.describe("Edge cases",()=>{e.it("handles empty items array",()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:[]})),i=t.querySelector(".accordion");e.globalExpect(i==null?void 0:i.children).toHaveLength(0)}),e.it("handles rapid clicking",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),e.fireEvent.click(t),e.fireEvent.click(t),await e.waitForWrapper(()=>{const i=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(i).toHaveAttribute("aria-expanded","true")})})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { d, i as l, r as c, g as i, s as t, f as o, w as u, v as T } from "../../../react.esm-
|
|
2
|
+
import { d, i as l, r as c, g as i, s as t, f as o, w as u, v as T } from "../../../react.esm-DKyXDL7m.js";
|
|
3
3
|
import { Accordion as s } from "./index.mjs";
|
|
4
4
|
import "../../../index-DPGXWTtt.js";
|
|
5
5
|
d("Accordion", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const o=require("react/jsx-runtime"),e=require("../../../react.esm-
|
|
1
|
+
"use strict";const o=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),c=require("../../../AccordionItem-DulgZilf.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("AccordionItem",()=>{const i=e.vi.fn(),n={id:"test-item",title:"Test Title",description:"Test Description",isOpen:!1,onToggle:i};beforeEach(()=>{i.mockClear()}),e.describe("Rendering",()=>{e.it("renders title and description",()=>{e.render(o.jsx(c.AccordionItem,{...n})),e.globalExpect(e.screen.getByText("Test Title")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Description")).toBeInTheDocument()}),e.it("renders ReactNode as description",()=>{e.render(o.jsx(c.AccordionItem,{...n,description:o.jsx("div",{"data-testid":"custom-node",children:"Custom Content"})})),e.globalExpect(e.screen.getByTestId("custom-node")).toBeInTheDocument()})}),e.describe("Toggle Behavior",()=>{e.it("calls onToggle with correct id when clicked",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.fireEvent.click(t),e.globalExpect(i).toHaveBeenCalledTimes(1),e.globalExpect(i).toHaveBeenCalledWith("test-item")}),e.it("can be triggered multiple times",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.fireEvent.click(t),e.fireEvent.click(t),e.fireEvent.click(t),e.globalExpect(i).toHaveBeenCalledTimes(3),e.globalExpect(i).toHaveBeenCalledWith("test-item")}),e.it("is keyboard accessible as a button",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.globalExpect(t.tagName).toBe("BUTTON")})}),e.describe("Accessibility",()=>{e.it("has correct aria-expanded when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-expanded","false")}),e.it("has correct aria-expanded when open",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-expanded","true")}),e.it("has correct aria-controls attribute",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-controls","accordion-content-test-item")}),e.it("content has correct id matching aria-controls",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toBeInTheDocument()}),e.it("content has role='region'",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const r=e.screen.getByRole("button").getAttribute("aria-controls"),s=document.getElementById(r);e.globalExpect(s).toHaveAttribute("role","region")}),e.it("content has aria-labelledby pointing to button",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toHaveAttribute("aria-labelledby","accordion-header-test-item")}),e.it("icon has aria-hidden attribute",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n})),r=t.querySelector("svg");e.globalExpect(r).toHaveAttribute("aria-hidden","true")})}),e.describe("CSS Classes",()=>{e.it("applies active class when open",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),r=t.querySelector("button");e.globalExpect(r).toHaveClass("active")}),e.it("does not apply active class when closed",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1})),r=t.querySelector("button");e.globalExpect(r).not.toHaveClass("active")}),e.it("applies rotate class to icon when open",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),r=t.querySelector(".icon");e.globalExpect(r).toHaveClass("rotate")}),e.it("does not apply rotate class to icon when closed",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1})),r=t.querySelector(".icon");e.globalExpect(r).not.toHaveClass("rotate")}),e.it("applies open class to content wrapper when open",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).not.toBeNull(),e.globalExpect(t).toHaveClass("open")}),e.it("applies closed class to content wrapper when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).not.toBeNull(),e.globalExpect(t).toHaveClass("closed")})}),e.describe("Dynamic Height",()=>{e.it("sets maxHeight to 0px when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toHaveStyle({maxHeight:"0px"})}),e.it("sets maxHeight to calculated height when open",()=>{Object.defineProperty(HTMLElement.prototype,"scrollHeight",{configurable:!0,value:200}),e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t==null?void 0:t.style.maxHeight).toBeTruthy()})}),e.describe("Edge Cases",()=>{e.it("handles empty description",()=>{e.render(o.jsx(c.AccordionItem,{...n,description:""}));const t=e.screen.getByRole("button");e.globalExpect(t).toBeInTheDocument()}),e.it("handles very long title",()=>{const t="A".repeat(200);e.render(o.jsx(c.AccordionItem,{...n,title:t})),e.globalExpect(e.screen.getByText(t)).toBeInTheDocument()}),e.it("handles special characters in id",()=>{e.render(o.jsx(c.AccordionItem,{...n,id:"item-with-special-chars-123"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("id","accordion-header-item-with-special-chars-123")})}),e.describe("Window Resize",()=>{e.it("adds resize event listener on mount",()=>{const t=e.vi.spyOn(window,"addEventListener");e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),e.globalExpect(t).toHaveBeenCalledWith("resize",e.globalExpect.any(Function)),t.mockRestore()}),e.it("removes resize event listener on unmount",()=>{const t=e.vi.spyOn(window,"removeEventListener"),{unmount:r}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));r(),e.globalExpect(t).toHaveBeenCalledWith("resize",e.globalExpect.any(Function)),t.mockRestore()})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import { d as l, v as p, i as s, r as c, g as t, s as r, f as u } from "../../../react.esm-
|
|
2
|
+
import { d as l, v as p, i as s, r as c, g as t, s as r, f as u } from "../../../react.esm-DKyXDL7m.js";
|
|
3
3
|
import { A as i } from "../../../AccordionItem-CH19zWNr.js";
|
|
4
4
|
import "../../../index-DPGXWTtt.js";
|
|
5
5
|
l("AccordionItem", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=require("react/jsx-runtime"),e=require("../../../react.esm-
|
|
1
|
+
"use strict";const t=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),c=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.vi.mock("./styles.module.css",()=>({default:new Proxy({},{get:(n,s)=>s})}));e.vi.mock("lucide-react",()=>({X:({size:n,...s})=>t.jsx("svg",{"data-testid":"x-icon","data-size":n,...s})}));const r=[{_type:"block",_key:"a",children:[{_type:"span",_key:"b",text:"Free shipping this weekend"}],markDefs:[],style:"normal"}];e.describe("Announcement",()=>{e.describe("rendering",()=>{e.it("renders the announcement region when blocks and renderRichText are provided",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"Free shipping this weekend"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Free shipping this weekend")).toBeInTheDocument()}),e.it("renders nothing when blocks is empty",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"text"})),{container:s}=e.render(t.jsx(c.Announcement,{blocks:[],renderRichText:n}));e.globalExpect(s).toBeEmptyDOMElement()}),e.it("renders nothing when renderRichText returns null",()=>{const n=e.vi.fn().mockReturnValue(null),{container:s}=e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n}));e.globalExpect(s).toBeEmptyDOMElement()}),e.it("renders nothing when renderRichText is not provided",()=>{const{container:n}=e.render(t.jsx(c.Announcement,{blocks:r}));e.globalExpect(n).toBeEmptyDOMElement()}),e.it("calls renderRichText with blocks and a className",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(n).toHaveBeenCalledWith({blocks:r,className:e.globalExpect.any(String)})}),e.it("applies a custom className to the announcement wrapper",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"})),{container:s}=e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n,className:"custom-class"}));e.globalExpect(s.firstChild).toHaveClass("custom-class")})}),e.describe("accessibility",()=>{e.it("has role=region on the outer wrapper",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region")).toBeInTheDocument()}),e.it("has aria-label='Announcement' on the region",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument()}),e.it("renders a dismiss button with aria-label='Dismiss announcement'",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("button",{name:"Dismiss announcement"})).toBeInTheDocument()}),e.it("renders the X icon with aria-hidden=true so screen readers skip it",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByTestId("x-icon")).toHaveAttribute("aria-hidden","true")})}),e.describe("dismiss behaviour",()=>{e.it("hides the announcement when the dismiss button is clicked",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"content"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.fireEvent.click(e.screen.getByRole("button",{name:"Dismiss announcement"})),e.globalExpect(e.screen.queryByRole("region",{name:"Announcement"})).not.toBeInTheDocument()}),e.it("removes rendered content from the DOM after dismissal",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"I will disappear"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.fireEvent.click(e.screen.getByRole("button",{name:"Dismiss announcement"})),e.globalExpect(e.screen.queryByText("I will disappear")).not.toBeInTheDocument()}),e.it("is visible before the dismiss button is clicked",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"Still here"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument()}),e.it("does not dismiss when content area is clicked — only the button dismisses",()=>{const n=e.vi.fn().mockReturnValue(t.jsx("span",{children:"Click me"}));e.render(t.jsx(c.Announcement,{blocks:r,renderRichText:n})),e.fireEvent.click(e.screen.getByText("Click me")),e.globalExpect(e.screen.getByRole("region",{name:"Announcement"})).toBeInTheDocument()})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { v as o, d as m, i as s, r, g as t, s as a, f as d } from "../../../react.esm-
|
|
2
|
+
import { v as o, d as m, i as s, r, g as t, s as a, f as d } from "../../../react.esm-DKyXDL7m.js";
|
|
3
3
|
import { Announcement as c } from "./index.mjs";
|
|
4
4
|
import "../../../index-DPGXWTtt.js";
|
|
5
5
|
o.mock("./styles.module.css", () => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const s=require("react/jsx-runtime"),t=require("../../../react.esm-
|
|
1
|
+
"use strict";const s=require("react/jsx-runtime"),t=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");t.describe("Avatar",()=>{t.describe("Rendering",()=>{t.it("renders with initials",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"})),t.globalExpect(t.screen.getByText("JD")).toBeInTheDocument()}),t.it("renders with image",()=>{t.render(s.jsx(r.Avatar,{src:"https://example.com/avatar.jpg",alt:"User avatar"}));const e=t.screen.getByAltText("User avatar");t.globalExpect(e).toBeInTheDocument(),t.globalExpect(e).toHaveAttribute("src","https://example.com/avatar.jpg")}),t.it("renders default ? when no initials or image",()=>{t.render(s.jsx(r.Avatar,{})),t.globalExpect(t.screen.getByText("?")).toBeInTheDocument()}),t.it("transforms initials to uppercase",()=>{t.render(s.jsx(r.Avatar,{initials:"ab"})),t.globalExpect(t.screen.getByText("AB")).toBeInTheDocument()})}),t.describe("Sizes",()=>{t.it("applies sm size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"SM",size:"sm"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("sm")}),t.it("applies md size class by default",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"MD"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("md")}),t.it("applies lg size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"LG",size:"lg"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("lg")}),t.it("applies xl size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"XL",size:"xl"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("xl")})}),t.describe("Status indicators",()=>{t.it("renders online status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"online"}));const e=t.screen.getByRole("status");t.globalExpect(e).toBeInTheDocument(),t.globalExpect(e).toHaveAttribute("aria-label","Status: online")}),t.it("renders offline status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"offline"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: offline")}),t.it("renders busy status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"busy"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: busy")}),t.it("renders away status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"away"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: away")}),t.it("does not render status when not provided",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.queryByRole("status");t.globalExpect(e).not.toBeInTheDocument()})}),t.describe("Background color",()=>{t.it("applies custom background color",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",backgroundColor:"#ff0000"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveStyle({backgroundColor:"#ff0000"})}),t.it("uses default background when not specified",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a).not.toHaveAttribute("style")})}),t.describe("Clickable behavior",()=>{t.it("renders as button when onClick is provided",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e}));const a=t.screen.getByRole("button");t.globalExpect(a).toBeInTheDocument()}),t.it("applies clickable class",()=>{const e=t.vi.fn(),{container:a}=t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e})),o=a.querySelector(".avatar");t.globalExpect(o).toHaveClass("clickable")}),t.it("calls onClick when clicked",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e}));const a=t.screen.getByRole("button");t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)}),t.it("renders as div when onClick is not provided",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a==null?void 0:a.tagName).toBe("DIV")}),t.it("does not have clickable class when not clickable",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a).not.toHaveClass("clickable")})}),t.describe("Accessibility",()=>{t.it("has role='img' for initials avatar",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.getByRole("img");t.globalExpect(e).toBeInTheDocument()}),t.it("has aria-label for initials avatar",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.getByRole("img");t.globalExpect(e).toHaveAttribute("aria-label","Avatar with initials JD")}),t.it("uses custom alt as aria-label",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",alt:"John Doe"}));const e=t.screen.getByRole("img");t.globalExpect(e).toHaveAttribute("aria-label","John Doe")}),t.it("does not have role='img' for image avatar",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"User"}));const e=t.screen.getByAltText("User");t.globalExpect(e.tagName).toBe("IMG")}),t.it("uses alt text for image",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"John Doe"}));const e=t.screen.getByAltText("John Doe");t.globalExpect(e).toBeInTheDocument()}),t.it("has default alt text when not provided",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg"}));const e=t.screen.getByAltText("Avatar");t.globalExpect(e).toBeInTheDocument()}),t.it("status indicator has proper aria-label",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"online"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: online")})}),t.describe("Custom className",()=>{t.it("applies custom className",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",className:"custom-avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("custom-avatar")}),t.it("preserves default classes",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",className:"custom-avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("avatar"),t.globalExpect(a).toHaveClass("md")})}),t.describe("HTML attributes",()=>{t.it("supports data attributes",()=>{t.render(s.jsx(r.Avatar,{initials:"JD","data-testid":"my-avatar"})),t.globalExpect(t.screen.getByTestId("my-avatar")).toBeInTheDocument()}),t.it("supports id attribute",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",id:"avatar-1"})),a=e.querySelector("#avatar-1");t.globalExpect(a).toBeInTheDocument()}),t.it("supports title attribute",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",title:"User avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveAttribute("title","User avatar")})}),t.describe("Image properties",()=>{t.it("sets image to not be draggable",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg"}));const e=t.screen.getByAltText("Avatar");t.globalExpect(e).toHaveAttribute("draggable","false")}),t.it("applies image class to img element",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{src:"avatar.jpg"})),a=e.querySelector(".image");t.globalExpect(a).toBeInTheDocument(),t.globalExpect(a==null?void 0:a.tagName).toBe("IMG")})}),t.describe("Combined features",()=>{t.it("works with all props together",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{size:"lg",initials:"JD",status:"online",backgroundColor:"#ff0000",onClick:e,className:"custom"}));const a=t.screen.getByRole("button");t.globalExpect(a).toHaveClass("lg"),t.globalExpect(a).toHaveClass("clickable"),t.globalExpect(a).toHaveClass("custom"),t.globalExpect(a).toHaveStyle({backgroundColor:"#ff0000"}),t.globalExpect(t.screen.getByText("JD")).toBeInTheDocument(),t.globalExpect(t.screen.getByRole("status")).toBeInTheDocument(),t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)}),t.it("image avatar with status and onClick",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"User",status:"busy",onClick:e}));const a=t.screen.getByRole("button");t.globalExpect(t.screen.getByAltText("User")).toBeInTheDocument(),t.globalExpect(t.screen.getByRole("status")).toBeInTheDocument(),t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)})}),t.describe("forwardRef",()=>{t.it("forwards ref to avatar element",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{ref:e,initials:"JD"})),t.globalExpect(e).toHaveBeenCalled()})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { d as l, i as o, r as i, g as a, s as r, v as c, f as u } from "../../../react.esm-
|
|
2
|
+
import { d as l, i as o, r as i, g as a, s as r, v as c, f as u } from "../../../react.esm-DKyXDL7m.js";
|
|
3
3
|
import { Avatar as n } from "./index.mjs";
|
|
4
4
|
import "../../../index-DPGXWTtt.js";
|
|
5
5
|
l("Avatar", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=require("react/jsx-runtime"),e=require("../../../react.esm-
|
|
1
|
+
"use strict";const a=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),s=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");const l=require("../../../plus-CRmuwZfs.cjs"),o=require("../../../circle-alert-BD4YL4ck.cjs");e.describe("Badge",()=>{e.describe("Rendering",()=>{e.it("renders default badge",()=>{e.render(a.jsx(s.Badge,{text:"Default"}));const t=e.screen.getByRole("status");e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t).toHaveClass("default"),e.globalExpect(t).toHaveTextContent("Default")}),e.it("renders with text",()=>{e.render(a.jsx(s.Badge,{text:"Badge Text"})),e.globalExpect(e.screen.getByText("Badge Text")).toBeInTheDocument()})}),e.describe("Variants",()=>{e.it("applies correct variant class for success",()=>{e.render(a.jsx(s.Badge,{text:"Success",variant:"success"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("success")}),e.it("applies correct variant class for warning",()=>{e.render(a.jsx(s.Badge,{text:"Warning",variant:"warning"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("warning")}),e.it("applies correct variant class for error",()=>{e.render(a.jsx(s.Badge,{text:"Error",variant:"error"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("error")}),e.it("applies correct variant class for info",()=>{e.render(a.jsx(s.Badge,{text:"Info",variant:"info"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("info")}),e.it("uses default variant when not specified",()=>{e.render(a.jsx(s.Badge,{text:"Default"})),e.globalExpect(e.screen.getByRole("status")).toHaveClass("default")})}),e.describe("Icons",()=>{e.it("renders icon when provided",()=>{e.render(a.jsx(s.Badge,{text:"Success",variant:"success",icon:a.jsx(l.Check,{"data-testid":"icon"})}));const t=e.screen.getByTestId("icon");e.globalExpect(t).toBeInTheDocument()}),e.it("icon has aria-hidden",()=>{const{container:t}=e.render(a.jsx(s.Badge,{text:"Success",icon:a.jsx(l.Plus,{})})),c=t.querySelector(".icon");e.globalExpect(c).toHaveAttribute("aria-hidden","true")}),e.it("renders without icon",()=>{const{container:t}=e.render(a.jsx(s.Badge,{text:"No Icon"})),c=t.querySelector(".icon");e.globalExpect(c).not.toBeInTheDocument()}),e.it("works with different icons",()=>{e.render(a.jsx(s.Badge,{text:"Alert",icon:a.jsx(o.CircleAlert,{"data-testid":"alert-icon"})})),e.globalExpect(e.screen.getByTestId("alert-icon")).toBeInTheDocument()})}),e.describe("Clickable badges",()=>{e.it("renders as button when onClick is provided",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.globalExpect(c).toBeInTheDocument()}),e.it("applies clickable class",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.globalExpect(c).toHaveClass("clickable")}),e.it("calls onClick handler when clicked",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.click(c),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("can be clicked multiple times",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.click(c),e.fireEvent.click(c),e.fireEvent.click(c),e.globalExpect(t).toHaveBeenCalledTimes(3)}),e.it("has tabIndex 0 when clickable",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.globalExpect(c).toHaveAttribute("tabIndex","0")}),e.it("triggers onClick with Enter key",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.keyDown(c,{key:"Enter"}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("triggers onClick with Space key",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.keyDown(c,{key:" "}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("does not trigger onClick with other keys",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Clickable",onClick:t}));const c=e.screen.getByRole("button");e.fireEvent.keyDown(c,{key:"a"}),e.fireEvent.keyDown(c,{key:"Escape"}),e.globalExpect(t).not.toHaveBeenCalled()})}),e.describe("Non-clickable badges",()=>{e.it("renders as status when onClick is not provided",()=>{e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const t=e.screen.getByRole("status");e.globalExpect(t).toBeInTheDocument()}),e.it("does not have clickable class",()=>{e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const t=e.screen.getByRole("status");e.globalExpect(t).not.toHaveClass("clickable")}),e.it("does not call onClick when clicked (if handler exists but not passed)",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const c=e.screen.getByRole("status");e.fireEvent.click(c),e.globalExpect(t).not.toHaveBeenCalled()}),e.it("does not have tabIndex when not clickable",()=>{e.render(a.jsx(s.Badge,{text:"Not Clickable"}));const t=e.screen.getByRole("status");e.globalExpect(t).not.toHaveAttribute("tabIndex")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{e.render(a.jsx(s.Badge,{text:"Custom",className:"custom-class"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveClass("custom-class"),e.globalExpect(t).toHaveClass("badge")}),e.it("applies multiple custom classes",()=>{e.render(a.jsx(s.Badge,{text:"Custom",className:"class1 class2"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveClass("class1"),e.globalExpect(t).toHaveClass("class2")})}),e.describe("Accessibility",()=>{e.it("has correct role for non-clickable badge",()=>{e.render(a.jsx(s.Badge,{text:"Status"})),e.globalExpect(e.screen.getByRole("status")).toBeInTheDocument()}),e.it("has correct role for clickable badge",()=>{e.render(a.jsx(s.Badge,{text:"Button",onClick:()=>{}})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument()}),e.it("supports custom aria-label",()=>{e.render(a.jsx(s.Badge,{text:"Badge","aria-label":"Custom Label"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("aria-label","Custom Label")}),e.it("generates aria-label for clickable badges",()=>{e.render(a.jsx(s.Badge,{text:"Click me",onClick:()=>{}}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Click me badge")}),e.it("supports additional aria attributes",()=>{e.render(a.jsx(s.Badge,{text:"Badge","aria-describedby":"desc","aria-live":"polite"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("aria-describedby","desc"),e.globalExpect(t).toHaveAttribute("aria-live","polite")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(a.jsx(s.Badge,{text:"Badge","data-testid":"my-badge"})),e.globalExpect(e.screen.getByTestId("my-badge")).toBeInTheDocument()}),e.it("supports id attribute",()=>{e.render(a.jsx(s.Badge,{text:"Badge",id:"badge-id"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("id","badge-id")}),e.it("supports title attribute",()=>{e.render(a.jsx(s.Badge,{text:"Badge",title:"Tooltip"}));const t=e.screen.getByRole("status");e.globalExpect(t).toHaveAttribute("title","Tooltip")})}),e.describe("Edge cases",()=>{e.it("handles empty text",()=>{e.render(a.jsx(s.Badge,{text:""}));const t=e.screen.getByRole("status");e.globalExpect(t).toBeInTheDocument()}),e.it("handles long text",()=>{const t="This is a very long badge text that should still render correctly";e.render(a.jsx(s.Badge,{text:t})),e.globalExpect(e.screen.getByText(t)).toBeInTheDocument()}),e.it("handles special characters in text",()=>{e.render(a.jsx(s.Badge,{text:"Test & <Badge> 'quotes'"})),e.globalExpect(e.screen.getByText("Test & <Badge> 'quotes'")).toBeInTheDocument()})}),e.describe("Combined features",()=>{e.it("works with icon and onClick together",()=>{const t=e.vi.fn();e.render(a.jsx(s.Badge,{text:"Complete",variant:"success",icon:a.jsx(l.Check,{"data-testid":"icon"}),onClick:t}));const c=e.screen.getByRole("button"),n=e.screen.getByTestId("icon");e.globalExpect(c).toHaveClass("success"),e.globalExpect(c).toHaveClass("clickable"),e.globalExpect(n).toBeInTheDocument(),e.fireEvent.click(c),e.globalExpect(t).toHaveBeenCalledTimes(1)})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import { d as i, i as o, r as s, s as n, g as t, v as r, f as d } from "../../../react.esm-
|
|
2
|
+
import { d as i, i as o, r as s, s as n, g as t, v as r, f as d } from "../../../react.esm-DKyXDL7m.js";
|
|
3
3
|
import { Badge as l } from "./index.mjs";
|
|
4
4
|
import "../../../index-DPGXWTtt.js";
|
|
5
5
|
import { C as b, P as g } from "../../../plus-Fy4u9__h.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),e=require("../../../react.esm-Dmjx7ihM.cjs"),r=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Box",()=>{e.describe("Rendering",()=>{e.it("renders with default props",()=>{e.render(n.jsx(r.Box,{children:"Content"}));const t=e.screen.getByText("Content");e.globalExpect(t).toHaveClass("box","paddingNone","marginNone","block")}),e.it("renders children correctly",()=>{e.render(n.jsx(r.Box,{children:"Test Content"})),e.globalExpect(e.screen.getByText("Test Content")).toBeInTheDocument()})}),e.describe("As prop (semantic elements)",()=>{e.it("renders a different tag",()=>{e.render(n.jsx(r.Box,{as:"section",children:"Section Box"}));const t=e.screen.getByText("Section Box");e.globalExpect(t.tagName.toLowerCase()).toBe("section")}),e.it("renders as article",()=>{e.render(n.jsx(r.Box,{as:"article",children:"Article Box"}));const t=e.screen.getByText("Article Box");e.globalExpect(t.tagName.toLowerCase()).toBe("article")})}),e.describe("Combined props",()=>{e.it("applies padding, margin and display classes",()=>{e.render(n.jsx(r.Box,{padding:"lg",margin:"md",display:"flex",children:"Custom Box"}));const t=e.screen.getByText("Custom Box");e.globalExpect(t).toHaveClass("box","paddingLg","marginMd","flex")}),e.it("applies all props together",()=>{e.render(n.jsx(r.Box,{padding:"md",margin:"sm",display:"flex",background:"light",border:"thin",radius:"md",children:"Full Box"}));const t=e.screen.getByText("Full Box");e.globalExpect(t).toHaveClass("box","paddingMd","marginSm","flex","bgLight","borderThin","radiusMd")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{e.render(n.jsx(r.Box,{className:"custom-box",children:"Content"})),e.globalExpect(e.screen.getByText("Content")).toHaveClass("custom-box")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(n.jsx(r.Box,{"data-testid":"my-box",children:"Content"})),e.globalExpect(e.screen.getByTestId("my-box")).toBeInTheDocument()}),e.it("supports onClick handler",()=>{const t=e.vi.fn();e.render(n.jsx(r.Box,{onClick:t,children:"Clickable"})),e.screen.getByText("Clickable").click(),e.globalExpect(t).toHaveBeenCalledTimes(1)})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import { d as l, i as n, r as o, s, g as a, v as r } from "../../../react.esm-
|
|
2
|
+
import { d as l, i as n, r as o, s, g as a, v as r } from "../../../react.esm-DKyXDL7m.js";
|
|
3
3
|
import { Box as i } from "./index.mjs";
|
|
4
4
|
import "../../../index-DPGXWTtt.js";
|
|
5
5
|
l("Box", () => {
|