quirk-ui 0.1.147 → 0.1.149

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.
Files changed (51) hide show
  1. package/dist/{CategoryFilters-BJ_M7DHy.js → CategoryFilters--D0RlQhF.js} +1 -1
  2. package/dist/{CategoryFilters-DTw0ob7y.cjs → CategoryFilters-CZEie9fX.cjs} +1 -1
  3. package/dist/core/components/Button/Button.test.cjs +1 -1
  4. package/dist/core/components/Button/Button.test.mjs +210 -171
  5. package/dist/core/components/Button/index.cjs +1 -1
  6. package/dist/core/components/Button/index.mjs +3 -2
  7. package/dist/core/components/Footer/index.cjs +1 -1
  8. package/dist/core/components/Footer/index.mjs +1 -1
  9. package/dist/core/components/Modal/Modal.test.cjs +1 -1
  10. package/dist/core/components/Modal/Modal.test.mjs +217 -164
  11. package/dist/core/components/Modal/index.cjs +1 -1
  12. package/dist/core/components/Modal/index.mjs +80 -75
  13. package/dist/core/components/NavBar/index.cjs +1 -1
  14. package/dist/core/components/NavBar/index.mjs +1 -1
  15. package/dist/core/context/ModalContext.cjs +1 -0
  16. package/dist/core/context/ModalContext.mjs +25 -0
  17. package/dist/core.cjs +1 -1
  18. package/dist/core.d.ts +53 -3
  19. package/dist/core.mjs +33 -31
  20. package/dist/index-0SVQqhAg.cjs +31 -0
  21. package/dist/{index-BnvfQt_k.js → index-aWdsapYP.js} +110 -95
  22. package/dist/index38.css +1 -1
  23. package/dist/main.cjs +1 -1
  24. package/dist/main.d.ts +53 -3
  25. package/dist/main.mjs +91 -89
  26. package/dist/next/blocks/DocumentListBlock/CategoryFilters.cjs +1 -1
  27. package/dist/next/blocks/DocumentListBlock/CategoryFilters.mjs +2 -2
  28. package/dist/next/blocks/DocumentListBlock/CategoryFilters.test.cjs +1 -1
  29. package/dist/next/blocks/DocumentListBlock/CategoryFilters.test.mjs +1 -1
  30. package/dist/next/blocks/DocumentListBlock/index.cjs +1 -1
  31. package/dist/next/blocks/DocumentListBlock/index.mjs +2 -2
  32. package/dist/next/blocks/FormBlock/index.cjs +1 -1
  33. package/dist/next/blocks/FormBlock/index.mjs +1 -1
  34. package/dist/next/blocks/TabsBlock/index.cjs +1 -1
  35. package/dist/next/blocks/TabsBlock/index.mjs +1 -1
  36. package/dist/next/blocks/WasHelpfulBlock/index.cjs +1 -1
  37. package/dist/next/blocks/WasHelpfulBlock/index.mjs +1 -1
  38. package/dist/next/cards/BioCard/index.cjs +1 -1
  39. package/dist/next/cards/BioCard/index.mjs +36 -35
  40. package/dist/next/cards/BlogArticleCard/index.cjs +2 -2
  41. package/dist/next/cards/BlogArticleCard/index.mjs +12 -11
  42. package/dist/next/cards/SegmentCard/index.cjs +1 -1
  43. package/dist/next/cards/SegmentCard/index.mjs +3 -2
  44. package/dist/next/cards/SpotlightCard/index.cjs +1 -1
  45. package/dist/next/cards/SpotlightCard/index.mjs +1 -1
  46. package/dist/next/ui/CallToAction/index.cjs +1 -1
  47. package/dist/next/ui/CallToAction/index.mjs +1 -1
  48. package/dist/next/ui/PortableTextRenderer/index.cjs +1 -1
  49. package/dist/next/ui/PortableTextRenderer/index.mjs +3 -2
  50. package/package.json +1 -1
  51. package/dist/index-D7SAxT5B.cjs +0 -31
