quirk-ui 0.1.73 → 0.1.76
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/AccordionItem.css.d.ts +13 -0
- package/dist/{CategoryFilters-CIWwf9VY.js → CategoryFilters-Dvx_tFs9.js} +1 -1
- package/dist/{CategoryFilters-CvmFCE3e.cjs → CategoryFilters-jaBdSByQ.cjs} +1 -1
- package/dist/CategoryFilters.css.d.ts +31 -0
- package/dist/FormField-BO1hKjUb.js +228 -0
- package/dist/FormField-wfYSN1Vd.cjs +1 -0
- package/dist/FormField.css +1 -0
- package/dist/FormField.css.d.ts +22 -0
- package/dist/HeroSubComponents.css.d.ts +30 -0
- package/dist/NavLink.css.d.ts +72 -0
- 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/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/Badge/index.cjs +1 -1
- package/dist/core/components/Badge/index.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/Box/index.cjs +1 -1
- package/dist/core/components/Box/index.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/Breadcrumbs/index.cjs +1 -1
- package/dist/core/components/Breadcrumbs/index.mjs +1 -1
- package/dist/core/components/Button/Button.test.cjs +1 -1
- package/dist/core/components/Button/Button.test.mjs +2 -2
- package/dist/core/components/Button/index.cjs +1 -1
- package/dist/core/components/Button/index.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 +2 -2
- package/dist/core/components/Calendar/index.cjs +1 -1
- package/dist/core/components/Calendar/index.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/Card/index.cjs +1 -1
- package/dist/core/components/Card/index.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/Container/index.cjs +1 -1
- package/dist/core/components/Container/index.mjs +1 -1
- package/dist/core/components/DatePicker/DatePicker.test.cjs +1 -1
- package/dist/core/components/DatePicker/DatePicker.test.mjs +2 -2
- package/dist/core/components/DatePicker/index.cjs +1 -1
- package/dist/core/components/DatePicker/index.mjs +2 -2
- package/dist/core/components/Divider/Divider.test.cjs +1 -1
- package/dist/core/components/Divider/Divider.test.mjs +1 -1
- package/dist/core/components/Divider/index.cjs +1 -1
- package/dist/core/components/Divider/index.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/Drawer/index.cjs +1 -1
- package/dist/core/components/Drawer/index.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/Fieldset/index.cjs +1 -1
- package/dist/core/components/Fieldset/index.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/FileUpload/index.cjs +1 -1
- package/dist/core/components/FileUpload/index.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/FloatingActionButton/index.cjs +1 -1
- package/dist/core/components/FloatingActionButton/index.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/Footer/index.cjs +1 -1
- package/dist/core/components/Footer/index.mjs +2 -2
- package/dist/core/components/Form/Form.test.cjs +1 -1
- package/dist/core/components/Form/Form.test.mjs +1 -1
- package/dist/core/components/Form/index.cjs +1 -1
- package/dist/core/components/Form/index.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/Input/index.cjs +1 -1
- package/dist/core/components/Input/index.mjs +25 -31
- package/dist/core/components/Label/Label.test.cjs +1 -1
- package/dist/core/components/Label/Label.test.mjs +1 -1
- package/dist/core/components/Label/index.cjs +1 -1
- package/dist/core/components/Label/index.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/List/index.cjs +1 -1
- package/dist/core/components/List/index.mjs +1 -1
- package/dist/core/components/Modal/Modal.test.cjs +1 -1
- package/dist/core/components/Modal/Modal.test.mjs +1 -1
- package/dist/core/components/Modal/index.cjs +1 -1
- package/dist/core/components/Modal/index.mjs +1 -1
- package/dist/core/components/NavBar/NavBar.test.cjs +1 -1
- package/dist/core/components/NavBar/NavBar.test.mjs +1 -1
- package/dist/core/components/NavBar/index.cjs +1 -1
- package/dist/core/components/NavBar/index.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/Notification/index.cjs +1 -1
- package/dist/core/components/Notification/index.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/NotificationContainer/index.cjs +1 -1
- package/dist/core/components/NotificationContainer/index.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/ProgressBar/index.cjs +1 -1
- package/dist/core/components/ProgressBar/index.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/Radio/index.cjs +1 -1
- package/dist/core/components/Radio/index.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/Range/index.cjs +1 -1
- package/dist/core/components/Range/index.mjs +1 -1
- package/dist/core/components/Select/Select.test.cjs +1 -1
- package/dist/core/components/Select/Select.test.mjs +176 -106
- package/dist/core/components/Select/index.cjs +1 -1
- package/dist/core/components/Select/index.mjs +100 -80
- package/dist/core/components/Sidebar/Sidebar.test.cjs +1 -1
- package/dist/core/components/Sidebar/Sidebar.test.mjs +1 -1
- package/dist/core/components/Sidebar/index.cjs +1 -1
- package/dist/core/components/Sidebar/index.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/Textarea/index.cjs +1 -1
- package/dist/core/components/Textarea/index.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/core/components/Tooltip/index.cjs +1 -1
- package/dist/core/components/Tooltip/index.mjs +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +30 -43
- package/dist/core.mjs +42 -44
- package/dist/{index-BQV8LRFm.js → index-Ck6GdALV.js} +0 -1
- package/dist/{index-DITXfOUM.cjs → index-CvpbNrYS.cjs} +16 -16
- package/dist/{index-2ZLA4POI.js → index-DTDGFsW8.js} +1 -1
- package/dist/{index-D0ylyll7.cjs → index-hPJqlEOh.cjs} +1 -1
- package/dist/{index-CnlJ2RgH.js → index-paelIj6o.js} +1 -1
- package/dist/{index-odc0vuSq.cjs → index-rFLvzU5A.cjs} +1 -1
- package/dist/index.css.d.ts +1 -0
- package/dist/index10.css.d.ts +7 -0
- package/dist/index11.css.d.ts +26 -0
- package/dist/index12.css.d.ts +24 -0
- package/dist/index13.css.d.ts +33 -0
- package/dist/index14.css.d.ts +10 -0
- package/dist/index15.css.d.ts +18 -0
- package/dist/index16.css.d.ts +38 -0
- package/dist/index17.css.d.ts +16 -0
- package/dist/index18.css.d.ts +14 -0
- package/dist/index19.css.d.ts +17 -0
- package/dist/index2.css.d.ts +9 -0
- package/dist/index20.css.d.ts +13 -0
- package/dist/index21.css.d.ts +25 -0
- package/dist/index22.css.d.ts +5 -0
- package/dist/index23.css.d.ts +19 -0
- package/dist/index24.css.d.ts +21 -0
- package/dist/index25.css +1 -1
- package/dist/index25.css.d.ts +16 -0
- package/dist/index26.css.d.ts +10 -0
- package/dist/index27.css.d.ts +18 -0
- package/dist/index28.css.d.ts +16 -0
- package/dist/index29.css.d.ts +10 -0
- package/dist/index3.css.d.ts +12 -0
- package/dist/index30.css.d.ts +19 -0
- package/dist/index31.css.d.ts +15 -0
- package/dist/index32.css.d.ts +22 -0
- package/dist/index33.css.d.ts +15 -0
- package/dist/index34.css +1 -1
- package/dist/index34.css.d.ts +14 -0
- package/dist/index35.css +1 -1
- package/dist/index35.css.d.ts +23 -0
- package/dist/index36.css +1 -1
- package/dist/index36.css.d.ts +14 -0
- package/dist/index37.css +1 -1
- package/dist/index37.css.d.ts +18 -0
- package/dist/index38.css +1 -1
- package/dist/index38.css.d.ts +21 -0
- package/dist/index39.css +1 -1
- package/dist/index39.css.d.ts +20 -0
- package/dist/index4.css.d.ts +10 -0
- package/dist/index40.css +1 -1
- package/dist/index40.css.d.ts +17 -0
- package/dist/index41.css +1 -1
- package/dist/index41.css.d.ts +14 -0
- package/dist/index42.css +1 -1
- package/dist/index42.css.d.ts +22 -0
- package/dist/index43.css +1 -1
- package/dist/index43.css.d.ts +35 -0
- package/dist/index44.css +1 -1
- package/dist/index44.css.d.ts +13 -0
- package/dist/index45.css +1 -1
- package/dist/index45.css.d.ts +23 -0
- package/dist/index46.css +1 -1
- package/dist/index46.css.d.ts +12 -0
- package/dist/index47.css +1 -1
- package/dist/index47.css.d.ts +19 -0
- package/dist/index48.css +1 -1
- package/dist/index48.css.d.ts +20 -0
- package/dist/index49.css +1 -1
- package/dist/index49.css.d.ts +20 -0
- package/dist/index5.css.d.ts +22 -0
- package/dist/index50.css +1 -1
- package/dist/index50.css.d.ts +27 -0
- package/dist/index51.css +1 -1
- package/dist/index51.css.d.ts +17 -0
- package/dist/index52.css +1 -1
- package/dist/index52.css.d.ts +11 -0
- package/dist/index53.css.d.ts +12 -0
- package/dist/index54.css.d.ts +14 -0
- package/dist/index55.css.d.ts +20 -0
- package/dist/index56.css.d.ts +25 -0
- package/dist/index57.css.d.ts +13 -0
- package/dist/index58.css +1 -1
- package/dist/index58.css.d.ts +12 -0
- package/dist/index59.css +1 -1
- package/dist/index59.css.d.ts +20 -0
- package/dist/index6.css.d.ts +19 -0
- package/dist/index60.css +1 -1
- package/dist/index60.css.d.ts +20 -0
- package/dist/index61.css +1 -1
- package/dist/index61.css.d.ts +18 -0
- package/dist/index62.css +1 -1
- package/dist/index62.css.d.ts +22 -0
- package/dist/index63.css +1 -1
- package/dist/index63.css.d.ts +28 -0
- package/dist/index64.css +1 -1
- package/dist/index64.css.d.ts +26 -0
- package/dist/index65.css +1 -1
- package/dist/index65.css.d.ts +19 -0
- package/dist/index7.css.d.ts +40 -0
- package/dist/index8.css.d.ts +32 -0
- package/dist/index9.css.d.ts +9 -0
- package/dist/main.cjs +1 -1
- package/dist/main.d.ts +48 -43
- package/dist/main.mjs +94 -94
- package/dist/next/blocks/DocumentListBlock/CategoryFilters.cjs +1 -1
- package/dist/next/blocks/DocumentListBlock/CategoryFilters.mjs +2 -2
- package/dist/next/blocks/DocumentListBlock/index.cjs +1 -1
- package/dist/next/blocks/DocumentListBlock/index.mjs +2 -2
- package/dist/next/blocks/FormBlock/FormField.cjs +1 -0
- package/dist/next/blocks/FormBlock/FormField.mjs +13 -0
- package/dist/next/blocks/FormBlock/index.cjs +1 -0
- package/dist/next/blocks/FormBlock/index.mjs +192 -0
- package/dist/next/blocks/FormBlock/validate.cjs +1 -0
- package/dist/next/blocks/FormBlock/validate.mjs +76 -0
- package/dist/next/blocks/TabsBlock/index.cjs +1 -1
- package/dist/next/blocks/TabsBlock/index.mjs +1 -1
- package/dist/next/blocks/WasHelpfulBlock/index.cjs +1 -1
- package/dist/next/blocks/WasHelpfulBlock/index.mjs +1 -1
- package/dist/next/cards/BlogArticleCard/index.cjs +1 -1
- package/dist/next/cards/BlogArticleCard/index.mjs +1 -1
- package/dist/next/cards/SpotlightCard/index.cjs +1 -1
- package/dist/next/cards/SpotlightCard/index.mjs +1 -1
- package/dist/next/ui/CallToAction/index.cjs +1 -1
- package/dist/next/ui/CallToAction/index.mjs +1 -1
- package/dist/next.cjs +1 -1
- package/dist/next.d.ts +18 -0
- package/dist/next.mjs +45 -43
- package/dist/styles.css.d.ts +1 -0
- package/dist/tokens.css.d.ts +1 -0
- package/package.json +1 -1
- package/dist/core/components/MultiSelect/MultiSelect.test.cjs +0 -6
- package/dist/core/components/MultiSelect/MultiSelect.test.mjs +0 -3518
- package/dist/core/components/MultiSelect/__mocks__/styles.module.css.cjs +0 -1
- package/dist/core/components/MultiSelect/__mocks__/styles.module.css.mjs +0 -14
- package/dist/core/components/MultiSelect/index.cjs +0 -1
- package/dist/core/components/MultiSelect/index.mjs +0 -94
- package/dist/index66.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=require("react/jsx-runtime"),e=require("../../../index-
|
|
1
|
+
"use strict";const a=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),s=require("./index.cjs"),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 "../../../index-
|
|
2
|
+
import { d as i, i as o, r as s, s as n, g as t, v as r, f as d } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Badge as l } from "./index.mjs";
|
|
4
4
|
import { C as b, P as g } from "../../../plus-Fy4u9__h.js";
|
|
5
5
|
import { C as k } from "../../../circle-alert-GZZQ4_uC.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index36.css');const c=require("react/jsx-runtime"),f="_badge_4f3mk_1",m="_clickable_4f3mk_19",b="_icon_4f3mk_37",g="_text_4f3mk_49",k="_success_4f3mk_59",x="_warning_4f3mk_64",$="_error_4f3mk_69",p="_info_4f3mk_74",h="_muted_4f3mk_79",e={badge:f,clickable:m,icon:b,text:g,default:"_default_4f3mk_54",success:k,warning:x,error:$,info:p,muted:h},j={default:e.default,success:e.success,warning:e.warning,error:e.error,info:e.info,muted:e.muted};function v({text:n,variant:_="default",icon:i,onClick:a,onKeyDown:t,className:d,"aria-label":l,...u}){const s=!!a,o=r=>{s&&(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),a==null||a()),t==null||t(r)};return c.jsxs("span",{className:`${e.badge} ${j[_]} ${s?e.clickable:""} ${d??""}`.trim(),onClick:s?a:void 0,onKeyDown:s?o:t,role:s?"button":"status",tabIndex:s?0:void 0,"aria-label":l||(s?`${n} badge`:void 0),...u,children:[i&&c.jsx("span",{className:e.icon,"aria-hidden":"true",children:i}),c.jsx("span",{className:e.text,children:n})]})}exports.Badge=v;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as m, jsx as _ } from "react/jsx-runtime";
|
|
2
|
-
import '../../../
|
|
2
|
+
import '../../../index36.css';const u = "_badge_4f3mk_1", b = "_clickable_4f3mk_19", k = "_icon_4f3mk_37", g = "_text_4f3mk_49", p = "_success_4f3mk_59", x = "_warning_4f3mk_64", h = "_error_4f3mk_69", $ = "_info_4f3mk_74", N = "_muted_4f3mk_79", e = {
|
|
3
3
|
badge: u,
|
|
4
4
|
clickable: b,
|
|
5
5
|
icon: k,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),e=require("../../../index-
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),o=require("./index.cjs");e.describe("Box",()=>{e.describe("Rendering",()=>{e.it("renders with default props",()=>{e.render(n.jsx(o.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(o.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(o.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(o.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(o.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(o.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(o.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(o.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(o.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 i, i as n, r as o, s, g as a, v as r } from "../../../index-
|
|
2
|
+
import { d as i, i as n, r as o, s, g as a, v as r } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Box as l } from "./index.mjs";
|
|
4
4
|
i("Box", () => {
|
|
5
5
|
i("Rendering", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index43.css');const p=require("react/jsx-runtime"),b="_box_79wph_1",m="_paddingNone_79wph_6",h="_paddingSm_79wph_10",u="_paddingMd_79wph_14",w="_paddingLg_79wph_18",M="_paddingXl_79wph_22",k="_marginNone_79wph_27",x="_marginSm_79wph_31",N="_marginMd_79wph_35",L="_marginLg_79wph_39",S="_marginXl_79wph_43",T="_block_79wph_48",F="_inline_79wph_52",f="_inlineBlock_79wph_56",X="_flex_79wph_60",B="_inlineFlex_79wph_64",C="_grid_79wph_68",y="_bgTransparent_79wph_73",A="_bgLight_79wph_77",D="_bgDark_79wph_81",j="_bgAccent_79wph_96",q="_bgForeground_79wph_111",v="_borderNone_79wph_117",$="_borderThin_79wph_121",O="_borderMedium_79wph_125",P="_borderThick_79wph_129",z="_radiusNone_79wph_134",E="_radiusSm_79wph_138",G="_radiusMd_79wph_142",H="_radiusLg_79wph_146",I="_radiusFull_79wph_150",n={box:b,paddingNone:m,paddingSm:h,paddingMd:u,paddingLg:w,paddingXl:M,marginNone:k,marginSm:x,marginMd:N,marginLg:L,marginXl:S,block:T,inline:F,inlineBlock:f,flex:X,inlineFlex:B,grid:C,bgTransparent:y,bgLight:A,bgDark:D,bgAccent:j,bgForeground:q,borderNone:v,borderThin:$,borderMedium:O,borderThick:P,radiusNone:z,radiusSm:E,radiusMd:G,radiusLg:H,radiusFull:I},J={none:n.paddingNone,sm:n.paddingSm,md:n.paddingMd,lg:n.paddingLg,xl:n.paddingXl},K={none:n.marginNone,sm:n.marginSm,md:n.marginMd,lg:n.marginLg,xl:n.marginXl},Q={block:n.block,inline:n.inline,"inline-block":n.inlineBlock,flex:n.flex,"inline-flex":n.inlineFlex,grid:n.grid},R={transparent:n.bgTransparent,light:n.bgLight,dark:n.bgDark,accent:n.bgAccent,foreground:n.bgForeground},U={none:n.borderNone,thin:n.borderThin,medium:n.borderMedium,thick:n.borderThick},V={none:n.radiusNone,sm:n.radiusSm,md:n.radiusMd,lg:n.radiusLg,full:n.radiusFull};function W({padding:i="none",margin:r="none",display:o="block",background:d="transparent",border:e="none",radius:a="none",as:g="div",className:s,children:_,...l}){const c=g,t=[n.box,J[i],K[r],Q[o],R[d],U[e],V[a],s].filter(Boolean).join(" ");return p.jsx(c,{className:t,...l,children:_})}exports.Box=W;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
-
import '../../../
|
|
2
|
+
import '../../../index43.css';const b = "_box_79wph_1", m = "_paddingNone_79wph_6", h = "_paddingSm_79wph_10", u = "_paddingMd_79wph_14", w = "_paddingLg_79wph_18", k = "_paddingXl_79wph_22", M = "_marginNone_79wph_27", x = "_marginSm_79wph_31", N = "_marginMd_79wph_35", L = "_marginLg_79wph_39", T = "_marginXl_79wph_43", F = "_block_79wph_48", S = "_inline_79wph_52", f = "_inlineBlock_79wph_56", X = "_flex_79wph_60", B = "_inlineFlex_79wph_64", C = "_grid_79wph_68", A = "_bgTransparent_79wph_73", D = "_bgLight_79wph_77", j = "_bgDark_79wph_81", y = "_bgAccent_79wph_96", v = "_bgForeground_79wph_111", q = "_borderNone_79wph_117", z = "_borderThin_79wph_121", E = "_borderMedium_79wph_125", G = "_borderThick_79wph_129", H = "_radiusNone_79wph_134", I = "_radiusSm_79wph_138", J = "_radiusMd_79wph_142", K = "_radiusLg_79wph_146", O = "_radiusFull_79wph_150", n = {
|
|
3
3
|
box: b,
|
|
4
4
|
paddingNone: m,
|
|
5
5
|
paddingSm: h,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const s=require("react/jsx-runtime"),e=require("../../../index-
|
|
1
|
+
"use strict";const s=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),r=require("./index.cjs");e.describe("Breadcrumbs",()=>{const a=[{label:"Home",href:"/"},{label:"Dashboard",href:"/dashboard"},{label:"Settings"}];e.describe("Rendering",()=>{e.it("renders a breadcrumb nav with correct aria-label",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByRole("navigation",{name:/breadcrumb/i});e.globalExpect(t).toBeInTheDocument()}),e.it("renders all items",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a})),a.forEach(t=>{e.globalExpect(e.screen.getByText(t.label)).toBeInTheDocument()})})}),e.describe("Links",()=>{e.it("renders links for all but the last item",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getAllByRole("link");e.globalExpect(t).toHaveLength(2),e.globalExpect(t[0]).toHaveAttribute("href","/"),e.globalExpect(t[1]).toHaveAttribute("href","/dashboard")}),e.it("links have aria-label",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByRole("link",{name:/navigate to home/i});e.globalExpect(t).toBeInTheDocument()})}),e.describe("Last item (current page)",()=>{e.it("renders the last item as a span with active class",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByText("Settings");e.globalExpect(t.tagName).toBe("SPAN"),e.globalExpect(t).toHaveClass("active")}),e.it("has aria-current='page' on last item",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getByText("Settings");e.globalExpect(t).toHaveAttribute("aria-current","page")})}),e.describe("Separators",()=>{e.it("renders separators between items",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a}));const t=e.screen.getAllByText("/");e.globalExpect(t).toHaveLength(a.length-1)}),e.it("supports a custom separator",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,separator:"|"}));const t=e.screen.getAllByText("|");e.globalExpect(t).toHaveLength(a.length-1)}),e.it("supports React node as separator",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,separator:s.jsx("span",{children:"→"})}));const t=e.screen.getAllByText("→");e.globalExpect(t).toHaveLength(a.length-1)}),e.it("separators have aria-hidden",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:a}));t.querySelectorAll(".separator").forEach(o=>{e.globalExpect(o).toHaveAttribute("aria-hidden","true")})})}),e.describe("Custom renderLink",()=>{e.it("supports a custom render link function",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,renderLink:(n,o)=>s.jsx("a",{href:n,"data-testid":"custom-link",children:o})}));const t=e.screen.getAllByTestId("custom-link");e.globalExpect(t).toHaveLength(2),e.globalExpect(t[0]).toHaveAttribute("href","/")})}),e.describe("Icons",()=>{e.it("renders icons when provided",()=>{const t=[{label:"Home",href:"/",icon:s.jsx("span",{"data-testid":"home-icon",children:"🏠"})},{label:"Dashboard",href:"/dashboard",icon:s.jsx("span",{"data-testid":"dash-icon",children:"📊"})},{label:"Settings",icon:s.jsx("span",{"data-testid":"settings-icon",children:"⚙️"})}];e.render(s.jsx(r.Breadcrumbs,{items:t})),e.globalExpect(e.screen.getByTestId("home-icon")).toBeInTheDocument(),e.globalExpect(e.screen.getByTestId("dash-icon")).toBeInTheDocument(),e.globalExpect(e.screen.getByTestId("settings-icon")).toBeInTheDocument()}),e.it("icons have aria-hidden",()=>{const t=[{label:"Home",href:"/",icon:s.jsx("span",{children:"🏠"})}],{container:n}=e.render(s.jsx(r.Breadcrumbs,{items:t})),o=n.querySelector(".icon");e.globalExpect(o).toHaveAttribute("aria-hidden","true")})}),e.describe("maxItems collapse",()=>{const t=[{label:"Home",href:"/"},{label:"Products",href:"/products"},{label:"Electronics",href:"/products/electronics"},{label:"Computers",href:"/products/electronics/computers"},{label:"Laptops",href:"/products/electronics/computers/laptops"},{label:"Gaming"}];e.it("shows all items when maxItems is not set",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t})),t.forEach(n=>{e.globalExpect(e.screen.getByText(n.label)).toBeInTheDocument()})}),e.it("shows all items when maxItems >= items.length",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t,maxItems:10})),t.forEach(n=>{e.globalExpect(e.screen.getByText(n.label)).toBeInTheDocument()})}),e.it("collapses items with ellipsis when maxItems < items.length",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t,maxItems:3})),e.globalExpect(e.screen.getByText("Home")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("...")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Laptops")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Gaming")).toBeInTheDocument(),e.globalExpect(e.screen.queryByText("Products")).not.toBeInTheDocument(),e.globalExpect(e.screen.queryByText("Electronics")).not.toBeInTheDocument()}),e.it("ellipsis is not a link",()=>{e.render(s.jsx(r.Breadcrumbs,{items:t,maxItems:3}));const n=e.screen.getByText("...");e.globalExpect(n.tagName).toBe("SPAN"),e.globalExpect(n).toHaveClass("ellipsis")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:a,className:"custom-breadcrumbs"})),n=t.querySelector(".breadcrumbs");e.globalExpect(n).toHaveClass("custom-breadcrumbs")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(s.jsx(r.Breadcrumbs,{items:a,"data-testid":"my-breadcrumbs"})),e.globalExpect(e.screen.getByTestId("my-breadcrumbs")).toBeInTheDocument()}),e.it("supports id attribute",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:a,id:"breadcrumb-nav"}));e.globalExpect(t.querySelector("#breadcrumb-nav")).toBeInTheDocument()})}),e.describe("Edge cases",()=>{e.it("handles single item",()=>{const t=[{label:"Home"}];e.render(s.jsx(r.Breadcrumbs,{items:t})),e.globalExpect(e.screen.getByText("Home")).toBeInTheDocument(),e.globalExpect(e.screen.queryByText("/")).not.toBeInTheDocument()}),e.it("handles empty items array",()=>{const{container:t}=e.render(s.jsx(r.Breadcrumbs,{items:[]})),n=t.querySelector(".list");e.globalExpect(n==null?void 0:n.children).toHaveLength(0)}),e.it("handles items without href",()=>{const t=[{label:"Item 1"},{label:"Item 2"}];e.render(s.jsx(r.Breadcrumbs,{items:t})),e.globalExpect(e.screen.queryByRole("link")).not.toBeInTheDocument(),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Item 2")).toBeInTheDocument()})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { d as l, i as o, r as n, s as a, g as t } from "../../../index-
|
|
2
|
+
import { d as l, i as o, r as n, s as a, g as t } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Breadcrumbs as r } from "./index.mjs";
|
|
4
4
|
l("Breadcrumbs", () => {
|
|
5
5
|
const i = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index44.css');const r=require("react/jsx-runtime"),h=require("react"),p="_breadcrumbs_1nbrg_1",g="_list_1nbrg_7",j="_item_1nbrg_17",N="_icon_1nbrg_22",f="_separator_1nbrg_33",v="_link_1nbrg_39",$="_label_1nbrg_59",m="_active_1nbrg_65",x="_ellipsis_1nbrg_70",a={breadcrumbs:p,list:g,item:j,icon:N,separator:f,link:v,label:$,active:m,ellipsis:x};function y({items:e,separator:b="/",renderLink:t,className:d,maxItems:n,..._}){const o=h.useMemo(()=>{if(!n||e.length<=n)return e;const s=e[0],l=e.slice(-(n-1));return[s,{label:"...",href:void 0},...l]},[e,n]);return r.jsx("nav",{className:`${a.breadcrumbs} ${d??""}`.trim(),"aria-label":"Breadcrumb",..._,children:r.jsx("ol",{className:a.list,children:o.map((s,l)=>{const c=l===o.length-1,i=s.label==="...",u=s.href&&!c&&!i?t?t(s.href,r.jsxs(r.Fragment,{children:[s.icon&&r.jsx("span",{className:a.icon,"aria-hidden":"true",children:s.icon}),s.label]})):r.jsxs("a",{href:s.href,className:a.link,"aria-label":`Navigate to ${s.label}`,children:[s.icon&&r.jsx("span",{className:a.icon,"aria-hidden":"true",children:s.icon}),s.label]}):r.jsxs("span",{className:`${a.label} ${c?a.active:""} ${i?a.ellipsis:""}`.trim(),"aria-current":c&&!i?"page":void 0,children:[s.icon&&r.jsx("span",{className:a.icon,"aria-hidden":"true",children:s.icon}),s.label]});return r.jsxs("li",{className:a.item,children:[u,!c&&r.jsx("span",{className:a.separator,"aria-hidden":"true",role:"presentation",children:b})]},l)})})})}exports.Breadcrumbs=y;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as n, jsxs as i, Fragment as u } from "react/jsx-runtime";
|
|
2
2
|
import g from "react";
|
|
3
|
-
import '../../../
|
|
3
|
+
import '../../../index44.css';const f = "_breadcrumbs_1nbrg_1", N = "_list_1nbrg_7", m = "_item_1nbrg_17", v = "_icon_1nbrg_22", $ = "_separator_1nbrg_33", k = "_link_1nbrg_39", j = "_label_1nbrg_59", y = "_active_1nbrg_65", B = "_ellipsis_1nbrg_70", r = {
|
|
4
4
|
breadcrumbs: f,
|
|
5
5
|
list: N,
|
|
6
6
|
item: m,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),e=require("../../../index-
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),r=require("../../../index-hPJqlEOh.cjs");e.describe("Button",()=>{e.describe("Rendering as button",()=>{e.it("renders as a button by default",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Click Me"}));const t=e.screen.getByRole("button",{name:"Click Me"});e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t.tagName).toBe("BUTTON")}),e.it("renders as a button when 'as' is set to 'button'",()=>{e.render(n.jsx(r.Button,{as:"button",variant:"primary",children:"Click Me"}));const t=e.screen.getByRole("button",{name:"Click Me"});e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t).toHaveClass("button","primary")}),e.it("has type='button' by default",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Click Me"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("type","button")}),e.it("respects the disabled prop on buttons",()=>{e.render(n.jsx(r.Button,{as:"button",variant:"primary",disabled:!0,children:"Disabled"}));const t=e.screen.getByRole("button",{name:"Disabled"});e.globalExpect(t).toBeDisabled()}),e.it("calls onClick when clicked",()=>{const t=e.vi.fn();e.render(n.jsx(r.Button,{variant:"primary",onClick:t,children:"Click Me"}));const o=e.screen.getByRole("button");e.fireEvent.click(o),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("does not call onClick when disabled",()=>{const t=e.vi.fn();e.render(n.jsx(r.Button,{variant:"primary",onClick:t,disabled:!0,children:"Disabled"}));const o=e.screen.getByRole("button");e.fireEvent.click(o),e.globalExpect(t).not.toHaveBeenCalled()})}),e.describe("Rendering as anchor",()=>{e.it("renders as an anchor when 'as' is set to 'a'",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",children:"Click Me"}));const t=e.screen.getByRole("link",{name:"Click Me"});e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t.tagName).toBe("A"),e.globalExpect(t).toHaveAttribute("href","/test"),e.globalExpect(t).toHaveClass("button","link")}),e.it("adds rel='noopener noreferrer' when target is '_blank'",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",target:"_blank",variant:"link",children:"External"}));const t=e.screen.getByRole("link",{name:"External"});e.globalExpect(t).toHaveAttribute("rel","noopener noreferrer")}),e.it("preserves custom rel attribute and adds security",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",target:"_blank",rel:"author",variant:"link",children:"External"}));const t=e.screen.getByRole("link");e.globalExpect(t).toHaveAttribute("rel","author noopener noreferrer")}),e.it("does not add security rel for internal links",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",children:"Internal"}));const t=e.screen.getByRole("link");e.globalExpect(t).not.toHaveAttribute("rel")}),e.it("adds aria-disabled when disabled",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",disabled:!0,children:"Disabled Link"}));const t=e.screen.getByRole("link");e.globalExpect(t).toHaveAttribute("aria-disabled","true")})}),e.describe("Scroll button",()=>{e.it("renders as a scroll button when 'as' is set to 'scroll'",()=>{e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"section-1",variant:"primary",children:"Scroll Down"}));const t=e.screen.getByRole("button",{name:"Scroll to section-1"});e.globalExpect(t).toBeInTheDocument()}),e.it("has proper aria-label for scroll button",()=>{e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"footer",variant:"primary",children:"To Footer"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Scroll to footer")}),e.it("scrolls to target element when clicked",()=>{const t=document.createElement("div");t.id="target-section",document.body.appendChild(t);const o=e.vi.fn();t.scrollIntoView=o,e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"target-section",variant:"primary",children:"Scroll"}));const a=e.screen.getByRole("button");e.fireEvent.click(a),e.globalExpect(o).toHaveBeenCalledWith({behavior:"smooth",block:"start"}),document.body.removeChild(t)}),e.it("does not error if scroll target does not exist",()=>{e.render(n.jsx(r.Button,{as:"scroll",scrollTarget:"non-existent",variant:"primary",children:"Scroll"}));const t=e.screen.getByRole("button");e.globalExpect(()=>e.fireEvent.click(t)).not.toThrow()})}),e.describe("Variants",()=>{["primary","primaryInverted","secondary","secondaryInverted","link","linkInverted","underline","underlineInverted","blurred","blurredInverted"].forEach(o=>{e.it(`applies ${o} variant class`,()=>{e.render(n.jsx(r.Button,{variant:o,children:"Button"}));const a=e.screen.getByRole("button");e.globalExpect(a).toHaveClass(o)})}),e.it("uses primary variant by default",()=>{e.render(n.jsx(r.Button,{children:"Default"}));const o=e.screen.getByRole("button");e.globalExpect(o).toHaveClass("primary")})}),e.describe("Icons",()=>{e.it("includes icon when icon prop is provided",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-right",children:"Next"}));const t=document.querySelector(".icon");e.globalExpect(t).toBeInTheDocument();const o=t==null?void 0:t.querySelector("svg");e.globalExpect(o).toBeInTheDocument()}),e.it("places icon on the left when iconAlignment is 'left'",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-left",iconAlignment:"left",children:"Back"}));const t=document.querySelector(".content");e.globalExpect(t).toHaveClass("iconLeft")}),e.it("places icon on the right when iconAlignment is 'right'",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-right",iconAlignment:"right",children:"Next"}));const t=document.querySelector(".content");e.globalExpect(t).toHaveClass("iconRight")}),e.it("uses right alignment by default",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"arrow-right",children:"Default Icon"}));const t=document.querySelector(".content");e.globalExpect(t).toHaveClass("iconRight")}),e.it("icon has aria-hidden attribute",()=>{e.render(n.jsx(r.Button,{variant:"primary",icon:"settings",children:"Settings"}));const t=document.querySelector(".icon");e.globalExpect(t).toHaveAttribute("aria-hidden","true")}),e.it("works with anchor links",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",icon:"new-tab",children:"External"}));const t=document.querySelector(".icon");e.globalExpect(t).toBeInTheDocument()})}),e.describe("Image display",()=>{e.it("renders image when displayType is 'image' and imageSrc is provided",()=>{e.render(n.jsx(r.Button,{variant:"primary",displayType:"image",imageSrc:"/logo.png",imageAlt:"Company Logo",children:"Text not shown"}));const t=document.querySelector("img");e.globalExpect(t).toBeInTheDocument(),e.globalExpect(t).toHaveAttribute("src","/logo.png"),e.globalExpect(t).toHaveAttribute("alt","Company Logo")}),e.it("renders ImageComponent when provided",()=>{const t=()=>n.jsx("div",{"data-testid":"custom-image",children:"Custom"});e.render(n.jsx(r.Button,{variant:"primary",displayType:"image",ImageComponent:n.jsx(t,{}),children:"Text"})),e.globalExpect(e.screen.getByTestId("custom-image")).toBeInTheDocument()}),e.it("applies image class when displayType is image",()=>{e.render(n.jsx(r.Button,{variant:"primary",displayType:"image",imageSrc:"/logo.png",children:"Text"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveClass("image"),e.globalExpect(t).not.toHaveClass("primary")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{e.render(n.jsx(r.Button,{variant:"primary",className:"custom-button",children:"Custom"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveClass("custom-button"),e.globalExpect(t).toHaveClass("button"),e.globalExpect(t).toHaveClass("primary")})}),e.describe("Accessibility",()=>{e.it("has button role for button element",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Click"})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument()}),e.it("has link role for anchor element",()=>{e.render(n.jsx(r.Button,{as:"a",href:"/test",variant:"link",children:"Link"})),e.globalExpect(e.screen.getByRole("link")).toBeInTheDocument()}),e.it("supports aria attributes",()=>{e.render(n.jsx(r.Button,{variant:"primary","aria-label":"Custom Label","aria-describedby":"desc",children:"Button"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Custom Label"),e.globalExpect(t).toHaveAttribute("aria-describedby","desc")})}),e.describe("Edge cases",()=>{e.it("handles undefined variant",()=>{e.render(n.jsx(r.Button,{variant:void 0,children:"No Variant"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveClass("button")}),e.it("handles empty children",()=>{e.render(n.jsx(r.Button,{variant:"primary",children:"Primary"}));const t=e.screen.getByRole("button");e.globalExpect(t).toBeInTheDocument()}),e.it("handles complex children",()=>{e.render(n.jsxs(r.Button,{variant:"primary",children:[n.jsx("span",{children:"Complex"}),n.jsx("strong",{children:"Children"})]})),e.globalExpect(e.screen.getByText("Complex")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Children")).toBeInTheDocument()})})});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as n, jsxs as m } from "react/jsx-runtime";
|
|
2
|
-
import { d as s, i as o, r as a, s as i, g as t, v as u, f as c } from "../../../index-
|
|
3
|
-
import { B as r } from "../../../index-
|
|
2
|
+
import { d as s, i as o, r as a, s as i, g as t, v as u, f as c } from "../../../index-Ck6GdALV.js";
|
|
3
|
+
import { B as r } from "../../../index-paelIj6o.js";
|
|
4
4
|
s("Button", () => {
|
|
5
5
|
s("Rendering as button", () => {
|
|
6
6
|
o("renders as a button by default", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("react");const e=require("../../../index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("react");const e=require("../../../index-hPJqlEOh.cjs");require("../../../index-CBK5rp6X.cjs");require("../../../external-link-DDShu-48.cjs");require("../../../play-CQBnZgNa.cjs");require("../../../chevron-right-motlyADs.cjs");require("../../../chevron-down-DfK1XBl3.cjs");require("../../../arrow-right-DO6S4vfx.cjs");require("../../../arrow-left-4E3t8axP.cjs");exports.Button=e.Button;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { B as s } from "../../../index-
|
|
3
|
+
import { B as s } from "../../../index-paelIj6o.js";
|
|
4
4
|
import "../../../index-CeBA0PT0.js";
|
|
5
5
|
import "../../../external-link-BOPobeQJ.js";
|
|
6
6
|
import "../../../play-DYgKiSaf.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const t=require("react/jsx-runtime"),e=require("../../../index-
|
|
1
|
+
"use strict";const t=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),o=require("./index.cjs");e.describe("ButtonGroup",()=>{e.describe("Rendering",()=>{e.it("renders children",()=>{e.render(t.jsxs(o.ButtonGroup,{children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]})),e.globalExpect(e.screen.getByText("One")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Two")).toBeInTheDocument()}),e.it("renders multiple button types",()=>{e.render(t.jsxs(o.ButtonGroup,{children:[t.jsx("button",{children:"Button"}),t.jsx("a",{href:"#",children:"Link"}),t.jsx("span",{children:"Text"})]})),e.globalExpect(e.screen.getByText("Button")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Link")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Text")).toBeInTheDocument()})}),e.describe("Orientation",()=>{e.it("applies horizontal orientation by default",()=>{const{container:n}=e.render(t.jsxs(o.ButtonGroup,{children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]}));e.globalExpect(n.firstChild).toHaveClass("horizontal")}),e.it("applies vertical orientation when specified",()=>{const{container:n}=e.render(t.jsxs(o.ButtonGroup,{orientation:"vertical",children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]}));e.globalExpect(n.firstChild).toHaveClass("vertical")})}),e.describe("Alignment",()=>{e.it("applies left alignment by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("left")}),e.it("applies center alignment when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{alignment:"center",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("center")}),e.it("applies right alignment when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{alignment:"right",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("right")})}),e.describe("Size",()=>{e.it("applies md size by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("md")}),e.it("applies sm size when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{spacing:"sm",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("sm")}),e.it("applies lg size when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{spacing:"lg",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("lg")})}),e.describe("Full width",()=>{e.it("does not apply fullWidth by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).not.toHaveClass("fullWidth")}),e.it("applies fullWidth when specified",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{fullWidth:!0,children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("fullWidth")})}),e.describe("Custom className",()=>{e.it("accepts a custom className",()=>{const{container:n}=e.render(t.jsxs(o.ButtonGroup,{className:"custom-class",children:[t.jsx("button",{children:"One"}),t.jsx("button",{children:"Two"})]}));e.globalExpect(n.firstChild).toHaveClass("custom-class"),e.globalExpect(n.firstChild).toHaveClass("buttonGroup")})}),e.describe("ARIA and accessibility",()=>{e.it("has role='group' by default",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveAttribute("role","group")}),e.it("accepts custom role",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{role:"toolbar",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveAttribute("role","toolbar")}),e.it("supports aria-label",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{"aria-label":"Actions",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveAttribute("aria-label","Actions")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{e.render(t.jsx(o.ButtonGroup,{"data-testid":"my-group",children:t.jsx("button",{children:"One"})})),e.globalExpect(e.screen.getByTestId("my-group")).toBeInTheDocument()}),e.it("supports id attribute",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{id:"button-group-1",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.querySelector("#button-group-1")).toBeInTheDocument()}),e.it("supports onClick on container",()=>{const n=e.vi.fn(),{container:i}=e.render(t.jsx(o.ButtonGroup,{onClick:n,children:t.jsx("button",{children:"One"})}));e.fireEvent.click(i.firstChild),e.globalExpect(n).toHaveBeenCalledTimes(1)})}),e.describe("Combined props",()=>{e.it("combines orientation, alignment, and size",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{orientation:"vertical",alignment:"center",spacing:"lg",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("vertical"),e.globalExpect(n.firstChild).toHaveClass("center"),e.globalExpect(n.firstChild).toHaveClass("lg")}),e.it("combines all props",()=>{const{container:n}=e.render(t.jsx(o.ButtonGroup,{orientation:"horizontal",alignment:"right",spacing:"sm",fullWidth:!0,className:"custom",children:t.jsx("button",{children:"One"})}));e.globalExpect(n.firstChild).toHaveClass("horizontal"),e.globalExpect(n.firstChild).toHaveClass("right"),e.globalExpect(n.firstChild).toHaveClass("sm"),e.globalExpect(n.firstChild).toHaveClass("fullWidth"),e.globalExpect(n.firstChild).toHaveClass("custom")})}),e.describe("Edge cases",()=>{e.it("handles single child",()=>{e.render(t.jsx(o.ButtonGroup,{children:t.jsx("button",{children:"Only One"})})),e.globalExpect(e.screen.getByText("Only One")).toBeInTheDocument()}),e.it("handles many children",()=>{e.render(t.jsx(o.ButtonGroup,{children:Array.from({length:10},(n,i)=>t.jsxs("button",{children:["Button ",i+1]},i))})),e.globalExpect(e.screen.getByText("Button 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Button 10")).toBeInTheDocument()})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as t, jsxs as a } from "react/jsx-runtime";
|
|
2
|
-
import { d as r, i, r as o, g as n, s, v as d, f as h } from "../../../index-
|
|
2
|
+
import { d as r, i, r as o, g as n, s, v as d, f as h } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { ButtonGroup as l } from "./index.mjs";
|
|
4
4
|
r("ButtonGroup", () => {
|
|
5
5
|
r("Rendering", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const l=require("react/jsx-runtime"),e=require("../../../index-
|
|
1
|
+
"use strict";const l=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),s=require("../../../index-rFLvzU5A.cjs");e.describe("Calendar",()=>{e.describe("Rendering",()=>{e.it("renders the current month and year",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}})),e.globalExpect(e.screen.getByText("May 2025")).toBeInTheDocument()}),e.it("renders the day names (Sun to Sat)",()=>{const t=new Date;e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}})),["Sun","Mon","Tue","Wed","Thu","Fri","Sat"].forEach(n=>{e.globalExpect(e.screen.getByText(n)).toBeInTheDocument()})}),e.it("renders all days for the visible calendar grid",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const n=e.screen.getAllByRole("button").filter(o=>/^\d+$/.test(o.textContent||""));e.globalExpect(n.length).toBeGreaterThanOrEqual(28)})}),e.describe("Date Selection",()=>{e.it("calls onSelectDate with the correct date when a day is clicked",()=>{const t=new Date(2025,4,1),a=e.vi.fn();e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:a}));const n=e.screen.getAllByRole("button").find(c=>c.textContent==="15");e.globalExpect(n).toBeTruthy(),n&&e.fireEvent.click(n),e.globalExpect(a).toHaveBeenCalledTimes(1);const o=a.mock.calls[0][0];e.globalExpect(s.format(o,"yyyy-MM-dd")).toBe("2025-05-15")}),e.it("highlights the selected date",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getAllByRole("button").find(n=>n.textContent==="15");e.globalExpect(a).toHaveClass("selected")})}),e.describe("Navigation",()=>{e.it("navigates to previous and next months",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getByLabelText("Previous month");e.fireEvent.click(a),e.globalExpect(e.screen.getByText("April 2025")).toBeInTheDocument();const n=e.screen.getByLabelText("Next month");e.fireEvent.click(n),e.fireEvent.click(n),e.globalExpect(e.screen.getByText("June 2025")).toBeInTheDocument()}),e.it("disables previous button when minDate is reached",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},minDate:a}));const n=e.screen.getByLabelText("Previous month");e.globalExpect(n).toBeDisabled()}),e.it("disables next button when maxDate is reached",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,30);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},maxDate:a}));const n=e.screen.getByLabelText("Next month");e.globalExpect(n).toBeDisabled()})}),e.describe("Date Restrictions",()=>{e.it("disables dates before minDate",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,10);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},minDate:a}));const n=e.screen.getAllByRole("button").find(o=>o.textContent==="5");e.globalExpect(n).toBeDisabled()}),e.it("disables dates after maxDate",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,20);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},maxDate:a}));const n=e.screen.getAllByRole("button").find(o=>o.textContent==="25");e.globalExpect(n).toBeDisabled()}),e.it("disables specific dates from disabledDates array",()=>{const t=new Date(2025,4,15),a=[new Date(2025,4,10),new Date(2025,4,20)];e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},disabledDates:a}));const n=e.screen.getAllByRole("button").find(c=>c.textContent==="10"),o=e.screen.getAllByRole("button").find(c=>c.textContent==="20");e.globalExpect(n).toBeDisabled(),e.globalExpect(o).toBeDisabled()}),e.it("does not call onSelectDate for disabled dates",()=>{const t=new Date(2025,4,15),a=new Date(2025,4,10),n=e.vi.fn();e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:n,minDate:a}));const o=e.screen.getAllByRole("button").find(c=>c.textContent==="5");o&&e.fireEvent.click(o),e.globalExpect(n).not.toHaveBeenCalled()})}),e.describe("Outside Days",()=>{e.it("shows outside days by default",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const n=e.screen.getAllByRole("button").filter(o=>/^\d+$/.test(o.textContent||""));e.globalExpect(n.length).toBeGreaterThanOrEqual(35)}),e.it("hides outside days when showOutsideDays is false",()=>{const t=new Date(2025,4,1);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},showOutsideDays:!1}));const n=e.screen.getAllByRole("button").filter(o=>/^\d+$/.test(o.textContent||""));e.globalExpect(n.length).toBe(31)})}),e.describe("Accessibility",()=>{e.it("has proper ARIA labels on date buttons",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getByLabelText("May 15, 2025");e.globalExpect(a).toBeInTheDocument()}),e.it("marks selected date with aria-pressed",()=>{const t=new Date(2025,4,15);e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}}));const a=e.screen.getByLabelText("May 15, 2025");e.globalExpect(a).toHaveAttribute("aria-pressed","true")}),e.it("has role='application' on calendar container",()=>{const t=new Date(2025,4,15),{container:a}=e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{}})),n=a.querySelector('[role="application"]');e.globalExpect(n).toBeInTheDocument()})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{const t=new Date(2025,4,15),{container:a}=e.render(l.jsx(s.Calendar,{selectedDate:t,onSelectDate:()=>{},className:"custom-calendar"})),n=a.querySelector(".calendar");e.globalExpect(n).toHaveClass("custom-calendar")})})});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { d as D, i as l, r as c, g as a, s as o, v as B, f as u } from "../../../index-
|
|
3
|
-
import { f as b, C as d } from "../../../index-
|
|
2
|
+
import { d as D, i as l, r as c, g as a, s as o, v as B, f as u } from "../../../index-Ck6GdALV.js";
|
|
3
|
+
import { f as b, C as d } from "../../../index-DTDGFsW8.js";
|
|
4
4
|
D("Calendar", () => {
|
|
5
5
|
D("Rendering", () => {
|
|
6
6
|
l("renders the current month and year", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("react");const e=require("../../../index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("react");const e=require("../../../index-rFLvzU5A.cjs");require("../../../chevron-right-motlyADs.cjs");exports.Calendar=e.Calendar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const n=require("react/jsx-runtime"),e=require("../../../index-
|
|
1
|
+
"use strict";const n=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),r=require("./index.cjs");e.describe("Card",()=>{e.describe("Rendering",()=>{e.it("renders with title, content and footer",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",footer:n.jsx("button",{children:"Footer Button"})})),e.globalExpect(e.screen.getByText("Test Title")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Content")).toBeInTheDocument(),e.globalExpect(e.screen.getByRole("button",{name:/footer button/i})).toBeInTheDocument()}),e.it("does not render title if not provided",()=>{e.render(n.jsx(r.Card,{content:"Test Content",footer:n.jsx("button",{children:"Footer Button"})})),e.globalExpect(e.screen.queryByRole("heading")).not.toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Content")).toBeInTheDocument()}),e.it("does not render content if not provided",()=>{e.render(n.jsx(r.Card,{title:"Test Title",footer:n.jsx("button",{children:"Footer Button"})})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument(),e.globalExpect(e.screen.queryByText("Test Content")).not.toBeInTheDocument()}),e.it("does not render footer if not provided",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content"})),e.globalExpect(e.screen.getByRole("article")).toBeInTheDocument(),e.globalExpect(e.screen.queryByRole("button")).not.toBeInTheDocument()}),e.it("renders with ReactNode title",()=>{e.render(n.jsx(r.Card,{title:n.jsx("span",{"data-testid":"custom-title",children:"Custom Title"}),content:"Test Content"})),e.globalExpect(e.screen.getByTestId("custom-title")).toBeInTheDocument()}),e.it("renders with ReactNode content",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:n.jsx("div",{"data-testid":"custom-content",children:"Custom Content"})})),e.globalExpect(e.screen.getByTestId("custom-content")).toBeInTheDocument()})}),e.describe("Variants",()=>{e.it("renders with default variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title"})),o=t.firstChild;e.globalExpect(o).toHaveClass("default")}),e.it("renders with outlined variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"outlined"})),o=t.firstChild;e.globalExpect(o).toHaveClass("outlined")}),e.it("renders with elevated variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"elevated"})),o=t.firstChild;e.globalExpect(o).toHaveClass("elevated")}),e.it("renders with imageTop variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageTop",imageSrc:"https://via.placeholder.com/300"})),o=t.firstChild;e.globalExpect(o).toHaveClass("imageTop");const l=t.querySelector("img");e.globalExpect(l).toBeInTheDocument(),e.globalExpect(l).toHaveAttribute("alt","Card image")}),e.it("renders with imageBackground variant",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageBackground",imageSrc:"https://via.placeholder.com/300"})),o=t.firstChild;e.globalExpect(o).toHaveClass("imageBackground");const l=t.querySelector("img");e.globalExpect(l).toBeInTheDocument(),e.globalExpect(l).toHaveAttribute("alt","Card image")})}),e.describe("Clickable behavior",()=>{e.it("calls onClick when card is clicked",()=>{const t=e.vi.fn();e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:t}));const o=e.screen.getByRole("button");e.fireEvent.click(o),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("has button role when clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:()=>{}})),e.globalExpect(e.screen.getByRole("button")).toBeInTheDocument()}),e.it("has article role when not clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content"})),e.globalExpect(e.screen.getByRole("article")).toBeInTheDocument()}),e.it("supports keyboard interaction (Enter)",()=>{const t=e.vi.fn();e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:t}));const o=e.screen.getByRole("button");e.fireEvent.keyDown(o,{key:"Enter"}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("supports keyboard interaction (Space)",()=>{const t=e.vi.fn();e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:t}));const o=e.screen.getByRole("button");e.fireEvent.keyDown(o,{key:" "}),e.globalExpect(t).toHaveBeenCalledTimes(1)}),e.it("is focusable when clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",content:"Test Content",onClick:()=>{}}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("tabIndex","0")}),e.it("applies clickable class when onClick is provided",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",onClick:()=>{}})),o=t.firstChild;e.globalExpect(o).toHaveClass("clickable")}),e.it("applies clickable class when clickable prop is true",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",clickable:!0})),o=t.firstChild;e.globalExpect(o).toHaveClass("clickable")})}),e.describe("Hoverable",()=>{e.it("applies hoverable class by default",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title"})),o=t.firstChild;e.globalExpect(o).toHaveClass("hoverable")}),e.it("does not apply hoverable class when hoverable is false",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",hoverable:!1})),o=t.firstChild;e.globalExpect(o).not.toHaveClass("hoverable")})}),e.describe("Images",()=>{e.it("renders image with custom alt text",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageTop",imageSrc:"https://via.placeholder.com/300",imageAlt:"Custom alt text"})),o=t.querySelector("img");e.globalExpect(o).toBeInTheDocument(),e.globalExpect(o).toHaveAttribute("alt","Custom alt text")}),e.it("uses default alt text when not provided",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",variant:"imageTop",imageSrc:"https://via.placeholder.com/300"})),o=t.querySelector("img");e.globalExpect(o).toBeInTheDocument(),e.globalExpect(o).toHaveAttribute("alt","Card image")})}),e.describe("Custom className",()=>{e.it("applies custom className",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",className:"custom-card"})),o=t.firstChild;e.globalExpect(o).toHaveClass("custom-card"),e.globalExpect(o).toHaveClass("card")})}),e.describe("HTML attributes",()=>{e.it("supports data attributes",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title","data-testid":"my-card"})),o=t.querySelector('[data-testid="my-card"]');e.globalExpect(o).toBeInTheDocument()}),e.it("supports id attribute",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title",id:"card-1"}));e.globalExpect(t.querySelector("#card-1")).toBeInTheDocument()})}),e.describe("Accessibility",()=>{e.it("has proper aria-label for string titles when clickable",()=>{e.render(n.jsx(r.Card,{title:"Test Title",onClick:()=>{}}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Test Title")}),e.it("has heading role on title",()=>{const{container:t}=e.render(n.jsx(r.Card,{title:"Test Title"})),o=t.querySelector('[role="heading"]');e.globalExpect(o).toBeInTheDocument(),e.globalExpect(o).toHaveTextContent("Test Title")})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { d as c, i, r as a, g as e, s, v as d, f as T } from "../../../index-
|
|
2
|
+
import { d as c, i, r as a, g as e, s, v as d, f as T } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Card as l } from "./index.mjs";
|
|
4
4
|
c("Card", () => {
|
|
5
5
|
c("Rendering", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index45.css');const a=require("react/jsx-runtime"),h="_card_12obw_1",y="_outlined_12obw_19",j="_elevated_12obw_24",k="_clickable_12obw_30",N="_hoverable_12obw_39",B="_imageTop_12obw_49",C="_imageContainer_12obw_56",f="_image_12obw_49",p="_content_12obw_70",T="_imageBackground_12obw_76",$="_imageBackgroundContainer_12obw_82",I="_backgroundImage_12obw_89",D="_overlay_12obw_99",q="_overlayContent_12obw_117",K="_title_12obw_121",M="_text_12obw_122",E="_contentBody_12obw_136",O="_footer_12obw_163",e={card:h,default:"_default_12obw_15",outlined:y,elevated:j,clickable:k,hoverable:N,imageTop:B,imageContainer:C,image:f,content:p,imageBackground:T,imageBackgroundContainer:$,backgroundImage:I,overlay:D,overlayContent:q,title:K,text:M,contentBody:E,footer:O},P={default:e.default,outlined:e.outlined,elevated:e.elevated,imageTop:e.imageTop,imageBackground:e.imageBackground};function z({title:o,content:s,footer:c,imageSrc:i,imageAlt:r="Card image",onClick:n,variant:l="default",clickable:g=!1,className:m,hoverable:v=!0,children:_,...b}){const t=g||!!n,u=`${e.card} ${P[l]} ${t?e.clickable:""} ${v?e.hoverable:""} ${m??""}`.trim(),x=t?n:void 0,w=t?d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),n==null||n())}:void 0;return a.jsxs("div",{className:u,onClick:x,onKeyDown:w,role:t?"button":"article",tabIndex:t?0:void 0,"aria-label":typeof o=="string"?o:void 0,...b,children:[l==="imageTop"&&i&&a.jsx("div",{className:e.imageContainer,children:a.jsx("img",{src:i,alt:r,className:e.image})}),l==="imageBackground"&&i?a.jsxs("div",{className:e.imageBackgroundContainer,children:[a.jsx("img",{src:i,alt:r,className:e.backgroundImage}),a.jsxs("div",{className:e.overlay,children:[a.jsxs("div",{className:e.overlayContent,children:[o&&a.jsx("div",{className:e.title,role:"heading","aria-level":3,children:o}),s&&a.jsx("div",{className:e.text,children:s})]}),c&&a.jsx("div",{className:e.footer,children:c})]})]}):a.jsxs("div",{className:e.content,children:[a.jsxs("div",{className:e.contentBody,children:[o&&a.jsx("div",{className:e.title,role:"heading","aria-level":3,children:o}),s&&a.jsx("div",{className:e.text,children:s}),_&&a.jsx("div",{children:_})]}),c&&a.jsx("div",{className:e.footer,children:c})]})]})}exports.Card=z;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as n, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import '../../../
|
|
2
|
+
import '../../../index45.css';const w = "_card_12obw_1", y = "_outlined_12obw_19", k = "_elevated_12obw_24", N = "_clickable_12obw_30", B = "_hoverable_12obw_39", C = "_imageTop_12obw_49", f = "_imageContainer_12obw_56", p = "_image_12obw_49", x = "_content_12obw_70", T = "_imageBackground_12obw_76", I = "_imageBackgroundContainer_12obw_82", $ = "_backgroundImage_12obw_89", D = "_overlay_12obw_99", K = "_overlayContent_12obw_117", j = "_title_12obw_121", E = "_text_12obw_122", M = "_contentBody_12obw_136", q = "_footer_12obw_163", e = {
|
|
3
3
|
card: w,
|
|
4
4
|
default: "_default_12obw_15",
|
|
5
5
|
outlined: y,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var d=Object.defineProperty;var u=(s,n,a)=>n in s?d(s,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[n]=a;var c=(s,n,a)=>u(s,typeof n!="symbol"?n+"":n,a);const r=require("react/jsx-runtime"),e=require("../../../index-DITXfOUM.cjs"),i=require("./index.cjs"),g=require("react");e.vi.mock("lucide-react",()=>({ArrowLeft:({size:s})=>r.jsx("div",{"data-testid":"arrow-left",style:{width:s,height:s},children:"←"}),ArrowRight:({size:s})=>r.jsx("div",{"data-testid":"arrow-right",style:{width:s,height:s},children:"→"})}));class b{constructor(n){c(this,"callback");c(this,"observe",e.vi.fn(n=>{const a={target:n,contentRect:{width:800,height:400,top:0,left:0,bottom:400,right:800,x:0,y:0,toJSON:()=>({})},borderBoxSize:[],contentBoxSize:[],devicePixelContentBoxSize:[]};this.callback([a],this)}));c(this,"unobserve",e.vi.fn());c(this,"disconnect",e.vi.fn());this.callback=n}}global.ResizeObserver=b;e.describe("Carousel",()=>{let s,n;e.beforeEach(()=>{e.vi.useFakeTimers(),n=document.createElement("div"),Object.defineProperty(n,"offsetWidth",{value:800,configurable:!0}),document.body.appendChild(n),s={current:n},HTMLElement.prototype.getBoundingClientRect=e.vi.fn(function(){return{width:this.offsetWidth||800,height:this.offsetHeight||400,top:0,left:0,bottom:this.offsetHeight||400,right:this.offsetWidth||800,x:0,y:0,toJSON:()=>{}}})}),e.afterEach(()=>{e.vi.runOnlyPendingTimers(),e.vi.useRealTimers(),document.body.removeChild(n)});const a=[r.jsx("div",{children:"Item 1"},"1"),r.jsx("div",{children:"Item 2"},"2"),r.jsx("div",{children:"Item 3"},"3"),r.jsx("div",{children:"Item 4"},"4"),r.jsx("div",{children:"Item 5"},"5"),r.jsx("div",{children:"Item 6"},"6")];e.describe("Rendering",()=>{e.it("renders carousel with items",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s})),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument()}),e.it("renders navigation controls for multiple pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByLabelText("Previous slide")).toBeInTheDocument(),e.globalExpect(e.screen.getByLabelText("Next slide")).toBeInTheDocument()}),e.it("renders indicators for multiple pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(2)}),e.it("does not render controls for single page",()=>{e.render(r.jsx(i.Carousel,{items:[a[0]],parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.queryByLabelText("Previous slide")).not.toBeInTheDocument(),e.globalExpect(e.screen.queryByLabelText("Next slide")).not.toBeInTheDocument()}),e.it("applies custom className",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,className:"custom-carousel"}));e.globalExpect(t.querySelector(".custom-carousel")).toBeInTheDocument()})}),e.describe("Navigation",()=>{e.it("enables previous button after navigating forward",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide"),o=e.screen.getByLabelText("Previous slide");e.globalExpect(o).toBeDisabled(),e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(o).not.toBeDisabled()}),e.it("navigates back to first page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide"),o=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(o).not.toBeDisabled(),e.act(()=>{e.fireEvent.click(o)}),e.globalExpect(o).toBeDisabled()}),e.it("disables previous button on first page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Previous slide");e.globalExpect(t).toBeDisabled(),e.globalExpect(t).toHaveClass("disabled")}),e.it("disables next button on last page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(t).toHaveClass("disabled")}),e.it("navigates to specific page via indicator",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:2}));const t=e.screen.getAllByRole("tab"),o=e.screen.getByLabelText("Previous slide");e.globalExpect(o).toBeDisabled(),e.act(()=>{e.fireEvent.click(t[2])}),e.globalExpect(o).not.toBeDisabled()})}),e.describe("Items Per Page",()=>{e.it("calculates correct number of pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:2}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(3)}),e.it("handles single item per page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:1}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(6)}),e.it("handles itemsPerPage larger than items length",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:10})),e.globalExpect(e.screen.queryByLabelText("Previous slide")).not.toBeInTheDocument()})}),e.describe("Autoplay",()=>{e.it("does not advance without autoplay enabled",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,autoplay:!1}));const t=e.screen.getByLabelText("Previous slide");e.act(()=>{e.vi.advanceTimersByTime(5e3)}),e.globalExpect(t).toBeDisabled()}),e.it("stops autoplay on manual navigation",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,autoplay:!0,autoplayInterval:1}));const t=e.screen.getByLabelText("Next slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(t).toHaveClass("disabled"),e.act(()=>{e.vi.advanceTimersByTime(2e3)}),e.globalExpect(t).toHaveClass("disabled")})}),e.describe("Touch Gestures",()=>{e.it("sets up touch event handlers",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]');e.globalExpect(o).toBeInTheDocument()}),e.it("ignores small swipe gestures",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.touchStart(o,{touches:[{clientX:200,clientY:100}]}),e.fireEvent.touchEnd(o,{changedTouches:[{clientX:180,clientY:100}]})}),e.globalExpect(l).toBeDisabled()})}),e.describe("Mouse Drag",()=>{e.it("sets up mouse event handlers",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]');e.globalExpect(o).toBeInTheDocument()}),e.it("resets drag state on mouse leave",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.mouseDown(o,{clientX:200}),e.fireEvent.mouseMove(o,{clientX:150}),e.fireEvent.mouseLeave(o)}),e.globalExpect(l).toBeDisabled()}),e.it("ignores small drag movements",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.mouseDown(o,{clientX:200}),e.fireEvent.mouseMove(o,{clientX:180}),e.fireEvent.mouseUp(o)}),e.globalExpect(l).toBeDisabled()})}),e.describe("Grid Layout",()=>{e.it("uses grid layout for multiple rows",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:6,itemsPerRow:3})),o=t.querySelector('[class*="page"]');e.globalExpect(o).toHaveStyle({display:"grid"})}),e.it("uses flex layout for single row",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,itemsPerRow:3})),o=t.querySelector('[class*="page"]');e.globalExpect(o).toHaveStyle({display:"flex"})})}),e.describe("Accessibility",()=>{e.it("has proper aria labels on navigation buttons",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByLabelText("Previous slide")).toBeInTheDocument(),e.globalExpect(e.screen.getByLabelText("Next slide")).toBeInTheDocument()}),e.it("has proper aria labels on indicators",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByRole("tab",{name:"Slide 1 of 2"})).toBeInTheDocument(),e.globalExpect(e.screen.getByRole("tab",{name:"Slide 2 of 2"})).toBeInTheDocument()}),e.it("renders indicators as tabs inside a tablist",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByRole("tablist",{name:"Slide indicators"})).toBeInTheDocument();const t=e.screen.getAllByRole("tab");e.globalExpect(t).toHaveLength(2)}),e.it("marks only the active indicator as selected",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t[0]).toHaveAttribute("aria-selected","true"),e.globalExpect(t[1]).toHaveAttribute("aria-selected","false")}),e.it("active tab is focusable, inactive tabs are not in tab order",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t[0]).toHaveAttribute("tabindex","0"),e.globalExpect(t[1]).toHaveAttribute("tabindex","-1")}),e.it("updates aria-selected and tabindex when navigating via indicator click",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.act(()=>{e.fireEvent.click(t[1])}),e.globalExpect(t[1]).toHaveAttribute("aria-selected","true"),e.globalExpect(t[1]).toHaveAttribute("tabindex","0"),e.globalExpect(t[0]).toHaveAttribute("aria-selected","false"),e.globalExpect(t[0]).toHaveAttribute("tabindex","-1")}),e.it("tabs have aria-controls pointing to the carousel track",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.screen.getAllByRole("tab").forEach(o=>{e.globalExpect(o).toHaveAttribute("aria-controls","carousel-track")})}),e.it("navigates indicators with arrow keys",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.act(()=>{e.fireEvent.keyDown(t[0],{key:"ArrowRight"})}),e.globalExpect(t[1]).toHaveAttribute("aria-selected","true"),e.act(()=>{e.fireEvent.keyDown(t[1],{key:"ArrowLeft"})}),e.globalExpect(t[0]).toHaveAttribute("aria-selected","true")}),e.it("properly disables navigation buttons",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Previous slide"),o=e.screen.getByLabelText("Next slide");e.globalExpect(t).toBeDisabled(),e.globalExpect(o).not.toBeDisabled()})}),e.describe("Split Layout",()=>{e.it("handles split layout with sibling ref",()=>{const t=g.createRef(),o=document.createElement("div");Object.defineProperty(o,"offsetWidth",{value:200,configurable:!0}),t.current=o,e.render(r.jsx(i.Carousel,{items:a,parentRef:s,siblingRef:t,isSplit:!0,itemsPerPage:3})),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument()})})});
|
|
1
|
+
"use strict";var d=Object.defineProperty;var u=(s,n,a)=>n in s?d(s,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[n]=a;var c=(s,n,a)=>u(s,typeof n!="symbol"?n+"":n,a);const r=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),i=require("./index.cjs"),g=require("react");e.vi.mock("lucide-react",()=>({ArrowLeft:({size:s})=>r.jsx("div",{"data-testid":"arrow-left",style:{width:s,height:s},children:"←"}),ArrowRight:({size:s})=>r.jsx("div",{"data-testid":"arrow-right",style:{width:s,height:s},children:"→"})}));class b{constructor(n){c(this,"callback");c(this,"observe",e.vi.fn(n=>{const a={target:n,contentRect:{width:800,height:400,top:0,left:0,bottom:400,right:800,x:0,y:0,toJSON:()=>({})},borderBoxSize:[],contentBoxSize:[],devicePixelContentBoxSize:[]};this.callback([a],this)}));c(this,"unobserve",e.vi.fn());c(this,"disconnect",e.vi.fn());this.callback=n}}global.ResizeObserver=b;e.describe("Carousel",()=>{let s,n;e.beforeEach(()=>{e.vi.useFakeTimers(),n=document.createElement("div"),Object.defineProperty(n,"offsetWidth",{value:800,configurable:!0}),document.body.appendChild(n),s={current:n},HTMLElement.prototype.getBoundingClientRect=e.vi.fn(function(){return{width:this.offsetWidth||800,height:this.offsetHeight||400,top:0,left:0,bottom:this.offsetHeight||400,right:this.offsetWidth||800,x:0,y:0,toJSON:()=>{}}})}),e.afterEach(()=>{e.vi.runOnlyPendingTimers(),e.vi.useRealTimers(),document.body.removeChild(n)});const a=[r.jsx("div",{children:"Item 1"},"1"),r.jsx("div",{children:"Item 2"},"2"),r.jsx("div",{children:"Item 3"},"3"),r.jsx("div",{children:"Item 4"},"4"),r.jsx("div",{children:"Item 5"},"5"),r.jsx("div",{children:"Item 6"},"6")];e.describe("Rendering",()=>{e.it("renders carousel with items",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s})),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument()}),e.it("renders navigation controls for multiple pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByLabelText("Previous slide")).toBeInTheDocument(),e.globalExpect(e.screen.getByLabelText("Next slide")).toBeInTheDocument()}),e.it("renders indicators for multiple pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(2)}),e.it("does not render controls for single page",()=>{e.render(r.jsx(i.Carousel,{items:[a[0]],parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.queryByLabelText("Previous slide")).not.toBeInTheDocument(),e.globalExpect(e.screen.queryByLabelText("Next slide")).not.toBeInTheDocument()}),e.it("applies custom className",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,className:"custom-carousel"}));e.globalExpect(t.querySelector(".custom-carousel")).toBeInTheDocument()})}),e.describe("Navigation",()=>{e.it("enables previous button after navigating forward",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide"),o=e.screen.getByLabelText("Previous slide");e.globalExpect(o).toBeDisabled(),e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(o).not.toBeDisabled()}),e.it("navigates back to first page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide"),o=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(o).not.toBeDisabled(),e.act(()=>{e.fireEvent.click(o)}),e.globalExpect(o).toBeDisabled()}),e.it("disables previous button on first page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Previous slide");e.globalExpect(t).toBeDisabled(),e.globalExpect(t).toHaveClass("disabled")}),e.it("disables next button on last page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Next slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(t).toHaveClass("disabled")}),e.it("navigates to specific page via indicator",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:2}));const t=e.screen.getAllByRole("tab"),o=e.screen.getByLabelText("Previous slide");e.globalExpect(o).toBeDisabled(),e.act(()=>{e.fireEvent.click(t[2])}),e.globalExpect(o).not.toBeDisabled()})}),e.describe("Items Per Page",()=>{e.it("calculates correct number of pages",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:2}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(3)}),e.it("handles single item per page",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:1}));const t=e.screen.getAllByRole("tab");e.globalExpect(t.length).toBe(6)}),e.it("handles itemsPerPage larger than items length",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:10})),e.globalExpect(e.screen.queryByLabelText("Previous slide")).not.toBeInTheDocument()})}),e.describe("Autoplay",()=>{e.it("does not advance without autoplay enabled",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,autoplay:!1}));const t=e.screen.getByLabelText("Previous slide");e.act(()=>{e.vi.advanceTimersByTime(5e3)}),e.globalExpect(t).toBeDisabled()}),e.it("stops autoplay on manual navigation",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,autoplay:!0,autoplayInterval:1}));const t=e.screen.getByLabelText("Next slide");e.act(()=>{e.fireEvent.click(t)}),e.globalExpect(t).toHaveClass("disabled"),e.act(()=>{e.vi.advanceTimersByTime(2e3)}),e.globalExpect(t).toHaveClass("disabled")})}),e.describe("Touch Gestures",()=>{e.it("sets up touch event handlers",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]');e.globalExpect(o).toBeInTheDocument()}),e.it("ignores small swipe gestures",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.touchStart(o,{touches:[{clientX:200,clientY:100}]}),e.fireEvent.touchEnd(o,{changedTouches:[{clientX:180,clientY:100}]})}),e.globalExpect(l).toBeDisabled()})}),e.describe("Mouse Drag",()=>{e.it("sets up mouse event handlers",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]');e.globalExpect(o).toBeInTheDocument()}),e.it("resets drag state on mouse leave",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.mouseDown(o,{clientX:200}),e.fireEvent.mouseMove(o,{clientX:150}),e.fireEvent.mouseLeave(o)}),e.globalExpect(l).toBeDisabled()}),e.it("ignores small drag movements",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),o=t.querySelector('[class*="trackContainer"]'),l=e.screen.getByLabelText("Previous slide");e.act(()=>{e.fireEvent.mouseDown(o,{clientX:200}),e.fireEvent.mouseMove(o,{clientX:180}),e.fireEvent.mouseUp(o)}),e.globalExpect(l).toBeDisabled()})}),e.describe("Grid Layout",()=>{e.it("uses grid layout for multiple rows",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:6,itemsPerRow:3})),o=t.querySelector('[class*="page"]');e.globalExpect(o).toHaveStyle({display:"grid"})}),e.it("uses flex layout for single row",()=>{const{container:t}=e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3,itemsPerRow:3})),o=t.querySelector('[class*="page"]');e.globalExpect(o).toHaveStyle({display:"flex"})})}),e.describe("Accessibility",()=>{e.it("has proper aria labels on navigation buttons",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByLabelText("Previous slide")).toBeInTheDocument(),e.globalExpect(e.screen.getByLabelText("Next slide")).toBeInTheDocument()}),e.it("has proper aria labels on indicators",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByRole("tab",{name:"Slide 1 of 2"})).toBeInTheDocument(),e.globalExpect(e.screen.getByRole("tab",{name:"Slide 2 of 2"})).toBeInTheDocument()}),e.it("renders indicators as tabs inside a tablist",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.globalExpect(e.screen.getByRole("tablist",{name:"Slide indicators"})).toBeInTheDocument();const t=e.screen.getAllByRole("tab");e.globalExpect(t).toHaveLength(2)}),e.it("marks only the active indicator as selected",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t[0]).toHaveAttribute("aria-selected","true"),e.globalExpect(t[1]).toHaveAttribute("aria-selected","false")}),e.it("active tab is focusable, inactive tabs are not in tab order",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.globalExpect(t[0]).toHaveAttribute("tabindex","0"),e.globalExpect(t[1]).toHaveAttribute("tabindex","-1")}),e.it("updates aria-selected and tabindex when navigating via indicator click",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.act(()=>{e.fireEvent.click(t[1])}),e.globalExpect(t[1]).toHaveAttribute("aria-selected","true"),e.globalExpect(t[1]).toHaveAttribute("tabindex","0"),e.globalExpect(t[0]).toHaveAttribute("aria-selected","false"),e.globalExpect(t[0]).toHaveAttribute("tabindex","-1")}),e.it("tabs have aria-controls pointing to the carousel track",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3})),e.screen.getAllByRole("tab").forEach(o=>{e.globalExpect(o).toHaveAttribute("aria-controls","carousel-track")})}),e.it("navigates indicators with arrow keys",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getAllByRole("tab");e.act(()=>{e.fireEvent.keyDown(t[0],{key:"ArrowRight"})}),e.globalExpect(t[1]).toHaveAttribute("aria-selected","true"),e.act(()=>{e.fireEvent.keyDown(t[1],{key:"ArrowLeft"})}),e.globalExpect(t[0]).toHaveAttribute("aria-selected","true")}),e.it("properly disables navigation buttons",()=>{e.render(r.jsx(i.Carousel,{items:a,parentRef:s,itemsPerPage:3}));const t=e.screen.getByLabelText("Previous slide"),o=e.screen.getByLabelText("Next slide");e.globalExpect(t).toBeDisabled(),e.globalExpect(o).not.toBeDisabled()})}),e.describe("Split Layout",()=>{e.it("handles split layout with sibling ref",()=>{const t=g.createRef(),o=document.createElement("div");Object.defineProperty(o,"offsetWidth",{value:200,configurable:!0}),t.current=o,e.render(r.jsx(i.Carousel,{items:a,parentRef:s,siblingRef:t,isSplit:!0,itemsPerPage:3})),e.globalExpect(e.screen.getByText("Item 1")).toBeInTheDocument()})})});
|
|
@@ -2,7 +2,7 @@ var B = Object.defineProperty;
|
|
|
2
2
|
var y = (s, d, i) => d in s ? B(s, d, { enumerable: !0, configurable: !0, writable: !0, value: i }) : s[d] = i;
|
|
3
3
|
var h = (s, d, i) => y(s, typeof d != "symbol" ? d + "" : d, i);
|
|
4
4
|
import { jsx as a } from "react/jsx-runtime";
|
|
5
|
-
import { v as b, d as g, b as P, a as p, i as r, r as l, g as t, s as o, h as m, f as u } from "../../../index-
|
|
5
|
+
import { v as b, d as g, b as P, a as p, i as r, r as l, g as t, s as o, h as m, f as u } from "../../../index-Ck6GdALV.js";
|
|
6
6
|
import { Carousel as c } from "./index.mjs";
|
|
7
7
|
import f from "react";
|
|
8
8
|
b.mock("lucide-react", () => ({
|