quirk-ui 0.1.72 → 0.1.74
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/{CategoryFilters-CIWwf9VY.js → CategoryFilters-Dvx_tFs9.js} +1 -1
- package/dist/{CategoryFilters-CvmFCE3e.cjs → CategoryFilters-jaBdSByQ.cjs} +1 -1
- package/dist/core/components/Accordion/Accordion.test.cjs +1 -1
- package/dist/core/components/Accordion/Accordion.test.mjs +1 -1
- package/dist/core/components/Accordion/AccordionItem.test.cjs +1 -1
- package/dist/core/components/Accordion/AccordionItem.test.mjs +1 -1
- package/dist/core/components/Avatar/Avatar.test.cjs +1 -1
- package/dist/core/components/Avatar/Avatar.test.mjs +1 -1
- package/dist/core/components/Badge/Badge.test.cjs +1 -1
- package/dist/core/components/Badge/Badge.test.mjs +1 -1
- package/dist/core/components/Box/Box.test.cjs +1 -1
- package/dist/core/components/Box/Box.test.mjs +1 -1
- package/dist/core/components/Breadcrumbs/Breadcrumbs.test.cjs +1 -1
- package/dist/core/components/Breadcrumbs/Breadcrumbs.test.mjs +1 -1
- package/dist/core/components/Button/Button.test.cjs +1 -1
- package/dist/core/components/Button/Button.test.mjs +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/Carousel/Carousel.test.cjs +1 -1
- package/dist/core/components/Carousel/Carousel.test.mjs +1 -1
- package/dist/core/components/Checkbox/Checkbox.test.cjs +1 -1
- package/dist/core/components/Checkbox/Checkbox.test.mjs +1 -1
- package/dist/core/components/Container/Container.test.cjs +1 -1
- package/dist/core/components/Container/Container.test.mjs +1 -1
- package/dist/core/components/DatePicker/DatePicker.test.cjs +1 -1
- package/dist/core/components/DatePicker/DatePicker.test.mjs +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/Drawer/Drawer.test.cjs +1 -1
- package/dist/core/components/Drawer/Drawer.test.mjs +1 -1
- package/dist/core/components/Fieldset/Fieldset.test.cjs +1 -1
- package/dist/core/components/Fieldset/Fieldset.test.mjs +1 -1
- package/dist/core/components/FileUpload/FileUpload.test.cjs +1 -1
- package/dist/core/components/FileUpload/FileUpload.test.mjs +1 -1
- package/dist/core/components/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/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 +1 -1
- package/dist/core/components/Form/Form.test.cjs +1 -1
- package/dist/core/components/Form/Form.test.mjs +1 -1
- package/dist/core/components/Grid/Grid.test.cjs +1 -1
- package/dist/core/components/Grid/Grid.test.mjs +1 -1
- package/dist/core/components/Heading/Heading.test.cjs +1 -1
- package/dist/core/components/Heading/Heading.test.mjs +1 -1
- package/dist/core/components/Input/Input.test.cjs +1 -1
- package/dist/core/components/Input/Input.test.mjs +1 -1
- package/dist/core/components/Label/Label.test.cjs +1 -1
- package/dist/core/components/Label/Label.test.mjs +1 -1
- package/dist/core/components/List/List.test.cjs +1 -1
- package/dist/core/components/List/List.test.mjs +1 -1
- package/dist/core/components/Modal/Modal.test.cjs +1 -1
- package/dist/core/components/Modal/Modal.test.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/Skeleton/index.cjs +1 -1
- package/dist/core/components/Skeleton/index.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/Spacer/index.cjs +1 -1
- package/dist/core/components/Spacer/index.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/Spinner/index.cjs +1 -1
- package/dist/core/components/Spinner/index.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/Stack/index.cjs +1 -1
- package/dist/core/components/Stack/index.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/Switch/index.cjs +1 -1
- package/dist/core/components/Switch/index.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/index25.css +1 -1
- package/dist/index48.css +1 -1
- package/dist/index49.css +1 -1
- package/dist/index50.css +1 -1
- package/dist/index51.css +1 -1
- package/dist/index52.css +1 -1
- package/dist/index53.css +1 -1
- package/dist/index54.css +1 -1
- package/dist/index55.css +1 -1
- package/dist/index56.css +1 -1
- package/dist/index57.css +1 -1
- package/dist/index58.css +1 -1
- package/dist/index59.css +1 -1
- package/dist/index60.css +1 -1
- package/dist/index61.css +1 -1
- package/dist/index62.css +1 -1
- package/dist/index63.css +1 -1
- package/dist/index64.css +1 -1
- package/dist/index65.css +1 -1
- package/dist/main.cjs +1 -1
- package/dist/main.d.ts +30 -43
- package/dist/main.mjs +113 -115
- 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/StickyScrollBlock/index.cjs +1 -1
- package/dist/next/blocks/StickyScrollBlock/index.mjs +24 -24
- 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/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,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as l, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { B as h } from "./index-
|
|
2
|
+
import { B as h } from "./index-paelIj6o.js";
|
|
3
3
|
import { X as v } from "./x-CnsEH4Ox.js";
|
|
4
4
|
import './CategoryFilters.css';const p = "_documentList_1vg9o_1", u = "_container_1vg9o_9", m = "_heading_1vg9o_20", b = "_title_1vg9o_25", f = "_eyebrow_1vg9o_30", H = "_listContainer_1vg9o_34", L = "_listWrapper_1vg9o_45", S = "_list_1vg9o_34", F = "_listHeader_1vg9o_66", w = "_listSearch_1vg9o_79", y = "_clearSearch_1vg9o_106", C = "_listHeaderFilters_1vg9o_125", k = "_listResults_1vg9o_136", x = "_listSort_1vg9o_140", N = "_filterToggle_1vg9o_163", I = "_filterHeader_1vg9o_178", M = "_loadMore_1vg9o_199", R = "_filterList_1vg9o_203", T = "_listFilters_1vg9o_210", W = "_applyFilters_1vg9o_218", j = "_show_1vg9o_247", B = "_hide_1vg9o_256", $ = "_buttonIsLoading_1vg9o_307", s = {
|
|
5
5
|
documentList: p,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";require('./CategoryFilters.css');const t=require("react/jsx-runtime"),g=require("./index-
|
|
1
|
+
"use strict";require('./CategoryFilters.css');const t=require("react/jsx-runtime"),g=require("./index-hPJqlEOh.cjs"),h=require("./x-Dft9NVe_.cjs"),v="_documentList_1vg9o_1",u="_container_1vg9o_9",p="_heading_1vg9o_20",x="_title_1vg9o_25",b="_eyebrow_1vg9o_30",y="_listContainer_1vg9o_34",F="_listWrapper_1vg9o_45",H="_list_1vg9o_34",L="_listHeader_1vg9o_66",S="_listSearch_1vg9o_79",j="_clearSearch_1vg9o_106",m="_listHeaderFilters_1vg9o_125",f="_listResults_1vg9o_136",w="_listSort_1vg9o_140",C="_filterToggle_1vg9o_163",k="_filterHeader_1vg9o_178",q="_loadMore_1vg9o_199",N="_filterList_1vg9o_203",$="_listFilters_1vg9o_210",I="_applyFilters_1vg9o_218",M="_show_1vg9o_247",R="_hide_1vg9o_256",T="_buttonIsLoading_1vg9o_307",e={documentList:v,container:u,heading:p,title:x,eyebrow:b,listContainer:y,listWrapper:F,list:H,listHeader:L,listSearch:S,clearSearch:j,listHeaderFilters:m,listResults:f,listSort:w,filterToggle:C,filterHeader:k,loadMore:q,filterList:N,listFilters:$,applyFilters:I,show:M,hide:R,buttonIsLoading:T};function W({categoryFilters:i,selectedCategories:o,onSelectionChange:n,showFilters:_,toggleFilters:l,isLoading:r}){return t.jsxs("div",{className:`${e.listFilters} ${_?e.show:e.hide}`,children:[t.jsxs("div",{className:e.filterHeader,children:[t.jsx("h5",{children:"Filters"}),t.jsx("button",{onClick:l,children:t.jsx(h.X,{size:24})})]}),t.jsx("div",{className:e.filterList,children:i==null?void 0:i.map(s=>t.jsxs("label",{children:[t.jsx("input",{type:"checkbox",value:s._id,checked:o.includes(s._id),onChange:c=>{const a=c.target.checked?[...o,s._id]:o.filter(d=>d!==s._id);n(a)}}),s.title]},s._id))}),t.jsx(g.Button,{as:"button",variant:"secondary",onClick:l,disabled:r,className:e.applyFilters,children:"Apply Filters"})]})}exports.CategoryFilters=W;exports.styles=e;
|
|
@@ -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("Accordion",()=>{const o=[{id:"item1",title:"Title 1",description:"Content 1"},{id:"item2",title:"Title 2",description:"Content 2"},{id:"item3",title:"Title 3",description:"Content 3"}];e.describe("Rendering",()=>{e.it("renders all accordion items",()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0})),e.globalExpect(e.screen.getByText("Title 1")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Title 2")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Title 3")).toBeInTheDocument()}),e.it("renders with custom className",()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o,className:"custom-class"})),i=t.querySelector(".custom-class");e.globalExpect(i).toBeInTheDocument()}),e.it("renders content as ReactNode",()=>{const t=[{id:"item1",title:"Title",description:n.jsx("div",{"data-testid":"custom-content",children:"Custom Content"})}];e.render(n.jsx(r.Accordion,{items:t})),e.globalExpect(e.screen.getByTestId("custom-content")).toBeInTheDocument()})}),e.describe("Accessibility",()=>{e.it("has correct ARIA attributes when closed",()=>{e.render(n.jsx(r.Accordion,{items:o}));const t=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(t).toHaveAttribute("aria-expanded","false")}),e.it("has correct ARIA attributes when open",async()=>{e.render(n.jsx(r.Accordion,{items:o}));const t=e.screen.getByRole("button",{name:/Title 1/i});e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveAttribute("aria-expanded","true")})}),e.it("has proper aria-controls and role attributes",()=>{e.render(n.jsx(r.Accordion,{items:o}));const i=e.screen.getByRole("button",{name:/Title 1/i}).getAttribute("aria-controls");e.globalExpect(i).toBeTruthy();const a=document.getElementById(i);e.globalExpect(a).toHaveAttribute("role","region")})}),e.describe("Single mode (multiple=false)",()=>{e.it("opens an item when clicked",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),await e.waitForWrapper(()=>{const i=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(i).toHaveAttribute("aria-expanded","true")})}),e.it("closes the current item when clicking a different item",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false")})}),e.it("closes an open item when clicking it again",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false")})})}),e.describe("Multiple mode (multiple=true)",()=>{e.it("allows multiple items to be open simultaneously",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")})}),e.it("closes individual items independently",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!0}));const t=e.screen.getByText("Title 1"),i=e.screen.getByText("Title 2");e.fireEvent.click(t),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")}),e.fireEvent.click(t),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","false"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","true")})})}),e.describe("Default open items",()=>{e.it("opens items specified in defaultOpenItems",()=>{e.render(n.jsx(r.Accordion,{items:o,defaultOpenItems:["item1","item3"],multiple:!0})),e.globalExpect(e.screen.getByRole("button",{name:/Title 1/i})).toHaveAttribute("aria-expanded","true"),e.globalExpect(e.screen.getByRole("button",{name:/Title 2/i})).toHaveAttribute("aria-expanded","false"),e.globalExpect(e.screen.getByRole("button",{name:/Title 3/i})).toHaveAttribute("aria-expanded","true")})}),e.describe("Callbacks",()=>{e.it("calls onItemToggle when item is opened",async()=>{const t=e.vi.fn();e.render(n.jsx(r.Accordion,{items:o,onItemToggle:t}));const i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!0)})}),e.it("calls onItemToggle when item is closed",async()=>{const t=e.vi.fn();e.render(n.jsx(r.Accordion,{items:o,onItemToggle:t}));const i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!0)}),e.fireEvent.click(i),await e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalledWith("item1",!1)})})}),e.describe("CSS Classes",()=>{e.it("applies active class to open accordion header",async()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o})),i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{const a=t.querySelector("button.active");e.globalExpect(a).toBeInTheDocument()})}),e.it("applies rotate class to icon when open",async()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:o})),i=e.screen.getByText("Title 1");e.fireEvent.click(i),await e.waitForWrapper(()=>{const a=t.querySelector(".rotate");e.globalExpect(a).toBeInTheDocument()})})}),e.describe("Edge cases",()=>{e.it("handles empty items array",()=>{const{container:t}=e.render(n.jsx(r.Accordion,{items:[]})),i=t.querySelector(".accordion");e.globalExpect(i==null?void 0:i.children).toHaveLength(0)}),e.it("handles rapid clicking",async()=>{e.render(n.jsx(r.Accordion,{items:o,multiple:!1}));const t=e.screen.getByText("Title 1");e.fireEvent.click(t),e.fireEvent.click(t),e.fireEvent.click(t),await e.waitForWrapper(()=>{const i=e.screen.getByRole("button",{name:/Title 1/i});e.globalExpect(i).toHaveAttribute("aria-expanded","true")})})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { d, i as l, r as c, g as i, s as t, f as o, w as u, v as T } from "../../../index-
|
|
2
|
+
import { d, i as l, r as c, g as i, s as t, f as o, w as u, v as T } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Accordion as s } from "./index.mjs";
|
|
4
4
|
d("Accordion", () => {
|
|
5
5
|
const r = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const o=require("react/jsx-runtime"),e=require("../../../index-
|
|
1
|
+
"use strict";const o=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),c=require("../../../AccordionItem-DulgZilf.cjs");e.describe("AccordionItem",()=>{const i=e.vi.fn(),n={id:"test-item",title:"Test Title",description:"Test Description",isOpen:!1,onToggle:i};beforeEach(()=>{i.mockClear()}),e.describe("Rendering",()=>{e.it("renders title and description",()=>{e.render(o.jsx(c.AccordionItem,{...n})),e.globalExpect(e.screen.getByText("Test Title")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Test Description")).toBeInTheDocument()}),e.it("renders ReactNode as description",()=>{e.render(o.jsx(c.AccordionItem,{...n,description:o.jsx("div",{"data-testid":"custom-node",children:"Custom Content"})})),e.globalExpect(e.screen.getByTestId("custom-node")).toBeInTheDocument()})}),e.describe("Toggle Behavior",()=>{e.it("calls onToggle with correct id when clicked",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.fireEvent.click(t),e.globalExpect(i).toHaveBeenCalledTimes(1),e.globalExpect(i).toHaveBeenCalledWith("test-item")}),e.it("can be triggered multiple times",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.fireEvent.click(t),e.fireEvent.click(t),e.fireEvent.click(t),e.globalExpect(i).toHaveBeenCalledTimes(3),e.globalExpect(i).toHaveBeenCalledWith("test-item")}),e.it("is keyboard accessible as a button",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.globalExpect(t.tagName).toBe("BUTTON")})}),e.describe("Accessibility",()=>{e.it("has correct aria-expanded when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-expanded","false")}),e.it("has correct aria-expanded when open",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-expanded","true")}),e.it("has correct aria-controls attribute",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-controls","accordion-content-test-item")}),e.it("content has correct id matching aria-controls",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toBeInTheDocument()}),e.it("content has role='region'",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const r=e.screen.getByRole("button").getAttribute("aria-controls"),s=document.getElementById(r);e.globalExpect(s).toHaveAttribute("role","region")}),e.it("content has aria-labelledby pointing to button",()=>{e.render(o.jsx(c.AccordionItem,{...n}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toHaveAttribute("aria-labelledby","accordion-header-test-item")}),e.it("icon has aria-hidden attribute",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n})),r=t.querySelector("svg");e.globalExpect(r).toHaveAttribute("aria-hidden","true")})}),e.describe("CSS Classes",()=>{e.it("applies active class when open",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),r=t.querySelector("button");e.globalExpect(r).toHaveClass("active")}),e.it("does not apply active class when closed",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1})),r=t.querySelector("button");e.globalExpect(r).not.toHaveClass("active")}),e.it("applies rotate class to icon when open",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),r=t.querySelector(".icon");e.globalExpect(r).toHaveClass("rotate")}),e.it("does not apply rotate class to icon when closed",()=>{const{container:t}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1})),r=t.querySelector(".icon");e.globalExpect(r).not.toHaveClass("rotate")}),e.it("applies open class to content wrapper when open",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).not.toBeNull(),e.globalExpect(t).toHaveClass("open")}),e.it("applies closed class to content wrapper when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).not.toBeNull(),e.globalExpect(t).toHaveClass("closed")})}),e.describe("Dynamic Height",()=>{e.it("sets maxHeight to 0px when closed",()=>{e.render(o.jsx(c.AccordionItem,{...n,isOpen:!1}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t).toHaveStyle({maxHeight:"0px"})}),e.it("sets maxHeight to calculated height when open",()=>{Object.defineProperty(HTMLElement.prototype,"scrollHeight",{configurable:!0,value:200}),e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));const t=document.getElementById("accordion-content-test-item");e.globalExpect(t==null?void 0:t.style.maxHeight).toBeTruthy()})}),e.describe("Edge Cases",()=>{e.it("handles empty description",()=>{e.render(o.jsx(c.AccordionItem,{...n,description:""}));const t=e.screen.getByRole("button");e.globalExpect(t).toBeInTheDocument()}),e.it("handles very long title",()=>{const t="A".repeat(200);e.render(o.jsx(c.AccordionItem,{...n,title:t})),e.globalExpect(e.screen.getByText(t)).toBeInTheDocument()}),e.it("handles special characters in id",()=>{e.render(o.jsx(c.AccordionItem,{...n,id:"item-with-special-chars-123"}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("id","accordion-header-item-with-special-chars-123")})}),e.describe("Window Resize",()=>{e.it("adds resize event listener on mount",()=>{const t=e.vi.spyOn(window,"addEventListener");e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0})),e.globalExpect(t).toHaveBeenCalledWith("resize",e.globalExpect.any(Function)),t.mockRestore()}),e.it("removes resize event listener on unmount",()=>{const t=e.vi.spyOn(window,"removeEventListener"),{unmount:r}=e.render(o.jsx(c.AccordionItem,{...n,isOpen:!0}));r(),e.globalExpect(t).toHaveBeenCalledWith("resize",e.globalExpect.any(Function)),t.mockRestore()})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import { d as l, v as p, i as s, r as c, g as t, s as r, f as u } from "../../../index-
|
|
2
|
+
import { d as l, v as p, i as s, r as c, g as t, s as r, f as u } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { A as i } from "../../../AccordionItem-CH19zWNr.js";
|
|
4
4
|
l("AccordionItem", () => {
|
|
5
5
|
const d = p.fn(), n = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const s=require("react/jsx-runtime"),t=require("../../../index-
|
|
1
|
+
"use strict";const s=require("react/jsx-runtime"),t=require("../../../index-CvpbNrYS.cjs"),r=require("./index.cjs");t.describe("Avatar",()=>{t.describe("Rendering",()=>{t.it("renders with initials",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"})),t.globalExpect(t.screen.getByText("JD")).toBeInTheDocument()}),t.it("renders with image",()=>{t.render(s.jsx(r.Avatar,{src:"https://example.com/avatar.jpg",alt:"User avatar"}));const e=t.screen.getByAltText("User avatar");t.globalExpect(e).toBeInTheDocument(),t.globalExpect(e).toHaveAttribute("src","https://example.com/avatar.jpg")}),t.it("renders default ? when no initials or image",()=>{t.render(s.jsx(r.Avatar,{})),t.globalExpect(t.screen.getByText("?")).toBeInTheDocument()}),t.it("transforms initials to uppercase",()=>{t.render(s.jsx(r.Avatar,{initials:"ab"})),t.globalExpect(t.screen.getByText("AB")).toBeInTheDocument()})}),t.describe("Sizes",()=>{t.it("applies sm size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"SM",size:"sm"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("sm")}),t.it("applies md size class by default",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"MD"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("md")}),t.it("applies lg size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"LG",size:"lg"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("lg")}),t.it("applies xl size class",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"XL",size:"xl"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("xl")})}),t.describe("Status indicators",()=>{t.it("renders online status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"online"}));const e=t.screen.getByRole("status");t.globalExpect(e).toBeInTheDocument(),t.globalExpect(e).toHaveAttribute("aria-label","Status: online")}),t.it("renders offline status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"offline"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: offline")}),t.it("renders busy status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"busy"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: busy")}),t.it("renders away status",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"away"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: away")}),t.it("does not render status when not provided",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.queryByRole("status");t.globalExpect(e).not.toBeInTheDocument()})}),t.describe("Background color",()=>{t.it("applies custom background color",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",backgroundColor:"#ff0000"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveStyle({backgroundColor:"#ff0000"})}),t.it("uses default background when not specified",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a).not.toHaveAttribute("style")})}),t.describe("Clickable behavior",()=>{t.it("renders as button when onClick is provided",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e}));const a=t.screen.getByRole("button");t.globalExpect(a).toBeInTheDocument()}),t.it("applies clickable class",()=>{const e=t.vi.fn(),{container:a}=t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e})),o=a.querySelector(".avatar");t.globalExpect(o).toHaveClass("clickable")}),t.it("calls onClick when clicked",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{initials:"JD",onClick:e}));const a=t.screen.getByRole("button");t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)}),t.it("renders as div when onClick is not provided",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a==null?void 0:a.tagName).toBe("DIV")}),t.it("does not have clickable class when not clickable",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD"})),a=e.querySelector(".avatar");t.globalExpect(a).not.toHaveClass("clickable")})}),t.describe("Accessibility",()=>{t.it("has role='img' for initials avatar",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.getByRole("img");t.globalExpect(e).toBeInTheDocument()}),t.it("has aria-label for initials avatar",()=>{t.render(s.jsx(r.Avatar,{initials:"JD"}));const e=t.screen.getByRole("img");t.globalExpect(e).toHaveAttribute("aria-label","Avatar with initials JD")}),t.it("uses custom alt as aria-label",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",alt:"John Doe"}));const e=t.screen.getByRole("img");t.globalExpect(e).toHaveAttribute("aria-label","John Doe")}),t.it("does not have role='img' for image avatar",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"User"}));const e=t.screen.getByAltText("User");t.globalExpect(e.tagName).toBe("IMG")}),t.it("uses alt text for image",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"John Doe"}));const e=t.screen.getByAltText("John Doe");t.globalExpect(e).toBeInTheDocument()}),t.it("has default alt text when not provided",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg"}));const e=t.screen.getByAltText("Avatar");t.globalExpect(e).toBeInTheDocument()}),t.it("status indicator has proper aria-label",()=>{t.render(s.jsx(r.Avatar,{initials:"JD",status:"online"}));const e=t.screen.getByRole("status");t.globalExpect(e).toHaveAttribute("aria-label","Status: online")})}),t.describe("Custom className",()=>{t.it("applies custom className",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",className:"custom-avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("custom-avatar")}),t.it("preserves default classes",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",className:"custom-avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveClass("avatar"),t.globalExpect(a).toHaveClass("md")})}),t.describe("HTML attributes",()=>{t.it("supports data attributes",()=>{t.render(s.jsx(r.Avatar,{initials:"JD","data-testid":"my-avatar"})),t.globalExpect(t.screen.getByTestId("my-avatar")).toBeInTheDocument()}),t.it("supports id attribute",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",id:"avatar-1"})),a=e.querySelector("#avatar-1");t.globalExpect(a).toBeInTheDocument()}),t.it("supports title attribute",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{initials:"JD",title:"User avatar"})),a=e.querySelector(".avatar");t.globalExpect(a).toHaveAttribute("title","User avatar")})}),t.describe("Image properties",()=>{t.it("sets image to not be draggable",()=>{t.render(s.jsx(r.Avatar,{src:"avatar.jpg"}));const e=t.screen.getByAltText("Avatar");t.globalExpect(e).toHaveAttribute("draggable","false")}),t.it("applies image class to img element",()=>{const{container:e}=t.render(s.jsx(r.Avatar,{src:"avatar.jpg"})),a=e.querySelector(".image");t.globalExpect(a).toBeInTheDocument(),t.globalExpect(a==null?void 0:a.tagName).toBe("IMG")})}),t.describe("Combined features",()=>{t.it("works with all props together",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{size:"lg",initials:"JD",status:"online",backgroundColor:"#ff0000",onClick:e,className:"custom"}));const a=t.screen.getByRole("button");t.globalExpect(a).toHaveClass("lg"),t.globalExpect(a).toHaveClass("clickable"),t.globalExpect(a).toHaveClass("custom"),t.globalExpect(a).toHaveStyle({backgroundColor:"#ff0000"}),t.globalExpect(t.screen.getByText("JD")).toBeInTheDocument(),t.globalExpect(t.screen.getByRole("status")).toBeInTheDocument(),t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)}),t.it("image avatar with status and onClick",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{src:"avatar.jpg",alt:"User",status:"busy",onClick:e}));const a=t.screen.getByRole("button");t.globalExpect(t.screen.getByAltText("User")).toBeInTheDocument(),t.globalExpect(t.screen.getByRole("status")).toBeInTheDocument(),t.fireEvent.click(a),t.globalExpect(e).toHaveBeenCalledTimes(1)})}),t.describe("forwardRef",()=>{t.it("forwards ref to avatar element",()=>{const e=t.vi.fn();t.render(s.jsx(r.Avatar,{ref:e,initials:"JD"})),t.globalExpect(e).toHaveBeenCalled()})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as s } from "react/jsx-runtime";
|
|
2
|
-
import { d as l, i as o, r as i, g as a, s as r, v as c, f as u } from "../../../index-
|
|
2
|
+
import { d as l, i as o, r as i, g as a, s as r, v as c, f as u } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Avatar as n } from "./index.mjs";
|
|
4
4
|
l("Avatar", () => {
|
|
5
5
|
l("Rendering", () => {
|
|
@@ -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";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";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";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", () => {
|