quirk-ui 0.1.200 → 0.1.201

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.
@@ -1 +1 @@
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 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("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("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.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.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
+ "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="",document.body.style.position="",document.body.style.top="",document.body.style.width="",document.body.style.overflowY=""}),e.describe("Scroll lock",()=>{e.it("locks scroll on body when modal opens",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"})})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open"})),e.globalExpect(document.body.style.position).toBe("fixed"),e.globalExpect(document.body.style.width).toBe("100%")}),e.it("unlocks scroll on body when modal closes",()=>{e.render(t.jsx(n.Modal,{content:t.jsx("div",{children:"Content"}),trigger:t.jsx("button",{children:"Open"})})),e.fireEvent.click(e.screen.getByRole("button",{name:"Open"})),e.fireEvent.click(e.screen.getByRole("button",{name:/close/i})),e.globalExpect(document.body.style.position).toBe(""),e.globalExpect(document.body.style.width).toBe("")})}),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("Form render prop",()=>{e.it("renders form via renderForm when formData provided",()=>{const o={_id:"form-1",heading:"Contact"},l=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:l})),e.globalExpect(l).toHaveBeenCalledWith(o),e.globalExpect(e.screen.getByTestId("the-form")).toBeInTheDocument()}),e.it("explicit content prop takes priority over renderForm",()=>{const o=e.vi.fn(()=>t.jsx("form",{"data-testid":"the-form"}));e.render(t.jsx(n.Modal,{trigger:t.jsx("button",{children:"Open"}),isOpen:!0,content:t.jsx("p",{children:"Explicit content"}),formData:{_id:"form-1"},renderForm:o})),e.globalExpect(e.screen.getByText("Explicit content")).toBeInTheDocument(),e.globalExpect(o).not.toHaveBeenCalled()}),e.it("does not call renderForm when formData is not provided",()=>{const o=e.vi.fn(()=>t.jsx("form",{"data-testid":"the-form"}));e.render(t.jsx(n.Modal,{trigger:t.jsx("button",{children:"Open"}),isOpen:!0,renderForm:o})),e.globalExpect(o).not.toHaveBeenCalled(),e.globalExpect(e.screen.queryByTestId("the-form")).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("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.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.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,10 +1,20 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { d, b as h, i as l, r, g as t, s as n, f as i, v as s, w as u } from "../../../react.esm-DjxyacK8.js";
2
+ import { d, b as m, i as l, r, f as i, s as n, g as t, v as a, w as u } from "../../../react.esm-DjxyacK8.js";
3
3
  import { Modal as o } from "./index.mjs";
4
4
  import "../../../index-DPGXWTtt.js";
