@uva-glass/component-library
Version:
React components UvA
168 lines (167 loc) • 9.83 kB
JavaScript
import { jsxs as o, jsx as e } from "react/jsx-runtime";
import { OverlayProvider as P } from "@react-aria/overlays";
import { useState as N, useRef as V, useEffect as j, useCallback as f } from "react";
import { PageOverlay as v } from "./PageOverlay.js";
import { Button as l } from "../Buttons/Button.js";
import "../Buttons/LinkButton.js";
import "@react-aria/button";
import { ButtonGroup as O } from "../ButtonGroup/ButtonGroup.js";
import { InputField as M } from "../InputField/InputField.js";
import { GridRow as b } from "../GridRow/GridRow.js";
import { Repeater as T } from "../Repeater/Repeater.js";
function I(t, s, i) {
let [n, c] = N(t || s), m = V(t !== void 0), a = t !== void 0;
j(() => {
let u = m.current;
u !== a && console.warn(`WARN: A component changed from ${u ? "controlled" : "uncontrolled"} to ${a ? "controlled" : "uncontrolled"}.`), m.current = a;
}, [
a
]);
let r = a ? t : n, y = f((u, ...h) => {
let q = (d, ...p) => {
i && (Object.is(r, d) || i(d, ...p)), a || (r = d);
};
typeof u == "function" ? (console.warn("We can not support a function callback. See Github Issues for details https://github.com/adobe/react-spectrum/issues/2320"), c((p, ...A) => {
let C = u(a ? r : p, ...A);
return q(C, ...h), a ? p : C;
})) : (a || c(u), q(u, ...h));
}, [
a,
r,
i
]);
return [
r,
y
];
}
function S(t) {
let [s, i] = I(t.isOpen, t.defaultOpen || !1, t.onOpenChange);
const n = f(() => {
i(!0);
}, [
i
]), c = f(() => {
i(!1);
}, [
i
]), m = f(() => {
i(!s);
}, [
i,
s
]);
return {
isOpen: s,
setOpen: i,
open: n,
close: c,
toggle: m
};
}
const k = `
<PageOverlay isOpen={isOpen} title={title} onClose={onCloseFunction}
onSubmit={onSubmitFunction} buttons={buttons}> {children} </PageOverlay>
`, Y = {
title: "Molecules/PageOverlay",
component: v,
argTypes: {
isOpen: {
table: {
disable: !0
}
},
noValidate: {
control: "boolean"
},
onSubmit: {
table: {
disable: !0
}
},
onClose: {
table: {
disable: !0
}
},
buttons: {
table: {
disable: !0
}
}
},
parameters: {
inspectComponent: v,
codeString: k
}
}, x = (t) => {
const { open: s, close: i, isOpen: n } = S({});
return /* @__PURE__ */ o(P, { children: [
/* @__PURE__ */ e(l, { variant: "primary", onClick: () => s(), children: "Open PageOverlay" }),
/* @__PURE__ */ e(
v,
{
...t,
isOpen: n,
buttons: /* @__PURE__ */ o(O, { reversed: !0, children: [
/* @__PURE__ */ e(l, { variant: "primary", onClick: () => i(), children: "OK" }),
/* @__PURE__ */ e(l, { variant: "secondary", onClick: () => i(), children: "Cancel" })
] }),
onClose: () => i(),
children: "Your content goes here"
}
)
] });
}, g = {
title: "Example Title",
closeButtonAriaValueText: "Close",
noValidate: !1
}, $ = x.bind({});
$.args = {
...g
};
const F = x.bind({});
F.args = {
...g,
isLoading: !0,
spinnerAriaValueText: "Loading"
};
const L = (t) => {
const { open: s, close: i, isOpen: n } = S({});
return /* @__PURE__ */ o(P, { children: [
/* @__PURE__ */ e(l, { variant: "primary", onClick: () => s(), children: "Open PageOverlay" }),
/* @__PURE__ */ e(
v,
{
...t,
isOpen: n,
buttons: /* @__PURE__ */ e(b, { children: /* @__PURE__ */ e(b.Column, { size: "8", mediumSize: "9", startPositon: "2", mediumStartPosition: "3", children: /* @__PURE__ */ o(O, { reversed: !0, children: [
/* @__PURE__ */ e(l, { variant: "primary", onClick: () => i(), children: "OK" }),
/* @__PURE__ */ e(l, { variant: "secondary", onClick: () => i(), children: "Cancel" })
] }) }) }),
onClose: () => i(),
children: /* @__PURE__ */ e(b, { marginTop: "100", children: /* @__PURE__ */ e(b.Column, { size: "8", mediumSize: "9", startPositon: "2", mediumStartPosition: "3", children: /* @__PURE__ */ o(T, { gap: "100", children: [
/* @__PURE__ */ e("div", { children: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ac dui et nibh eleifend ultricies a id nulla. Pellentesque eleifend sem a tellus dictum tempus. Proin non leo id risus placerat vulputate at ac erat. Ut fringilla imperdiet sollicitudin. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Gijs molestie ante ac magna ornare rhoncus non at quam. Mauris elementum luctus euismod. Pellentesque molestie malesuada purus, sed egestas lacus interdum sit amet. Morbi blandit lacus sit amet dictum pulvinar. Ut semper nunc ac enim imperdiet, non interdum diam gravida. In nunc tortor, mollis ac molestie dignissim, elementum sed quam. Suspendisse mollis venenatis Laura, pellentesque vestibulum elit consequat et. Aliquam fringilla tellus id libero tempus, sit amet suscipit augue tristique. Quisque cursus neque vel justo tristique, eget semper turpis elementum. Etiam venenatis mattis sapien ac mattis. Mauris vitae ultrices erat." }),
/* @__PURE__ */ e("div", { children: "Aliquam facilisis massa sed justo rhoncus bibendum. Sed lobortis urna orci, vitae porta leo placerat nec. Nam porta porttitor ornare. Suspendisse vehicula nunc nec egestas finibus. Aliquam non luctus risus. Pien ac diam tincidunt, bibendum sem eget, sollicitudin neque. Curabitur mauris risus, feugiat ac euismod non, vulputate ac justo. Curabitur pretium vehicula augue, blandit porta odio rutrum sit amet. Proin semper enim ut sapien tempor, a ornare ipsum faucibus." }),
/* @__PURE__ */ e(l, { variant: "primary", children: "Test Button" }),
/* @__PURE__ */ e("div", { children: "Cras bibendum arcu vitae nulla venenatis, at cursus urna dapibus. In hac habitasse platea dictumst. In porttitor at lectus nec rhoncus. In hac habitasse platea dictumst. Sed nec lectus neque. Aliquam erat volutpat. Morbi elit orci, ultricies a porttitor eget, eleifend eu metus. Maarten sollicitudin vitae massa a tempor. Aliquam dignissim metus id sem sollicitudin, eget lacinia nulla imperdiet. Nullam nec vestibulum eros, ut aliquam libero. Nulla hendrerit cursus ante id auctor. Curabitur condimentum malesuada maximus. Aliquam felis diam, gravida nec eleifend quis, placerat et orci." }),
/* @__PURE__ */ e("div", { children: "Nulla leo ligula, hendrerit vel egestas in, suscipit vitae erat. Vivamus interdum quam lacinia, egestas felis non, volutpat velit. Vestibulum orci diam, tincidunt ac mattis quis, ornare posuere magna. Aliquam erat volutpat. Maecenas facilisis lacus id ante efficitur, non dignissim lorem suscipit. Praesent at posuere velit. Nulla imperdiet, dui rhoncus volutpat feugiat, eros mauris cursus justo, a tincidunt ipsum ipsum eu nisl. Nulla eu dui Thierry. Aliquam vitae risus ut velit fringilla sodales nec id lacus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Suspendisse ullamcorper purus quis nunc placerat, vel bibendum urna mollis. Nulla facilisi. Phasellus sed erat nec ex ullamcorper viverra. Phasellus convallis nibh sed dolor vulputate convallis. Phasellus ac posuere sapien, et elementum ipsum." }),
/* @__PURE__ */ e(M, { id: "test-input", placeholder: "Test Input" }),
/* @__PURE__ */ e("div", { children: "Sed malesuada ut nulla ut maximus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morten in libero rhoncus, maximus tortor sit amet, molestie ex. Mauris rhoncus et erat dapibus aliquam. Vestibulum placerat quam eget lorem tempor, vel venenatis lorem malesuada. Duis ut venenatis arcu. Cras lacinia mi ac dui sollicitudin semper sit amet eget nisl. Fusce viverra ex eget tortor molestie dictum. Cras ullamcorper faucibus nisi in congue. Sanne in tristique est. Praesent id rhoncus ligula, ut porta dui. Sed tincidunt, mi nec varius auctor, nunc diam venenatis felis, at facilisis tortor sem et magna. Aliquam erat volutpat." }),
/* @__PURE__ */ e("div", { children: "Proin ipsum ante, auctor id consectetur a, pulvinar id nibh. Phasellus molestie quam eu mi lacinia condimentum. Nullam fermentum id diam eu pharetra. Donec dictum sem vitae Jos scelerisque semper. Suspendisse sed facilisis orci. Sed ut scelerisque odio. Curabitur felis felis, finibus ac orci at, pellentesque efficitur risus. Sed et leo ac orci mollis tincidunt et pulvinar velit. Duis non nibh tincidunt, lacinia urna a, fringilla augue. Benjamin fermentum, massa a mollis cursus, ex dui tincidunt tellus, ut sollicitudin ex neque ac sapien." }),
/* @__PURE__ */ e("div", { children: "Nunc rhoncus imperdiet leo. Fusce interdum malesuada aliquet. Aenean porttitor, tortor et volutpat blandit, sapien diam scelerisque massa, ac facilisis metus turpis id quam. Donec ac elementum augue, congue pulvinar arcu. Interdum et malesuada fames ac ante ipsum primis in faucibus. Cras tempor convallis elit, id vehicula Robin semper nec. Sed ut ultrices nulla. Cras nec dolor justo. Proin mollis mauris ligula, luctus faucibus dolor ultrices ac. Nunc quis mauris fringilla, pellentesque massa nec, dictum metus. Praesent odio ligula, tincidunt ultrices maximus quis, accumsan ut odio. Nullam iaculis molestie nulla quis ultrices. Praesent quam velit, sagittis eget auctor a, dignissim ut massa. Donec mollis at lorem sit amet accumsan. Praesent nec nulla laoreet nunc pretium egestas. Malesuada Wim arcu pharetra, dictum nibh a, facilisis risus." })
] }) }) })
}
)
] });
}, R = L.bind({});
R.args = {
...g
};
export {
F as Loading,
$ as PageOverlayExample,
R as WithLongComplexContent,
Y as default
};
//# sourceMappingURL=PageOverlay.stories.js.map