@vhyxui/react 0.3.0-alpha → 0.4.0-alpha
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/LICENSE +21 -0
- package/README.md +65 -0
- package/dist/Accordion-qtPur3CA.js +81 -0
- package/dist/Accordion-z3QDvyGf.cjs +1 -0
- package/dist/Alert-D4EFVKUy.js +99 -0
- package/dist/Alert-DWB9Gtpv.cjs +1 -0
- package/dist/Avatar-CDoAvY0m.js +51 -0
- package/dist/Avatar-afXJdutp.cjs +1 -0
- package/dist/Badge-DOhfKlXt.cjs +1 -0
- package/dist/Badge-Z6crWSLX.js +38 -0
- package/dist/Breadcrumb-CbPmH-b4.js +90 -0
- package/dist/Breadcrumb-DWRxQvbb.cjs +1 -0
- package/dist/Button-CnNtk6HV.cjs +1 -0
- package/dist/Button-DN5vy24q.js +60 -0
- package/dist/Card-CI7DyOJg.js +79 -0
- package/dist/Card-CZUQhd45.cjs +1 -0
- package/dist/Center-BmKeGEa1.cjs +1 -0
- package/dist/Center-DFq5m7mf.js +22 -0
- package/dist/Checkbox-D-5qaOEj.js +92 -0
- package/dist/Checkbox-DOd4SIx2.cjs +1 -0
- package/dist/Container-CcsVyA6r.cjs +1 -0
- package/dist/Container-DPKIgeDZ.js +21 -0
- package/dist/Dialog-B7Mhq9Qc.cjs +1 -0
- package/dist/Dialog-DhIanyWH.js +258 -0
- package/dist/Drawer-8maigAH9.cjs +1 -0
- package/dist/Drawer-BKizItfr.js +259 -0
- package/dist/Field-DJvjEmzE.cjs +1 -0
- package/dist/Field-Dx9gXxGL.js +120 -0
- package/dist/Grid-Bzzb0usH.cjs +1 -0
- package/dist/Grid-x_OHCzGV.js +25 -0
- package/dist/Heading-BPqfnM8i.js +14 -0
- package/dist/Heading-icKRWRno.cjs +1 -0
- package/dist/Input-B0dEXpG8.js +151 -0
- package/dist/Input-CdS0oZyf.cjs +1 -0
- package/dist/Kbd-C2vxklhy.cjs +1 -0
- package/dist/Kbd-DGURpjWN.js +22 -0
- package/dist/Pagination-CiE9Jzm0.cjs +1 -0
- package/dist/Pagination-UQ53MWnR.js +128 -0
- package/dist/{Popover-j9pNswBn.js → Popover-0QvSlzcQ.js} +53 -53
- package/dist/Popover-Chf2ikqa.cjs +1 -0
- package/dist/Progress-DdWZRQVS.js +75 -0
- package/dist/Progress-lItZES-D.cjs +1 -0
- package/dist/RadioItem-BbIH7LoA.js +141 -0
- package/dist/RadioItem-Cfxch4Gj.cjs +1 -0
- package/dist/Select-CgjfJSB8.js +350 -0
- package/dist/Select-D_oVKzzK.cjs +1 -0
- package/dist/SelectField-DBGtOECg.js +49 -0
- package/dist/SelectField-DdkU9fXq.cjs +1 -0
- package/dist/Separator-BwR51KpL.js +52 -0
- package/dist/Separator-CTncQd7E.cjs +1 -0
- package/dist/Skeleton-C1LTpmVC.js +20 -0
- package/dist/Skeleton-CpzYhkFp.cjs +1 -0
- package/dist/Spinner-BJnT9SOB.cjs +1 -0
- package/dist/{Spinner-BYi9eTfl.js → Spinner-Dz68qwGs.js} +25 -25
- package/dist/Stack--mNjuxZe.cjs +1 -0
- package/dist/Stack-CfwjUv0j.js +49 -0
- package/dist/Switch-I712svE0.cjs +1 -0
- package/dist/{Switch-DOAZfSV0.js → Switch-bIbcXIMH.js} +22 -22
- package/dist/Table-C2TUkSZv.cjs +1 -0
- package/dist/Table-C_jZjmPK.js +67 -0
- package/dist/Tabs-CbmdCTVE.js +220 -0
- package/dist/Tabs-Dfuu2ZVq.cjs +1 -0
- package/dist/Text-CgsfCbWf.cjs +1 -0
- package/dist/Text-Dl4z0gus.js +26 -0
- package/dist/Text.module-CEBydIO4.js +7 -0
- package/dist/Text.module-gGopk2Yk.cjs +1 -0
- package/dist/TextField-B492c5Ct.js +31 -0
- package/dist/TextField-Bp-b0-hG.cjs +1 -0
- package/dist/{Textarea-CLrctxHU.js → Textarea-cloHZ5Sz.js} +41 -41
- package/dist/Textarea-uXK6PrFb.cjs +1 -0
- package/dist/TextareaField-C5naVyA1.cjs +1 -0
- package/dist/TextareaField-CrRndsuY.js +31 -0
- package/dist/Toast-CESL8AKT.cjs +1 -0
- package/dist/Toast-DYqE0PjM.js +167 -0
- package/dist/Tooltip-B-PpSm6T.cjs +1 -0
- package/dist/{Tooltip-BAmErB_g.js → Tooltip-DCCaNX5W.js} +34 -34
- package/dist/VhyxUIProvider-3f3b9ukY.cjs +1 -0
- package/dist/VhyxUIProvider-B2UHeumk.js +58 -0
- package/dist/VisuallyHidden-BWdnOImJ.cjs +1 -0
- package/dist/VisuallyHidden-CPTxPvL_.js +18 -0
- package/dist/accordion.cjs +1 -0
- package/dist/accordion.d.ts +48 -0
- package/dist/accordion.js +5 -0
- package/dist/alert.cjs +1 -1
- package/dist/alert.js +3 -2
- package/dist/avatar.cjs +1 -0
- package/dist/avatar.d.ts +53 -0
- package/dist/avatar.js +7 -0
- package/dist/badge.cjs +1 -1
- package/dist/badge.js +2 -1
- package/dist/breadcrumb.cjs +1 -1
- package/dist/breadcrumb.js +3 -2
- package/dist/button.cjs +1 -1
- package/dist/button.js +3 -2
- package/dist/card.cjs +1 -1
- package/dist/card.js +3 -2
- package/dist/center.cjs +1 -0
- package/dist/center.d.ts +20 -0
- package/dist/center.js +5 -0
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.js +3 -2
- package/dist/container.cjs +1 -0
- package/dist/container.d.ts +23 -0
- package/dist/container.js +5 -0
- package/dist/cx-OWdTFKLx.js +15 -0
- package/dist/cx-dgWA95G6.cjs +1 -0
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.d.ts +0 -1
- package/dist/dialog.js +3 -2
- package/dist/drawer.cjs +1 -1
- package/dist/drawer.d.ts +0 -1
- package/dist/drawer.js +3 -2
- package/dist/env-Cqd4Y-Z7.cjs +1 -0
- package/dist/env-lFT_FRkA.js +19 -0
- package/dist/form.cjs +1 -1
- package/dist/form.d.ts +6 -6
- package/dist/form.js +5 -4
- package/dist/grid.cjs +1 -0
- package/dist/grid.d.ts +35 -0
- package/dist/grid.js +5 -0
- package/dist/heading.cjs +1 -0
- package/dist/heading.d.ts +25 -0
- package/dist/heading.js +5 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +440 -20
- package/dist/index.js +96 -62
- package/dist/input.cjs +1 -1
- package/dist/input.js +3 -2
- package/dist/kbd.cjs +1 -0
- package/dist/kbd.d.ts +16 -0
- package/dist/kbd.js +5 -0
- package/dist/pagination.cjs +1 -1
- package/dist/pagination.js +2 -1
- package/dist/popover.cjs +1 -1
- package/dist/popover.js +3 -2
- package/dist/progress.cjs +1 -1
- package/dist/progress.js +2 -1
- package/dist/radio.cjs +1 -1
- package/dist/radio.js +4 -3
- package/dist/select.cjs +1 -1
- package/dist/select.d.ts +3 -3
- package/dist/select.js +3 -2
- package/dist/selectfield.cjs +1 -1
- package/dist/selectfield.d.ts +6 -6
- package/dist/selectfield.js +3 -2
- package/dist/separator.cjs +1 -1
- package/dist/separator.js +3 -2
- package/dist/skeleton.cjs +1 -0
- package/dist/skeleton.d.ts +22 -0
- package/dist/skeleton.js +5 -0
- package/dist/spinner.cjs +1 -1
- package/dist/spinner.js +3 -2
- package/dist/stack.cjs +1 -0
- package/dist/stack.d.ts +58 -0
- package/dist/stack.js +7 -0
- package/dist/style.css +2 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.js +3 -2
- package/dist/table.cjs +1 -0
- package/dist/table.d.ts +65 -0
- package/dist/table.js +5 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.js +3 -2
- package/dist/test-utils.cjs +1 -1
- package/dist/test-utils.d.ts +14 -2
- package/dist/test-utils.js +5 -5
- package/dist/text.cjs +1 -0
- package/dist/text.d.ts +38 -0
- package/dist/text.js +5 -0
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.js +2 -1
- package/dist/textareafield.cjs +1 -1
- package/dist/textareafield.d.ts +6 -6
- package/dist/textareafield.js +2 -1
- package/dist/textfield.cjs +1 -1
- package/dist/textfield.d.ts +6 -6
- package/dist/textfield.js +3 -2
- package/dist/toast.cjs +1 -1
- package/dist/toast.js +4 -3
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.js +3 -2
- package/dist/utils.cjs +1 -0
- package/dist/utils.d.ts +28 -0
- package/dist/utils.js +8 -0
- package/dist/visually-hidden.cjs +1 -0
- package/dist/visually-hidden.d.ts +16 -0
- package/dist/visually-hidden.js +5 -0
- package/package.json +166 -72
- package/dist/Alert-BJ1O0bnK.cjs +0 -1
- package/dist/Alert-am3ANPTH.js +0 -99
- package/dist/Badge-Bbxb4wyt.js +0 -38
- package/dist/Badge-SBO9tGzn.cjs +0 -1
- package/dist/Breadcrumb-Db7ASomJ.js +0 -90
- package/dist/Breadcrumb-StitgXXx.cjs +0 -1
- package/dist/Button-DDMc7-3S.js +0 -58
- package/dist/Button-akOSYEu9.cjs +0 -1
- package/dist/Card-DSCA-Igh.cjs +0 -1
- package/dist/Card-Dh9Pcmfa.js +0 -79
- package/dist/Checkbox-DWl91ci_.js +0 -92
- package/dist/Checkbox-DvkT6QP9.cjs +0 -1
- package/dist/Dialog-CtYu14zl.js +0 -245
- package/dist/Dialog-gPT4noD8.cjs +0 -1
- package/dist/Drawer-BFJxsPG1.js +0 -246
- package/dist/Drawer-BygSIQQn.cjs +0 -1
- package/dist/Field-Bv07PL2M.js +0 -120
- package/dist/Field-D6FSsUGj.cjs +0 -1
- package/dist/Input-BS_t1bl-.js +0 -151
- package/dist/Input-UQ2fQwE7.cjs +0 -1
- package/dist/Pagination-C1h7OTgM.js +0 -128
- package/dist/Pagination-CmmcBPNz.cjs +0 -1
- package/dist/Popover-BlCmIF9J.cjs +0 -1
- package/dist/Progress-DWLr6Bq2.js +0 -75
- package/dist/Progress-FO-4WX0i.cjs +0 -1
- package/dist/RadioItem-BfkTHBxQ.cjs +0 -1
- package/dist/RadioItem-CzHSS_qK.js +0 -141
- package/dist/Select-BkJNe4Lc.cjs +0 -1
- package/dist/Select-DfV10hZt.js +0 -350
- package/dist/SelectField-B6N0uub8.js +0 -49
- package/dist/SelectField-Dxl2Mgbv.cjs +0 -1
- package/dist/Separator-C5lPGzes.cjs +0 -1
- package/dist/Separator-DQT58t90.js +0 -52
- package/dist/Spinner-CeIDpqkx.cjs +0 -1
- package/dist/Switch-BU_Tcttb.cjs +0 -1
- package/dist/Tabs-BTfm4LbV.js +0 -220
- package/dist/Tabs-DuU02-UD.cjs +0 -1
- package/dist/TextField-C3r-6jr6.cjs +0 -1
- package/dist/TextField-DtXQQJJk.js +0 -31
- package/dist/Textarea-H6evM8L4.cjs +0 -1
- package/dist/TextareaField-CpqPinvx.js +0 -31
- package/dist/TextareaField-D234Lyi_.cjs +0 -1
- package/dist/Toast-0acAjZTB.js +0 -167
- package/dist/Toast-ndaxbpcV.cjs +0 -1
- package/dist/Tooltip-CCd6VRvZ.cjs +0 -1
- package/dist/VhyxUIProvider-C7ie8u2L.cjs +0 -1
- package/dist/VhyxUIProvider-DVFSW4q-.js +0 -31
- package/dist/jsx-runtime-BRMkMA8J.cjs +0 -22
- package/dist/jsx-runtime-CL69jGNW.js +0 -279
package/dist/Button-DDMc7-3S.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { j as t } from "./jsx-runtime-CL69jGNW.js";
|
|
2
|
-
import z, { useMemo as C } from "react";
|
|
3
|
-
import { buttonContract as p, Slot as S } from "@vhyxui/core";
|
|
4
|
-
import { withAgentContract as g } from "@vhyxseal/react";
|
|
5
|
-
import { S as I } from "./Spinner-BYi9eTfl.js";
|
|
6
|
-
import { u as V } from "./useId-BGRmH6iF.js";
|
|
7
|
-
const E = "_button_z02sw_1", R = "_content_z02sw_57", U = "_spinner_z02sw_196", q = "_icon_z02sw_204", a = {
|
|
8
|
-
button: E,
|
|
9
|
-
content: R,
|
|
10
|
-
spinner: U,
|
|
11
|
-
icon: q
|
|
12
|
-
}, f = z.forwardRef(
|
|
13
|
-
({
|
|
14
|
-
variant: r = "primary",
|
|
15
|
-
size: b = "md",
|
|
16
|
-
loading: n = !1,
|
|
17
|
-
icon: e,
|
|
18
|
-
iconPosition: i = "left",
|
|
19
|
-
iconOnly: s = !1,
|
|
20
|
-
asChild: h = !1,
|
|
21
|
-
contract: u,
|
|
22
|
-
className: x,
|
|
23
|
-
children: c,
|
|
24
|
-
disabled: v,
|
|
25
|
-
id: _,
|
|
26
|
-
"aria-label": d,
|
|
27
|
-
...y
|
|
28
|
-
}, l) => {
|
|
29
|
-
const N = V("vhyx-button"), o = _ ?? N;
|
|
30
|
-
process.env.NODE_ENV !== "production" && s && !d && console.warn(
|
|
31
|
-
"[VhyxUI] <Button iconOnly> requires an aria-label for accessibility. Screen reader users will not be able to identify this button."
|
|
32
|
-
);
|
|
33
|
-
const j = C(() => ({ ...p, id: o, ...r === "destructive" ? { safetyLevel: "high", destructive: !0, requiresConfirmation: !0 } : {}, ...u }), [r, o, u]), w = v ?? n, B = [a.button, x].filter(Boolean).join(" "), m = {
|
|
34
|
-
id: o,
|
|
35
|
-
className: B,
|
|
36
|
-
"aria-busy": n ? !0 : void 0,
|
|
37
|
-
"aria-label": d,
|
|
38
|
-
"data-variant": r,
|
|
39
|
-
"data-size": b,
|
|
40
|
-
"data-loading": n ? !0 : void 0,
|
|
41
|
-
"data-icon-only": s ? !0 : void 0,
|
|
42
|
-
"data-vhyx-contract": JSON.stringify(j),
|
|
43
|
-
...y
|
|
44
|
-
};
|
|
45
|
-
return h ? /* @__PURE__ */ t.jsx(S, { ref: l, ...m, children: c }) : /* @__PURE__ */ t.jsxs("button", { ref: l, disabled: w, ...m, children: [
|
|
46
|
-
n && /* @__PURE__ */ t.jsx(I, { size: "sm", variant: "white", "aria-hidden": "true", label: "", className: a.spinner }),
|
|
47
|
-
e && i === "left" && !s && /* @__PURE__ */ t.jsx("span", { className: a.icon, "aria-hidden": "true", children: e }),
|
|
48
|
-
s && e ? /* @__PURE__ */ t.jsx("span", { className: a.icon, "aria-hidden": "true", children: e }) : !s && /* @__PURE__ */ t.jsx("span", { className: a.content, children: c }),
|
|
49
|
-
e && i === "right" && !s && /* @__PURE__ */ t.jsx("span", { className: a.icon, "aria-hidden": "true", children: e })
|
|
50
|
-
] });
|
|
51
|
-
}
|
|
52
|
-
);
|
|
53
|
-
f.displayName = "VhyxButton";
|
|
54
|
-
const D = { ...p, id: "vhyxui-button" }, A = g(f, D);
|
|
55
|
-
A.displayName = "VhyxButton";
|
|
56
|
-
export {
|
|
57
|
-
A as B
|
|
58
|
-
};
|
package/dist/Button-akOSYEu9.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const t=require("./jsx-runtime-BRMkMA8J.cjs"),b=require("react"),i=require("@vhyxui/core"),C=require("@vhyxseal/react"),z=require("./Spinner-CeIDpqkx.cjs"),S=require("./useId-D2AEOm2G.cjs"),I="_button_z02sw_1",V="_content_z02sw_57",g="_spinner_z02sw_196",D="_icon_z02sw_204",n={button:I,content:V,spinner:g,icon:D},m=b.forwardRef(({variant:a="primary",size:f="md",loading:r=!1,icon:e,iconPosition:u="left",iconOnly:s=!1,asChild:j=!1,contract:c,className:_,children:d,disabled:v,id:y,"aria-label":l,...N},x)=>{const R=S.useId("vhyx-button"),o=y??R;process.env.NODE_ENV!=="production"&&s&&!l&&console.warn("[VhyxUI] <Button iconOnly> requires an aria-label for accessibility. Screen reader users will not be able to identify this button.");const w=b.useMemo(()=>{const B=a==="destructive"?{safetyLevel:"high",destructive:!0,requiresConfirmation:!0}:{};return{...i.buttonContract,id:o,...B,...c}},[a,o,c]),E=v??r,q=[n.button,_].filter(Boolean).join(" "),p={id:o,className:q,"aria-busy":r?!0:void 0,"aria-label":l,"data-variant":a,"data-size":f,"data-loading":r?!0:void 0,"data-icon-only":s?!0:void 0,"data-vhyx-contract":JSON.stringify(w),...N};return j?t.jsxRuntimeExports.jsx(i.Slot,{ref:x,...p,children:d}):t.jsxRuntimeExports.jsxs("button",{ref:x,disabled:E,...p,children:[r&&t.jsxRuntimeExports.jsx(z.Spinner,{size:"sm",variant:"white","aria-hidden":"true",label:"",className:n.spinner}),e&&u==="left"&&!s&&t.jsxRuntimeExports.jsx("span",{className:n.icon,"aria-hidden":"true",children:e}),s&&e?t.jsxRuntimeExports.jsx("span",{className:n.icon,"aria-hidden":"true",children:e}):!s&&t.jsxRuntimeExports.jsx("span",{className:n.content,children:d}),e&&u==="right"&&!s&&t.jsxRuntimeExports.jsx("span",{className:n.icon,"aria-hidden":"true",children:e})]})});m.displayName="VhyxButton";const U={...i.buttonContract,id:"vhyxui-button"},h=C.withAgentContract(m,U);h.displayName="VhyxButton";exports.Button=h;
|
package/dist/Card-DSCA-Igh.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const r=require("./jsx-runtime-BRMkMA8J.cjs"),i=require("react"),y=require("@vhyxui/core"),g=require("@vhyxseal/react"),N=require("./useId-D2AEOm2G.cjs"),q="_card_wvqde_1",R="_header_wvqde_35",b="_body_wvqde_36",B="_footer_wvqde_37",w="_image_wvqde_102",s={card:q,header:R,body:b,footer:B,image:w};function E(e){return i.isValidElement(e)&&(e.type===c||e.type===n||e.type===m||e.type===u)}const l=i.forwardRef(({variant:e="default",padding:t="md",interactive:a=!1,contract:o,className:C,children:d,...f},p)=>{const j=N.useId("vhyx-card"),v={...y.cardContract,id:j,...o},_=[s.card,C].filter(Boolean).join(" "),h=i.Children.toArray(d).some(E)?d:r.jsxRuntimeExports.jsx(n,{children:d});return r.jsxRuntimeExports.jsx("div",{ref:p,className:_,"data-variant":e,"data-padding":t,"data-interactive":a?!0:void 0,"data-vhyx-contract":JSON.stringify(v),...f,children:h})});l.displayName="VhyxCard";function c({children:e,className:t,...a}){const o=[s.header,t].filter(Boolean).join(" ");return r.jsxRuntimeExports.jsx("div",{className:o,...a,children:e})}c.displayName="VhyxCardHeader";function n({children:e,className:t,...a}){const o=[s.body,t].filter(Boolean).join(" ");return r.jsxRuntimeExports.jsx("div",{className:o,...a,children:e})}n.displayName="VhyxCardBody";function m({children:e,className:t,...a}){const o=[s.footer,t].filter(Boolean).join(" ");return r.jsxRuntimeExports.jsx("div",{className:o,...a,children:e})}m.displayName="VhyxCardFooter";function u({children:e,className:t,...a}){const o=[s.image,t].filter(Boolean).join(" ");return r.jsxRuntimeExports.jsx("div",{className:o,...a,children:e})}u.displayName="VhyxCardImage";const V={...y.cardContract,id:"vhyxui-card"},x=Object.assign(g.withAgentContract(l,V),{Header:c,Body:n,Footer:m,Image:u});x.displayName="VhyxCard";exports.Card=x;
|
package/dist/Card-Dh9Pcmfa.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { j as r } from "./jsx-runtime-CL69jGNW.js";
|
|
2
|
-
import i from "react";
|
|
3
|
-
import { cardContract as l } from "@vhyxui/core";
|
|
4
|
-
import { withAgentContract as h } from "@vhyxseal/react";
|
|
5
|
-
import { u as g } from "./useId-BGRmH6iF.js";
|
|
6
|
-
const N = "_card_wvqde_1", b = "_header_wvqde_35", B = "_body_wvqde_36", w = "_footer_wvqde_37", V = "_image_wvqde_102", s = {
|
|
7
|
-
card: N,
|
|
8
|
-
header: b,
|
|
9
|
-
body: B,
|
|
10
|
-
footer: w,
|
|
11
|
-
image: V
|
|
12
|
-
};
|
|
13
|
-
function q(a) {
|
|
14
|
-
return i.isValidElement(a) && (a.type === c || a.type === d || a.type === m || a.type === y);
|
|
15
|
-
}
|
|
16
|
-
const f = i.forwardRef(
|
|
17
|
-
({
|
|
18
|
-
variant: a = "default",
|
|
19
|
-
padding: e = "md",
|
|
20
|
-
interactive: o = !1,
|
|
21
|
-
contract: t,
|
|
22
|
-
className: C,
|
|
23
|
-
children: n,
|
|
24
|
-
...p
|
|
25
|
-
}, u) => {
|
|
26
|
-
const x = g("vhyx-card"), v = {
|
|
27
|
-
...l,
|
|
28
|
-
id: x,
|
|
29
|
-
...t
|
|
30
|
-
}, _ = [s.card, C].filter(Boolean).join(" "), j = i.Children.toArray(n).some(q) ? n : /* @__PURE__ */ r.jsx(d, { children: n });
|
|
31
|
-
return /* @__PURE__ */ r.jsx(
|
|
32
|
-
"div",
|
|
33
|
-
{
|
|
34
|
-
ref: u,
|
|
35
|
-
className: _,
|
|
36
|
-
"data-variant": a,
|
|
37
|
-
"data-padding": e,
|
|
38
|
-
"data-interactive": o ? !0 : void 0,
|
|
39
|
-
"data-vhyx-contract": JSON.stringify(v),
|
|
40
|
-
...p,
|
|
41
|
-
children: j
|
|
42
|
-
}
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
);
|
|
46
|
-
f.displayName = "VhyxCard";
|
|
47
|
-
function c({ children: a, className: e, ...o }) {
|
|
48
|
-
const t = [s.header, e].filter(Boolean).join(" ");
|
|
49
|
-
return /* @__PURE__ */ r.jsx("div", { className: t, ...o, children: a });
|
|
50
|
-
}
|
|
51
|
-
c.displayName = "VhyxCardHeader";
|
|
52
|
-
function d({ children: a, className: e, ...o }) {
|
|
53
|
-
const t = [s.body, e].filter(Boolean).join(" ");
|
|
54
|
-
return /* @__PURE__ */ r.jsx("div", { className: t, ...o, children: a });
|
|
55
|
-
}
|
|
56
|
-
d.displayName = "VhyxCardBody";
|
|
57
|
-
function m({ children: a, className: e, ...o }) {
|
|
58
|
-
const t = [s.footer, e].filter(Boolean).join(" ");
|
|
59
|
-
return /* @__PURE__ */ r.jsx("div", { className: t, ...o, children: a });
|
|
60
|
-
}
|
|
61
|
-
m.displayName = "VhyxCardFooter";
|
|
62
|
-
function y({ children: a, className: e, ...o }) {
|
|
63
|
-
const t = [s.image, e].filter(Boolean).join(" ");
|
|
64
|
-
return /* @__PURE__ */ r.jsx("div", { className: t, ...o, children: a });
|
|
65
|
-
}
|
|
66
|
-
y.displayName = "VhyxCardImage";
|
|
67
|
-
const I = { ...l, id: "vhyxui-card" }, S = Object.assign(
|
|
68
|
-
h(f, I),
|
|
69
|
-
{
|
|
70
|
-
Header: c,
|
|
71
|
-
Body: d,
|
|
72
|
-
Footer: m,
|
|
73
|
-
Image: y
|
|
74
|
-
}
|
|
75
|
-
);
|
|
76
|
-
S.displayName = "VhyxCard";
|
|
77
|
-
export {
|
|
78
|
-
S as C
|
|
79
|
-
};
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { j as e } from "./jsx-runtime-CL69jGNW.js";
|
|
2
|
-
import M, { useState as V, useCallback as W } from "react";
|
|
3
|
-
import { checkboxContract as l, Slot as z } from "@vhyxui/core";
|
|
4
|
-
import { withAgentContract as A } from "@vhyxseal/react";
|
|
5
|
-
import { u as E } from "./useId-BGRmH6iF.js";
|
|
6
|
-
const J = "_checkbox_1jvht_1", O = "_indicator_1jvht_71", r = {
|
|
7
|
-
checkbox: J,
|
|
8
|
-
indicator: O,
|
|
9
|
-
"check-icon": "_check-icon_1jvht_80"
|
|
10
|
-
};
|
|
11
|
-
function P() {
|
|
12
|
-
return /* @__PURE__ */ e.jsx(
|
|
13
|
-
"svg",
|
|
14
|
-
{
|
|
15
|
-
"aria-hidden": "true",
|
|
16
|
-
viewBox: "0 0 12 12",
|
|
17
|
-
fill: "none",
|
|
18
|
-
stroke: "currentColor",
|
|
19
|
-
strokeWidth: 2,
|
|
20
|
-
strokeLinecap: "round",
|
|
21
|
-
strokeLinejoin: "round",
|
|
22
|
-
className: r["check-icon"],
|
|
23
|
-
children: /* @__PURE__ */ e.jsx("polyline", { points: "2,6 5,9 10,3" })
|
|
24
|
-
}
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
function q() {
|
|
28
|
-
return /* @__PURE__ */ e.jsx(
|
|
29
|
-
"svg",
|
|
30
|
-
{
|
|
31
|
-
"aria-hidden": "true",
|
|
32
|
-
viewBox: "0 0 12 12",
|
|
33
|
-
fill: "none",
|
|
34
|
-
stroke: "currentColor",
|
|
35
|
-
strokeWidth: 2,
|
|
36
|
-
strokeLinecap: "round",
|
|
37
|
-
className: r["check-icon"],
|
|
38
|
-
children: /* @__PURE__ */ e.jsx("line", { x1: "2", y1: "6", x2: "10", y2: "6" })
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
const k = M.forwardRef(
|
|
43
|
-
({
|
|
44
|
-
checked: a,
|
|
45
|
-
defaultChecked: u = !1,
|
|
46
|
-
onCheckedChange: o,
|
|
47
|
-
indeterminate: m = !1,
|
|
48
|
-
size: f = "md",
|
|
49
|
-
asChild: b = !1,
|
|
50
|
-
contract: j,
|
|
51
|
-
className: p,
|
|
52
|
-
id: y,
|
|
53
|
-
disabled: i,
|
|
54
|
-
onClick: c,
|
|
55
|
-
children: v,
|
|
56
|
-
..._
|
|
57
|
-
}, d) => {
|
|
58
|
-
const N = E("vhyx-checkbox"), x = y ?? N, s = a !== void 0, [C, S] = V(u), t = m ? "indeterminate" : s ? a : C, I = t === "indeterminate" ? "mixed" : t, w = W(
|
|
59
|
-
(R) => {
|
|
60
|
-
if (c == null || c(R), i) return;
|
|
61
|
-
let n;
|
|
62
|
-
t === "indeterminate" ? n = !0 : n = !t, s || S(n), o == null || o(n);
|
|
63
|
-
},
|
|
64
|
-
[c, i, t, s, o]
|
|
65
|
-
), B = {
|
|
66
|
-
...l,
|
|
67
|
-
id: x,
|
|
68
|
-
...j
|
|
69
|
-
}, L = [r.checkbox, p].filter(Boolean).join(" "), h = {
|
|
70
|
-
id: x,
|
|
71
|
-
role: "checkbox",
|
|
72
|
-
"aria-checked": I,
|
|
73
|
-
disabled: i,
|
|
74
|
-
onClick: w,
|
|
75
|
-
className: L,
|
|
76
|
-
"data-state": t === "indeterminate" ? "indeterminate" : t ? "checked" : "unchecked",
|
|
77
|
-
"data-size": f,
|
|
78
|
-
"data-vhyx-contract": JSON.stringify(B),
|
|
79
|
-
..._
|
|
80
|
-
};
|
|
81
|
-
return b ? /* @__PURE__ */ e.jsx(z, { ref: d, ...h, children: v }) : /* @__PURE__ */ e.jsx("button", { ref: d, type: "button", ...h, children: /* @__PURE__ */ e.jsxs("span", { className: r.indicator, children: [
|
|
82
|
-
t === "indeterminate" && /* @__PURE__ */ e.jsx(q, {}),
|
|
83
|
-
t === !0 && /* @__PURE__ */ e.jsx(P, {})
|
|
84
|
-
] }) });
|
|
85
|
-
}
|
|
86
|
-
);
|
|
87
|
-
k.displayName = "VhyxCheckbox";
|
|
88
|
-
const D = { ...l, id: "vhyxui-checkbox" }, F = A(k, D);
|
|
89
|
-
F.displayName = "VhyxCheckbox";
|
|
90
|
-
export {
|
|
91
|
-
F as C
|
|
92
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const t=require("./jsx-runtime-BRMkMA8J.cjs"),a=require("react"),x=require("@vhyxui/core"),M=require("@vhyxseal/react"),V=require("./useId-D2AEOm2G.cjs"),W="_checkbox_1jvht_1",z="_indicator_1jvht_71",r={checkbox:W,indicator:z,"check-icon":"_check-icon_1jvht_80"};function A(){return t.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:r["check-icon"],children:t.jsxRuntimeExports.jsx("polyline",{points:"2,6 5,9 10,3"})})}function J(){return t.jsxRuntimeExports.jsx("svg",{"aria-hidden":"true",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",className:r["check-icon"],children:t.jsxRuntimeExports.jsx("line",{x1:"2",y1:"6",x2:"10",y2:"6"})})}const k=a.forwardRef(({checked:d,defaultChecked:j=!1,onCheckedChange:n,indeterminate:b=!1,size:p="md",asChild:f=!1,contract:y,className:v,id:R,disabled:o,onClick:c,children:E,..._},u)=>{const C=V.useId("vhyx-checkbox"),h=R??C,i=d!==void 0,[N,I]=a.useState(j),e=b?"indeterminate":i?d:N,S=e==="indeterminate"?"mixed":e,q=a.useCallback(L=>{if(c==null||c(L),o)return;let s;e==="indeterminate"?s=!0:s=!e,i||I(s),n==null||n(s)},[c,o,e,i,n]),w={...x.checkboxContract,id:h,...y},B=[r.checkbox,v].filter(Boolean).join(" "),l={id:h,role:"checkbox","aria-checked":S,disabled:o,onClick:q,className:B,"data-state":e==="indeterminate"?"indeterminate":e?"checked":"unchecked","data-size":p,"data-vhyx-contract":JSON.stringify(w),..._};return f?t.jsxRuntimeExports.jsx(x.Slot,{ref:u,...l,children:E}):t.jsxRuntimeExports.jsx("button",{ref:u,type:"button",...l,children:t.jsxRuntimeExports.jsxs("span",{className:r.indicator,children:[e==="indeterminate"&&t.jsxRuntimeExports.jsx(J,{}),e===!0&&t.jsxRuntimeExports.jsx(A,{})]})})});k.displayName="VhyxCheckbox";const O={...x.checkboxContract,id:"vhyxui-checkbox"},m=M.withAgentContract(k,O);m.displayName="VhyxCheckbox";exports.Checkbox=m;
|
package/dist/Dialog-CtYu14zl.js
DELETED
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import { j as u } from "./jsx-runtime-CL69jGNW.js";
|
|
2
|
-
import D, { useState as $, useRef as _, useCallback as x, useEffect as m, useMemo as j, createContext as q, useContext as K } from "react";
|
|
3
|
-
import X from "react-dom";
|
|
4
|
-
import { dialogContract as E, Slot as T, VhyxUIError as G, VhyxUIErrorCode as J } from "@vhyxui/core";
|
|
5
|
-
import { withAgentContract as W } from "@vhyxseal/react";
|
|
6
|
-
import { u as Y } from "./useId-BGRmH6iF.js";
|
|
7
|
-
const Q = "_trigger_18zu7_3", Z = "_overlay_18zu7_12", k = "_content_18zu7_24", ee = "_header_18zu7_56", te = "_footer_18zu7_65", oe = "_title_18zu7_75", ne = "_description_18zu7_86", re = "_close_18zu7_96", g = {
|
|
8
|
-
trigger: Q,
|
|
9
|
-
overlay: Z,
|
|
10
|
-
content: k,
|
|
11
|
-
header: ee,
|
|
12
|
-
footer: te,
|
|
13
|
-
title: oe,
|
|
14
|
-
description: ne,
|
|
15
|
-
close: re
|
|
16
|
-
}, w = q(null);
|
|
17
|
-
function p(t) {
|
|
18
|
-
const r = K(w);
|
|
19
|
-
if (!r)
|
|
20
|
-
throw new G({
|
|
21
|
-
code: J.VHYXUI_MISSING_CONTEXT,
|
|
22
|
-
message: `${t} must be used within <Dialog>`,
|
|
23
|
-
suggestion: "Wrap your component tree with <Dialog>"
|
|
24
|
-
});
|
|
25
|
-
return r;
|
|
26
|
-
}
|
|
27
|
-
const I = D.forwardRef(
|
|
28
|
-
({
|
|
29
|
-
open: t,
|
|
30
|
-
defaultOpen: r = !1,
|
|
31
|
-
onOpenChange: o,
|
|
32
|
-
modal: n = !0,
|
|
33
|
-
size: e = "md",
|
|
34
|
-
contract: a,
|
|
35
|
-
children: i
|
|
36
|
-
}, f) => {
|
|
37
|
-
const s = Y("vhyx-dialog"), c = `${s}-title`, d = `${s}-description`, l = t !== void 0, [v, b] = $(r), h = l ? t : v, C = _(null), H = _(!1), N = x(
|
|
38
|
-
(y) => {
|
|
39
|
-
l || b(y), o == null || o(y);
|
|
40
|
-
},
|
|
41
|
-
[l, o]
|
|
42
|
-
);
|
|
43
|
-
m(() => {
|
|
44
|
-
if (h) return;
|
|
45
|
-
const y = C.current;
|
|
46
|
-
y && document.body.contains(y) && y.focus();
|
|
47
|
-
}, [h]);
|
|
48
|
-
const L = j(
|
|
49
|
-
() => ({ ...E, id: s, ...a }),
|
|
50
|
-
[s, a]
|
|
51
|
-
), M = j(
|
|
52
|
-
() => ({
|
|
53
|
-
open: h,
|
|
54
|
-
onOpenChange: N,
|
|
55
|
-
modal: n,
|
|
56
|
-
size: e,
|
|
57
|
-
titleId: c,
|
|
58
|
-
descriptionId: d,
|
|
59
|
-
triggerRef: C,
|
|
60
|
-
hasTitleRef: H
|
|
61
|
-
}),
|
|
62
|
-
[h, N, n, e, c, d]
|
|
63
|
-
);
|
|
64
|
-
return /* @__PURE__ */ u.jsx(w.Provider, { value: M, children: /* @__PURE__ */ u.jsx(
|
|
65
|
-
"div",
|
|
66
|
-
{
|
|
67
|
-
ref: f,
|
|
68
|
-
"data-state": h ? "open" : "closed",
|
|
69
|
-
"data-vhyx-contract": JSON.stringify(L),
|
|
70
|
-
children: i
|
|
71
|
-
}
|
|
72
|
-
) });
|
|
73
|
-
}
|
|
74
|
-
);
|
|
75
|
-
I.displayName = "VhyxDialog";
|
|
76
|
-
const V = D.forwardRef(
|
|
77
|
-
({ children: t, className: r, onClick: o, asChild: n = !1, ...e }, a) => {
|
|
78
|
-
const i = p("Dialog.Trigger"), f = x(
|
|
79
|
-
(l) => {
|
|
80
|
-
i.triggerRef.current = l, typeof a == "function" ? a(l) : a && (a.current = l);
|
|
81
|
-
},
|
|
82
|
-
[a, i.triggerRef]
|
|
83
|
-
), s = x(
|
|
84
|
-
(l) => {
|
|
85
|
-
o == null || o(l), i.onOpenChange(!0);
|
|
86
|
-
},
|
|
87
|
-
[o, i]
|
|
88
|
-
), c = [g.trigger, r].filter(Boolean).join(" "), d = {
|
|
89
|
-
"aria-haspopup": "dialog",
|
|
90
|
-
"aria-expanded": i.open,
|
|
91
|
-
onClick: s,
|
|
92
|
-
className: c,
|
|
93
|
-
...e
|
|
94
|
-
};
|
|
95
|
-
return n ? /* @__PURE__ */ u.jsx(T, { ref: f, ...d, children: t }) : /* @__PURE__ */ u.jsx("button", { ref: f, type: "button", ...d, children: t });
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
V.displayName = "VhyxDialogTrigger";
|
|
99
|
-
function O({ children: t }) {
|
|
100
|
-
return p("Dialog.Portal").open ? X.createPortal(t, document.body) : null;
|
|
101
|
-
}
|
|
102
|
-
O.displayName = "VhyxDialogPortal";
|
|
103
|
-
const S = D.forwardRef(
|
|
104
|
-
({ className: t, onClick: r, ...o }, n) => {
|
|
105
|
-
const e = p("Dialog.Overlay"), a = x(
|
|
106
|
-
(f) => {
|
|
107
|
-
r == null || r(f), e.onOpenChange(!1);
|
|
108
|
-
},
|
|
109
|
-
[r, e]
|
|
110
|
-
), i = [g.overlay, t].filter(Boolean).join(" ");
|
|
111
|
-
return /* @__PURE__ */ u.jsx(
|
|
112
|
-
"div",
|
|
113
|
-
{
|
|
114
|
-
ref: n,
|
|
115
|
-
className: i,
|
|
116
|
-
"data-state": "open",
|
|
117
|
-
onClick: a,
|
|
118
|
-
"aria-hidden": "true",
|
|
119
|
-
...o
|
|
120
|
-
}
|
|
121
|
-
);
|
|
122
|
-
}
|
|
123
|
-
);
|
|
124
|
-
S.displayName = "VhyxDialogOverlay";
|
|
125
|
-
const se = 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
126
|
-
function R(t) {
|
|
127
|
-
return Array.from(t.querySelectorAll(se));
|
|
128
|
-
}
|
|
129
|
-
const z = D.forwardRef(
|
|
130
|
-
({ children: t, className: r, ...o }, n) => {
|
|
131
|
-
const e = p("Dialog.Content"), a = _(null), i = x(
|
|
132
|
-
(s) => {
|
|
133
|
-
a.current = s, typeof n == "function" ? n(s) : n && (n.current = s);
|
|
134
|
-
},
|
|
135
|
-
[n]
|
|
136
|
-
);
|
|
137
|
-
m(() => {
|
|
138
|
-
if (!e.open) return;
|
|
139
|
-
const s = document.body.style.overflow;
|
|
140
|
-
return document.body.style.overflow = "hidden", () => {
|
|
141
|
-
document.body.style.overflow = s;
|
|
142
|
-
};
|
|
143
|
-
}, [e.open]), m(() => {
|
|
144
|
-
var c;
|
|
145
|
-
if (!e.open || !a.current) return;
|
|
146
|
-
const s = R(a.current);
|
|
147
|
-
s.length > 0 ? (c = s[0]) == null || c.focus() : a.current.focus();
|
|
148
|
-
}, [e.open]), m(() => {
|
|
149
|
-
e.open && process.env.NODE_ENV !== "production" && !e.hasTitleRef.current && console.warn(
|
|
150
|
-
"[VhyxUI] <Dialog.Content> requires <Dialog.Title> for accessibility. Screen reader users need a title to understand the dialog purpose."
|
|
151
|
-
);
|
|
152
|
-
}, [e.open, e.hasTitleRef]), m(() => {
|
|
153
|
-
if (!e.open || !a.current) return;
|
|
154
|
-
const s = a.current;
|
|
155
|
-
function c(d) {
|
|
156
|
-
if (d.key === "Escape") {
|
|
157
|
-
e.onOpenChange(!1);
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
if (d.key !== "Tab") return;
|
|
161
|
-
const l = R(s);
|
|
162
|
-
if (l.length === 0) return;
|
|
163
|
-
const v = l[0], b = l[l.length - 1];
|
|
164
|
-
d.shiftKey ? (document.activeElement === v || !s.contains(document.activeElement)) && (d.preventDefault(), b.focus()) : (document.activeElement === b || !s.contains(document.activeElement)) && (d.preventDefault(), v.focus());
|
|
165
|
-
}
|
|
166
|
-
return document.addEventListener("keydown", c), () => document.removeEventListener("keydown", c);
|
|
167
|
-
}, [e.open, e.onOpenChange]);
|
|
168
|
-
const f = [g.content, r].filter(Boolean).join(" ");
|
|
169
|
-
return /* @__PURE__ */ u.jsx(
|
|
170
|
-
"div",
|
|
171
|
-
{
|
|
172
|
-
ref: i,
|
|
173
|
-
role: "dialog",
|
|
174
|
-
"aria-modal": e.modal ? !0 : void 0,
|
|
175
|
-
"aria-labelledby": e.titleId,
|
|
176
|
-
"aria-describedby": e.descriptionId,
|
|
177
|
-
tabIndex: -1,
|
|
178
|
-
className: f,
|
|
179
|
-
"data-state": "open",
|
|
180
|
-
"data-size": e.size,
|
|
181
|
-
...o,
|
|
182
|
-
children: t
|
|
183
|
-
}
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
);
|
|
187
|
-
z.displayName = "VhyxDialogContent";
|
|
188
|
-
function B({ children: t, className: r, ...o }) {
|
|
189
|
-
const n = [g.header, r].filter(Boolean).join(" ");
|
|
190
|
-
return /* @__PURE__ */ u.jsx("div", { className: n, ...o, children: t });
|
|
191
|
-
}
|
|
192
|
-
B.displayName = "VhyxDialogHeader";
|
|
193
|
-
function P({ children: t, className: r, ...o }) {
|
|
194
|
-
const n = [g.footer, r].filter(Boolean).join(" ");
|
|
195
|
-
return /* @__PURE__ */ u.jsx("div", { className: n, ...o, children: t });
|
|
196
|
-
}
|
|
197
|
-
P.displayName = "VhyxDialogFooter";
|
|
198
|
-
function F({ children: t, className: r, ...o }) {
|
|
199
|
-
const n = p("Dialog.Title");
|
|
200
|
-
m(() => (n.hasTitleRef.current = !0, () => {
|
|
201
|
-
n.hasTitleRef.current = !1;
|
|
202
|
-
}), [n.hasTitleRef]);
|
|
203
|
-
const e = [g.title, r].filter(Boolean).join(" ");
|
|
204
|
-
return /* @__PURE__ */ u.jsx("h2", { id: n.titleId, className: e, ...o, children: t });
|
|
205
|
-
}
|
|
206
|
-
F.displayName = "VhyxDialogTitle";
|
|
207
|
-
function U({ children: t, className: r, ...o }) {
|
|
208
|
-
const n = p("Dialog.Description"), e = [g.description, r].filter(Boolean).join(" ");
|
|
209
|
-
return /* @__PURE__ */ u.jsx("p", { id: n.descriptionId, className: e, ...o, children: t });
|
|
210
|
-
}
|
|
211
|
-
U.displayName = "VhyxDialogDescription";
|
|
212
|
-
const A = D.forwardRef(
|
|
213
|
-
({ children: t, className: r, onClick: o, asChild: n = !1, ...e }, a) => {
|
|
214
|
-
const i = p("Dialog.Close"), f = x(
|
|
215
|
-
(d) => {
|
|
216
|
-
o == null || o(d), i.onOpenChange(!1);
|
|
217
|
-
},
|
|
218
|
-
[o, i]
|
|
219
|
-
), s = [g.close, r].filter(Boolean).join(" "), c = {
|
|
220
|
-
onClick: f,
|
|
221
|
-
className: s,
|
|
222
|
-
...e
|
|
223
|
-
};
|
|
224
|
-
return n ? /* @__PURE__ */ u.jsx(T, { ref: a, ...c, children: t }) : /* @__PURE__ */ u.jsx("button", { ref: a, type: "button", ...c, children: t ?? "Close" });
|
|
225
|
-
}
|
|
226
|
-
);
|
|
227
|
-
A.displayName = "VhyxDialogClose";
|
|
228
|
-
const ae = { ...E, id: "vhyxui-dialog" }, ie = Object.assign(
|
|
229
|
-
W(I, ae),
|
|
230
|
-
{
|
|
231
|
-
Trigger: V,
|
|
232
|
-
Portal: O,
|
|
233
|
-
Overlay: S,
|
|
234
|
-
Content: z,
|
|
235
|
-
Header: B,
|
|
236
|
-
Footer: P,
|
|
237
|
-
Title: F,
|
|
238
|
-
Description: U,
|
|
239
|
-
Close: A
|
|
240
|
-
}
|
|
241
|
-
);
|
|
242
|
-
ie.displayName = "VhyxDialog";
|
|
243
|
-
export {
|
|
244
|
-
ie as D
|
|
245
|
-
};
|
package/dist/Dialog-gPT4noD8.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const f=require("./jsx-runtime-BRMkMA8J.cjs"),s=require("react"),U=require("react-dom"),m=require("@vhyxui/core"),A=require("@vhyxseal/react"),H=require("./useId-D2AEOm2G.cjs"),L="_trigger_18zu7_3",M="_overlay_18zu7_12",$="_content_18zu7_24",K="_header_18zu7_56",X="_footer_18zu7_65",k="_title_18zu7_75",G="_description_18zu7_86",J="_close_18zu7_96",p={trigger:L,overlay:M,content:$,header:K,footer:X,title:k,description:G,close:J},j=s.createContext(null);function x(t){const r=s.useContext(j);if(!r)throw new m.VhyxUIError({code:m.VhyxUIErrorCode.VHYXUI_MISSING_CONTEXT,message:`${t} must be used within <Dialog>`,suggestion:"Wrap your component tree with <Dialog>"});return r}const C=s.forwardRef(({open:t,defaultOpen:r=!1,onOpenChange:o,modal:n=!0,size:e="md",contract:i,children:l},g)=>{const a=H.useId("vhyx-dialog"),u=`${a}-title`,d=`${a}-description`,c=t!==void 0,[D,R]=s.useState(r),h=c?t:D,v=s.useRef(null),q=s.useRef(!1),E=s.useCallback(y=>{c||R(y),o==null||o(y)},[c,o]);s.useEffect(()=>{if(h)return;const y=v.current;y&&document.body.contains(y)&&y.focus()},[h]);const P=s.useMemo(()=>({...m.dialogContract,id:a,...i}),[a,i]),F=s.useMemo(()=>({open:h,onOpenChange:E,modal:n,size:e,titleId:u,descriptionId:d,triggerRef:v,hasTitleRef:q}),[h,E,n,e,u,d]);return f.jsxRuntimeExports.jsx(j.Provider,{value:F,children:f.jsxRuntimeExports.jsx("div",{ref:g,"data-state":h?"open":"closed","data-vhyx-contract":JSON.stringify(P),children:l})})});C.displayName="VhyxDialog";const _=s.forwardRef(({children:t,className:r,onClick:o,asChild:n=!1,...e},i)=>{const l=x("Dialog.Trigger"),g=s.useCallback(c=>{l.triggerRef.current=c,typeof i=="function"?i(c):i&&(i.current=c)},[i,l.triggerRef]),a=s.useCallback(c=>{o==null||o(c),l.onOpenChange(!0)},[o,l]),u=[p.trigger,r].filter(Boolean).join(" "),d={"aria-haspopup":"dialog","aria-expanded":l.open,onClick:a,className:u,...e};return n?f.jsxRuntimeExports.jsx(m.Slot,{ref:g,...d,children:t}):f.jsxRuntimeExports.jsx("button",{ref:g,type:"button",...d,children:t})});_.displayName="VhyxDialogTrigger";function N({children:t}){return x("Dialog.Portal").open?U.createPortal(t,document.body):null}N.displayName="VhyxDialogPortal";const T=s.forwardRef(({className:t,onClick:r,...o},n)=>{const e=x("Dialog.Overlay"),i=s.useCallback(g=>{r==null||r(g),e.onOpenChange(!1)},[r,e]),l=[p.overlay,t].filter(Boolean).join(" ");return f.jsxRuntimeExports.jsx("div",{ref:n,className:l,"data-state":"open",onClick:i,"aria-hidden":"true",...o})});T.displayName="VhyxDialogOverlay";const W='button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';function b(t){return Array.from(t.querySelectorAll(W))}const w=s.forwardRef(({children:t,className:r,...o},n)=>{const e=x("Dialog.Content"),i=s.useRef(null),l=s.useCallback(a=>{i.current=a,typeof n=="function"?n(a):n&&(n.current=a)},[n]);s.useEffect(()=>{if(!e.open)return;const a=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=a}},[e.open]),s.useEffect(()=>{var u;if(!e.open||!i.current)return;const a=b(i.current);a.length>0?(u=a[0])==null||u.focus():i.current.focus()},[e.open]),s.useEffect(()=>{e.open&&process.env.NODE_ENV!=="production"&&!e.hasTitleRef.current&&console.warn("[VhyxUI] <Dialog.Content> requires <Dialog.Title> for accessibility. Screen reader users need a title to understand the dialog purpose.")},[e.open,e.hasTitleRef]),s.useEffect(()=>{if(!e.open||!i.current)return;const a=i.current;function u(d){if(d.key==="Escape"){e.onOpenChange(!1);return}if(d.key!=="Tab")return;const c=b(a);if(c.length===0)return;const D=c[0],R=c[c.length-1];d.shiftKey?(document.activeElement===D||!a.contains(document.activeElement))&&(d.preventDefault(),R.focus()):(document.activeElement===R||!a.contains(document.activeElement))&&(d.preventDefault(),D.focus())}return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[e.open,e.onOpenChange]);const g=[p.content,r].filter(Boolean).join(" ");return f.jsxRuntimeExports.jsx("div",{ref:l,role:"dialog","aria-modal":e.modal?!0:void 0,"aria-labelledby":e.titleId,"aria-describedby":e.descriptionId,tabIndex:-1,className:g,"data-state":"open","data-size":e.size,...o,children:t})});w.displayName="VhyxDialogContent";function I({children:t,className:r,...o}){const n=[p.header,r].filter(Boolean).join(" ");return f.jsxRuntimeExports.jsx("div",{className:n,...o,children:t})}I.displayName="VhyxDialogHeader";function V({children:t,className:r,...o}){const n=[p.footer,r].filter(Boolean).join(" ");return f.jsxRuntimeExports.jsx("div",{className:n,...o,children:t})}V.displayName="VhyxDialogFooter";function O({children:t,className:r,...o}){const n=x("Dialog.Title");s.useEffect(()=>(n.hasTitleRef.current=!0,()=>{n.hasTitleRef.current=!1}),[n.hasTitleRef]);const e=[p.title,r].filter(Boolean).join(" ");return f.jsxRuntimeExports.jsx("h2",{id:n.titleId,className:e,...o,children:t})}O.displayName="VhyxDialogTitle";function S({children:t,className:r,...o}){const n=x("Dialog.Description"),e=[p.description,r].filter(Boolean).join(" ");return f.jsxRuntimeExports.jsx("p",{id:n.descriptionId,className:e,...o,children:t})}S.displayName="VhyxDialogDescription";const z=s.forwardRef(({children:t,className:r,onClick:o,asChild:n=!1,...e},i)=>{const l=x("Dialog.Close"),g=s.useCallback(d=>{o==null||o(d),l.onOpenChange(!1)},[o,l]),a=[p.close,r].filter(Boolean).join(" "),u={onClick:g,className:a,...e};return n?f.jsxRuntimeExports.jsx(m.Slot,{ref:i,...u,children:t}):f.jsxRuntimeExports.jsx("button",{ref:i,type:"button",...u,children:t??"Close"})});z.displayName="VhyxDialogClose";const Y={...m.dialogContract,id:"vhyxui-dialog"},B=Object.assign(A.withAgentContract(C,Y),{Trigger:_,Portal:N,Overlay:T,Content:w,Header:I,Footer:V,Title:O,Description:S,Close:z});B.displayName="VhyxDialog";exports.Dialog=B;
|