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 t=require("react/jsx-runtime"),e=require("../../../index-DITXfOUM.cjs"),a=require("./index.cjs");e.vi.mock("../../utils/NoScroll/noScroll",()=>({lockScroll:e.vi.fn(),unlockScroll:e.vi.fn()}));e.vi.mock("../Modal",()=>({Modal:({trigger:n,content:o})=>t.jsxs("div",{"data-testid":"modal-wrapper",children:[n,o]})}));const s=()=>{Object.defineProperty(window,"innerWidth",{writable:!0,configurable:!0,value:1024}),window.dispatchEvent(new Event("resize"))},p=()=>{Object.defineProperty(window,"innerWidth",{writable:!0,configurable:!0,value:375}),window.dispatchEvent(new Event("resize"))},r=[{_key:"home",label:"Home",href:"/"},{_key:"about",label:"About",href:"/about"},{_key:"ext",label:"External",href:"https://example.com",isExternal:!0}],c=[{_key:"products",label:"Products",sublinks:[{_key:"p1",label:"Widget",href:"/widget"},{_key:"p2",label:"Gadget",href:"/gadget"}]}],i=[{_key:"g1",title:"Solutions",primaryItems:[{_key:"s1",label:"Enterprise",href:"/enterprise",sublinks:[{_key:"e1",label:"SSO",href:"/sso"},{_key:"e2",label:"Security",href:"/security"}]},{_key:"s2",label:"Startup",href:"/startup"}],secondaryItems:[{_key:"r1",label:"Case Studies",href:"/case-studies"}]}],d=[{_key:"login",label:"Log in",ariaLabel:"Log in",href:"/login",variant:"secondary"},{_key:"signup",label:"Sign up",ariaLabel:"Sign up",href:"/signup",variant:"primary"}];e.describe("Navbar",()=>{e.describe("Rendering",()=>{e.it("renders the header element",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toBeInTheDocument()}),e.it("renders logo when provided",()=>{e.render(t.jsx(a.Navbar,{logo:t.jsx("img",{"data-testid":"logo",src:"/logo.svg",alt:"Logo"})})),e.globalExpect(e.screen.getByTestId("logo")).toBeInTheDocument()}),e.it("renders title when no logo provided",()=>{e.render(t.jsx(a.Navbar,{title:"My Site"})),e.globalExpect(e.screen.getByText("My Site")).toBeInTheDocument()}),e.it("renders nothing in logo slot when neither logo nor title given",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{}));e.globalExpect(n.querySelector(".logo")).not.toBeInTheDocument(),e.globalExpect(n.querySelector(".title")).not.toBeInTheDocument()}),e.it("renders navigation landmark",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("navigation",{name:"Primary navigation"})).toBeInTheDocument()})}),e.describe("Flat navigation items",()=>{e.it("renders all flat nav links",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("Home")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("About")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("External")).toBeInTheDocument()}),e.it("renders correct hrefs",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("Home")).toHaveAttribute("href","/"),e.globalExpect(e.screen.getByText("About")).toHaveAttribute("href","/about")}),e.it("renders external links with target=_blank",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("External")).toHaveAttribute("target","_blank")}),e.it("renders external links with rel=noopener noreferrer",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("External")).toHaveAttribute("rel","noopener noreferrer")}),e.it("renders internal links with target=_self",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("Home")).toHaveAttribute("target","_self")})}),e.describe("Items with sublinks (default navigationType)",()=>{e.it("renders parent item as button when no href",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByRole("button",{name:/products/i})).toBeInTheDocument()}),e.it("toggle button has aria-haspopup=true",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByRole("button",{name:/products/i})).toHaveAttribute("aria-haspopup","true")}),e.it("toggle button starts with aria-expanded=false",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByRole("button",{name:/products/i})).toHaveAttribute("aria-expanded","false")}),e.it("sublink dropdown has role=menu and aria-label",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{items:c}));e.globalExpect(n.querySelector("[role='menu'][aria-label='Products submenu']")).toBeInTheDocument()}),e.it("clicking toggle button opens dropdown (aria-expanded=true)",()=>{e.render(t.jsx(a.Navbar,{items:c}));const n=e.screen.getByRole("button",{name:/products/i});e.fireEvent.click(n),e.globalExpect(n).toHaveAttribute("aria-expanded","true")}),e.it("clicking toggle button twice closes dropdown (aria-expanded=false)",()=>{e.render(t.jsx(a.Navbar,{items:c}));const n=e.screen.getByRole("button",{name:/products/i});e.fireEvent.click(n),e.fireEvent.click(n),e.globalExpect(n).toHaveAttribute("aria-expanded","false")}),e.it("sublinks are rendered inside the dropdown",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByText("Widget")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Gadget")).toBeInTheDocument()}),e.it("sublinks have correct hrefs",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByText("Widget")).toHaveAttribute("href","/widget"),e.globalExpect(e.screen.getByText("Gadget")).toHaveAttribute("href","/gadget")})}),e.describe("onClick callback",()=>{e.it("calls onClick when a flat link is clicked",()=>{const n=e.vi.fn(),o=[{_key:"click",label:"Click me",href:"#",onClick:n}];e.render(t.jsx(a.Navbar,{items:o})),e.fireEvent.click(e.screen.getByText("Click me")),e.globalExpect(n).toHaveBeenCalledOnce()})}),e.describe("Variant",()=>{e.it("applies standard variant class by default",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("standard")}),e.it("applies transparent variant class",()=>{e.render(t.jsx(a.Navbar,{variant:"transparent"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("transparent")})}),e.describe("Alignment",()=>{e.it("applies right alignment class by default",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("right")}),e.it("applies left alignment class",()=>{e.render(t.jsx(a.Navbar,{alignment:"left"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("left")}),e.it("applies center alignment class",()=>{e.render(t.jsx(a.Navbar,{alignment:"center"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("center")})}),e.describe("Sticky",()=>{e.it("does not apply sticky class by default",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).not.toHaveClass("sticky")}),e.it("applies sticky class when isSticky=true",()=>{e.render(t.jsx(a.Navbar,{isSticky:!0})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("sticky")})}),e.describe("Navigation type",()=>{e.it("applies default class when no groups",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("default")}),e.it("applies advanced class when groups provided",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("advanced")})}),e.describe("Utility items",()=>{e.it("renders both desktop and mobile utility navs",()=>{e.render(t.jsx(a.Navbar,{utilityItems:d}));const n=e.screen.getAllByRole("navigation",{name:"Utility navigation"});e.globalExpect(n).toHaveLength(2)}),e.it("renders all utility button labels",()=>{e.render(t.jsx(a.Navbar,{utilityItems:d})),e.globalExpect(e.screen.getAllByText("Log in").length).toBeGreaterThan(0),e.globalExpect(e.screen.getAllByText("Sign up").length).toBeGreaterThan(0)}),e.it("does not render utility nav when no items",()=>{e.render(t.jsx(a.Navbar,{utilityItems:[]})),e.globalExpect(e.screen.queryByRole("navigation",{name:"Utility navigation"})).not.toBeInTheDocument()}),e.it("does not crash when only one utility item provided (no index[1] access)",()=>{const n=[{_key:"cta",label:"Sign up",ariaLabel:"Sign up",href:"/signup"}];e.globalExpect(()=>e.render(t.jsx(a.Navbar,{utilityItems:n}))).not.toThrow()})}),e.describe("Mobile menu toggle",()=>{e.it("renders toggle button",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("button",{name:/open menu/i})).toBeInTheDocument()}),e.it("toggle starts closed (aria-expanded=false)",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("button",{name:/open menu/i})).toHaveAttribute("aria-expanded","false")}),e.it("opens menu on click",()=>{e.render(t.jsx(a.Navbar,{items:r}));const n=e.screen.getByRole("button",{name:/open menu/i});e.fireEvent.click(n),e.globalExpect(n).toHaveAttribute("aria-expanded","true")}),e.it("closes menu on second click",()=>{e.render(t.jsx(a.Navbar,{items:r}));const n=e.screen.getByRole("button",{name:/open menu/i});e.fireEvent.click(n),e.fireEvent.click(n),e.globalExpect(n).toHaveAttribute("aria-expanded","false")}),e.it("toggle has aria-controls pointing to main-menu",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("button",{name:/open menu/i})).toHaveAttribute("aria-controls","main-menu")}),e.it("aria-label changes to 'Close menu' when menu is open",()=>{e.render(t.jsx(a.Navbar,{items:r}));const n=e.screen.getByRole("button",{name:/open menu/i});e.fireEvent.click(n),e.globalExpect(e.screen.getByRole("button",{name:/close menu/i})).toBeInTheDocument()})}),e.describe("Search button",()=>{e.it("does not render search button when showSearch=false",()=>{e.render(t.jsx(a.Navbar,{showSearch:!1})),e.globalExpect(e.screen.queryByRole("button",{name:/search/i})).not.toBeInTheDocument()}),e.it("renders search button in mobile bar when showSearch=true and on mobile",()=>{p(),e.render(t.jsx(a.Navbar,{showSearch:!0,items:r})),e.globalExpect(e.screen.getByRole("button",{name:/search/i})).toBeInTheDocument()}),e.it("renders search button in nav when showSearch=true and on desktop",()=>{s(),e.render(t.jsx(a.Navbar,{showSearch:!0,items:r})),e.globalExpect(e.screen.getByRole("button",{name:/search/i})).toBeInTheDocument()})}),e.describe("Custom styling",()=>{e.it("applies custom className",()=>{e.render(t.jsx(a.Navbar,{className:"my-navbar"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("my-navbar")}),e.it("preserves base navbar class alongside custom className",()=>{e.render(t.jsx(a.Navbar,{className:"my-navbar"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("navbar")}),e.it("applies inline style",()=>{e.render(t.jsx(a.Navbar,{style:{borderBottom:"2px solid red"}}));const n=e.screen.getByRole("banner");e.globalExpect(n.style.borderBottom).toBe("2px solid red")})}),e.describe("Accessibility",()=>{e.it("header has banner landmark role",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toBeInTheDocument()}),e.it("header has aria-label='Site header'",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toHaveAttribute("aria-label","Site header")}),e.it("primary nav has id=main-menu",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{items:r}));e.globalExpect(n.querySelector("#main-menu")).toBeInTheDocument()}),e.it("primary nav has aria-label='Primary navigation'",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("navigation",{name:"Primary navigation"})).toBeInTheDocument()}),e.it("decorative icons are aria-hidden",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(document.querySelectorAll("[aria-hidden='true']").length).toBeGreaterThan(0)}),e.it("external link icons are aria-hidden",()=>{e.render(t.jsx(a.Navbar,{items:r}));const o=e.screen.getByText("External").querySelector("[aria-hidden='true']");e.globalExpect(o).toBeInTheDocument()})}),e.describe("Props forwarding",()=>{e.it("forwards data attributes to header",()=>{e.render(t.jsx(a.Navbar,{"data-testid":"my-navbar"})),e.globalExpect(e.screen.getByTestId("my-navbar")).toBeInTheDocument()})}),e.describe("Advanced navigation (groups)",()=>{e.beforeEach(()=>{s()}),e.it("renders group titles",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByText("Solutions")).toBeInTheDocument()}),e.it("group toggle button has aria-haspopup=true",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("button",{name:/solutions/i})).toHaveAttribute("aria-haspopup","true")}),e.it("group toggle starts with aria-expanded=false",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("button",{name:/solutions/i})).toHaveAttribute("aria-expanded","false")}),e.it("group submenu has role=menu and aria-label",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"}));e.globalExpect(n.querySelector("[aria-label='Solutions submenu']")).toBeInTheDocument()}),e.it("mouseenter on group wrapper opens the mega-menu (aria-expanded=true)",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"}));const n=e.screen.getByRole("button",{name:/solutions/i});e.fireEvent.mouseEnter(n.closest(".linkWrapper")),e.globalExpect(n).toHaveAttribute("aria-expanded","true")}),e.it("renders primary items inside the mega-menu",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByText("Enterprise")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Startup")).toBeInTheDocument()}),e.it("primary items with href are rendered as links",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"}));const n=e.screen.getByText("Enterprise").closest("a");e.globalExpect(n).not.toBeNull(),e.globalExpect(n.tagName).toBe("A"),e.globalExpect(n).toHaveAttribute("href","/enterprise")}),e.it("renders secondary items",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByText("Case Studies")).toBeInTheDocument()}),e.it("hovering a primary item with sublinks reveals column 2 children",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.fireEvent.mouseEnter(e.screen.getByText("Enterprise").closest("a")),e.globalExpect(e.screen.getByText("SSO")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Security")).toBeInTheDocument()}),e.it("column 2 disappears after hovering a primary item without sublinks",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.fireEvent.mouseEnter(e.screen.getByText("Enterprise").closest("a")),e.globalExpect(e.screen.getByText("SSO")).toBeInTheDocument(),e.fireEvent.mouseEnter(e.screen.getByText("Startup").closest("a")),e.globalExpect(e.screen.queryByText("SSO")).not.toBeInTheDocument()}),e.it("mouseleave on submenu panel closes the mega-menu",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),o=e.screen.getByRole("button",{name:/solutions/i}),l=o.closest(".linkWrapper"),g=n.querySelector("[aria-label='Solutions submenu']");e.fireEvent.mouseEnter(l),e.globalExpect(o).toHaveAttribute("aria-expanded","true"),e.fireEvent.mouseLeave(g),e.globalExpect(o).toHaveAttribute("aria-expanded","false")}),e.it("primary item click calls onClick and closes dropdown",()=>{const n=e.vi.fn(),o=[{_key:"g1",title:"Menu",primaryItems:[{_key:"item1",label:"Clickable",href:"/dest",onClick:n}]}];e.render(t.jsx(a.Navbar,{groups:o,navigationType:"advanced"})),e.fireEvent.click(e.screen.getByText("Clickable").closest("a")),e.globalExpect(n).toHaveBeenCalledOnce()})}),e.describe("Spotlight card",()=>{const o=[{_key:"spot",title:"Spotlight Group",primaryItems:[{_key:"p1",label:"Item One",href:"/one"}],spotlight:{title:"New Feature",description:"Check it out",callToAction:{label:"Learn more",ariaLabel:"Learn more about new feature",variant:"primary",linkOptions:{linkType:"internal",internalUrl:{slug:{current:"new-feature"}}}}}}];e.it("renders the spotlight CTA button",()=>{s(),e.render(t.jsx(a.Navbar,{groups:o,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("link",{name:/learn more/i})).toBeInTheDocument()}),e.it("spotlight CTA resolves internal href correctly",()=>{s(),e.render(t.jsx(a.Navbar,{groups:o,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("link",{name:/learn more/i})).toHaveAttribute("href","/new-feature")}),e.it("spotlight CTA resolves external href correctly",()=>{s();const g=[{_key:"g",title:"Ext Group",primaryItems:[{_key:"p1",label:"Item",href:"/item"}],spotlight:{callToAction:{label:"Visit",ariaLabel:"Visit external site",linkOptions:{linkType:"external",externalUrl:"https://example.com"}}}}];e.render(t.jsx(a.Navbar,{groups:g,navigationType:"advanced"}));const b=e.screen.getByRole("link",{name:/visit/i});e.globalExpect(b).toHaveAttribute("href","https://example.com"),e.globalExpect(b).toHaveAttribute("target","_blank")}),e.it("renders spotlight image when provided",()=>{s();const l=[{_key:"g",title:"Img Group",primaryItems:[{_key:"p1",label:"Item",href:"/item"}],spotlight:{callToAction:{label:"Go",linkOptions:{linkType:"internal",internalUrl:{slug:{current:"go"}}}},image:{asset:{_id:"1",url:"/img.jpg",altText:"Demo image",title:"Demo",description:"Demo desc"},imageUrls:{small:"/s.jpg",medium:"/m.jpg",large:"/l.jpg"}}}}];e.render(t.jsx(a.Navbar,{groups:l,navigationType:"advanced"}));const g=e.screen.getByAltText("Demo image");e.globalExpect(g).toBeInTheDocument(),e.globalExpect(g).toHaveAttribute("src","/m.jpg")}),e.it("renders nothing when callToAction is absent",()=>{s();const l=[{_key:"g",title:"No CTA",primaryItems:[{_key:"p1",label:"Item",href:"/item"}],spotlight:{title:"Title only"}}];e.globalExpect(()=>e.render(t.jsx(a.Navbar,{groups:l,navigationType:"advanced"}))).not.toThrow()})}),e.describe("renderText prop",()=>{e.it("calls renderText for spotlight title when provided",()=>{s();const n=e.vi.fn(l=>typeof l=="string"?t.jsx("span",{children:l}):null),o=[{_key:"g",title:"Group",primaryItems:[{_key:"p1",label:"Item",href:"/item"}],spotlight:{title:"Spotlight Title",callToAction:{label:"Go",linkOptions:{linkType:"internal",internalUrl:{slug:{current:"go"}}}}}}];e.render(t.jsx(a.Navbar,{groups:o,navigationType:"advanced",renderText:n})),e.globalExpect(n).toHaveBeenCalledWith("Spotlight Title",e.globalExpect.any(String))})})});
|
|
1
|
+
"use strict";const t=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),a=require("./index.cjs");e.vi.mock("../../utils/NoScroll/noScroll",()=>({lockScroll:e.vi.fn(),unlockScroll:e.vi.fn()}));e.vi.mock("../Modal",()=>({Modal:({trigger:n,content:o})=>t.jsxs("div",{"data-testid":"modal-wrapper",children:[n,o]})}));const s=()=>{Object.defineProperty(window,"innerWidth",{writable:!0,configurable:!0,value:1024}),window.dispatchEvent(new Event("resize"))},p=()=>{Object.defineProperty(window,"innerWidth",{writable:!0,configurable:!0,value:375}),window.dispatchEvent(new Event("resize"))},r=[{_key:"home",label:"Home",href:"/"},{_key:"about",label:"About",href:"/about"},{_key:"ext",label:"External",href:"https://example.com",isExternal:!0}],c=[{_key:"products",label:"Products",sublinks:[{_key:"p1",label:"Widget",href:"/widget"},{_key:"p2",label:"Gadget",href:"/gadget"}]}],i=[{_key:"g1",title:"Solutions",primaryItems:[{_key:"s1",label:"Enterprise",href:"/enterprise",sublinks:[{_key:"e1",label:"SSO",href:"/sso"},{_key:"e2",label:"Security",href:"/security"}]},{_key:"s2",label:"Startup",href:"/startup"}],secondaryItems:[{_key:"r1",label:"Case Studies",href:"/case-studies"}]}],d=[{_key:"login",label:"Log in",ariaLabel:"Log in",href:"/login",variant:"secondary"},{_key:"signup",label:"Sign up",ariaLabel:"Sign up",href:"/signup",variant:"primary"}];e.describe("Navbar",()=>{e.describe("Rendering",()=>{e.it("renders the header element",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toBeInTheDocument()}),e.it("renders logo when provided",()=>{e.render(t.jsx(a.Navbar,{logo:t.jsx("img",{"data-testid":"logo",src:"/logo.svg",alt:"Logo"})})),e.globalExpect(e.screen.getByTestId("logo")).toBeInTheDocument()}),e.it("renders title when no logo provided",()=>{e.render(t.jsx(a.Navbar,{title:"My Site"})),e.globalExpect(e.screen.getByText("My Site")).toBeInTheDocument()}),e.it("renders nothing in logo slot when neither logo nor title given",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{}));e.globalExpect(n.querySelector(".logo")).not.toBeInTheDocument(),e.globalExpect(n.querySelector(".title")).not.toBeInTheDocument()}),e.it("renders navigation landmark",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("navigation",{name:"Primary navigation"})).toBeInTheDocument()})}),e.describe("Flat navigation items",()=>{e.it("renders all flat nav links",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("Home")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("About")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("External")).toBeInTheDocument()}),e.it("renders correct hrefs",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("Home")).toHaveAttribute("href","/"),e.globalExpect(e.screen.getByText("About")).toHaveAttribute("href","/about")}),e.it("renders external links with target=_blank",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("External")).toHaveAttribute("target","_blank")}),e.it("renders external links with rel=noopener noreferrer",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("External")).toHaveAttribute("rel","noopener noreferrer")}),e.it("renders internal links with target=_self",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByText("Home")).toHaveAttribute("target","_self")})}),e.describe("Items with sublinks (default navigationType)",()=>{e.it("renders parent item as button when no href",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByRole("button",{name:/products/i})).toBeInTheDocument()}),e.it("toggle button has aria-haspopup=true",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByRole("button",{name:/products/i})).toHaveAttribute("aria-haspopup","true")}),e.it("toggle button starts with aria-expanded=false",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByRole("button",{name:/products/i})).toHaveAttribute("aria-expanded","false")}),e.it("sublink dropdown has role=menu and aria-label",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{items:c}));e.globalExpect(n.querySelector("[role='menu'][aria-label='Products submenu']")).toBeInTheDocument()}),e.it("clicking toggle button opens dropdown (aria-expanded=true)",()=>{e.render(t.jsx(a.Navbar,{items:c}));const n=e.screen.getByRole("button",{name:/products/i});e.fireEvent.click(n),e.globalExpect(n).toHaveAttribute("aria-expanded","true")}),e.it("clicking toggle button twice closes dropdown (aria-expanded=false)",()=>{e.render(t.jsx(a.Navbar,{items:c}));const n=e.screen.getByRole("button",{name:/products/i});e.fireEvent.click(n),e.fireEvent.click(n),e.globalExpect(n).toHaveAttribute("aria-expanded","false")}),e.it("sublinks are rendered inside the dropdown",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByText("Widget")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Gadget")).toBeInTheDocument()}),e.it("sublinks have correct hrefs",()=>{e.render(t.jsx(a.Navbar,{items:c})),e.globalExpect(e.screen.getByText("Widget")).toHaveAttribute("href","/widget"),e.globalExpect(e.screen.getByText("Gadget")).toHaveAttribute("href","/gadget")})}),e.describe("onClick callback",()=>{e.it("calls onClick when a flat link is clicked",()=>{const n=e.vi.fn(),o=[{_key:"click",label:"Click me",href:"#",onClick:n}];e.render(t.jsx(a.Navbar,{items:o})),e.fireEvent.click(e.screen.getByText("Click me")),e.globalExpect(n).toHaveBeenCalledOnce()})}),e.describe("Variant",()=>{e.it("applies standard variant class by default",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("standard")}),e.it("applies transparent variant class",()=>{e.render(t.jsx(a.Navbar,{variant:"transparent"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("transparent")})}),e.describe("Alignment",()=>{e.it("applies right alignment class by default",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("right")}),e.it("applies left alignment class",()=>{e.render(t.jsx(a.Navbar,{alignment:"left"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("left")}),e.it("applies center alignment class",()=>{e.render(t.jsx(a.Navbar,{alignment:"center"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("center")})}),e.describe("Sticky",()=>{e.it("does not apply sticky class by default",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).not.toHaveClass("sticky")}),e.it("applies sticky class when isSticky=true",()=>{e.render(t.jsx(a.Navbar,{isSticky:!0})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("sticky")})}),e.describe("Navigation type",()=>{e.it("applies default class when no groups",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("default")}),e.it("applies advanced class when groups provided",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("advanced")})}),e.describe("Utility items",()=>{e.it("renders both desktop and mobile utility navs",()=>{e.render(t.jsx(a.Navbar,{utilityItems:d}));const n=e.screen.getAllByRole("navigation",{name:"Utility navigation"});e.globalExpect(n).toHaveLength(2)}),e.it("renders all utility button labels",()=>{e.render(t.jsx(a.Navbar,{utilityItems:d})),e.globalExpect(e.screen.getAllByText("Log in").length).toBeGreaterThan(0),e.globalExpect(e.screen.getAllByText("Sign up").length).toBeGreaterThan(0)}),e.it("does not render utility nav when no items",()=>{e.render(t.jsx(a.Navbar,{utilityItems:[]})),e.globalExpect(e.screen.queryByRole("navigation",{name:"Utility navigation"})).not.toBeInTheDocument()}),e.it("does not crash when only one utility item provided (no index[1] access)",()=>{const n=[{_key:"cta",label:"Sign up",ariaLabel:"Sign up",href:"/signup"}];e.globalExpect(()=>e.render(t.jsx(a.Navbar,{utilityItems:n}))).not.toThrow()})}),e.describe("Mobile menu toggle",()=>{e.it("renders toggle button",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("button",{name:/open menu/i})).toBeInTheDocument()}),e.it("toggle starts closed (aria-expanded=false)",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("button",{name:/open menu/i})).toHaveAttribute("aria-expanded","false")}),e.it("opens menu on click",()=>{e.render(t.jsx(a.Navbar,{items:r}));const n=e.screen.getByRole("button",{name:/open menu/i});e.fireEvent.click(n),e.globalExpect(n).toHaveAttribute("aria-expanded","true")}),e.it("closes menu on second click",()=>{e.render(t.jsx(a.Navbar,{items:r}));const n=e.screen.getByRole("button",{name:/open menu/i});e.fireEvent.click(n),e.fireEvent.click(n),e.globalExpect(n).toHaveAttribute("aria-expanded","false")}),e.it("toggle has aria-controls pointing to main-menu",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("button",{name:/open menu/i})).toHaveAttribute("aria-controls","main-menu")}),e.it("aria-label changes to 'Close menu' when menu is open",()=>{e.render(t.jsx(a.Navbar,{items:r}));const n=e.screen.getByRole("button",{name:/open menu/i});e.fireEvent.click(n),e.globalExpect(e.screen.getByRole("button",{name:/close menu/i})).toBeInTheDocument()})}),e.describe("Search button",()=>{e.it("does not render search button when showSearch=false",()=>{e.render(t.jsx(a.Navbar,{showSearch:!1})),e.globalExpect(e.screen.queryByRole("button",{name:/search/i})).not.toBeInTheDocument()}),e.it("renders search button in mobile bar when showSearch=true and on mobile",()=>{p(),e.render(t.jsx(a.Navbar,{showSearch:!0,items:r})),e.globalExpect(e.screen.getByRole("button",{name:/search/i})).toBeInTheDocument()}),e.it("renders search button in nav when showSearch=true and on desktop",()=>{s(),e.render(t.jsx(a.Navbar,{showSearch:!0,items:r})),e.globalExpect(e.screen.getByRole("button",{name:/search/i})).toBeInTheDocument()})}),e.describe("Custom styling",()=>{e.it("applies custom className",()=>{e.render(t.jsx(a.Navbar,{className:"my-navbar"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("my-navbar")}),e.it("preserves base navbar class alongside custom className",()=>{e.render(t.jsx(a.Navbar,{className:"my-navbar"})),e.globalExpect(e.screen.getByRole("banner")).toHaveClass("navbar")}),e.it("applies inline style",()=>{e.render(t.jsx(a.Navbar,{style:{borderBottom:"2px solid red"}}));const n=e.screen.getByRole("banner");e.globalExpect(n.style.borderBottom).toBe("2px solid red")})}),e.describe("Accessibility",()=>{e.it("header has banner landmark role",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toBeInTheDocument()}),e.it("header has aria-label='Site header'",()=>{e.render(t.jsx(a.Navbar,{})),e.globalExpect(e.screen.getByRole("banner")).toHaveAttribute("aria-label","Site header")}),e.it("primary nav has id=main-menu",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{items:r}));e.globalExpect(n.querySelector("#main-menu")).toBeInTheDocument()}),e.it("primary nav has aria-label='Primary navigation'",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(e.screen.getByRole("navigation",{name:"Primary navigation"})).toBeInTheDocument()}),e.it("decorative icons are aria-hidden",()=>{e.render(t.jsx(a.Navbar,{items:r})),e.globalExpect(document.querySelectorAll("[aria-hidden='true']").length).toBeGreaterThan(0)}),e.it("external link icons are aria-hidden",()=>{e.render(t.jsx(a.Navbar,{items:r}));const o=e.screen.getByText("External").querySelector("[aria-hidden='true']");e.globalExpect(o).toBeInTheDocument()})}),e.describe("Props forwarding",()=>{e.it("forwards data attributes to header",()=>{e.render(t.jsx(a.Navbar,{"data-testid":"my-navbar"})),e.globalExpect(e.screen.getByTestId("my-navbar")).toBeInTheDocument()})}),e.describe("Advanced navigation (groups)",()=>{e.beforeEach(()=>{s()}),e.it("renders group titles",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByText("Solutions")).toBeInTheDocument()}),e.it("group toggle button has aria-haspopup=true",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("button",{name:/solutions/i})).toHaveAttribute("aria-haspopup","true")}),e.it("group toggle starts with aria-expanded=false",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("button",{name:/solutions/i})).toHaveAttribute("aria-expanded","false")}),e.it("group submenu has role=menu and aria-label",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"}));e.globalExpect(n.querySelector("[aria-label='Solutions submenu']")).toBeInTheDocument()}),e.it("mouseenter on group wrapper opens the mega-menu (aria-expanded=true)",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"}));const n=e.screen.getByRole("button",{name:/solutions/i});e.fireEvent.mouseEnter(n.closest(".linkWrapper")),e.globalExpect(n).toHaveAttribute("aria-expanded","true")}),e.it("renders primary items inside the mega-menu",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByText("Enterprise")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Startup")).toBeInTheDocument()}),e.it("primary items with href are rendered as links",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"}));const n=e.screen.getByText("Enterprise").closest("a");e.globalExpect(n).not.toBeNull(),e.globalExpect(n.tagName).toBe("A"),e.globalExpect(n).toHaveAttribute("href","/enterprise")}),e.it("renders secondary items",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.globalExpect(e.screen.getByText("Case Studies")).toBeInTheDocument()}),e.it("hovering a primary item with sublinks reveals column 2 children",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.fireEvent.mouseEnter(e.screen.getByText("Enterprise").closest("a")),e.globalExpect(e.screen.getByText("SSO")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Security")).toBeInTheDocument()}),e.it("column 2 disappears after hovering a primary item without sublinks",()=>{e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),e.fireEvent.mouseEnter(e.screen.getByText("Enterprise").closest("a")),e.globalExpect(e.screen.getByText("SSO")).toBeInTheDocument(),e.fireEvent.mouseEnter(e.screen.getByText("Startup").closest("a")),e.globalExpect(e.screen.queryByText("SSO")).not.toBeInTheDocument()}),e.it("mouseleave on submenu panel closes the mega-menu",()=>{const{container:n}=e.render(t.jsx(a.Navbar,{groups:i,navigationType:"advanced"})),o=e.screen.getByRole("button",{name:/solutions/i}),l=o.closest(".linkWrapper"),g=n.querySelector("[aria-label='Solutions submenu']");e.fireEvent.mouseEnter(l),e.globalExpect(o).toHaveAttribute("aria-expanded","true"),e.fireEvent.mouseLeave(g),e.globalExpect(o).toHaveAttribute("aria-expanded","false")}),e.it("primary item click calls onClick and closes dropdown",()=>{const n=e.vi.fn(),o=[{_key:"g1",title:"Menu",primaryItems:[{_key:"item1",label:"Clickable",href:"/dest",onClick:n}]}];e.render(t.jsx(a.Navbar,{groups:o,navigationType:"advanced"})),e.fireEvent.click(e.screen.getByText("Clickable").closest("a")),e.globalExpect(n).toHaveBeenCalledOnce()})}),e.describe("Spotlight card",()=>{const o=[{_key:"spot",title:"Spotlight Group",primaryItems:[{_key:"p1",label:"Item One",href:"/one"}],spotlight:{title:"New Feature",description:"Check it out",callToAction:{label:"Learn more",ariaLabel:"Learn more about new feature",variant:"primary",linkOptions:{linkType:"internal",internalUrl:{slug:{current:"new-feature"}}}}}}];e.it("renders the spotlight CTA button",()=>{s(),e.render(t.jsx(a.Navbar,{groups:o,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("link",{name:/learn more/i})).toBeInTheDocument()}),e.it("spotlight CTA resolves internal href correctly",()=>{s(),e.render(t.jsx(a.Navbar,{groups:o,navigationType:"advanced"})),e.globalExpect(e.screen.getByRole("link",{name:/learn more/i})).toHaveAttribute("href","/new-feature")}),e.it("spotlight CTA resolves external href correctly",()=>{s();const g=[{_key:"g",title:"Ext Group",primaryItems:[{_key:"p1",label:"Item",href:"/item"}],spotlight:{callToAction:{label:"Visit",ariaLabel:"Visit external site",linkOptions:{linkType:"external",externalUrl:"https://example.com"}}}}];e.render(t.jsx(a.Navbar,{groups:g,navigationType:"advanced"}));const b=e.screen.getByRole("link",{name:/visit/i});e.globalExpect(b).toHaveAttribute("href","https://example.com"),e.globalExpect(b).toHaveAttribute("target","_blank")}),e.it("renders spotlight image when provided",()=>{s();const l=[{_key:"g",title:"Img Group",primaryItems:[{_key:"p1",label:"Item",href:"/item"}],spotlight:{callToAction:{label:"Go",linkOptions:{linkType:"internal",internalUrl:{slug:{current:"go"}}}},image:{asset:{_id:"1",url:"/img.jpg",altText:"Demo image",title:"Demo",description:"Demo desc"},imageUrls:{small:"/s.jpg",medium:"/m.jpg",large:"/l.jpg"}}}}];e.render(t.jsx(a.Navbar,{groups:l,navigationType:"advanced"}));const g=e.screen.getByAltText("Demo image");e.globalExpect(g).toBeInTheDocument(),e.globalExpect(g).toHaveAttribute("src","/m.jpg")}),e.it("renders nothing when callToAction is absent",()=>{s();const l=[{_key:"g",title:"No CTA",primaryItems:[{_key:"p1",label:"Item",href:"/item"}],spotlight:{title:"Title only"}}];e.globalExpect(()=>e.render(t.jsx(a.Navbar,{groups:l,navigationType:"advanced"}))).not.toThrow()})}),e.describe("renderText prop",()=>{e.it("calls renderText for spotlight title when provided",()=>{s();const n=e.vi.fn(l=>typeof l=="string"?t.jsx("span",{children:l}):null),o=[{_key:"g",title:"Group",primaryItems:[{_key:"p1",label:"Item",href:"/item"}],spotlight:{title:"Spotlight Title",callToAction:{label:"Go",linkOptions:{linkType:"internal",internalUrl:{slug:{current:"go"}}}}}}];e.render(t.jsx(a.Navbar,{groups:o,navigationType:"advanced",renderText:n})),e.globalExpect(n).toHaveBeenCalledWith("Spotlight Title",e.globalExpect.any(String))})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as B, jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { v as y, d as s, i as a, r as o, g as e, s as t, f as c, b as T } from "../../../index-
|
|
2
|
+
import { v as y, d as s, i as a, r as o, g as e, s as t, f as c, b as T } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Navbar as i } from "./index.mjs";
|
|
4
4
|
y.mock("../../utils/NoScroll/noScroll", () => ({
|
|
5
5
|
lockScroll: y.fn(),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),a=require("react"),se=require("../Modal/index.cjs"),z=require("../../../index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),a=require("react"),se=require("../Modal/index.cjs"),z=require("../../../index-hPJqlEOh.cjs"),le=require("../ButtonGroup/index.cjs"),e=require("../../../NavLink-BaEzx3t5.cjs"),U=require("../../utils/NoScroll/noScroll.cjs"),we=require("../../../chevron-right-motlyADs.cjs"),P=require("../../../external-link-DDShu-48.cjs"),Ce=require("../../../x-Dft9NVe_.cjs"),ne=require("../../../createLucideIcon-DpotSgUx.cjs"),_e=require("../../../chevron-down-DfK1XBl3.cjs");/**
|
|
2
2
|
* @license lucide-react v0.488.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as n, jsxs as i } from "react/jsx-runtime";
|
|
2
2
|
import { useState as u, useRef as V, useCallback as L, useEffect as H } from "react";
|
|
3
3
|
import { Modal as ie } from "../Modal/index.mjs";
|
|
4
|
-
import { B as q, M as _e } from "../../../index-
|
|
4
|
+
import { B as q, M as _e } from "../../../index-paelIj6o.js";
|
|
5
5
|
import { ButtonGroup as se } from "../ButtonGroup/index.mjs";
|
|
6
6
|
import { s as e, N as Se } from "../../../NavLink-BbTShlLw.js";
|
|
7
7
|
import { lockScroll as ze, unlockScroll as re } from "../../utils/NoScroll/noScroll.mjs";
|
|
@@ -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"),i=require("./index.cjs");e.describe("Notification",()=>{e.beforeEach(()=>{e.vi.clearAllTimers()}),e.describe("Rendering",()=>{e.it("renders with the correct message",()=>{e.render(o.jsx(i.Notification,{id:"1",message:"Test Notification",variant:"info",duration:3e3,onClose:e.vi.fn()})),e.globalExpect(e.screen.getByText("Test Notification")).toBeInTheDocument()}),e.it("renders with title",()=>{e.render(o.jsx(i.Notification,{id:"1",message:"Message",title:"Notification Title",duration:3e3,onClose:e.vi.fn()})),e.globalExpect(e.screen.getByText("Notification Title")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("Message")).toBeInTheDocument()}),e.it("renders without title when not provided",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"Message",duration:3e3,onClose:e.vi.fn()})),n=t.querySelector(".title");e.globalExpect(n).not.toBeInTheDocument()})}),e.describe("Variants",()=>{e.it("applies info variant by default",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"Info",duration:3e3,onClose:e.vi.fn()}));e.globalExpect(t.firstChild).toHaveClass("info")}),e.it("applies success variant",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"Success",variant:"success",duration:3e3,onClose:e.vi.fn()}));e.globalExpect(t.firstChild).toHaveClass("success")}),e.it("applies warning variant",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"Warning",variant:"warning",duration:3e3,onClose:e.vi.fn()}));e.globalExpect(t.firstChild).toHaveClass("warning")}),e.it("applies error variant",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"Error Notification",variant:"error",duration:3e3,onClose:e.vi.fn()}));e.globalExpect(t.firstChild).toHaveClass("error")})}),e.describe("Icons",()=>{e.it("shows icon by default",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"With Icon",duration:3e3,onClose:e.vi.fn()})),n=t.querySelector(".icon");e.globalExpect(n).toBeInTheDocument()}),e.it("hides icon when showIcon is false",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"No Icon",showIcon:!1,duration:3e3,onClose:e.vi.fn()})),n=t.querySelector(".icon");e.globalExpect(n).not.toBeInTheDocument()})}),e.describe("Close Button",()=>{e.it("shows close button by default",()=>{e.render(o.jsx(i.Notification,{id:"1",message:"Closable",duration:3e3,onClose:e.vi.fn()})),e.globalExpect(e.screen.getByRole("button",{name:/close notification/i})).toBeInTheDocument()}),e.it("hides close button when closable is false",()=>{e.render(o.jsx(i.Notification,{id:"1",message:"Not Closable",closable:!1,duration:3e3,onClose:e.vi.fn()})),e.globalExpect(e.screen.queryByRole("button",{name:/close/i})).not.toBeInTheDocument()}),e.it("calls onClose when close button is clicked",()=>{const t=e.vi.fn();e.render(o.jsx(i.Notification,{id:"1",message:"Closable Notification",variant:"success",duration:3e3,onClose:t}));const n=e.screen.getByRole("button",{name:/close notification/i});e.fireEvent.click(n),e.waitForWrapper(()=>{e.globalExpect(t).toHaveBeenCalled()})})}),e.describe("Auto Dismiss",()=>{e.it("calls onClose after the duration",async()=>{e.vi.useFakeTimers();const t=e.vi.fn();e.render(o.jsx(i.Notification,{id:"1",message:"Auto Dismiss",variant:"success",duration:3e3,onClose:t})),e.vi.advanceTimersByTime(2700),e.globalExpect(t).not.toHaveBeenCalled(),e.vi.advanceTimersByTime(300),e.globalExpect(t).toHaveBeenCalled(),e.vi.useRealTimers()}),e.it("does not auto-close when duration is 0",()=>{e.vi.useFakeTimers();const t=e.vi.fn();e.render(o.jsx(i.Notification,{id:"1",message:"Persistent",duration:0,onClose:t})),e.vi.advanceTimersByTime(1e4),e.globalExpect(t).not.toHaveBeenCalled(),e.vi.useRealTimers()})}),e.describe("Actions",()=>{e.it("renders action button",()=>{e.render(o.jsx(i.Notification,{id:"1",message:"With Action",action:o.jsx("button",{children:"Undo"}),duration:3e3,onClose:e.vi.fn()})),e.globalExpect(e.screen.getByRole("button",{name:/undo/i})).toBeInTheDocument()}),e.it("does not render action when not provided",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"No Action",duration:3e3,onClose:e.vi.fn()})),n=t.querySelector(".action");e.globalExpect(n).not.toBeInTheDocument()})}),e.describe("Positions",()=>{e.it("applies top-right position by default",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"Default Position",duration:3e3,onClose:e.vi.fn()}));e.globalExpect(t.firstChild).toHaveClass("position-top-right")}),e.it("applies top-left position",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"Top Left",position:"top-left",duration:3e3,onClose:e.vi.fn()}));e.globalExpect(t.firstChild).toHaveClass("position-top-left")}),e.it("applies bottom-center position",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"Bottom Center",position:"bottom-center",duration:3e3,onClose:e.vi.fn()}));e.globalExpect(t.firstChild).toHaveClass("position-bottom-center")})}),e.describe("Accessibility",()=>{e.it("has alert role",()=>{e.render(o.jsx(i.Notification,{id:"1",message:"Alert",duration:3e3,onClose:e.vi.fn()}));const t=e.screen.getByRole("alert");e.globalExpect(t).toBeInTheDocument()}),e.it("has aria-live attribute",()=>{e.render(o.jsx(i.Notification,{id:"1",message:"Live Region",duration:3e3,onClose:e.vi.fn()}));const t=e.screen.getByRole("alert");e.globalExpect(t).toHaveAttribute("aria-live","polite")}),e.it("close button has proper aria-label",()=>{e.render(o.jsx(i.Notification,{id:"1",message:"Accessible",duration:3e3,onClose:e.vi.fn()}));const t=e.screen.getByRole("button");e.globalExpect(t).toHaveAttribute("aria-label","Close notification")})}),e.describe("Custom Styling",()=>{e.it("applies custom className",()=>{const{container:t}=e.render(o.jsx(i.Notification,{id:"1",message:"Custom",className:"custom-notification",duration:3e3,onClose:e.vi.fn()}));e.globalExpect(t.firstChild).toHaveClass("custom-notification")})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { d as r, b as d, i as s, r as i, v as o, g as t, s as l, f as u, w as f } from "../../../index-
|
|
2
|
+
import { d as r, b as d, i as s, r as i, v as o, g as t, s as l, f as u, w as f } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Notification as a } from "./index.mjs";
|
|
4
4
|
r("Notification", () => {
|
|
5
5
|
d(() => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index63.css');const o=require("react/jsx-runtime"),_=require("react"),n=require("../../../createLucideIcon-DpotSgUx.cjs"),N=require("../../../info-84t9SZ3O.cjs"),j=require("../../../x-Dft9NVe_.cjs");/**
|
|
2
2
|
* @license lucide-react v0.488.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -3,7 +3,7 @@ import { useState as k, useEffect as N } from "react";
|
|
|
3
3
|
import { c as n } from "../../../createLucideIcon-C8GTh_Qx.js";
|
|
4
4
|
import { I as v } from "../../../info-Cq103K5v.js";
|
|
5
5
|
import { X as T } from "../../../x-CnsEH4Ox.js";
|
|
6
|
-
import '../../../
|
|
6
|
+
import '../../../index63.css';/**
|
|
7
7
|
* @license lucide-react v0.488.0 - ISC
|
|
8
8
|
*
|
|
9
9
|
* This source code is licensed under the ISC license.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),t=require("../../../index-
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),t=require("../../../index-CvpbNrYS.cjs"),n=require("./index.cjs");function r(){const{addNotification:i}=n.useNotifications();return e.jsx("div",{children:e.jsx("button",{onClick:()=>i({message:"Test Notification",variant:"info"}),children:"Show Notification"})})}t.describe("NotificationContainer",()=>{t.beforeEach(()=>{typeof window<"u"&&(window.notificationManager=void 0),t.vi.clearAllTimers()}),t.afterEach(()=>{typeof window<"u"&&(window.notificationManager=void 0)}),t.it("shows a notification when triggered",async()=>{t.render(e.jsxs(e.Fragment,{children:[e.jsx(n.NotificationContainer,{}),e.jsx(r,{})]}));const i=t.screen.getByText("Show Notification");t.fireEvent.click(i),await t.waitForWrapper(()=>{t.globalExpect(t.screen.getByText("Test Notification")).toBeInTheDocument()},{timeout:2e3})}),t.it("automatically removes a notification after the duration",async()=>{t.render(e.jsxs(e.Fragment,{children:[e.jsx(n.NotificationContainer,{}),e.jsx(r,{})]}));const i=t.screen.getByText("Show Notification");t.fireEvent.click(i),await t.waitForWrapper(()=>{t.globalExpect(t.screen.getByText("Test Notification")).toBeInTheDocument()},{timeout:2e3}),await t.waitForWrapper(()=>{t.globalExpect(t.screen.queryByText("Test Notification")).not.toBeInTheDocument()},{timeout:4e3})}),t.it("allows manual closing of notifications",async()=>{t.render(e.jsxs(e.Fragment,{children:[e.jsx(n.NotificationContainer,{}),e.jsx(r,{})]}));const i=t.screen.getByText("Show Notification");t.fireEvent.click(i),await t.waitForWrapper(()=>{t.globalExpect(t.screen.getByText("Test Notification")).toBeInTheDocument()},{timeout:2e3});const o=t.screen.getByRole("button",{name:/close notification/i});t.fireEvent.click(o),await t.waitForWrapper(()=>{t.globalExpect(t.screen.queryByText("Test Notification")).not.toBeInTheDocument()},{timeout:2e3})}),t.it("stacks multiple notifications",async()=>{function i(){const{addNotification:a}=n.useNotifications();return e.jsx("button",{onClick:()=>{a({message:"First Notification",variant:"info"}),a({message:"Second Notification",variant:"success"}),a({message:"Third Notification",variant:"warning"})},children:"Show Multiple"})}t.render(e.jsxs(e.Fragment,{children:[e.jsx(n.NotificationContainer,{}),e.jsx(i,{})]}));const o=t.screen.getByText("Show Multiple");t.fireEvent.click(o),await t.waitForWrapper(()=>{t.globalExpect(t.screen.getByText("First Notification")).toBeInTheDocument(),t.globalExpect(t.screen.getByText("Second Notification")).toBeInTheDocument(),t.globalExpect(t.screen.getByText("Third Notification")).toBeInTheDocument()},{timeout:2e3})}),t.it("respects maxNotifications limit",async()=>{function i(){const{addNotification:a}=n.useNotifications();return e.jsx("button",{onClick:()=>{for(let c=1;c<=7;c++)a({message:`Notification ${c}`,variant:"info"})},children:"Show Many"})}t.render(e.jsxs(e.Fragment,{children:[e.jsx(n.NotificationContainer,{maxNotifications:5}),e.jsx(i,{})]}));const o=t.screen.getByText("Show Many");t.fireEvent.click(o),await t.waitForWrapper(()=>{const a=t.screen.getAllByRole("alert");t.globalExpect(a).toHaveLength(5)},{timeout:2e3})}),t.it("works with window.notificationManager API",async()=>{t.render(e.jsx(n.NotificationContainer,{})),await t.waitForWrapper(()=>{t.globalExpect(window.notificationManager).toBeDefined()},{timeout:2e3}),t.act(()=>{window.notificationManager.add({message:"Window API Notification",variant:"success"})}),await t.waitForWrapper(()=>{t.globalExpect(t.screen.getByText("Window API Notification")).toBeInTheDocument()},{timeout:2e3})}),t.it("clears all notifications",async()=>{function i(){const{addNotification:c,clearAll:s}=n.useNotifications();return e.jsxs("div",{children:[e.jsx("button",{onClick:()=>{c({message:"Notification 1",variant:"info"}),c({message:"Notification 2",variant:"info"})},children:"Add Notifications"}),e.jsx("button",{onClick:s,children:"Clear All"})]})}t.render(e.jsxs(e.Fragment,{children:[e.jsx(n.NotificationContainer,{}),e.jsx(i,{})]}));const o=t.screen.getByText("Add Notifications");t.fireEvent.click(o),await t.waitForWrapper(()=>{t.globalExpect(t.screen.getByText("Notification 1")).toBeInTheDocument(),t.globalExpect(t.screen.getByText("Notification 2")).toBeInTheDocument()},{timeout:2e3});const a=t.screen.getByText("Clear All");t.fireEvent.click(a),await t.waitForWrapper(()=>{t.globalExpect(t.screen.queryByText("Notification 1")).not.toBeInTheDocument(),t.globalExpect(t.screen.queryByText("Notification 2")).not.toBeInTheDocument()},{timeout:2e3})}),t.it("supports different notification variants",async()=>{function i(){const{addNotification:o}=n.useNotifications();return e.jsxs("div",{children:[e.jsx("button",{onClick:()=>o({message:"Info",variant:"info"}),children:"Show Info"}),e.jsx("button",{onClick:()=>o({message:"Success",variant:"success"}),children:"Show Success"}),e.jsx("button",{onClick:()=>o({message:"Warning",variant:"warning"}),children:"Show Warning"}),e.jsx("button",{onClick:()=>o({message:"Error",variant:"error"}),children:"Show Error"})]})}t.render(e.jsxs(e.Fragment,{children:[e.jsx(n.NotificationContainer,{}),e.jsx(i,{})]})),t.fireEvent.click(t.screen.getByText("Show Info")),t.fireEvent.click(t.screen.getByText("Show Success")),t.fireEvent.click(t.screen.getByText("Show Warning")),t.fireEvent.click(t.screen.getByText("Show Error")),await t.waitForWrapper(()=>{t.globalExpect(t.screen.getByText("Info")).toBeInTheDocument(),t.globalExpect(t.screen.getByText("Success")).toBeInTheDocument(),t.globalExpect(t.screen.getByText("Warning")).toBeInTheDocument(),t.globalExpect(t.screen.getByText("Error")).toBeInTheDocument()},{timeout:2e3})}),t.it("supports custom duration",async()=>{t.render(e.jsx(n.NotificationContainer,{})),await t.waitForWrapper(()=>{t.globalExpect(window.notificationManager).toBeDefined()},{timeout:2e3}),t.act(()=>{window.notificationManager.add({message:"Custom Duration",variant:"info",duration:1e3})}),await t.waitForWrapper(()=>{t.globalExpect(t.screen.getByText("Custom Duration")).toBeInTheDocument()},{timeout:2e3}),await t.waitForWrapper(()=>{t.globalExpect(t.screen.queryByText("Custom Duration")).not.toBeInTheDocument()},{timeout:2e3})}),t.it("supports notifications with titles",async()=>{function i(){const{addNotification:a}=n.useNotifications();return e.jsx("button",{onClick:()=>a({title:"Notification Title",message:"Notification Message",variant:"info"}),children:"Show Titled Notification"})}t.render(e.jsxs(e.Fragment,{children:[e.jsx(n.NotificationContainer,{}),e.jsx(i,{})]}));const o=t.screen.getByText("Show Titled Notification");t.fireEvent.click(o),await t.waitForWrapper(()=>{t.globalExpect(t.screen.getByText("Notification Title")).toBeInTheDocument(),t.globalExpect(t.screen.getByText("Notification Message")).toBeInTheDocument()},{timeout:2e3})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as r, Fragment as d, jsx as i } from "react/jsx-runtime";
|
|
2
|
-
import { d as B, b as y, a as N, i as f, r as u, s as t, f as c, w as e, g as o, h as g, v as x } from "../../../index-
|
|
2
|
+
import { d as B, b as y, a as N, i as f, r as u, s as t, f as c, w as e, g as o, h as g, v as x } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { NotificationContainer as l, useNotifications as h } from "./index.mjs";
|
|
4
4
|
function T() {
|
|
5
5
|
const { addNotification: n } = h();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index52.css');const r=require("react/jsx-runtime"),n=require("react"),g=require("../Notification/index.cjs"),b="_container_1p8kf_2",f={container:b,"position-top-right":"_position-top-right_1p8kf_19","position-top-left":"_position-top-left_1p8kf_24","position-top-center":"_position-top-center_1p8kf_29","position-bottom-right":"_position-bottom-right_1p8kf_35","position-bottom-left":"_position-bottom-left_1p8kf_41","position-bottom-center":"_position-bottom-center_1p8kf_47"};function m({position:i="top-right",maxNotifications:o=5,className:e}){const[a,c]=n.useState([]),p=n.useCallback(t=>{const s=Date.now().toString()+Math.random().toString(36).substr(2,9);return c(d=>{const l=[...d,{...t,id:s}];return l.length>o?l.slice(-o):l}),s},[o]),u=n.useCallback(t=>{c(s=>s.filter(d=>d.id!==t))},[]),w=n.useCallback(()=>{c([])},[]),_=f[`position-${i}`]||f["position-top-right"];return r.jsxs(r.Fragment,{children:[r.jsx("div",{className:`${f.container} ${_} ${e??""}`.trim(),children:a.map(t=>r.jsx(g.Notification,{id:t.id,message:t.message,variant:t.variant,title:t.title,action:t.action,duration:t.duration,showIcon:t.showIcon,closable:t.closable,position:i,onClose:()=>u(t.id)},t.id))}),typeof window<"u"&&r.jsx(k,{addNotification:p,removeNotification:u,clearAll:w})]})}function k({addNotification:i,removeNotification:o,clearAll:e}){return n.useEffect(()=>{typeof window<"u"&&(window.notificationManager={add:i,remove:o,clear:e})},[i,o,e]),null}function h(){const i=n.useCallback(a=>typeof window<"u"&&window.notificationManager?window.notificationManager.add(a):(console.warn("NotificationContainer not found. Please add <NotificationContainer /> to your app."),null),[]),o=n.useCallback(a=>{typeof window<"u"&&window.notificationManager&&window.notificationManager.remove(a)},[]),e=n.useCallback(()=>{typeof window<"u"&&window.notificationManager&&window.notificationManager.clear()},[]);return{addNotification:i,removeNotification:o,clearAll:e}}exports.NotificationContainer=m;exports.useNotifications=h;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as g, Fragment as m, jsx as f } from "react/jsx-runtime";
|
|
2
2
|
import h, { useState as b, useCallback as e } from "react";
|
|
3
3
|
import { Notification as M } from "../Notification/index.mjs";
|
|
4
|
-
import '../../../
|
|
4
|
+
import '../../../index52.css';const N = "_container_1p8kf_2", p = {
|
|
5
5
|
container: N,
|
|
6
6
|
"position-top-right": "_position-top-right_1p8kf_19",
|
|
7
7
|
"position-top-left": "_position-top-left_1p8kf_24",
|
|
@@ -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"),o=require("./index.cjs");e.describe("ProgressBar",()=>{e.describe("Rendering",()=>{e.it("renders the progress bar with the correct progress",()=>{e.render(s.jsx(o.ProgressBar,{progress:50}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveAttribute("aria-valuenow","50"),e.globalExpect(r).toHaveStyle({width:"50%"})}),e.it("clamps the progress to a maximum of 100",()=>{e.render(s.jsx(o.ProgressBar,{progress:120}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveAttribute("aria-valuenow","100"),e.globalExpect(r).toHaveStyle({width:"100%"})}),e.it("clamps the progress to a minimum of 0",()=>{e.render(s.jsx(o.ProgressBar,{progress:-20}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveAttribute("aria-valuenow","0"),e.globalExpect(r).toHaveStyle({width:"0%"})})}),e.describe("Variants",()=>{e.it("applies primary variant by default",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:40})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("primary")}),e.it("applies success variant",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:40,variant:"success"})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("success")}),e.it("applies warning variant",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:40,variant:"warning"})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("warning")}),e.it("applies danger variant",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:40,variant:"danger"})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("danger")}),e.it("applies info variant",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:40,variant:"info"})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("info")})}),e.describe("Sizes",()=>{e.it("applies medium size by default",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("md")}),e.it("applies small size",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50,size:"sm"})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("sm")}),e.it("applies large size",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50,size:"lg"})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("lg")})}),e.describe("Labels",()=>{e.it("does not show label by default",()=>{e.render(s.jsx(o.ProgressBar,{progress:20})),e.globalExpect(e.screen.queryByText("20%")).not.toBeInTheDocument()}),e.it("shows label outside when showLabel is true",()=>{e.render(s.jsx(o.ProgressBar,{progress:20,showLabel:!0})),e.globalExpect(e.screen.getByText("20%")).toBeInTheDocument()}),e.it("shows label inside when labelPosition is inside",()=>{e.render(s.jsx(o.ProgressBar,{progress:50,showLabel:!0,labelPosition:"inside"})),e.globalExpect(e.screen.getByText("50%")).toBeInTheDocument()}),e.it("shows label on top when labelPosition is top",()=>{e.render(s.jsx(o.ProgressBar,{progress:75,showLabel:!0,labelPosition:"top"})),e.globalExpect(e.screen.getByText("75%")).toBeInTheDocument()}),e.it("hides inside label when progress is too low",()=>{e.render(s.jsx(o.ProgressBar,{progress:5,showLabel:!0,labelPosition:"inside"})),e.globalExpect(e.screen.queryByText("5%")).not.toBeInTheDocument()}),e.it("shows inside label when progress is above 10",()=>{e.render(s.jsx(o.ProgressBar,{progress:15,showLabel:!0,labelPosition:"inside"})),e.globalExpect(e.screen.getByText("15%")).toBeInTheDocument()}),e.it("displays custom label",()=>{e.render(s.jsx(o.ProgressBar,{progress:50,showLabel:!0,customLabel:"Half done"})),e.globalExpect(e.screen.getByText("Half done")).toBeInTheDocument()}),e.it("rounds progress for label",()=>{e.render(s.jsx(o.ProgressBar,{progress:33.7,showLabel:!0})),e.globalExpect(e.screen.getByText("34%")).toBeInTheDocument()})}),e.describe("Striped",()=>{e.it("applies striped class when striped is true",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50,striped:!0})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("striped")}),e.it("does not apply striped class by default",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50})),t=r.querySelector(".progressBar");e.globalExpect(t).not.toHaveClass("striped")})}),e.describe("Animated",()=>{e.it("applies animated class when animated is true",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50,animated:!0})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("animated")}),e.it("does not apply animated class by default",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50})),t=r.querySelector(".progressBar");e.globalExpect(t).not.toHaveClass("animated")}),e.it("works with striped and animated together",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50,striped:!0,animated:!0})),t=r.querySelector(".progressBar");e.globalExpect(t).toHaveClass("striped"),e.globalExpect(t).toHaveClass("animated")})}),e.describe("Custom Styling",()=>{e.it("applies custom className",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50,className:"custom-progress"}));e.globalExpect(r.firstChild).toHaveClass("custom-progress")}),e.it("applies custom inline styles",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50,style:{maxWidth:"300px"}})),t=r.firstChild;e.globalExpect(t.style.maxWidth).toBe("300px")})}),e.describe("Accessibility",()=>{e.it("has progressbar role",()=>{e.render(s.jsx(o.ProgressBar,{progress:50})),e.globalExpect(e.screen.getByRole("progressbar")).toBeInTheDocument()}),e.it("has aria-valuenow attribute",()=>{e.render(s.jsx(o.ProgressBar,{progress:75}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveAttribute("aria-valuenow","75")}),e.it("has aria-valuemin attribute",()=>{e.render(s.jsx(o.ProgressBar,{progress:50}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveAttribute("aria-valuemin","0")}),e.it("has aria-valuemax attribute",()=>{e.render(s.jsx(o.ProgressBar,{progress:50}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveAttribute("aria-valuemax","100")}),e.it("has aria-label with progress",()=>{e.render(s.jsx(o.ProgressBar,{progress:60,showLabel:!0}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveAttribute("aria-label","Progress: 60%")}),e.it("has aria-label with custom label",()=>{e.render(s.jsx(o.ProgressBar,{progress:50,showLabel:!0,customLabel:"Loading..."}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveAttribute("aria-label","Progress: Loading...")})}),e.describe("Props Forwarding",()=>{e.it("forwards HTML attributes",()=>{const{container:r}=e.render(s.jsx(o.ProgressBar,{progress:50,"data-testid":"test-progress",id:"my-progress"}));e.globalExpect(r.firstChild).toHaveAttribute("data-testid","test-progress"),e.globalExpect(r.firstChild).toHaveAttribute("id","my-progress")})}),e.describe("Edge Cases",()=>{e.it("handles 0 progress",()=>{e.render(s.jsx(o.ProgressBar,{progress:0}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveStyle({width:"0%"})}),e.it("handles 100 progress",()=>{e.render(s.jsx(o.ProgressBar,{progress:100}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveStyle({width:"100%"})}),e.it("handles decimal progress",()=>{e.render(s.jsx(o.ProgressBar,{progress:33.333}));const r=e.screen.getByRole("progressbar");e.globalExpect(r).toHaveAttribute("aria-valuenow","33.333")})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import { d as l, i as o, r as t, s as n, g as s } from "../../../index-
|
|
2
|
+
import { d as l, i as o, r as t, s as n, g as s } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { ProgressBar as a } from "./index.mjs";
|
|
4
4
|
l("ProgressBar", () => {
|
|
5
5
|
l("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('../../../index35.css');const a=require("react/jsx-runtime"),y="_progressBarContainer_1ifpc_2",$="_progressBar_1ifpc_2",v="_sm_1ifpc_34",h="_md_1ifpc_38",x="_lg_1ifpc_42",B="_fill_1ifpc_47",C="_primary_1ifpc_60",j="_success_1ifpc_64",w="_warning_1ifpc_68",M="_danger_1ifpc_73",N="_info_1ifpc_77",I="_striped_1ifpc_82",O="_animated_1ifpc_97",T="_labelInside_1ifpc_111",P="_labelOutside_1ifpc_120",q="_labelTop_1ifpc_129",s={progressBarContainer:y,progressBar:$,sm:v,md:h,lg:x,fill:B,primary:C,success:j,warning:w,danger:M,info:N,striped:I,animated:O,labelInside:T,labelOutside:P,labelTop:q},z={primary:s.primary,success:s.success,warning:s.warning,danger:s.danger,info:s.info},S={sm:s.sm,md:s.md,lg:s.lg};function k({progress:c,variant:l="primary",size:t="md",showLabel:i=!1,labelPosition:n="outside",customLabel:o,striped:d=!1,animated:p=!1,className:_,style:m,...g}){const e=Math.min(100,Math.max(0,c)),r=o||`${Math.round(e)}%`,f=S[t],u=d?s.striped:"",b=p?s.animated:"";return a.jsxs("div",{className:`${s.progressBarContainer} ${_??""}`.trim(),style:m,...g,children:[i&&n==="top"&&a.jsx("div",{className:s.labelTop,children:r}),a.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"var(--spacing-sm, 0.5rem)",width:"100%"},children:[a.jsx("div",{className:`${s.progressBar} ${z[l]} ${f} ${u} ${b}`.trim(),children:a.jsx("div",{className:s.fill,style:{width:`${e}%`},role:"progressbar","aria-valuenow":e,"aria-valuemin":0,"aria-valuemax":100,"aria-label":`Progress: ${r}`,children:i&&n==="inside"&&e>10&&a.jsx("span",{className:s.labelInside,children:r})})}),i&&n==="outside"&&a.jsx("span",{className:s.labelOutside,children:r})]})]})}exports.ProgressBar=k;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as c, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import '../../../
|
|
2
|
+
import '../../../index35.css';const v = "_progressBarContainer_1ifpc_2", y = "_progressBar_1ifpc_2", $ = "_sm_1ifpc_34", B = "_md_1ifpc_38", C = "_lg_1ifpc_42", w = "_fill_1ifpc_47", x = "_primary_1ifpc_60", N = "_success_1ifpc_64", I = "_warning_1ifpc_68", M = "_danger_1ifpc_73", O = "_info_1ifpc_77", T = "_striped_1ifpc_82", j = "_animated_1ifpc_97", z = "_labelInside_1ifpc_111", P = "_labelOutside_1ifpc_120", k = "_labelTop_1ifpc_129", s = {
|
|
3
3
|
progressBarContainer: v,
|
|
4
4
|
progressBar: y,
|
|
5
5
|
sm: $,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const r=require("react/jsx-runtime"),e=require("../../../index-
|
|
1
|
+
"use strict";const r=require("react/jsx-runtime"),e=require("../../../index-CvpbNrYS.cjs"),o=require("./index.cjs");e.vi.mock("../Label",()=>({Label:({children:t,htmlFor:a,required:i,className:l})=>r.jsxs("label",{htmlFor:a,className:l,children:[t,i&&r.jsx("span",{className:"required",children:"*"})]})}));e.describe("Radio",()=>{e.describe("Rendering",()=>{e.it("renders correctly",()=>{e.render(r.jsx(o.Radio,{id:"option1",name:"testOptions",value:"1",label:"Option 1"})),e.globalExpect(e.screen.getByRole("radio")).toBeInTheDocument(),e.globalExpect(e.screen.getByLabelText("Option 1")).toBeInTheDocument()}),e.it("generates id from name and value when not provided",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"color",value:"blue",label:"Blue"})),a=t.querySelector("input");e.globalExpect(a).toHaveAttribute("id"),e.globalExpect(a==null?void 0:a.id).toContain("radio-color-blue")}),e.it("applies custom className",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Test",className:"custom-radio"}));e.globalExpect(t.querySelector(".custom-radio")).toBeInTheDocument()}),e.it("shows required asterisk",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Required",required:!0})),e.globalExpect(e.screen.getByText("*")).toBeInTheDocument()})}),e.describe("Sizes",()=>{e.it("applies small size class",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Small",size:"sm"})),a=t.querySelector(".radioCircle");e.globalExpect(a).toHaveClass("sm")}),e.it("applies medium size by default",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Medium"})),a=t.querySelector(".radioCircle");e.globalExpect(a).toHaveClass("md")}),e.it("applies large size class",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Large",size:"lg"})),a=t.querySelector(".radioCircle");e.globalExpect(a).toHaveClass("lg")})}),e.describe("States",()=>{e.it("can be disabled",()=>{e.render(r.jsx(o.Radio,{id:"option2",name:"testOptions",value:"2",label:"Option 2",disabled:!0}));const t=e.screen.getByRole("radio");e.globalExpect(t).toBeDisabled()}),e.it("applies disabled wrapper class when disabled",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Disabled",disabled:!0})),a=t.querySelector(".wrapper");e.globalExpect(a).toHaveClass("wrapperDisabled")}),e.it("can be required",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Required",required:!0}));const t=e.screen.getByRole("radio");e.globalExpect(t).toBeRequired()}),e.it("can be checked",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Checked",checked:!0,onChange:()=>{}}));const t=e.screen.getByRole("radio");e.globalExpect(t.checked).toBe(!0)}),e.it("can have defaultChecked",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Default Checked",defaultChecked:!0}));const t=e.screen.getByRole("radio");e.globalExpect(t.checked).toBe(!0)})}),e.describe("Error State",()=>{e.it("applies error class when error is true",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Error",error:!0})),a=t.querySelector("input");e.globalExpect(a).toHaveClass("error")}),e.it("sets aria-invalid when error is true",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Error",error:!0}));const t=e.screen.getByRole("radio");e.globalExpect(t).toHaveAttribute("aria-invalid","true")})}),e.describe("Description",()=>{e.it("displays description text",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Option",description:"This is a helpful description"})),e.globalExpect(e.screen.getByText("This is a helpful description")).toBeInTheDocument()}),e.it("applies error styling to description when error",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Option",description:"Error description",error:!0}));const t=e.screen.getByText("Error description");e.globalExpect(t).toHaveClass("descriptionError")}),e.it("links description with aria-describedby",()=>{e.render(r.jsx(o.Radio,{id:"desc-radio",name:"test",value:"1",label:"Option",description:"Description text"}));const t=e.screen.getByRole("radio");e.globalExpect(t).toHaveAttribute("aria-describedby","desc-radio-description")})}),e.describe("Radio Group Behavior",()=>{e.it("only one radio can be selected in a group",()=>{e.render(r.jsxs("div",{children:[r.jsx(o.Radio,{id:"opt1",name:"group",value:"1",label:"Option 1",defaultChecked:!0}),r.jsx(o.Radio,{id:"opt2",name:"group",value:"2",label:"Option 2"})]}));const t=e.screen.getByLabelText("Option 1"),a=e.screen.getByLabelText("Option 2");e.globalExpect(t.checked).toBe(!0),e.globalExpect(a.checked).toBe(!1),e.fireEvent.click(a),e.globalExpect(t.checked).toBe(!1),e.globalExpect(a.checked).toBe(!0)})}),e.describe("Event Handlers",()=>{e.it("fires onChange event",()=>{const t=e.vi.fn();e.render(r.jsx(o.Radio,{id:"option3",name:"testOptions",value:"3",label:"Option 3",onChange:t}));const a=e.screen.getByRole("radio");e.fireEvent.click(a),e.globalExpect(t).toHaveBeenCalled()}),e.it("does not fire onChange when disabled",()=>{const t=e.vi.fn();e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Disabled",disabled:!0,onChange:t}));const a=e.screen.getByRole("radio");e.fireEvent.click(a),e.globalExpect(t).not.toHaveBeenCalled()})}),e.describe("Label Clicking",()=>{e.it("selects radio when label is clicked",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Click Label"}));const t=e.screen.getByText("Click Label"),a=e.screen.getByRole("radio");e.globalExpect(a.checked).toBe(!1),e.fireEvent.click(t),e.globalExpect(a.checked).toBe(!0)})}),e.describe("Accessibility",()=>{e.it("has proper label association",()=>{e.render(r.jsx(o.Radio,{id:"test-radio",name:"test",value:"1",label:"Test Label"}));const t=e.screen.getByLabelText("Test Label");e.globalExpect(t).toHaveAttribute("id","test-radio")}),e.it("sets type to radio",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Test"}));const t=e.screen.getByRole("radio");e.globalExpect(t).toHaveAttribute("type","radio")}),e.it("sets name attribute",()=>{e.render(r.jsx(o.Radio,{name:"options",value:"1",label:"Option"}));const t=e.screen.getByRole("radio");e.globalExpect(t).toHaveAttribute("name","options")}),e.it("sets value attribute",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"myValue",label:"Option"}));const t=e.screen.getByRole("radio");e.globalExpect(t).toHaveAttribute("value","myValue")})}),e.describe("Props Forwarding",()=>{e.it("forwards HTML attributes",()=>{e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Test","data-testid":"custom-radio","aria-label":"Custom"}));const t=e.screen.getByRole("radio");e.globalExpect(t).toHaveAttribute("data-testid","custom-radio"),e.globalExpect(t).toHaveAttribute("aria-label","Custom")})}),e.describe("Style Prop",()=>{e.it("applies custom style",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Styled",style:{marginLeft:"20px"}})),a=t.querySelector(".wrapper");e.globalExpect(a).toHaveStyle({marginLeft:"20px"})})}),e.describe("Custom Radio Circle",()=>{e.it("renders custom radio circle",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Custom"})),a=t.querySelector(".radioCircle");e.globalExpect(a).toBeInTheDocument()}),e.it("hides native radio input",()=>{const{container:t}=e.render(r.jsx(o.Radio,{name:"test",value:"1",label:"Hidden"})),a=t.querySelector('input[type="radio"]');e.globalExpect(a).toHaveClass("radio")})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as u, jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import { v as c, d as n, i, r as l, g as t, s, f as d } from "../../../index-
|
|
2
|
+
import { v as c, d as n, i, r as l, g as t, s, f as d } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Radio as r } from "./index.mjs";
|
|
4
4
|
c.mock("../Label", () => ({
|
|
5
5
|
Label: ({ children: e, htmlFor: a, required: p, className: b }) => /* @__PURE__ */ u("label", { htmlFor: a, className: b, children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index40.css');const e=require("react/jsx-runtime"),g=require("../Label/index.cjs"),h="_wrapper_1utyy_1",j="_wrapperDisabled_1utyy_9",w="_radioContainer_1utyy_14",x="_radio_1utyy_14",v="_radioCircle_1utyy_33",N="_error_1utyy_85",f="_sm_1utyy_102",D="_md_1utyy_112",E="_lg_1utyy_122",q="_labelContainer_1utyy_133",L="_label_1utyy_133",R="_description_1utyy_147",S="_descriptionError_1utyy_154",r={wrapper:h,wrapperDisabled:j,radioContainer:w,radio:x,radioCircle:v,error:N,sm:f,md:D,lg:E,labelContainer:q,label:L,description:R,descriptionError:S};function z({id:_,name:s,value:n,label:y,checked:p,defaultChecked:m,disabled:i=!1,required:d=!1,error:a=!1,size:l="md",description:o,className:u,style:$,onChange:b,...C}){const t=_??`radio-${s}-${n}`.replace(/[^a-zA-Z0-9-]/g,"-"),c={sm:r.sm,md:r.md,lg:r.lg}[l];return e.jsxs("div",{className:`${u??""} ${r.wrapper} ${i?r.wrapperDisabled:""}`.trim(),style:$,children:[e.jsxs("div",{className:r.radioContainer,children:[e.jsx("input",{type:"radio",id:t,name:s,value:n,checked:p,defaultChecked:m,disabled:i,required:d,onChange:i?void 0:b,className:`${r.radio} ${c} ${a?r.error:""}`.trim(),"aria-invalid":a,"aria-describedby":o?`${t}-description`:void 0,...C}),e.jsx("span",{className:`${r.radioCircle} ${c}`.trim(),"aria-hidden":"true"})]}),e.jsxs("div",{className:r.labelContainer,children:[e.jsx(g.Label,{htmlFor:t,size:l,intent:a?"error":i?"disabled":"default",required:d,disabled:i,className:r.label,children:y}),o&&e.jsx("div",{id:`${t}-description`,className:`${r.description} ${a?r.descriptionError:""}`.trim(),children:o})]})]})}exports.Radio=z;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as n, jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { Label as h } from "../Label/index.mjs";
|
|
3
|
-
import '../../../
|
|
3
|
+
import '../../../index40.css';const w = "_wrapper_1utyy_1", f = "_wrapperDisabled_1utyy_9", N = "_radioContainer_1utyy_14", v = "_radio_1utyy_14", D = "_radioCircle_1utyy_33", E = "_error_1utyy_85", x = "_sm_1utyy_102", j = "_md_1utyy_112", z = "_lg_1utyy_122", A = "_labelContainer_1utyy_133", F = "_label_1utyy_133", I = "_description_1utyy_147", L = "_descriptionError_1utyy_154", r = {
|
|
4
4
|
wrapper: w,
|
|
5
5
|
wrapperDisabled: f,
|
|
6
6
|
radioContainer: N,
|
|
@@ -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"),r=require("./index.cjs");e.vi.mock("../Label",()=>({Label:({children:t,htmlFor:n,required:l,className:s})=>a.jsxs("label",{htmlFor:n,className:s,children:[t,l&&a.jsx("span",{className:"required",children:"*"})]})}));e.describe("Range",()=>{e.describe("Rendering",()=>{e.it("renders with a label and value",()=>{e.render(a.jsx(r.Range,{label:"Volume",name:"volume",defaultValue:30,min:0,max:100})),e.globalExpect(e.screen.getByLabelText("Volume")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("30")).toBeInTheDocument()}),e.it("renders without label",()=>{const{container:t}=e.render(a.jsx(r.Range,{defaultValue:50}));e.globalExpect(t.querySelector('input[type="range"]')).toBeInTheDocument()}),e.it("generates id when not provided",()=>{const{container:t}=e.render(a.jsx(r.Range,{defaultValue:50})),n=t.querySelector('input[type="range"]');e.globalExpect(n).toHaveAttribute("id"),e.globalExpect(n==null?void 0:n.id).toMatch(/range-/)}),e.it("applies custom className",()=>{const{container:t}=e.render(a.jsx(r.Range,{defaultValue:50,className:"custom-range"}));e.globalExpect(t.querySelector(".custom-range")).toBeInTheDocument()}),e.it("shows required asterisk",()=>{e.render(a.jsx(r.Range,{label:"Required",required:!0})),e.globalExpect(e.screen.getByText("*")).toBeInTheDocument()})}),e.describe("Value Display",()=>{e.it("shows value by default",()=>{e.render(a.jsx(r.Range,{defaultValue:75})),e.globalExpect(e.screen.getByText("75")).toBeInTheDocument()}),e.it("hides value when showValue is false",()=>{e.render(a.jsx(r.Range,{defaultValue:75,showValue:!1})),e.globalExpect(e.screen.queryByText("75")).not.toBeInTheDocument()}),e.it("displays value with prefix",()=>{e.render(a.jsx(r.Range,{defaultValue:50,valuePrefix:"$"})),e.globalExpect(e.screen.getByText("$50")).toBeInTheDocument()}),e.it("displays value with suffix",()=>{e.render(a.jsx(r.Range,{defaultValue:75,valueSuffix:"%"})),e.globalExpect(e.screen.getByText("75%")).toBeInTheDocument()}),e.it("displays value with both prefix and suffix",()=>{e.render(a.jsx(r.Range,{defaultValue:99,valuePrefix:"~",valueSuffix:"ms"})),e.globalExpect(e.screen.getByText("~99ms")).toBeInTheDocument()})}),e.describe("Min/Max Labels",()=>{e.it("shows min/max labels when showMinMax is true",()=>{e.render(a.jsx(r.Range,{min:0,max:100,showMinMax:!0})),e.globalExpect(e.screen.getByText("0")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("100")).toBeInTheDocument()}),e.it("applies prefix/suffix to min/max labels",()=>{e.render(a.jsx(r.Range,{min:0,max:100,showMinMax:!0,valuePrefix:"$",valueSuffix:""})),e.globalExpect(e.screen.getByText("$0")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("$100")).toBeInTheDocument()})}),e.describe("Sizes",()=>{e.it("applies small size class",()=>{const{container:t}=e.render(a.jsx(r.Range,{size:"sm"})),n=t.querySelector(".trackWrapper");e.globalExpect(n).toHaveClass("sm")}),e.it("applies medium size by default",()=>{const{container:t}=e.render(a.jsx(r.Range,{})),n=t.querySelector(".trackWrapper");e.globalExpect(n).toHaveClass("md")}),e.it("applies large size class",()=>{const{container:t}=e.render(a.jsx(r.Range,{size:"lg"})),n=t.querySelector(".trackWrapper");e.globalExpect(n).toHaveClass("lg")})}),e.describe("States",()=>{e.it("can be disabled",()=>{e.render(a.jsx(r.Range,{label:"Disabled",disabled:!0}));const t=e.screen.getByLabelText("Disabled");e.globalExpect(t).toBeDisabled()}),e.it("can be required",()=>{e.render(a.jsx(r.Range,{label:"Required",required:!0}));const t=e.screen.getByLabelText("Required",{exact:!1});e.globalExpect(t).toHaveAttribute("required")})}),e.describe("Error State",()=>{e.it("applies error class when error is boolean",()=>{const{container:t}=e.render(a.jsx(r.Range,{error:!0})),n=t.querySelector('input[type="range"]');e.globalExpect(n).toHaveClass("error")}),e.it("shows error message when error is string",()=>{e.render(a.jsx(r.Range,{label:"Brightness",name:"brightness",defaultValue:30,error:"Required field"})),e.globalExpect(e.screen.getByText("Required field")).toBeInTheDocument()}),e.it("sets aria-invalid when error",()=>{e.render(a.jsx(r.Range,{error:!0}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("aria-invalid","true")}),e.it("displays error text with error styling",()=>{e.render(a.jsx(r.Range,{error:"Error message"}));const t=e.screen.getByText("Error message");e.globalExpect(t).toHaveClass("errorText")})}),e.describe("Helper Text",()=>{e.it("displays helper text",()=>{e.render(a.jsx(r.Range,{helperText:"Adjust the volume"})),e.globalExpect(e.screen.getByText("Adjust the volume")).toBeInTheDocument()}),e.it("links helper text with aria-describedby",()=>{e.render(a.jsx(r.Range,{id:"help-range",helperText:"Helper"}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("aria-describedby","help-range-description")})}),e.describe("Range Attributes",()=>{e.it("sets min attribute",()=>{e.render(a.jsx(r.Range,{min:10}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("min","10")}),e.it("sets max attribute",()=>{e.render(a.jsx(r.Range,{max:200}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("max","200")}),e.it("sets step attribute",()=>{e.render(a.jsx(r.Range,{step:5}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("step","5")}),e.it("uses default values",()=>{const{container:t}=e.render(a.jsx(r.Range,{})),n=t.querySelector('input[type="range"]');e.globalExpect(n.value).toBe("50"),e.globalExpect(n).toHaveAttribute("min","0"),e.globalExpect(n).toHaveAttribute("max","100"),e.globalExpect(n).toHaveAttribute("step","1")})}),e.describe("Value Handling",()=>{e.it("renders with defaultValue",()=>{e.render(a.jsx(r.Range,{defaultValue:75})),e.globalExpect(e.screen.getByText("75")).toBeInTheDocument()}),e.it("renders with controlled value",()=>{e.render(a.jsx(r.Range,{value:60,onChange:()=>{}})),e.globalExpect(e.screen.getByText("60")).toBeInTheDocument()})}),e.describe("Event Handlers",()=>{e.it("calls onChange when value changes",()=>{const t=e.vi.fn();e.render(a.jsx(r.Range,{label:"Progress",name:"progress",defaultValue:30,min:0,max:100,onChange:t}));const n=e.screen.getByLabelText("Progress");e.fireEvent.change(n,{target:{value:"70"}}),e.globalExpect(t).toHaveBeenCalledWith(70)}),e.it("calls onChangeCommitted on mouse up",()=>{const t=e.vi.fn();e.render(a.jsx(r.Range,{defaultValue:50,onChangeCommitted:t}));const n=e.screen.getByRole("slider");e.fireEvent.change(n,{target:{value:"80"}}),e.fireEvent.mouseUp(n),e.globalExpect(t).toHaveBeenCalledWith(80)}),e.it("calls onChangeCommitted on touch end",()=>{const t=e.vi.fn();e.render(a.jsx(r.Range,{defaultValue:50,onChangeCommitted:t}));const n=e.screen.getByRole("slider");e.fireEvent.change(n,{target:{value:"80"}}),e.fireEvent.touchEnd(n),e.globalExpect(t).toHaveBeenCalledWith(80)})}),e.describe("Marks",()=>{e.it("renders marks",()=>{const t=[{value:0,label:"0%"},{value:50,label:"50%"},{value:100,label:"100%"}];e.render(a.jsx(r.Range,{marks:t})),e.globalExpect(e.screen.getByText("0%")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("50%")).toBeInTheDocument(),e.globalExpect(e.screen.getByText("100%")).toBeInTheDocument()}),e.it("renders marks without labels",()=>{const{container:t}=e.render(a.jsx(r.Range,{marks:[{value:25},{value:75}]})),n=t.querySelectorAll(".markDot");e.globalExpect(n).toHaveLength(2)})}),e.describe("Accessibility",()=>{e.it("sets aria-valuemin",()=>{e.render(a.jsx(r.Range,{min:10}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("aria-valuemin","10")}),e.it("sets aria-valuemax",()=>{e.render(a.jsx(r.Range,{max:200}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("aria-valuemax","200")}),e.it("sets aria-valuenow",()=>{e.render(a.jsx(r.Range,{defaultValue:75}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("aria-valuenow","75")}),e.it("associates label with range",()=>{e.render(a.jsx(r.Range,{id:"test-range",label:"Volume"}));const t=e.screen.getByLabelText("Volume");e.globalExpect(t).toHaveAttribute("id","test-range")})}),e.describe("Props Forwarding",()=>{e.it("forwards HTML attributes",()=>{e.render(a.jsx(r.Range,{"data-testid":"custom-range","aria-label":"Custom"}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("data-testid","custom-range"),e.globalExpect(t).toHaveAttribute("aria-label","Custom")}),e.it("forwards name attribute",()=>{e.render(a.jsx(r.Range,{name:"brightness"}));const t=e.screen.getByRole("slider");e.globalExpect(t).toHaveAttribute("name","brightness")})}),e.describe("Visual Fill",()=>{e.it("renders visual fill element",()=>{const{container:t}=e.render(a.jsx(r.Range,{defaultValue:50})),n=t.querySelector(".fill");e.globalExpect(n).toBeInTheDocument(),e.globalExpect(n).toHaveStyle({width:"50%"})}),e.it("updates fill width based on value",()=>{const{container:t}=e.render(a.jsx(r.Range,{defaultValue:75,min:0,max:100})),n=t.querySelector(".fill");e.globalExpect(n).toHaveStyle({width:"75%"})})}),e.describe("Style Prop",()=>{e.it("applies custom style",()=>{const{container:t}=e.render(a.jsx(r.Range,{style:{maxWidth:"400px"}})),n=t.querySelector(".wrapper");e.globalExpect(n).toHaveStyle({maxWidth:"400px"})})})});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs as h, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import { v as c, d as i, i as r, r as l, g as t, s as o, f as u } from "../../../index-
|
|
2
|
+
import { v as c, d as i, i as r, r as l, g as t, s as o, f as u } from "../../../index-Ck6GdALV.js";
|
|
3
3
|
import { Range as s } from "./index.mjs";
|
|
4
4
|
c.mock("../Label", () => ({
|
|
5
5
|
Label: ({ children: e, htmlFor: n, required: d, className: m }) => /* @__PURE__ */ h("label", { htmlFor: n, className: m, children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index42.css');const r=require("react/jsx-runtime"),S=require("react"),U=require("../Label/index.cjs"),F="_wrapper_1l3kh_1",O="_rangeContainer_1l3kh_9",z="_trackWrapper_1l3kh_16",A="_trackContainer_1l3kh_22",B="_track_1l3kh_16",G="_fill_1l3kh_120",H="_sm_1l3kh_131",J="_md_1l3kh_160",K="_lg_1l3kh_185",Q="_valueDisplay_1l3kh_211",X="_minMaxLabel_1l3kh_235",Y="_marks_1l3kh_244",Z="_mark_1l3kh_244",P="_markDot_1l3kh_264",ee="_markLabel_1l3kh_272",re="_error_1l3kh_281",ae="_helperText_1l3kh_298",se="_errorText_1l3kh_304",e={wrapper:F,rangeContainer:O,trackWrapper:z,trackContainer:A,track:B,fill:G,sm:H,md:J,lg:K,valueDisplay:Q,minMaxLabel:X,marks:Y,mark:Z,markDot:P,markLabel:ee,error:re,helperText:ae,errorText:se};function te({id:M,name:g,label:x,value:o,defaultValue:T=50,min:a=0,max:t=100,step:w=1,disabled:_=!1,required:v=!1,error:d=!1,helperText:m,size:$="md",showValue:C=!0,showMinMax:b=!1,valuePrefix:k="",valueSuffix:h="",marks:j=[],className:V,style:W,onChange:p,onChangeCommitted:N,...q}){const[R,E]=S.useState(o??T),y=o!==void 0,s=y?o:R,l=M??g??`range-${Math.random().toString(36).slice(2)}`,n=!!d,u=typeof d=="string"?d:void 0,L={sm:e.sm,md:e.md,lg:e.lg}[$],I=c=>{const i=Number(c.target.value);y||E(i),p==null||p(i)},f=()=>{N&&N(s)},D=(s-a)/(t-a)*100;return r.jsxs("div",{className:`${V??""} ${e.wrapper}`.trim(),style:W,children:[x&&r.jsx(U.Label,{htmlFor:l,size:$,intent:n?"error":_?"disabled":"default",required:v,disabled:_,children:x}),r.jsxs("div",{className:e.rangeContainer,children:[b&&r.jsxs("span",{className:e.minMaxLabel,children:[k,a,h]}),r.jsxs("div",{className:`${e.trackWrapper} ${L}`,children:[r.jsxs("div",{className:e.trackContainer,children:[r.jsx("input",{type:"range",id:l,name:g,value:s,min:a,max:t,step:w,disabled:_,required:v,onChange:I,onMouseUp:f,onTouchEnd:f,className:`${e.track} ${n?e.error:""}`.trim(),"aria-invalid":n,"aria-describedby":u||m?`${l}-description`:void 0,"aria-valuemin":a,"aria-valuemax":t,"aria-valuenow":s,style:{"--range-percentage":`${D}%`},...q}),r.jsx("div",{className:e.fill,style:{width:`${D}%`},"aria-hidden":"true"})]}),j.length>0&&r.jsx("div",{className:e.marks,children:j.map((c,i)=>r.jsxs("div",{className:e.mark,children:[r.jsx("div",{className:e.markDot}),c.label&&r.jsx("div",{className:e.markLabel,children:c.label})]},i))})]}),C&&r.jsxs("span",{className:`${e.valueDisplay} ${L}`.trim(),children:[k,s,h]}),b&&r.jsxs("span",{className:e.minMaxLabel,children:[k,t,h]})]}),(u||m)&&r.jsx("div",{id:`${l}-description`,className:`${e.helperText} ${n?e.errorText:""}`.trim(),children:u||m})]})}exports.Range=te;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as a, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { useState as z } from "react";
|
|
3
3
|
import { Label as A } from "../Label/index.mjs";
|
|
4
|
-
import '../../../
|
|
4
|
+
import '../../../index42.css';const B = "_wrapper_1l3kh_1", G = "_rangeContainer_1l3kh_9", H = "_trackWrapper_1l3kh_16", J = "_trackContainer_1l3kh_22", K = "_track_1l3kh_16", O = "_fill_1l3kh_120", Q = "_sm_1l3kh_131", S = "_md_1l3kh_160", X = "_lg_1l3kh_185", Y = "_valueDisplay_1l3kh_211", Z = "_minMaxLabel_1l3kh_235", q = "_marks_1l3kh_244", P = "_mark_1l3kh_244", rr = "_markDot_1l3kh_264", ar = "_markLabel_1l3kh_272", er = "_error_1l3kh_281", tr = "_helperText_1l3kh_298", lr = "_errorText_1l3kh_304", r = {
|
|
5
5
|
wrapper: B,
|
|
6
6
|
rangeContainer: G,
|
|
7
7
|
trackWrapper: H,
|