@@ -1 +1 @@
1
- "use strict";const t=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),o=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Modal",()=>{e.beforeEach(()=>{document.body.innerHTML=""}),e.describe("Rendering",()=>{e.it("renders the trigger button",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})})),e.globalExpect(e.screen.getByRole("button",{name:"Open Modal"})).toBeInTheDocument()}),e.it("does not render the modal content initially",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})})),e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument()}),e.it("renders the modal content when the trigger is clicked",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})}));const n=e.screen.getByRole("button",{name:"Open Modal"});e.fireEvent.click(n),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()})}),e.describe("Sizes",()=>{e.it("applies small size",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0,size:"sm"}));const n=document.querySelector(".modalContentContainer");e.globalExpect(n).toHaveClass("size-sm")}),e.it("applies medium size by default",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0}));const n=document.querySelector(".modalContentContainer");e.globalExpect(n).toHaveClass("size-md")}),e.it("applies large size",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0,size:"lg"}));const n=document.querySelector(".modalContentContainer");e.globalExpect(n).toHaveClass("size-lg")})}),e.describe("Title",()=>{e.it("renders title when provided",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),title:"Modal Title",isOpen:!0})),e.globalExpect(e.screen.getByText("Modal Title")).toBeInTheDocument()}),e.it("does not render title when not provided",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0}));const n=document.querySelector(".title");e.globalExpect(n).not.toBeInTheDocument()})}),e.describe("Close Button",()=>{e.it("shows close button by default",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0})),e.globalExpect(e.screen.getByRole("button",{name:/close/i})).toBeInTheDocument()}),e.it("hides close button when showCloseButton is false",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0,showCloseButton:!1})),e.globalExpect(e.screen.queryByRole("button",{name:/close/i})).not.toBeInTheDocument()}),e.it("closes the modal when close button is clicked",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})}));const n=e.screen.getByRole("button",{name:"Open Modal"});e.fireEvent.click(n),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument();const l=e.screen.getByRole("button",{name:/close/i});e.fireEvent.click(l),e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument()})}),e.describe("Overlay Click",()=>{e.it("closes the modal when clicking overlay by default",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})}));const n=e.screen.getByRole("button",{name:"Open Modal"});e.fireEvent.click(n),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument();const l=document.querySelector(".overlay");e.fireEvent.click(l),e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument()}),e.it("does not close when clicking overlay if closeOnOverlayClick is false",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"}),closeOnOverlayClick:!1}));const n=e.screen.getByRole("button",{name:"Open Modal"});e.fireEvent.click(n),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument();const l=document.querySelector(".overlay");e.fireEvent.click(l),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()}),e.it("does not close when clicking modal content",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})}));const n=e.screen.getByRole("button",{name:"Open Modal"});e.fireEvent.click(n);const l=e.screen.getByText("Modal Content");e.fireEvent.click(l),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()})}),e.describe("Escape Key",()=>{e.it("closes modal on Escape key by default",async()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})}));const n=e.screen.getByRole("button",{name:"Open Modal"});e.fireEvent.click(n),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument(),e.fireEvent.keyDown(document,{key:"Escape"}),await e.waitForWrapper(()=>{e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument()})}),e.it("does not close on Escape if closeOnEscape is false",async()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"}),closeOnEscape:!1}));const n=e.screen.getByRole("button",{name:"Open Modal"});e.fireEvent.click(n),e.fireEvent.keyDown(document,{key:"Escape"}),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()})})}),e.describe("Controlled Mode",()=>{e.it("handles controlled open state",()=>{const{rerender:n}=e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"}),isOpen:!1}));e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument(),n(t.jsx(o.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"}),isOpen:!0})),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()}),e.it("calls onOpen when trigger is clicked in controlled mode",()=>{const n=e.vi.fn();e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!1,onOpen:n}));const l=e.screen.getByRole("button",{name:"Open"});e.fireEvent.click(l),e.globalExpect(n).toHaveBeenCalled()}),e.it("calls onClose when close button is clicked in controlled mode",()=>{const n=e.vi.fn();e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0,onClose:n}));const l=e.screen.getByRole("button",{name:/close/i});e.fireEvent.click(l),e.globalExpect(n).toHaveBeenCalled()})}),e.describe("Accessibility",()=>{e.it("has dialog role",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0})),e.globalExpect(e.screen.getByRole("dialog")).toBeInTheDocument()}),e.it("has aria-modal attribute",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0}));const n=e.screen.getByRole("dialog");e.globalExpect(n).toHaveAttribute("aria-modal","true")}),e.it("links title with aria-labelledby",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),title:"My Modal",isOpen:!0}));const n=e.screen.getByRole("dialog");e.globalExpect(n).toHaveAttribute("aria-labelledby","modal-title"),e.globalExpect(e.screen.getByText("My Modal")).toHaveAttribute("id","modal-title")})}),e.describe("Custom Styling",()=>{e.it("applies custom className to modal",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),className:"custom-modal",isOpen:!0}));const n=document.querySelector(".modal");e.globalExpect(n).toHaveClass("custom-modal")}),e.it("applies custom className to overlay",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),overlayClassName:"custom-overlay",isOpen:!0}));const n=document.querySelector(".overlay");e.globalExpect(n).toHaveClass("custom-overlay")}),e.it("applies custom inline styles",()=>{e.render(t.jsx(o.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),style:{maxWidth:"500px"},isOpen:!0}));const n=document.querySelector(".modal");e.globalExpect(n.style.maxWidth).toBe("500px")})})});
1
+ "use strict";const t=require("react/jsx-runtime"),e=require("../../../react.esm-C_9Ma9mj.cjs"),n=require("./index.cjs");require("../../../index-CW_Ehh1q.cjs");e.describe("Modal",()=>{e.beforeEach(()=>{document.body.innerHTML=""}),e.describe("Rendering",()=>{e.it("renders the trigger button",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})})),e.globalExpect(e.screen.getByRole("button",{name:"Open Modal"})).toBeInTheDocument()}),e.it("does not render modal content initially",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})})),e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument()}),e.it("renders modal content when trigger is clicked",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open Modal"})),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()})}),e.describe("Rich text + form render props",()=>{e.it("renders rich text via renderRichText when richTextBlocks provided",()=>{const o=[{_type:"block",_key:"a"}],r=e.vi.fn(()=>t.jsx("p",{children:"Rich text content"}));e.render(t.jsx(n.Modal,{trigger:t.jsx("button",{children:"Open"}),isOpen:!0,richTextBlocks:o,renderRichText:r})),e.globalExpect(r).toHaveBeenCalledWith({blocks:o}),e.globalExpect(e.screen.getByText("Rich text content")).toBeInTheDocument()}),e.it("renders rich text inside .intro wrapper",()=>{const o=[{_type:"block",_key:"a"}];e.render(t.jsx(n.Modal,{trigger:t.jsx("button",{children:"Open"}),isOpen:!0,richTextBlocks:o,renderRichText:()=>t.jsx("p",{children:"Intro text"})})),e.globalExpect(document.querySelector(".intro")).toBeInTheDocument()}),e.it("renders form via renderForm when formData provided",()=>{const o={_id:"form-1",heading:"Contact"},r=e.vi.fn(()=>t.jsx("form",{"data-testid":"the-form"}));e.render(t.jsx(n.Modal,{trigger:t.jsx("button",{children:"Open"}),isOpen:!0,formData:o,renderForm:r})),e.globalExpect(r).toHaveBeenCalledWith(o),e.globalExpect(e.screen.getByTestId("the-form")).toBeInTheDocument()}),e.it("renders both rich text and form together",()=>{const o=[{_type:"block",_key:"a"}],r={_id:"form-1"};e.render(t.jsx(n.Modal,{trigger:t.jsx("button",{children:"Open"}),isOpen:!0,richTextBlocks:o,renderRichText:()=>t.jsx("p",{children:"Intro"}),formData:r,renderForm:()=>t.jsx("form",{"data-testid":"form"})})),e.globalExpect(e.screen.getByText("Intro")).toBeInTheDocument(),e.globalExpect(e.screen.getByTestId("form")).toBeInTheDocument(),e.globalExpect(document.querySelector(".intro")).toBeInTheDocument()}),e.it("explicit content prop takes priority over render props",()=>{const o=[{_type:"block",_key:"a"}],r=e.vi.fn(()=>t.jsx("p",{children:"Should not render"}));e.render(t.jsx(n.Modal,{trigger:t.jsx("button",{children:"Open"}),isOpen:!0,content:t.jsx("p",{children:"Explicit content"}),richTextBlocks:o,renderRichText:r})),e.globalExpect(e.screen.getByText("Explicit content")).toBeInTheDocument(),e.globalExpect(r).not.toHaveBeenCalled()}),e.it("does not render intro when richTextBlocks is empty",()=>{e.render(t.jsx(n.Modal,{trigger:t.jsx("button",{children:"Open"}),isOpen:!0,richTextBlocks:[],renderRichText:()=>t.jsx("p",{children:"Should not render"})})),e.globalExpect(document.querySelector(".intro")).not.toBeInTheDocument()})}),e.describe("Sizes",()=>{e.it("applies small size",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0,size:"sm"})),e.globalExpect(document.querySelector(".container")).toHaveClass("size-sm")}),e.it("applies medium size by default",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0})),e.globalExpect(document.querySelector(".container")).toHaveClass("size-md")}),e.it("applies large size",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0,size:"lg"})),e.globalExpect(document.querySelector(".container")).toHaveClass("size-lg")})}),e.describe("Title",()=>{e.it("renders title when provided",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),title:"Modal Title",isOpen:!0})),e.globalExpect(e.screen.getByText("Modal Title")).toBeInTheDocument()}),e.it("does not render title when not provided",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0})),e.globalExpect(document.querySelector(".title")).not.toBeInTheDocument()}),e.it("sets id on title for aria-labelledby",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),title:"My Modal",isOpen:!0})),e.globalExpect(e.screen.getByText("My Modal")).toHaveAttribute("id","modal-title")})}),e.describe("Close Button",()=>{e.it("shows close button by default",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0})),e.globalExpect(e.screen.getByRole("button",{name:/close/i})).toBeInTheDocument()}),e.it("hides close button when showCloseButton is false",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0,showCloseButton:!1})),e.globalExpect(e.screen.queryByRole("button",{name:/close/i})).not.toBeInTheDocument()}),e.it("closes modal when close button is clicked",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open Modal"})),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument(),e.fireEvent.click(e.screen.getByRole("button",{name:/close/i})),e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument()})}),e.describe("Overlay Click",()=>{e.it("closes modal when clicking overlay by default",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open Modal"})),e.fireEvent.click(document.querySelector(".overlay")),e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument()}),e.it("does not close when closeOnOverlayClick is false",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"}),closeOnOverlayClick:!1})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open Modal"})),e.fireEvent.click(document.querySelector(".overlay")),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()}),e.it("does not close when clicking modal content",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open Modal"})),e.fireEvent.click(e.screen.getByText("Modal Content")),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()})}),e.describe("Escape Key",()=>{e.it("closes modal on Escape key by default",async()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"})})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open Modal"})),e.fireEvent.keyDown(document,{key:"Escape"}),await e.waitForWrapper(()=>{e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument()})}),e.it("does not close on Escape if closeOnEscape is false",async()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"}),closeOnEscape:!1})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open Modal"})),e.fireEvent.keyDown(document,{key:"Escape"}),await e.waitForWrapper(()=>{e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()})})}),e.describe("Controlled Mode",()=>{e.it("respects controlled open state",()=>{const{rerender:o}=e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"}),isOpen:!1}));e.globalExpect(e.screen.queryByText("Modal Content")).not.toBeInTheDocument(),o(t.jsx(n.Modal,{content:t.jsx("div",{children:"Modal Content"}),trigger:t.jsx("button",{children:"Open Modal"}),isOpen:!0})),e.globalExpect(e.screen.getByText("Modal Content")).toBeInTheDocument()}),e.it("calls onOpen when trigger is clicked in controlled mode",()=>{const o=e.vi.fn();e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!1,onOpen:o})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open"})),e.globalExpect(o).toHaveBeenCalled()}),e.it("calls onClose when close button is clicked in controlled mode",()=>{const o=e.vi.fn();e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0,onClose:o})),e.fireEvent.click(e.screen.getByRole("button",{name:/close/i})),e.globalExpect(o).toHaveBeenCalled()})}),e.describe("Accessibility",()=>{e.it("has dialog role",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0})),e.globalExpect(e.screen.getByRole("dialog")).toBeInTheDocument()}),e.it("has aria-modal attribute",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),isOpen:!0})),e.globalExpect(e.screen.getByRole("dialog")).toHaveAttribute("aria-modal","true")}),e.it("links title with aria-labelledby",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),title:"My Modal",isOpen:!0})),e.globalExpect(e.screen.getByRole("dialog")).toHaveAttribute("aria-labelledby","modal-title")})}),e.describe("Custom Styling",()=>{e.it("applies custom className to modal",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),className:"custom-modal",isOpen:!0})),e.globalExpect(document.querySelector(".modal")).toHaveClass("custom-modal")}),e.it("applies custom className to overlay",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),overlayClassName:"custom-overlay",isOpen:!0})),e.globalExpect(document.querySelector(".overlay")).toHaveClass("custom-overlay")}),e.it("applies custom inline styles",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"}),style:{maxWidth:"500px"},isOpen:!0})),e.globalExpect(document.querySelector(".modal").style.maxWidth).toBe("500px")})})});
@@ -1,51 +1,129 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { d as a, b as g, i, r as c, g as o, s as n, f as r, w as s, v as u } from "../../../react.esm-DjxyacK8.js";
3
- import { Modal as l } from "./index.mjs";
2
+ import { d, b as h, i as r, r as l, g as t, s as n, f as c, v as s, w as u } from "../../../react.esm-DjxyacK8.js";
3
+ import { Modal as o } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
- a("Modal", () => {
6
- g(() => {
5
+ d("Modal", () => {
6
+ h(() => {
7
7
  document.body.innerHTML = "";
8
- }), a("Rendering", () => {
9
- i("renders the trigger button", () => {
10
- c(
8
+ }), d("Rendering", () => {
9
+ r("renders the trigger button", () => {
10
+ l(
11
11
  /* @__PURE__ */ e(
12
- l,
12
+ o,
13
13
  {
14
14
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
15
15
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" })
16
16
  }
17
17
  )
18
- ), o(
18
+ ), t(
19
19
  n.getByRole("button", { name: "Open Modal" })
20
20
  ).toBeInTheDocument();
21
- }), i("does not render the modal content initially", () => {
22
- c(
21
+ }), r("does not render modal content initially", () => {
22
+ l(
23
23
  /* @__PURE__ */ e(
24
- l,
24
+ o,
25
25
  {
26
26
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
27
27
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" })
28
28
  }
29
29
  )
30
- ), o(n.queryByText("Modal Content")).not.toBeInTheDocument();
31
- }), i("renders the modal content when the trigger is clicked", () => {
32
- c(
30
+ ), t(n.queryByText("Modal Content")).not.toBeInTheDocument();
31
+ }), r("renders modal content when trigger is clicked", () => {
32
+ l(
33
33
  /* @__PURE__ */ e(
34
- l,
34
+ o,
35
35
  {
36
36
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
37
37
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" })
38
38
  }
39
39
  )
40
- );
41
- const t = n.getByRole("button", { name: "Open Modal" });
42
- r.click(t), o(n.getByText("Modal Content")).toBeInTheDocument();
40
+ ), c.click(n.getByRole("button", { name: "Open Modal" })), t(n.getByText("Modal Content")).toBeInTheDocument();
41
+ });
42
+ }), d("Rich text + form render props", () => {
43
+ r("renders rich text via renderRichText when richTextBlocks provided", () => {
44
+ const i = [{ _type: "block", _key: "a" }], a = s.fn(() => /* @__PURE__ */ e("p", { children: "Rich text content" }));
45
+ l(
46
+ /* @__PURE__ */ e(
47
+ o,
48
+ {
49
+ trigger: /* @__PURE__ */ e("button", { children: "Open" }),
50
+ isOpen: !0,
51
+ richTextBlocks: i,
52
+ renderRichText: a
53
+ }
54
+ )
55
+ ), t(a).toHaveBeenCalledWith({ blocks: i }), t(n.getByText("Rich text content")).toBeInTheDocument();
56
+ }), r("renders rich text inside .intro wrapper", () => {
57
+ l(
58
+ /* @__PURE__ */ e(
59
+ o,
60
+ {
61
+ trigger: /* @__PURE__ */ e("button", { children: "Open" }),
62
+ isOpen: !0,
63
+ richTextBlocks: [{ _type: "block", _key: "a" }],
64
+ renderRichText: () => /* @__PURE__ */ e("p", { children: "Intro text" })
65
+ }
66
+ )
67
+ ), t(document.querySelector(".intro")).toBeInTheDocument();
68
+ }), r("renders form via renderForm when formData provided", () => {
69
+ const i = { _id: "form-1", heading: "Contact" }, a = s.fn(() => /* @__PURE__ */ e("form", { "data-testid": "the-form" }));
70
+ l(
71
+ /* @__PURE__ */ e(
72
+ o,
73
+ {
74
+ trigger: /* @__PURE__ */ e("button", { children: "Open" }),
75
+ isOpen: !0,
76
+ formData: i,
77
+ renderForm: a
78
+ }
79
+ )
80
+ ), t(a).toHaveBeenCalledWith(i), t(n.getByTestId("the-form")).toBeInTheDocument();
81
+ }), r("renders both rich text and form together", () => {
82
+ l(
83
+ /* @__PURE__ */ e(
84
+ o,
85
+ {
86
+ trigger: /* @__PURE__ */ e("button", { children: "Open" }),
87
+ isOpen: !0,
88
+ richTextBlocks: [{ _type: "block", _key: "a" }],
89
+ renderRichText: () => /* @__PURE__ */ e("p", { children: "Intro" }),
90
+ formData: { _id: "form-1" },
91
+ renderForm: () => /* @__PURE__ */ e("form", { "data-testid": "form" })
92
+ }
93
+ )
94
+ ), t(n.getByText("Intro")).toBeInTheDocument(), t(n.getByTestId("form")).toBeInTheDocument(), t(document.querySelector(".intro")).toBeInTheDocument();
95
+ }), r("explicit content prop takes priority over render props", () => {
96
+ const i = [{ _type: "block", _key: "a" }], a = s.fn(() => /* @__PURE__ */ e("p", { children: "Should not render" }));
97
+ l(
98
+ /* @__PURE__ */ e(
99
+ o,
100
+ {
101
+ trigger: /* @__PURE__ */ e("button", { children: "Open" }),
102
+ isOpen: !0,
103
+ content: /* @__PURE__ */ e("p", { children: "Explicit content" }),
104
+ richTextBlocks: i,
105
+ renderRichText: a
106
+ }
107
+ )
108
+ ), t(n.getByText("Explicit content")).toBeInTheDocument(), t(a).not.toHaveBeenCalled();
109
+ }), r("does not render intro when richTextBlocks is empty", () => {
110
+ l(
111
+ /* @__PURE__ */ e(
112
+ o,
113
+ {
114
+ trigger: /* @__PURE__ */ e("button", { children: "Open" }),
115
+ isOpen: !0,
116
+ richTextBlocks: [],
117
+ renderRichText: () => /* @__PURE__ */ e("p", { children: "Should not render" })
118
+ }
119
+ )
120
+ ), t(document.querySelector(".intro")).not.toBeInTheDocument();
43
121
  });
44
- }), a("Sizes", () => {
45
- i("applies small size", () => {
46
- c(
122
+ }), d("Sizes", () => {
123
+ r("applies small size", () => {
124
+ l(
47
125
  /* @__PURE__ */ e(
48
- l,
126
+ o,
49
127
  {
50
128
  content: /* @__PURE__ */ e("div", { children: "Content" }),
51
129
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
@@ -53,26 +131,22 @@ a("Modal", () => {
53
131
  size: "sm"
54
132
  }
55
133
  )
56
- );
57
- const t = document.querySelector(".modalContentContainer");
58
- o(t).toHaveClass("size-sm");
59
- }), i("applies medium size by default", () => {
60
- c(
134
+ ), t(document.querySelector(".container")).toHaveClass("size-sm");
135
+ }), r("applies medium size by default", () => {
136
+ l(
61
137
  /* @__PURE__ */ e(
62
- l,
138
+ o,
63
139
  {
64
140
  content: /* @__PURE__ */ e("div", { children: "Content" }),
65
141
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
66
142
  isOpen: !0
67
143
  }
68
144
  )
69
- );
70
- const t = document.querySelector(".modalContentContainer");
71
- o(t).toHaveClass("size-md");
72
- }), i("applies large size", () => {
73
- c(
145
+ ), t(document.querySelector(".container")).toHaveClass("size-md");
146
+ }), r("applies large size", () => {
147
+ l(
74
148
  /* @__PURE__ */ e(
75
- l,
149
+ o,
76
150
  {
77
151
  content: /* @__PURE__ */ e("div", { children: "Content" }),
78
152
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
@@ -80,15 +154,13 @@ a("Modal", () => {
80
154
  size: "lg"
81
155
  }
82
156
  )
83
- );
84
- const t = document.querySelector(".modalContentContainer");
85
- o(t).toHaveClass("size-lg");
157
+ ), t(document.querySelector(".container")).toHaveClass("size-lg");
86
158
  });
87
- }), a("Title", () => {
88
- i("renders title when provided", () => {
89
- c(
159
+ }), d("Title", () => {
160
+ r("renders title when provided", () => {
161
+ l(
90
162
  /* @__PURE__ */ e(
91
- l,
163
+ o,
92
164
  {
93
165
  content: /* @__PURE__ */ e("div", { children: "Content" }),
94
166
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
@@ -96,39 +168,49 @@ a("Modal", () => {
96
168
  isOpen: !0
97
169
  }
98
170
  )
99
- ), o(n.getByText("Modal Title")).toBeInTheDocument();
100
- }), i("does not render title when not provided", () => {
101
- c(
171
+ ), t(n.getByText("Modal Title")).toBeInTheDocument();
172
+ }), r("does not render title when not provided", () => {
173
+ l(
102
174
  /* @__PURE__ */ e(
103
- l,
175
+ o,
104
176
  {
105
177
  content: /* @__PURE__ */ e("div", { children: "Content" }),
106
178
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
107
179
  isOpen: !0
108
180
  }
109
181
  )
110
- );
111
- const t = document.querySelector(".title");
112
- o(t).not.toBeInTheDocument();
182
+ ), t(document.querySelector(".title")).not.toBeInTheDocument();
183
+ }), r("sets id on title for aria-labelledby", () => {
184
+ l(
185
+ /* @__PURE__ */ e(
186
+ o,
187
+ {
188
+ content: /* @__PURE__ */ e("div", { children: "Content" }),
189
+ trigger: /* @__PURE__ */ e("button", { children: "Open" }),
190
+ title: "My Modal",
191
+ isOpen: !0
192
+ }
193
+ )
194
+ ), t(n.getByText("My Modal")).toHaveAttribute("id", "modal-title");
113
195
  });
114
- }), a("Close Button", () => {
115
- i("shows close button by default", () => {
116
- c(
196
+ }), d("Close Button", () => {
197
+ r("shows close button by default", () => {
198
+ l(
117
199
  /* @__PURE__ */ e(
118
- l,
200
+ o,
119
201
  {
120
202
  content: /* @__PURE__ */ e("div", { children: "Content" }),
121
203
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
122
204
  isOpen: !0
123
205
  }
124
206
  )
125
- ), o(
207
+ ), t(
126
208
  n.getByRole("button", { name: /close/i })
127
209
  ).toBeInTheDocument();
128
- }), i("hides close button when showCloseButton is false", () => {
129
- c(
210
+ }), r("hides close button when showCloseButton is false", () => {
211
+ l(
130
212
  /* @__PURE__ */ e(
131
- l,
213
+ o,
132
214
  {
133
215
  content: /* @__PURE__ */ e("div", { children: "Content" }),
134
216
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
@@ -136,105 +218,85 @@ a("Modal", () => {
136
218
  showCloseButton: !1
137
219
  }
138
220
  )
139
- ), o(
221
+ ), t(
140
222
  n.queryByRole("button", { name: /close/i })
141
223
  ).not.toBeInTheDocument();
142
- }), i("closes the modal when close button is clicked", () => {
143
- c(
224
+ }), r("closes modal when close button is clicked", () => {
225
+ l(
144
226
  /* @__PURE__ */ e(
145
- l,
227
+ o,
146
228
  {
147
229
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
148
230
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" })
149
231
  }
150
232
  )
151
- );
152
- const t = n.getByRole("button", { name: "Open Modal" });
153
- r.click(t), o(n.getByText("Modal Content")).toBeInTheDocument();
154
- const d = n.getByRole("button", { name: /close/i });
155
- r.click(d), o(n.queryByText("Modal Content")).not.toBeInTheDocument();
233
+ ), c.click(n.getByRole("button", { name: "Open Modal" })), t(n.getByText("Modal Content")).toBeInTheDocument(), c.click(n.getByRole("button", { name: /close/i })), t(n.queryByText("Modal Content")).not.toBeInTheDocument();
156
234
  });
157
- }), a("Overlay Click", () => {
158
- i("closes the modal when clicking overlay by default", () => {
159
- c(
235
+ }), d("Overlay Click", () => {
236
+ r("closes modal when clicking overlay by default", () => {
237
+ l(
160
238
  /* @__PURE__ */ e(
161
- l,
239
+ o,
162
240
  {
163
241
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
164
242
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" })
165
243
  }
166
244
  )
167
- );
168
- const t = n.getByRole("button", { name: "Open Modal" });
169
- r.click(t), o(n.getByText("Modal Content")).toBeInTheDocument();
170
- const d = document.querySelector(".overlay");
171
- r.click(d), o(n.queryByText("Modal Content")).not.toBeInTheDocument();
172
- }), i("does not close when clicking overlay if closeOnOverlayClick is false", () => {
173
- c(
245
+ ), c.click(n.getByRole("button", { name: "Open Modal" })), c.click(document.querySelector(".overlay")), t(n.queryByText("Modal Content")).not.toBeInTheDocument();
246
+ }), r("does not close when closeOnOverlayClick is false", () => {
247
+ l(
174
248
  /* @__PURE__ */ e(
175
- l,
249
+ o,
176
250
  {
177
251
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
178
252
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" }),
179
253
  closeOnOverlayClick: !1
180
254
  }
181
255
  )
182
- );
183
- const t = n.getByRole("button", { name: "Open Modal" });
184
- r.click(t), o(n.getByText("Modal Content")).toBeInTheDocument();
185
- const d = document.querySelector(".overlay");
186
- r.click(d), o(n.getByText("Modal Content")).toBeInTheDocument();
187
- }), i("does not close when clicking modal content", () => {
188
- c(
256
+ ), c.click(n.getByRole("button", { name: "Open Modal" })), c.click(document.querySelector(".overlay")), t(n.getByText("Modal Content")).toBeInTheDocument();
257
+ }), r("does not close when clicking modal content", () => {
258
+ l(
189
259
  /* @__PURE__ */ e(
190
- l,
260
+ o,
191
261
  {
192
262
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
193
263
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" })
194
264
  }
195
265
  )
196
- );
197
- const t = n.getByRole("button", { name: "Open Modal" });
198
- r.click(t);
199
- const d = n.getByText("Modal Content");
200
- r.click(d), o(n.getByText("Modal Content")).toBeInTheDocument();
266
+ ), c.click(n.getByRole("button", { name: "Open Modal" })), c.click(n.getByText("Modal Content")), t(n.getByText("Modal Content")).toBeInTheDocument();
201
267
  });
202
- }), a("Escape Key", () => {
203
- i("closes modal on Escape key by default", async () => {
204
- c(
268
+ }), d("Escape Key", () => {
269
+ r("closes modal on Escape key by default", async () => {
270
+ l(
205
271
  /* @__PURE__ */ e(
206
- l,
272
+ o,
207
273
  {
208
274
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
209
275
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" })
210
276
  }
211
277
  )
212
- );
213
- const t = n.getByRole("button", { name: "Open Modal" });
214
- r.click(t), o(n.getByText("Modal Content")).toBeInTheDocument(), r.keyDown(document, { key: "Escape" }), await s(() => {
215
- o(n.queryByText("Modal Content")).not.toBeInTheDocument();
278
+ ), c.click(n.getByRole("button", { name: "Open Modal" })), c.keyDown(document, { key: "Escape" }), await u(() => {
279
+ t(n.queryByText("Modal Content")).not.toBeInTheDocument();
216
280
  });
217
- }), i("does not close on Escape if closeOnEscape is false", async () => {
218
- c(
281
+ }), r("does not close on Escape if closeOnEscape is false", async () => {
282
+ l(
219
283
  /* @__PURE__ */ e(
220
- l,
284
+ o,
221
285
  {
222
286
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
223
287
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" }),
224
288
  closeOnEscape: !1
225
289
  }
226
290
  )
227
- );
228
- const t = n.getByRole("button", { name: "Open Modal" });
229
- r.click(t), r.keyDown(document, { key: "Escape" }), await s(() => {
230
- o(n.getByText("Modal Content")).toBeInTheDocument();
291
+ ), c.click(n.getByRole("button", { name: "Open Modal" })), c.keyDown(document, { key: "Escape" }), await u(() => {
292
+ t(n.getByText("Modal Content")).toBeInTheDocument();
231
293
  });
232
294
  });
233
- }), a("Controlled Mode", () => {
234
- i("handles controlled open state", () => {
235
- const { rerender: t } = c(
295
+ }), d("Controlled Mode", () => {
296
+ r("respects controlled open state", () => {
297
+ const { rerender: i } = l(
236
298
  /* @__PURE__ */ e(
237
- l,
299
+ o,
238
300
  {
239
301
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
240
302
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" }),
@@ -242,76 +304,70 @@ a("Modal", () => {
242
304
  }
243
305
  )
244
306
  );
245
- o(n.queryByText("Modal Content")).not.toBeInTheDocument(), t(
307
+ t(n.queryByText("Modal Content")).not.toBeInTheDocument(), i(
246
308
  /* @__PURE__ */ e(
247
- l,
309
+ o,
248
310
  {
249
311
  content: /* @__PURE__ */ e("div", { children: "Modal Content" }),
250
312
  trigger: /* @__PURE__ */ e("button", { children: "Open Modal" }),
251
313
  isOpen: !0
252
314
  }
253
315
  )
254
- ), o(n.getByText("Modal Content")).toBeInTheDocument();
255
- }), i("calls onOpen when trigger is clicked in controlled mode", () => {
256
- const t = u.fn();
257
- c(
316
+ ), t(n.getByText("Modal Content")).toBeInTheDocument();
317
+ }), r("calls onOpen when trigger is clicked in controlled mode", () => {
318
+ const i = s.fn();
319
+ l(
258
320
  /* @__PURE__ */ e(
259
- l,
321
+ o,
260
322
  {
261
323
  content: /* @__PURE__ */ e("div", { children: "Content" }),
262
324
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
263
325
  isOpen: !1,
264
- onOpen: t
326
+ onOpen: i
265
327
  }
266
328
  )
267
- );
268
- const d = n.getByRole("button", { name: "Open" });
269
- r.click(d), o(t).toHaveBeenCalled();
270
- }), i("calls onClose when close button is clicked in controlled mode", () => {
271
- const t = u.fn();
272
- c(
329
+ ), c.click(n.getByRole("button", { name: "Open" })), t(i).toHaveBeenCalled();
330
+ }), r("calls onClose when close button is clicked in controlled mode", () => {
331
+ const i = s.fn();
332
+ l(
273
333
  /* @__PURE__ */ e(
274
- l,
334
+ o,
275
335
  {
276
336
  content: /* @__PURE__ */ e("div", { children: "Content" }),
277
337
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
278
338
  isOpen: !0,
279
- onClose: t
339
+ onClose: i
280
340
  }
281
341
  )
282
- );
283
- const d = n.getByRole("button", { name: /close/i });
284
- r.click(d), o(t).toHaveBeenCalled();
342
+ ), c.click(n.getByRole("button", { name: /close/i })), t(i).toHaveBeenCalled();
285
343
  });
286
- }), a("Accessibility", () => {
287
- i("has dialog role", () => {
288
- c(
344
+ }), d("Accessibility", () => {
345
+ r("has dialog role", () => {
346
+ l(
289
347
  /* @__PURE__ */ e(
290
- l,
348
+ o,
291
349
  {
292
350
  content: /* @__PURE__ */ e("div", { children: "Content" }),
293
351
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
294
352
  isOpen: !0
295
353
  }
296
354
  )
297
- ), o(n.getByRole("dialog")).toBeInTheDocument();
298
- }), i("has aria-modal attribute", () => {
299
- c(
355
+ ), t(n.getByRole("dialog")).toBeInTheDocument();
356
+ }), r("has aria-modal attribute", () => {
357
+ l(
300
358
  /* @__PURE__ */ e(
301
- l,
359
+ o,
302
360
  {
303
361
  content: /* @__PURE__ */ e("div", { children: "Content" }),
304
362
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
305
363
  isOpen: !0
306
364
  }
307
365
  )
308
- );
309
- const t = n.getByRole("dialog");
310
- o(t).toHaveAttribute("aria-modal", "true");
311
- }), i("links title with aria-labelledby", () => {
312
- c(
366
+ ), t(n.getByRole("dialog")).toHaveAttribute("aria-modal", "true");
367
+ }), r("links title with aria-labelledby", () => {
368
+ l(
313
369
  /* @__PURE__ */ e(
314
- l,
370
+ o,
315
371
  {
316
372
  content: /* @__PURE__ */ e("div", { children: "Content" }),
317
373
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
@@ -319,15 +375,16 @@ a("Modal", () => {
319
375
  isOpen: !0
320
376
  }
321
377
  )
378
+ ), t(n.getByRole("dialog")).toHaveAttribute(
379
+ "aria-labelledby",
380
+ "modal-title"
322
381
  );
323
- const t = n.getByRole("dialog");
324
- o(t).toHaveAttribute("aria-labelledby", "modal-title"), o(n.getByText("My Modal")).toHaveAttribute("id", "modal-title");
325
382
  });
326
- }), a("Custom Styling", () => {
327
- i("applies custom className to modal", () => {
328
- c(
383
+ }), d("Custom Styling", () => {
384
+ r("applies custom className to modal", () => {
385
+ l(
329
386
  /* @__PURE__ */ e(
330
- l,
387
+ o,
331
388
  {
332
389
  content: /* @__PURE__ */ e("div", { children: "Content" }),
333
390
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
@@ -335,13 +392,11 @@ a("Modal", () => {
335
392
  isOpen: !0
336
393
  }
337
394
  )
338
- );
339
- const t = document.querySelector(".modal");
340
- o(t).toHaveClass("custom-modal");
341
- }), i("applies custom className to overlay", () => {
342
- c(
395
+ ), t(document.querySelector(".modal")).toHaveClass("custom-modal");
396
+ }), r("applies custom className to overlay", () => {
397
+ l(
343
398
  /* @__PURE__ */ e(
344
- l,
399
+ o,
345
400
  {
346
401
  content: /* @__PURE__ */ e("div", { children: "Content" }),
347
402
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
@@ -349,13 +404,11 @@ a("Modal", () => {
349
404
  isOpen: !0
350
405
  }
351
406
  )
352
- );
353
- const t = document.querySelector(".overlay");
354
- o(t).toHaveClass("custom-overlay");
355
- }), i("applies custom inline styles", () => {
356
- c(
407
+ ), t(document.querySelector(".overlay")).toHaveClass("custom-overlay");
408
+ }), r("applies custom inline styles", () => {
409
+ l(
357
410
  /* @__PURE__ */ e(
358
- l,
411
+ o,
359
412
  {
360
413
  content: /* @__PURE__ */ e("div", { children: "Content" }),
361
414
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
@@ -363,9 +416,9 @@ a("Modal", () => {
363
416
  isOpen: !0
364
417
  }
365
418
  )
366
- );
367
- const t = document.querySelector(".modal");
368
- o(t.style.maxWidth).toBe("500px");
419
+ ), t(
420
+ document.querySelector(".modal").style.maxWidth
421
+ ).toBe("500px");
369
422
  });
370
423
  });
371
424
  });