5
5
  d("Modal", () => {
6
- h(() => {
7
- document.body.innerHTML = "";
6
+ m(() => {
7
+ document.body.innerHTML = "", document.body.style.position = "", document.body.style.top = "", document.body.style.width = "", document.body.style.overflowY = "";
8
+ }), d("Scroll lock", () => {
9
+ l("locks scroll on body when modal opens", () => {
10
+ r(
11
+ /* @__PURE__ */ e(o, { content: /* @__PURE__ */ e("div", { children: "Content" }), trigger: /* @__PURE__ */ e("button", { children: "Open" }) })
12
+ ), i.click(n.getByRole("button", { name: "Open" })), t(document.body.style.position).toBe("fixed"), t(document.body.style.width).toBe("100%");
13
+ }), l("unlocks scroll on body when modal closes", () => {
14
+ r(
15
+ /* @__PURE__ */ e(o, { content: /* @__PURE__ */ e("div", { children: "Content" }), trigger: /* @__PURE__ */ e("button", { children: "Open" }) })
16
+ ), i.click(n.getByRole("button", { name: "Open" })), i.click(n.getByRole("button", { name: /close/i })), t(document.body.style.position).toBe(""), t(document.body.style.width).toBe("");
17
+ });
8
18
  }), d("Rendering", () => {
9
19
  l("renders the trigger button", () => {
10
20
  r(
@@ -39,9 +49,9 @@ d("Modal", () => {
39
49
  )
40
50
  ), i.click(n.getByRole("button", { name: "Open Modal" })), t(n.getByText("Modal Content")).toBeInTheDocument();
41
51
  });
42
- }), d("Rich text + form render props", () => {
52
+ }), d("Form render prop", () => {
43
53
  l("renders form via renderForm when formData provided", () => {
44
- const c = { _id: "form-1", heading: "Contact" }, a = s.fn(() => /* @__PURE__ */ e("form", { "data-testid": "the-form" }));
54
+ const c = { _id: "form-1", heading: "Contact" }, s = a.fn(() => /* @__PURE__ */ e("form", { "data-testid": "the-form" }));
45
55
  r(
46
56
  /* @__PURE__ */ e(
47
57
  o,
@@ -49,12 +59,12 @@ d("Modal", () => {
49
59
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
50
60
  isOpen: !0,
51
61
  formData: c,
52
- renderForm: a
62
+ renderForm: s
53
63
  }
54
64
  )
55
- ), t(a).toHaveBeenCalledWith(c), t(n.getByTestId("the-form")).toBeInTheDocument();
56
- }), l("explicit content prop takes priority over render props", () => {
57
- const c = [{ _type: "block", _key: "a" }], a = s.fn(() => /* @__PURE__ */ e("p", { children: "Should not render" }));
65
+ ), t(s).toHaveBeenCalledWith(c), t(n.getByTestId("the-form")).toBeInTheDocument();
66
+ }), l("explicit content prop takes priority over renderForm", () => {
67
+ const c = a.fn(() => /* @__PURE__ */ e("form", { "data-testid": "the-form" }));
58
68
  r(
59
69
  /* @__PURE__ */ e(
60
70
  o,
@@ -62,23 +72,23 @@ d("Modal", () => {
62
72
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
63
73
  isOpen: !0,
64
74
  content: /* @__PURE__ */ e("p", { children: "Explicit content" }),
65
- richTextBlocks: c,
66
- renderRichText: a
75
+ formData: { _id: "form-1" },
76
+ renderForm: c
67
77
  }
68
78
  )
69
- ), t(n.getByText("Explicit content")).toBeInTheDocument(), t(a).not.toHaveBeenCalled();
70
- }), l("does not render intro when richTextBlocks is empty", () => {
79
+ ), t(n.getByText("Explicit content")).toBeInTheDocument(), t(c).not.toHaveBeenCalled();
80
+ }), l("does not call renderForm when formData is not provided", () => {
81
+ const c = a.fn(() => /* @__PURE__ */ e("form", { "data-testid": "the-form" }));
71
82
  r(
72
83
  /* @__PURE__ */ e(
73
84
  o,
74
85
  {
75
86
  trigger: /* @__PURE__ */ e("button", { children: "Open" }),
76
87
  isOpen: !0,
77
- richTextBlocks: [],
78
- renderRichText: () => /* @__PURE__ */ e("p", { children: "Should not render" })
88
+ renderForm: c
79
89
  }
80
90
  )
81
- ), t(document.querySelector(".intro")).not.toBeInTheDocument();
91
+ ), t(c).not.toHaveBeenCalled(), t(n.queryByTestId("the-form")).not.toBeInTheDocument();
82
92
  });
83
93
  }), d("Sizes", () => {
84
94
  l("applies small size", () => {
@@ -252,7 +262,7 @@ d("Modal", () => {
252
262
  )
253
263
  ), t(n.getByText("Modal Content")).toBeInTheDocument();
254
264
  }), l("calls onOpen when trigger is clicked in controlled mode", () => {
255
- const c = s.fn();
265
+ const c = a.fn();
256
266
  r(
257
267
  /* @__PURE__ */ e(
258
268
  o,
@@ -265,7 +275,7 @@ d("Modal", () => {
265
275
  )
266
276
  ), i.click(n.getByRole("button", { name: "Open" })), t(c).toHaveBeenCalled();
267
277
  }), l("calls onClose when close button is clicked in controlled mode", () => {
268
- const c = s.fn();
278
+ const c = a.fn();
269
279
  r(
270
280
  /* @__PURE__ */ e(
271
281
  o,
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index38.css');const e=require("react/jsx-runtime"),i=require("react"),T=require("react-dom"),P=require("../../../x-Dft9NVe_.cjs"),U="_overlay_k02re_2",D="_fadeIn_k02re_1",A="_container_k02re_19",C="_modal_k02re_49",F="_slideUp_k02re_1",K="_closeButton_k02re_60",X="_title_k02re_87",G="_content_k02re_97",H="_intro_k02re_116",J="_trigger_k02re_121",s={overlay:U,fadeIn:D,container:A,"size-sm":"_size-sm_k02re_26","size-md":"_size-md_k02re_30","size-lg":"_size-lg_k02re_34","size-xl":"_size-xl_k02re_38","size-full":"_size-full_k02re_42",modal:C,slideUp:F,closeButton:K,title:X,content:G,intro:H,trigger:J},Q=()=>{typeof document<"u"&&(document.body.style.overflow="hidden")},b=()=>{typeof document<"u"&&(document.body.style.overflow="")};function V({content:m,trigger:z,isOpen:k,onOpen:o,onClose:c,size:E="md",closeOnEscape:v=!0,closeOnOverlayClick:j=!0,showCloseButton:p=!0,className:$,overlayClassName:w,style:q,formData:y,renderForm:g}){const[N,h]=i.useState(!1),_=i.useRef(null),f=k!==void 0,t=f?k:N,S=()=>{f||h(!0),o==null||o()},d=()=>{f||h(!1),c==null||c()},B=()=>t?d():S(),I=()=>{j&&d()};i.useEffect(()=>{if(!v||!t)return;const n=l=>{l.key==="Escape"&&d()};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[t,v]),i.useEffect(()=>(t?Q():b(),()=>b()),[t]),i.useEffect(()=>{if(!t||!_.current)return;const n=_.current,l=n.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),r=l[0],a=l[l.length-1],x=u=>{u.key==="Tab"&&(u.shiftKey?document.activeElement===r&&(u.preventDefault(),a==null||a.focus()):document.activeElement===a&&(u.preventDefault(),r==null||r.focus()))};return n.addEventListener("keydown",x),r==null||r.focus(),()=>n.removeEventListener("keydown",x)},[t]);const L=s[`size-${E}`]??"",M=m!==void 0?m:e.jsx(e.Fragment,{children:y&&g?g(y):null}),R=t?e.jsx("div",{className:`${s.overlay} ${w??""}`.trim(),onClick:I,role:"dialog","aria-modal":"true",children:e.jsxs("div",{className:`${L} ${s.container}`,children:[p&&e.jsx("button",{"aria-label":"Close",className:s.closeButton,onClick:d,type:"button",children:e.jsx(P.X,{size:20})}),e.jsx("div",{ref:_,className:`${s.modal} ${$??""}`.trim(),style:q,onClick:n=>n.stopPropagation(),children:e.jsx("div",{className:s.content,children:M})})]})}):null;return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:s.trigger,onClick:B,children:z}),typeof window<"u"&&T.createPortal(R,document.body)]})}exports.Modal=V;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index38.css');const e=require("react/jsx-runtime"),d=require("react"),Y=require("react-dom"),L=require("../../../x-Dft9NVe_.cjs"),R="_overlay_oiw8l_2",P="_fadeIn_oiw8l_1",D="_container_oiw8l_19",A="_modal_oiw8l_49",C="_slideUp_oiw8l_1",F="_closeButton_oiw8l_60",K="_title_oiw8l_87",X="_content_oiw8l_97",G="_intro_oiw8l_116",H="_trigger_oiw8l_123",J="_slideUpSheet_oiw8l_1",s={overlay:R,fadeIn:P,container:D,"size-sm":"_size-sm_oiw8l_26","size-md":"_size-md_oiw8l_30","size-lg":"_size-lg_oiw8l_34","size-xl":"_size-xl_oiw8l_38","size-full":"_size-full_oiw8l_42",modal:A,slideUp:C,closeButton:F,title:K,content:X,intro:G,trigger:H,slideUpSheet:J},Q=()=>{if(typeof document>"u")return;const n=window.scrollY;document.body.style.position="fixed",document.body.style.top=`-${n}px`,document.body.style.width="100%",document.body.style.overflowY="scroll"},p=()=>{if(typeof document>"u")return;const n=Math.abs(parseInt(document.body.style.top||"0",10));document.body.style.position="",document.body.style.top="",document.body.style.width="",document.body.style.overflowY="",n&&window.scrollTo(0,n)};function V({content:n,trigger:x,isOpen:y,onOpen:i,onClose:c,size:k="md",closeOnEscape:w=!0,closeOnOverlayClick:z=!0,showCloseButton:E=!0,className:j,overlayClassName:$,style:S,formData:v,renderForm:h}){const[q,b]=d.useState(!1),f=d.useRef(null),m=y!==void 0,t=m?y:q,I=()=>{m||b(!0),i==null||i()},a=()=>{m||b(!1),c==null||c()},N=()=>t?a():I(),U=()=>{z&&a()};d.useEffect(()=>{if(!w||!t)return;const o=r=>{r.key==="Escape"&&a()};return document.addEventListener("keydown",o),()=>document.removeEventListener("keydown",o)},[t,w]),d.useEffect(()=>(t?Q():p(),()=>p()),[t]),d.useEffect(()=>{if(!t||!f.current)return;const o=f.current,r=o.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),l=r[0],u=r[r.length-1],g=_=>{_.key==="Tab"&&(_.shiftKey?document.activeElement===l&&(_.preventDefault(),u==null||u.focus()):document.activeElement===u&&(_.preventDefault(),l==null||l.focus()))};return o.addEventListener("keydown",g),l==null||l.focus(),()=>o.removeEventListener("keydown",g)},[t]);const B=s[`size-${k}`]??"",M=n!==void 0?n:e.jsx(e.Fragment,{children:v&&h?h(v):null}),T=t?e.jsx("div",{className:`${s.overlay} ${$??""}`.trim(),onClick:U,role:"dialog","aria-modal":"true",children:e.jsxs("div",{className:`${B} ${s.container}`,children:[E&&e.jsx("button",{"aria-label":"Close",className:s.closeButton,onClick:a,type:"button",children:e.jsx(L.X,{size:20})}),e.jsx("div",{ref:f,className:`${s.modal} ${j??""}`.trim(),style:S,onClick:o=>o.stopPropagation(),children:e.jsx("div",{className:s.content,children:M})})]})}):null;return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:s.trigger,onClick:N,children:x}),typeof window<"u"&&Y.createPortal(T,document.body)]})}exports.Modal=V;
@@ -1,105 +1,110 @@
1
- import { jsx as o, Fragment as z, jsxs as b } from "react/jsx-runtime";
2
- import { useState as A, useRef as C, useEffect as m } from "react";
3
- import { createPortal as D } from "react-dom";
4
- import { X as K } from "../../../x-CnsEH4Ox.js";
5
- import '../../../index38.css';const M = "_overlay_k02re_2", X = "_fadeIn_k02re_1", F = "_container_k02re_19", G = "_modal_k02re_49", H = "_slideUp_k02re_1", J = "_closeButton_k02re_60", Q = "_title_k02re_87", V = "_content_k02re_97", W = "_intro_k02re_116", Y = "_trigger_k02re_121", r = {
6
- overlay: M,
7
- fadeIn: X,
8
- container: F,
9
- "size-sm": "_size-sm_k02re_26",
10
- "size-md": "_size-md_k02re_30",
11
- "size-lg": "_size-lg_k02re_34",
12
- "size-xl": "_size-xl_k02re_38",
13
- "size-full": "_size-full_k02re_42",
14
- modal: G,
15
- slideUp: H,
16
- closeButton: J,
17
- title: Q,
18
- content: V,
19
- intro: W,
20
- trigger: Y
21
- }, Z = () => {
22
- typeof document < "u" && (document.body.style.overflow = "hidden");
23
- }, E = () => {
24
- typeof document < "u" && (document.body.style.overflow = "");
1
+ import { jsx as l, Fragment as g, jsxs as k } from "react/jsx-runtime";
2
+ import { useState as R, useRef as q, useEffect as f } from "react";
3
+ import { createPortal as A } from "react-dom";
4
+ import { X as C } from "../../../x-CnsEH4Ox.js";
5
+ import '../../../index38.css';const D = "_overlay_oiw8l_2", K = "_fadeIn_oiw8l_1", X = "_container_oiw8l_19", F = "_modal_oiw8l_49", G = "_slideUp_oiw8l_1", H = "_closeButton_oiw8l_60", J = "_title_oiw8l_87", Q = "_content_oiw8l_97", V = "_intro_oiw8l_116", W = "_trigger_oiw8l_123", Z = "_slideUpSheet_oiw8l_1", i = {
6
+ overlay: D,
7
+ fadeIn: K,
8
+ container: X,
9
+ "size-sm": "_size-sm_oiw8l_26",
10
+ "size-md": "_size-md_oiw8l_30",
11
+ "size-lg": "_size-lg_oiw8l_34",
12
+ "size-xl": "_size-xl_oiw8l_38",
13
+ "size-full": "_size-full_oiw8l_42",
14
+ modal: F,
15
+ slideUp: G,
16
+ closeButton: H,
17
+ title: J,
18
+ content: Q,
19
+ intro: V,
20
+ trigger: W,
21
+ slideUpSheet: Z
22
+ }, O = () => {
23
+ if (typeof document > "u") return;
24
+ const o = window.scrollY;
25
+ document.body.style.position = "fixed", document.body.style.top = `-${o}px`, document.body.style.width = "100%", document.body.style.overflowY = "scroll";
26
+ }, z = () => {
27
+ if (typeof document > "u") return;
28
+ const o = Math.abs(parseInt(document.body.style.top || "0", 10));
29
+ document.body.style.position = "", document.body.style.top = "", document.body.style.width = "", document.body.style.overflowY = "", o && window.scrollTo(0, o);
25
30
  };
26
- function oe({
27
- content: f,
28
- trigger: w,
29
- isOpen: k,
30
- onOpen: l,
31
- onClose: i,
32
- size: x = "md",
33
- closeOnEscape: v = !0,
31
+ function le({
32
+ content: o,
33
+ trigger: x,
34
+ isOpen: y,
35
+ onOpen: s,
36
+ onClose: c,
37
+ size: E = "md",
38
+ closeOnEscape: w = !0,
34
39
  closeOnOverlayClick: $ = !0,
35
- showCloseButton: N = !0,
36
- className: B,
37
- overlayClassName: I,
38
- style: L,
40
+ showCloseButton: S = !0,
41
+ className: I,
42
+ overlayClassName: N,
43
+ style: U,
39
44
  // title,
40
45
  // richTextBlocks,
41
46
  // renderRichText,
42
- formData: y,
47
+ formData: v,
43
48
  renderForm: h
44
49
  }) {
45
- const [S, g] = A(!1), u = C(null), _ = k !== void 0, e = _ ? k : S, T = () => {
46
- _ || g(!0), l == null || l();
47
- }, c = () => {
48
- _ || g(!1), i == null || i();
49
- }, U = () => e ? c() : T(), j = () => {
50
- $ && c();
50
+ const [B, p] = R(!1), m = q(null), _ = y !== void 0, e = _ ? y : B, Y = () => {
51
+ _ || p(!0), s == null || s();
52
+ }, r = () => {
53
+ _ || p(!1), c == null || c();
54
+ }, L = () => e ? r() : Y(), T = () => {
55
+ $ && r();
51
56
  };
52
- m(() => {
53
- if (!v || !e) return;
54
- const t = (s) => {
55
- s.key === "Escape" && c();
57
+ f(() => {
58
+ if (!w || !e) return;
59
+ const t = (d) => {
60
+ d.key === "Escape" && r();
56
61
  };
57
62
  return document.addEventListener("keydown", t), () => document.removeEventListener("keydown", t);
58
- }, [e, v]), m(() => (e ? Z() : E(), () => E()), [e]), m(() => {
59
- if (!e || !u.current) return;
60
- const t = u.current, s = t.querySelectorAll(
63
+ }, [e, w]), f(() => (e ? O() : z(), () => z()), [e]), f(() => {
64
+ if (!e || !m.current) return;
65
+ const t = m.current, d = t.querySelectorAll(
61
66
  'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
62
- ), n = s[0], d = s[s.length - 1], p = (a) => {
63
- a.key === "Tab" && (a.shiftKey ? document.activeElement === n && (a.preventDefault(), d == null || d.focus()) : document.activeElement === d && (a.preventDefault(), n == null || n.focus()));
67
+ ), n = d[0], a = d[d.length - 1], b = (u) => {
68
+ u.key === "Tab" && (u.shiftKey ? document.activeElement === n && (u.preventDefault(), a == null || a.focus()) : document.activeElement === a && (u.preventDefault(), n == null || n.focus()));
64
69
  };
65
- return t.addEventListener("keydown", p), n == null || n.focus(), () => t.removeEventListener("keydown", p);
70
+ return t.addEventListener("keydown", b), n == null || n.focus(), () => t.removeEventListener("keydown", b);
66
71
  }, [e]);
67
- const P = r[`size-${x}`] ?? "", R = f !== void 0 ? f : /* @__PURE__ */ o(z, { children: y && h ? h(y) : null }), q = e ? /* @__PURE__ */ o(
72
+ const j = i[`size-${E}`] ?? "", M = o !== void 0 ? o : /* @__PURE__ */ l(g, { children: v && h ? h(v) : null }), P = e ? /* @__PURE__ */ l(
68
73
  "div",
69
74
  {
70
- className: `${r.overlay} ${I ?? ""}`.trim(),
71
- onClick: j,
75
+ className: `${i.overlay} ${N ?? ""}`.trim(),
76
+ onClick: T,
72
77
  role: "dialog",
73
78
  "aria-modal": "true",
74
- children: /* @__PURE__ */ b("div", { className: `${P} ${r.container}`, children: [
75
- N && /* @__PURE__ */ o(
79
+ children: /* @__PURE__ */ k("div", { className: `${j} ${i.container}`, children: [
80
+ S && /* @__PURE__ */ l(
76
81
  "button",
77
82
  {
78
83
  "aria-label": "Close",
79
- className: r.closeButton,
80
- onClick: c,
84
+ className: i.closeButton,
85
+ onClick: r,
81
86
  type: "button",
82
- children: /* @__PURE__ */ o(K, { size: 20 })
87
+ children: /* @__PURE__ */ l(C, { size: 20 })
83
88
  }
84
89
  ),
85
- /* @__PURE__ */ o(
90
+ /* @__PURE__ */ l(
86
91
  "div",
87
92
  {
88
- ref: u,
89
- className: `${r.modal} ${B ?? ""}`.trim(),
90
- style: L,
93
+ ref: m,
94
+ className: `${i.modal} ${I ?? ""}`.trim(),
95
+ style: U,
91
96
  onClick: (t) => t.stopPropagation(),
92
- children: /* @__PURE__ */ o("div", { className: r.content, children: R })
97
+ children: /* @__PURE__ */ l("div", { className: i.content, children: M })
93
98
  }
94
99
  )
95
100
  ] })
96
101
  }
97
102
  ) : null;
98
- return /* @__PURE__ */ b(z, { children: [
99
- /* @__PURE__ */ o("div", { className: r.trigger, onClick: U, children: w }),
100
- typeof window < "u" && D(q, document.body)
103
+ return /* @__PURE__ */ k(g, { children: [
104
+ /* @__PURE__ */ l("div", { className: i.trigger, onClick: L, children: x }),
105
+ typeof window < "u" && A(P, document.body)
101
106
  ] });
102
107
  }
103
108
  export {
104
- oe as Modal
109
+ le as Modal
105
110
  };
package/dist/index38.css CHANGED
@@ -1 +1 @@
1
- ._overlay_k02re_2{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:_fadeIn_k02re_1 .2s ease;padding:var(--spacing-md, 1rem);overflow-y:auto}._container_k02re_19{position:relative;display:flex;flex-direction:column}._size-sm_k02re_26{width:90%;max-width:400px}._size-md_k02re_30{width:90%;max-width:600px}._size-lg_k02re_34{width:90%;max-width:800px}._size-xl_k02re_38{width:90%;max-width:1200px}._size-full_k02re_42{width:95%;height:95dvh;max-height:95dvh}._modal_k02re_49{position:relative;background-color:var(--color-background, #fff);border-radius:var(--radius-lg, .5rem);padding:var(--spacing-xl, 2rem);max-height:90dvh;overflow-y:auto;animation:_slideUp_k02re_1 .3s ease}._closeButton_k02re_60{background:none;border:none;cursor:pointer;padding:var(--spacing-xs, .25rem);margin-bottom:var(--spacing-xs);border-radius:var(--radius-sm, .25rem);color:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center;align-self:flex-end;z-index:1}._closeButton_k02re_60:hover{background-color:var(--color-secondary-10, #f5f5f5);color:var(--color-text-primary, #333)}._closeButton_k02re_60:focus-visible{outline:2px solid var(--color-primary-100, #007bff);outline-offset:2px}._title_k02re_87{font-size:var(--font-size-xl, 1.5rem);font-weight:var(--font-weight-bold, 700);color:var(--color-heading, #111);margin-bottom:var(--spacing-lg, 1.5rem);padding-right:var(--spacing-xl, 2rem);line-height:var(--line-height-heading, 1.2)}._content_k02re_97{color:var(--color-text-primary, #333);line-height:var(--line-height-normal, 1.5);display:flex;flex-direction:column;gap:var(--spacing-xl)}._content_k02re_97 video,._content_k02re_97 img{max-width:100%;height:auto;border-radius:var(--radius-md, .5rem)}._content_k02re_97 video{width:100%}._intro_k02re_116{background-color:red}._trigger_k02re_121{width:auto;display:inline-block;cursor:pointer}@keyframes _fadeIn_k02re_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUp_k02re_1{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){._modal_k02re_49{padding:var(--spacing-lg, 1.5rem);max-height:85dvh}._size-sm_k02re_26,._size-md_k02re_30,._size-lg_k02re_34,._size-xl_k02re_38{width:95%}._title_k02re_87{font-size:var(--font-size-lg, 1.25rem);padding-right:var(--spacing-lg, 1.5rem)}}@media (max-width: 480px){._overlay_k02re_2{padding:var(--spacing-sm, .5rem)}._modal_k02re_49{padding:var(--spacing-md, 1rem);max-height:90dvh}._title_k02re_87{font-size:var(--font-size-md, 1rem);margin-bottom:var(--spacing-md, 1rem)}}
1
+ ._overlay_oiw8l_2{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:_fadeIn_oiw8l_1 .2s ease;padding:var(--spacing-md, 1rem);overflow-y:auto}._container_oiw8l_19{position:relative;display:flex;flex-direction:column}._size-sm_oiw8l_26{width:90%;max-width:400px}._size-md_oiw8l_30{width:90%;max-width:600px}._size-lg_oiw8l_34{width:90%;max-width:800px}._size-xl_oiw8l_38{width:90%;max-width:1200px}._size-full_oiw8l_42{width:95%;height:95dvh;max-height:95dvh}._modal_oiw8l_49{position:relative;background-color:var(--color-background, #fff);border-radius:var(--radius-lg, .5rem);padding:var(--spacing-xl, 2rem);max-height:90dvh;overflow-y:auto;animation:_slideUp_oiw8l_1 .3s ease}._closeButton_oiw8l_60{background:none;border:none;cursor:pointer;padding:var(--spacing-xs, .25rem);margin-bottom:var(--spacing-xs);border-radius:var(--radius-sm, .25rem);color:#fff;transition:all .2s ease;display:flex;align-items:center;justify-content:center;align-self:flex-end;z-index:1}._closeButton_oiw8l_60:hover{background-color:var(--color-secondary-10, #f5f5f5);color:var(--color-text-primary, #333)}._closeButton_oiw8l_60:focus-visible{outline:2px solid var(--color-primary-100, #007bff);outline-offset:2px}._title_oiw8l_87{font-size:var(--font-size-xl, 1.5rem);font-weight:var(--font-weight-bold, 700);color:var(--color-heading, #111);margin-bottom:var(--spacing-lg, 1.5rem);padding-right:var(--spacing-xl, 2rem);line-height:var(--line-height-heading, 1.2)}._content_oiw8l_97{color:var(--color-text-primary, #333);line-height:var(--line-height-normal, 1.5);display:flex;flex-direction:column;gap:var(--spacing-xl)}._content_oiw8l_97 video,._content_oiw8l_97 img{max-width:100%;height:auto;border-radius:var(--radius-md, .5rem)}._content_oiw8l_97 video{width:100%}._intro_oiw8l_116{margin-bottom:var(--spacing-lg, 1.5rem);padding-bottom:var(--spacing-lg, 1.5rem);border-bottom:1px solid var(--color-border, #e5e7eb)}._trigger_oiw8l_123{width:auto;display:inline-block;cursor:pointer}@keyframes _fadeIn_oiw8l_1{0%{opacity:0}to{opacity:1}}@keyframes _slideUp_oiw8l_1{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){._overlay_oiw8l_2{align-items:flex-end;justify-content:stretch;padding:0;overflow:hidden}._container_oiw8l_19{width:100%;max-width:100%;max-height:92dvh;display:flex;flex-direction:column}._size-sm_oiw8l_26,._size-md_oiw8l_30,._size-lg_oiw8l_34,._size-xl_oiw8l_38,._size-full_oiw8l_42{width:100%;max-width:100%;height:auto;max-height:92dvh}._closeButton_oiw8l_60{color:var(--color-text-primary, #333);align-self:flex-end;margin:var(--spacing-sm) var(--spacing-sm) 0}._modal_oiw8l_49{border-radius:var(--radius-lg, .5rem) var(--radius-lg, .5rem) 0 0;padding:var(--spacing-lg, 1.5rem);flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:none;animation:_slideUpSheet_oiw8l_1 .3s ease;overscroll-behavior:contain}._title_oiw8l_87{font-size:var(--font-size-lg, 1.25rem);padding-right:0}}@keyframes _slideUpSheet_oiw8l_1{0%{transform:translateY(100%);opacity:.8}to{transform:translateY(0);opacity:1}}
@@ -1,19 +1,20 @@
1
1
  declare const styles: {
2
- readonly "_closeButton_k02re_60": string;
3
- readonly "_container_k02re_19": string;
4
- readonly "_content_k02re_97": string;
5
- readonly "_fadeIn_k02re_1": string;
6
- readonly "_intro_k02re_116": string;
7
- readonly "_modal_k02re_49": string;
8
- readonly "_overlay_k02re_2": string;
9
- readonly "_size-full_k02re_42": string;
10
- readonly "_size-lg_k02re_34": string;
11
- readonly "_size-md_k02re_30": string;
12
- readonly "_size-sm_k02re_26": string;
13
- readonly "_size-xl_k02re_38": string;
14
- readonly "_slideUp_k02re_1": string;
15
- readonly "_title_k02re_87": string;
16
- readonly "_trigger_k02re_121": string;
2
+ readonly "_closeButton_oiw8l_60": string;
3
+ readonly "_container_oiw8l_19": string;
4
+ readonly "_content_oiw8l_97": string;
5
+ readonly "_fadeIn_oiw8l_1": string;
6
+ readonly "_intro_oiw8l_116": string;
7
+ readonly "_modal_oiw8l_49": string;
8
+ readonly "_overlay_oiw8l_2": string;
9
+ readonly "_size-full_oiw8l_42": string;
10
+ readonly "_size-lg_oiw8l_34": string;
11
+ readonly "_size-md_oiw8l_30": string;
12
+ readonly "_size-sm_oiw8l_26": string;
13
+ readonly "_size-xl_oiw8l_38": string;
14
+ readonly "_slideUpSheet_oiw8l_1": string;
15
+ readonly "_slideUp_oiw8l_1": string;
16
+ readonly "_title_oiw8l_87": string;
17
+ readonly "_trigger_oiw8l_123": string;
17
18
  };
18
19
  export = styles;
19
20
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "quirk-ui",
3
3
  "private": false,
4
- "version": "0.1.200",
4
+ "version": "0.1.201",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {