@burojs/ui-shadcn 0.3.0 → 0.5.0
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/README.md +26 -7
- package/dist/bulk-summary-CwSd6Yjb.cjs +108 -0
- package/dist/bulk-summary-CwSd6Yjb.cjs.map +1 -0
- package/dist/bulk-summary-GxMDP4bw.js +108 -0
- package/dist/bulk-summary-GxMDP4bw.js.map +1 -0
- package/dist/button-BxnnE28H.cjs +55 -0
- package/dist/button-BxnnE28H.cjs.map +1 -0
- package/dist/button-MWVeZaqj.js +44 -0
- package/dist/button-MWVeZaqj.js.map +1 -0
- package/dist/candidates-gate-CX2PBu6l.js +63 -0
- package/dist/candidates-gate-CX2PBu6l.js.map +1 -0
- package/dist/candidates-gate-DiFI52r7.cjs +70 -0
- package/dist/candidates-gate-DiFI52r7.cjs.map +1 -0
- package/dist/candidates-relation-picker-CBsVcnPR.js +82 -0
- package/dist/candidates-relation-picker-CBsVcnPR.js.map +1 -0
- package/dist/candidates-relation-picker-Dd_GVLlu.cjs +84 -0
- package/dist/candidates-relation-picker-Dd_GVLlu.cjs.map +1 -0
- package/dist/check-confirm-dialog-BRByTFpg.cjs +1534 -0
- package/dist/check-confirm-dialog-BRByTFpg.cjs.map +1 -0
- package/dist/check-confirm-dialog-CkaVTPT9.js +1232 -0
- package/dist/check-confirm-dialog-CkaVTPT9.js.map +1 -0
- package/dist/dialog-B_rt9S1c.js +63 -0
- package/dist/dialog-B_rt9S1c.js.map +1 -0
- package/dist/dialog-DRNUq9EA.cjs +112 -0
- package/dist/dialog-DRNUq9EA.cjs.map +1 -0
- package/dist/filter-builder-B3mZFL-K.cjs +1761 -0
- package/dist/filter-builder-B3mZFL-K.cjs.map +1 -0
- package/dist/filter-builder-DOnaXNfP.js +1605 -0
- package/dist/filter-builder-DOnaXNfP.js.map +1 -0
- package/dist/flow-runtime-B6zOHYqI.cjs +255 -0
- package/dist/flow-runtime-B6zOHYqI.cjs.map +1 -0
- package/dist/flow-runtime-D8h99FSg.js +252 -0
- package/dist/flow-runtime-D8h99FSg.js.map +1 -0
- package/dist/flow-screen-CX05b3G9.cjs +705 -0
- package/dist/flow-screen-CX05b3G9.cjs.map +1 -0
- package/dist/flow-screen-CmbARSqg.js +701 -0
- package/dist/flow-screen-CmbARSqg.js.map +1 -0
- package/dist/index.cjs +6453 -17494
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3754 -3621
- package/dist/index.d.ts +3754 -3621
- package/dist/index.js +6217 -17219
- package/dist/index.js.map +1 -1
- package/dist/inline-flow-host-B7U1OJUe.cjs +112 -0
- package/dist/inline-flow-host-B7U1OJUe.cjs.map +1 -0
- package/dist/inline-flow-host-C3H2UpSA.js +112 -0
- package/dist/inline-flow-host-C3H2UpSA.js.map +1 -0
- package/dist/input-BI0czGyI.cjs +23 -0
- package/dist/input-BI0czGyI.cjs.map +1 -0
- package/dist/input-CUPStzZO.js +17 -0
- package/dist/input-CUPStzZO.js.map +1 -0
- package/dist/label-66W1qbke.js +29 -0
- package/dist/label-66W1qbke.js.map +1 -0
- package/dist/label-w6JYf2cF.cjs +36 -0
- package/dist/label-w6JYf2cF.cjs.map +1 -0
- package/dist/layout/theme-storage-key.cjs +5 -10
- package/dist/layout/theme-storage-key.cjs.map +1 -1
- package/dist/layout/theme-storage-key.d.cts +2 -23
- package/dist/layout/theme-storage-key.d.ts +2 -23
- package/dist/layout/theme-storage-key.js +5 -2
- package/dist/layout/theme-storage-key.js.map +1 -1
- package/dist/lazy-relation-picker-dialog-2oxnA6IR.js +14 -0
- package/dist/lazy-relation-picker-dialog-2oxnA6IR.js.map +1 -0
- package/dist/lazy-relation-picker-dialog-BfAGKzUG.cjs +19 -0
- package/dist/lazy-relation-picker-dialog-BfAGKzUG.cjs.map +1 -0
- package/dist/markdown/index.cjs +424 -511
- package/dist/markdown/index.cjs.map +1 -1
- package/dist/markdown/index.d.cts +1072 -34
- package/dist/markdown/index.d.ts +1072 -34
- package/dist/markdown/index.js +411 -459
- package/dist/markdown/index.js.map +1 -1
- package/dist/page-flow-route-CQ7HsbBm.cjs +277 -0
- package/dist/page-flow-route-CQ7HsbBm.cjs.map +1 -0
- package/dist/page-flow-route-CyXSvXSE.js +277 -0
- package/dist/page-flow-route-CyXSvXSE.js.map +1 -0
- package/dist/peek-filter-CnqHwTMU.cjs +51 -0
- package/dist/peek-filter-CnqHwTMU.cjs.map +1 -0
- package/dist/peek-filter-ErLfO153.js +28 -0
- package/dist/peek-filter-ErLfO153.js.map +1 -0
- package/dist/place-node--GdsP688.js +7315 -0
- package/dist/place-node--GdsP688.js.map +1 -0
- package/dist/place-node-SIp4XYQH.cjs +7833 -0
- package/dist/place-node-SIp4XYQH.cjs.map +1 -0
- package/dist/related-list-cards-B6x9HQQp.js +42 -0
- package/dist/related-list-cards-B6x9HQQp.js.map +1 -0
- package/dist/related-list-cards-nxuODlIA.cjs +42 -0
- package/dist/related-list-cards-nxuODlIA.cjs.map +1 -0
- package/dist/related-list-timeline-BYJKEbmA.cjs +142 -0
- package/dist/related-list-timeline-BYJKEbmA.cjs.map +1 -0
- package/dist/related-list-timeline-DEdfd-rr.js +142 -0
- package/dist/related-list-timeline-DEdfd-rr.js.map +1 -0
- package/dist/related-rows-B4levHcR.js +186 -0
- package/dist/related-rows-B4levHcR.js.map +1 -0
- package/dist/related-rows-zh5f_4QR.cjs +209 -0
- package/dist/related-rows-zh5f_4QR.cjs.map +1 -0
- package/dist/relation-create-BOaUe12G.cjs +362 -0
- package/dist/relation-create-BOaUe12G.cjs.map +1 -0
- package/dist/relation-create-Bg-eEJLs.js +337 -0
- package/dist/relation-create-Bg-eEJLs.js.map +1 -0
- package/dist/relation-many-picker-B-NCEUgX.cjs +465 -0
- package/dist/relation-many-picker-B-NCEUgX.cjs.map +1 -0
- package/dist/relation-many-picker-gdAOD-qK.js +464 -0
- package/dist/relation-many-picker-gdAOD-qK.js.map +1 -0
- package/dist/relation-picker-BAY77ivO.js +462 -0
- package/dist/relation-picker-BAY77ivO.js.map +1 -0
- package/dist/relation-picker-Da_uhFvA.cjs +479 -0
- package/dist/relation-picker-Da_uhFvA.cjs.map +1 -0
- package/dist/relation-picker-dialog-M0pQaWlp.cjs +300 -0
- package/dist/relation-picker-dialog-M0pQaWlp.cjs.map +1 -0
- package/dist/relation-picker-dialog-hA9rYrZB.js +299 -0
- package/dist/relation-picker-dialog-hA9rYrZB.js.map +1 -0
- package/dist/resource-page-router-OSQyRA5b.cjs +1779 -0
- package/dist/resource-page-router-OSQyRA5b.cjs.map +1 -0
- package/dist/resource-page-router-T4vS5gbJ.js +1582 -0
- package/dist/resource-page-router-T4vS5gbJ.js.map +1 -0
- package/dist/rich-text-DFerywgz.js +457 -0
- package/dist/rich-text-DFerywgz.js.map +1 -0
- package/dist/rich-text-vTyVjDoa.cjs +460 -0
- package/dist/rich-text-vTyVjDoa.cjs.map +1 -0
- package/dist/search-access-B7G5oR8n.cjs +812 -0
- package/dist/search-access-B7G5oR8n.cjs.map +1 -0
- package/dist/search-access-CURsWn-U.js +669 -0
- package/dist/search-access-CURsWn-U.js.map +1 -0
- package/dist/shell-BPlk8hEa.js +205 -0
- package/dist/shell-BPlk8hEa.js.map +1 -0
- package/dist/shell-DxhlsPwm.cjs +271 -0
- package/dist/shell-DxhlsPwm.cjs.map +1 -0
- package/dist/skeleton-U2noefj5.js +13 -0
- package/dist/skeleton-U2noefj5.js.map +1 -0
- package/dist/skeleton-_1gP7wan.cjs +18 -0
- package/dist/skeleton-_1gP7wan.cjs.map +1 -0
- package/dist/styles.css +255 -17
- package/dist/theme/theme-css.cjs +95 -96
- package/dist/theme/theme-css.cjs.map +1 -1
- package/dist/theme/theme-css.d.cts +10 -8
- package/dist/theme/theme-css.d.ts +10 -8
- package/dist/theme/theme-css.js +94 -94
- package/dist/theme/theme-css.js.map +1 -1
- package/dist/theme/theme-storage.cjs +34 -39
- package/dist/theme/theme-storage.cjs.map +1 -1
- package/dist/theme/theme-storage.d.cts +3 -1
- package/dist/theme/theme-storage.d.ts +3 -1
- package/dist/theme/theme-storage.js +33 -37
- package/dist/theme/theme-storage.js.map +1 -1
- package/dist/theme-storage-key-pYlp4aDS.d.cts +31 -0
- package/dist/theme-storage-key-pYlp4aDS.d.ts +31 -0
- package/dist/toaster-C7CiYA4Z.cjs +248 -0
- package/dist/toaster-C7CiYA4Z.cjs.map +1 -0
- package/dist/toaster-CfCRLgR-.js +164 -0
- package/dist/toaster-CfCRLgR-.js.map +1 -0
- package/dist/use-dialog-filter-state-BBCC0OEK.cjs +92 -0
- package/dist/use-dialog-filter-state-BBCC0OEK.cjs.map +1 -0
- package/dist/use-dialog-filter-state-BDcgS5Oz.js +87 -0
- package/dist/use-dialog-filter-state-BDcgS5Oz.js.map +1 -0
- package/dist/use-theme-DFlpXils.cjs +257 -0
- package/dist/use-theme-DFlpXils.cjs.map +1 -0
- package/dist/use-theme-dnE3Od3I.js +175 -0
- package/dist/use-theme-dnE3Od3I.js.map +1 -0
- package/package.json +18 -17
- package/dist/chunk-ABUQPOOE.js +0 -11
- package/dist/chunk-ABUQPOOE.js.map +0 -1
- package/dist/chunk-DBGGWBFG.cjs +0 -199
- package/dist/chunk-DBGGWBFG.cjs.map +0 -1
- package/dist/chunk-FMX4GLCQ.js +0 -6
- package/dist/chunk-FMX4GLCQ.js.map +0 -1
- package/dist/chunk-UC57Z243.js +0 -143
- package/dist/chunk-UC57Z243.js.map +0 -1
- package/dist/chunk-UPGPO75B.js +0 -164
- package/dist/chunk-UPGPO75B.js.map +0 -1
- package/dist/chunk-VXJAXJ3U.cjs +0 -8
- package/dist/chunk-VXJAXJ3U.cjs.map +0 -1
- package/dist/chunk-W7AEYE7A.cjs +0 -13
- package/dist/chunk-W7AEYE7A.cjs.map +0 -1
- package/dist/chunk-YF5IW525.cjs +0 -155
- package/dist/chunk-YF5IW525.cjs.map +0 -1
- package/dist/rich-text-6V7WZ3WV.cjs +0 -518
- package/dist/rich-text-6V7WZ3WV.cjs.map +0 -1
- package/dist/rich-text-N2FZEJJV.js +0 -491
- package/dist/rich-text-N2FZEJJV.js.map +0 -1
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
const require_use_theme = require("./use-theme-DFlpXils.cjs");
|
|
2
|
+
const require_dialog = require("./dialog-DRNUq9EA.cjs");
|
|
3
|
+
let _burojs_react = require("@burojs/react");
|
|
4
|
+
let _tabler_icons_react = require("@tabler/icons-react");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
react = require_use_theme.__toESM(react, 1);
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
let class_variance_authority = require("class-variance-authority");
|
|
9
|
+
let _radix_ui_react_dialog = require("@radix-ui/react-dialog");
|
|
10
|
+
_radix_ui_react_dialog = require_use_theme.__toESM(_radix_ui_react_dialog, 1);
|
|
11
|
+
//#region src/primitives/sheet.tsx
|
|
12
|
+
const Sheet = _radix_ui_react_dialog.Root;
|
|
13
|
+
const SheetTrigger = _radix_ui_react_dialog.Trigger;
|
|
14
|
+
const SheetClose = _radix_ui_react_dialog.Close;
|
|
15
|
+
const SheetPortal = _radix_ui_react_dialog.Portal;
|
|
16
|
+
const SheetOverlay = react.forwardRef(({ className, ...props }, ref) => (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Overlay, {
|
|
17
|
+
className: require_use_theme.cn("fixed inset-0 z-50 bg-overlay/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 duration-[var(--duration-panel)] ease-[var(--ease-overlay)]", className),
|
|
18
|
+
...props,
|
|
19
|
+
ref
|
|
20
|
+
}));
|
|
21
|
+
SheetOverlay.displayName = _radix_ui_react_dialog.Overlay.displayName;
|
|
22
|
+
const sheetVariants = (0, class_variance_authority.cva)("fixed z-50 gap-4 bg-background text-foreground p-6 shadow-lg duration-[var(--duration-panel)] ease-[var(--ease-overlay)] data-[state=open]:animate-in data-[state=closed]:animate-out", {
|
|
23
|
+
variants: { side: {
|
|
24
|
+
top: "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
25
|
+
bottom: "inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
|
26
|
+
left: "inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",
|
|
27
|
+
right: "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"
|
|
28
|
+
} },
|
|
29
|
+
defaultVariants: { side: "right" }
|
|
30
|
+
});
|
|
31
|
+
const SheetContent = react.forwardRef(({ side = "right", className, children, showClose = true, ...props }, ref) => {
|
|
32
|
+
const t = (0, _burojs_react.useOptionalT)();
|
|
33
|
+
return (0, react_jsx_runtime.jsxs)(SheetPortal, { children: [(0, react_jsx_runtime.jsx)(SheetOverlay, {}), (0, react_jsx_runtime.jsxs)(_radix_ui_react_dialog.Content, {
|
|
34
|
+
ref,
|
|
35
|
+
className: require_use_theme.cn(sheetVariants({ side }), className),
|
|
36
|
+
...props,
|
|
37
|
+
children: [children, showClose && (0, react_jsx_runtime.jsxs)(_radix_ui_react_dialog.Close, {
|
|
38
|
+
className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",
|
|
39
|
+
children: [(0, react_jsx_runtime.jsx)(_tabler_icons_react.IconX, { className: "h-4 w-4" }), (0, react_jsx_runtime.jsx)("span", {
|
|
40
|
+
className: "sr-only",
|
|
41
|
+
children: t("actions.close", { defaultValue: "Close" })
|
|
42
|
+
})]
|
|
43
|
+
})]
|
|
44
|
+
})] });
|
|
45
|
+
});
|
|
46
|
+
SheetContent.displayName = _radix_ui_react_dialog.Content.displayName;
|
|
47
|
+
function SheetHeader({ className, ...props }) {
|
|
48
|
+
return (0, react_jsx_runtime.jsx)("div", {
|
|
49
|
+
className: require_use_theme.cn("flex flex-col space-y-2 text-center sm:text-left", className),
|
|
50
|
+
...props
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
SheetHeader.displayName = "SheetHeader";
|
|
54
|
+
function SheetFooter({ className, ...props }) {
|
|
55
|
+
return (0, react_jsx_runtime.jsx)("div", {
|
|
56
|
+
className: require_use_theme.cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className),
|
|
57
|
+
...props
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
SheetFooter.displayName = "SheetFooter";
|
|
61
|
+
const SheetTitle = react.forwardRef(({ className, ...props }, ref) => (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Title, {
|
|
62
|
+
ref,
|
|
63
|
+
className: require_use_theme.cn("text-lg font-semibold text-foreground", className),
|
|
64
|
+
...props
|
|
65
|
+
}));
|
|
66
|
+
SheetTitle.displayName = _radix_ui_react_dialog.Title.displayName;
|
|
67
|
+
const SheetDescription = react.forwardRef(({ className, ...props }, ref) => (0, react_jsx_runtime.jsx)(_radix_ui_react_dialog.Description, {
|
|
68
|
+
ref,
|
|
69
|
+
className: require_use_theme.cn("text-sm text-muted-foreground", className),
|
|
70
|
+
...props
|
|
71
|
+
}));
|
|
72
|
+
SheetDescription.displayName = _radix_ui_react_dialog.Description.displayName;
|
|
73
|
+
//#endregion
|
|
74
|
+
//#region src/ui-presentations/shell.tsx
|
|
75
|
+
const OwnTitleContext = (0, react.createContext)(false);
|
|
76
|
+
function focusOwnHeading(event) {
|
|
77
|
+
const container = event.currentTarget;
|
|
78
|
+
if (!(container instanceof HTMLElement)) return;
|
|
79
|
+
const heading = container.querySelector("[data-buro-overlay-heading]");
|
|
80
|
+
if (!(heading instanceof HTMLElement)) return;
|
|
81
|
+
event.preventDefault();
|
|
82
|
+
heading.focus();
|
|
83
|
+
}
|
|
84
|
+
function WrappedDialogContent({ wrapper, copy, children }) {
|
|
85
|
+
return wrapper ? (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsxs)(require_dialog.DialogHeader, { children: [(0, react_jsx_runtime.jsx)(require_dialog.DialogTitle, { children: copy.title }), (0, react_jsx_runtime.jsx)(require_dialog.DialogDescription, {
|
|
86
|
+
className: copy.description === void 0 ? "sr-only" : void 0,
|
|
87
|
+
children: copy.description ?? ""
|
|
88
|
+
})] }), children] }) : (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
89
|
+
(0, react_jsx_runtime.jsx)(require_dialog.DialogTitle, {
|
|
90
|
+
className: "sr-only",
|
|
91
|
+
children: copy.title
|
|
92
|
+
}),
|
|
93
|
+
(0, react_jsx_runtime.jsx)(require_dialog.DialogDescription, {
|
|
94
|
+
className: "sr-only",
|
|
95
|
+
children: copy.description ?? ""
|
|
96
|
+
}),
|
|
97
|
+
children
|
|
98
|
+
] });
|
|
99
|
+
}
|
|
100
|
+
function WrappedSheetContent({ wrapper, copy, children }) {
|
|
101
|
+
return wrapper ? (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsxs)(SheetHeader, { children: [(0, react_jsx_runtime.jsx)(SheetTitle, { children: copy.title }), (0, react_jsx_runtime.jsx)(SheetDescription, {
|
|
102
|
+
className: copy.description === void 0 ? "sr-only" : void 0,
|
|
103
|
+
children: copy.description ?? ""
|
|
104
|
+
})] }), children] }) : (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
105
|
+
(0, react_jsx_runtime.jsx)(SheetTitle, {
|
|
106
|
+
className: "sr-only",
|
|
107
|
+
children: copy.title
|
|
108
|
+
}),
|
|
109
|
+
(0, react_jsx_runtime.jsx)(SheetDescription, {
|
|
110
|
+
className: "sr-only",
|
|
111
|
+
children: copy.description ?? ""
|
|
112
|
+
}),
|
|
113
|
+
children
|
|
114
|
+
] });
|
|
115
|
+
}
|
|
116
|
+
function useFocusRestoration() {
|
|
117
|
+
const returnFocus = (0, react.useRef)(typeof document === "undefined" || !(document.activeElement instanceof HTMLElement) ? null : document.activeElement);
|
|
118
|
+
(0, react.useEffect)(() => () => {
|
|
119
|
+
const element = returnFocus.current;
|
|
120
|
+
queueMicrotask(() => {
|
|
121
|
+
if (element?.isConnected && element !== document.body) {
|
|
122
|
+
element.focus();
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const main = document.querySelector("main");
|
|
126
|
+
if (main === null) return;
|
|
127
|
+
if (!main.hasAttribute("tabindex")) main.setAttribute("tabindex", "-1");
|
|
128
|
+
main.focus();
|
|
129
|
+
});
|
|
130
|
+
}, []);
|
|
131
|
+
}
|
|
132
|
+
function keepForPopover(event) {
|
|
133
|
+
const target = event.target;
|
|
134
|
+
if (target instanceof Element && target.closest("[data-buro-popover]") !== null) event.preventDefault();
|
|
135
|
+
}
|
|
136
|
+
const REDUCED_MOTION = "motion-reduce:animate-none motion-reduce:transition-none";
|
|
137
|
+
function DialogPresentationShell({ dismiss, wrapper, copy, ownTitle = false, children }) {
|
|
138
|
+
useFocusRestoration();
|
|
139
|
+
return (0, react_jsx_runtime.jsx)(require_dialog.Dialog, {
|
|
140
|
+
open: true,
|
|
141
|
+
onOpenChange: (open) => {
|
|
142
|
+
if (!open) dismiss();
|
|
143
|
+
},
|
|
144
|
+
children: ownTitle ? (0, react_jsx_runtime.jsx)(require_dialog.DialogContent, {
|
|
145
|
+
className: `flex max-h-[85vh] flex-col ${REDUCED_MOTION}`,
|
|
146
|
+
overlayClassName: REDUCED_MOTION,
|
|
147
|
+
showClose: wrapper,
|
|
148
|
+
"aria-describedby": void 0,
|
|
149
|
+
"aria-modal": "true",
|
|
150
|
+
onOpenAutoFocus: focusOwnHeading,
|
|
151
|
+
onPointerDownOutside: keepForPopover,
|
|
152
|
+
children: (0, react_jsx_runtime.jsx)(OwnTitleContext.Provider, {
|
|
153
|
+
value: true,
|
|
154
|
+
children
|
|
155
|
+
})
|
|
156
|
+
}) : (0, react_jsx_runtime.jsx)(require_dialog.DialogContent, {
|
|
157
|
+
className: REDUCED_MOTION,
|
|
158
|
+
overlayClassName: REDUCED_MOTION,
|
|
159
|
+
showClose: wrapper,
|
|
160
|
+
"aria-modal": "true",
|
|
161
|
+
onPointerDownOutside: keepForPopover,
|
|
162
|
+
children: (0, react_jsx_runtime.jsx)(WrappedDialogContent, {
|
|
163
|
+
wrapper,
|
|
164
|
+
copy,
|
|
165
|
+
children
|
|
166
|
+
})
|
|
167
|
+
})
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
function SheetPresentationShell({ dismiss, wrapper, copy, ownTitle = false, children }) {
|
|
171
|
+
useFocusRestoration();
|
|
172
|
+
return (0, react_jsx_runtime.jsx)(Sheet, {
|
|
173
|
+
open: true,
|
|
174
|
+
onOpenChange: (open) => {
|
|
175
|
+
if (!open) dismiss();
|
|
176
|
+
},
|
|
177
|
+
children: ownTitle ? (0, react_jsx_runtime.jsx)(SheetContent, {
|
|
178
|
+
side: "right",
|
|
179
|
+
className: `flex flex-col sm:max-w-xl ${REDUCED_MOTION}`,
|
|
180
|
+
showClose: wrapper,
|
|
181
|
+
"aria-describedby": void 0,
|
|
182
|
+
"aria-modal": "true",
|
|
183
|
+
onOpenAutoFocus: focusOwnHeading,
|
|
184
|
+
onPointerDownOutside: keepForPopover,
|
|
185
|
+
children: (0, react_jsx_runtime.jsx)(OwnTitleContext.Provider, {
|
|
186
|
+
value: true,
|
|
187
|
+
children
|
|
188
|
+
})
|
|
189
|
+
}) : (0, react_jsx_runtime.jsx)(SheetContent, {
|
|
190
|
+
side: "right",
|
|
191
|
+
className: `sm:max-w-xl ${REDUCED_MOTION}`,
|
|
192
|
+
showClose: wrapper,
|
|
193
|
+
"aria-modal": "true",
|
|
194
|
+
onPointerDownOutside: keepForPopover,
|
|
195
|
+
children: (0, react_jsx_runtime.jsx)(WrappedSheetContent, {
|
|
196
|
+
wrapper,
|
|
197
|
+
copy,
|
|
198
|
+
children
|
|
199
|
+
})
|
|
200
|
+
})
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
//#endregion
|
|
204
|
+
Object.defineProperty(exports, "DialogPresentationShell", {
|
|
205
|
+
enumerable: true,
|
|
206
|
+
get: function() {
|
|
207
|
+
return DialogPresentationShell;
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
Object.defineProperty(exports, "OwnTitleContext", {
|
|
211
|
+
enumerable: true,
|
|
212
|
+
get: function() {
|
|
213
|
+
return OwnTitleContext;
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
Object.defineProperty(exports, "Sheet", {
|
|
217
|
+
enumerable: true,
|
|
218
|
+
get: function() {
|
|
219
|
+
return Sheet;
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
Object.defineProperty(exports, "SheetClose", {
|
|
223
|
+
enumerable: true,
|
|
224
|
+
get: function() {
|
|
225
|
+
return SheetClose;
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
Object.defineProperty(exports, "SheetContent", {
|
|
229
|
+
enumerable: true,
|
|
230
|
+
get: function() {
|
|
231
|
+
return SheetContent;
|
|
232
|
+
}
|
|
233
|
+
});
|
|
234
|
+
Object.defineProperty(exports, "SheetDescription", {
|
|
235
|
+
enumerable: true,
|
|
236
|
+
get: function() {
|
|
237
|
+
return SheetDescription;
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
Object.defineProperty(exports, "SheetFooter", {
|
|
241
|
+
enumerable: true,
|
|
242
|
+
get: function() {
|
|
243
|
+
return SheetFooter;
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
Object.defineProperty(exports, "SheetHeader", {
|
|
247
|
+
enumerable: true,
|
|
248
|
+
get: function() {
|
|
249
|
+
return SheetHeader;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
Object.defineProperty(exports, "SheetPresentationShell", {
|
|
253
|
+
enumerable: true,
|
|
254
|
+
get: function() {
|
|
255
|
+
return SheetPresentationShell;
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
Object.defineProperty(exports, "SheetTitle", {
|
|
259
|
+
enumerable: true,
|
|
260
|
+
get: function() {
|
|
261
|
+
return SheetTitle;
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
Object.defineProperty(exports, "SheetTrigger", {
|
|
265
|
+
enumerable: true,
|
|
266
|
+
get: function() {
|
|
267
|
+
return SheetTrigger;
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
|
|
271
|
+
//# sourceMappingURL=shell-DxhlsPwm.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-DxhlsPwm.cjs","names":["SheetPrimitive","React","cn","cva","useOptionalT","IconX","createContext","DialogHeader","DialogTitle","DialogDescription","useRef","Dialog","DialogContent"],"sources":["../src/primitives/sheet.tsx","../src/ui-presentations/shell.tsx"],"sourcesContent":["'use client';\nimport { useOptionalT } from '@burojs/react';\n\nimport * as React from 'react';\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { IconX } from '@tabler/icons-react';\nimport { cn } from '../lib/cn.js';\n\nconst Sheet = SheetPrimitive.Root;\nconst SheetTrigger = SheetPrimitive.Trigger;\nconst SheetClose = SheetPrimitive.Close;\nconst SheetPortal = SheetPrimitive.Portal;\n\nexport type SheetOverlayProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n SheetOverlayProps\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-overlay/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 duration-[var(--duration-panel)] ease-[var(--ease-overlay)]',\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\n 'fixed z-50 gap-4 bg-background text-foreground p-6 shadow-lg duration-[var(--duration-panel)] ease-[var(--ease-overlay)] data-[state=open]:animate-in data-[state=closed]:animate-out',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n },\n);\n\nexport interface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n /** Whether the standard visual close button is rendered. Defaults to true. */\n showClose?: boolean;\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = 'right', className, children, showClose = true, ...props }, ref) => {\n const t = useOptionalT();\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n {showClose && (\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\n <IconX className=\"h-4 w-4\" />\n <span className=\"sr-only\">{t('actions.close', { defaultValue: 'Close' })}</span>\n </SheetPrimitive.Close>\n )}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n});\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nexport type SheetHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nfunction SheetHeader({ className, ...props }: SheetHeaderProps) {\n return (\n <div className={cn('flex flex-col space-y-2 text-center sm:text-left', className)} {...props} />\n );\n}\nSheetHeader.displayName = 'SheetHeader';\n\nexport type SheetFooterProps = React.HTMLAttributes<HTMLDivElement>;\n\nfunction SheetFooter({ className, ...props }: SheetFooterProps) {\n return (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n );\n}\nSheetFooter.displayName = 'SheetFooter';\n\nexport type SheetTitleProps = React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>;\n\nconst SheetTitle = React.forwardRef<React.ElementRef<typeof SheetPrimitive.Title>, SheetTitleProps>(\n ({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold text-foreground', className)}\n {...props}\n />\n ),\n);\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nexport type SheetDescriptionProps = React.ComponentPropsWithoutRef<\n typeof SheetPrimitive.Description\n>;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n SheetDescriptionProps\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetTrigger,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n SheetClose,\n};\n","import { createContext, useEffect, useRef, type ReactNode } from 'react';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n} from '../primitives/dialog.js';\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from '../primitives/sheet.js';\n\nexport interface PresentationCopy {\n readonly title: string;\n readonly description?: string;\n}\n\ninterface PresentationShellProps {\n readonly dismiss: () => void;\n readonly wrapper: boolean;\n readonly copy: PresentationCopy;\n /**\n * The presented component renders the overlay's title itself, as the Radix `Title` (a quick\n * entry's record title, plan ruling 2): the shell renders no title and no description, and\n * focus moves to the element marked `data-buro-overlay-heading` on open.\n */\n readonly ownTitle?: boolean;\n readonly children: ReactNode;\n}\n\n/**\n * @internal True inside a kit shell asked for `ownTitle`: the presented component may render the\n * Radix `Title` (an app's host, which may not be a Radix dialog at all, leaves it `false`).\n */\nexport const OwnTitleContext = createContext(false);\n\n/** On open, focus the presented component's own heading instead of the first tabbable. */\nfunction focusOwnHeading(event: Event): void {\n const container = event.currentTarget;\n if (!(container instanceof HTMLElement)) return;\n const heading = container.querySelector('[data-buro-overlay-heading]');\n if (!(heading instanceof HTMLElement)) return;\n event.preventDefault();\n heading.focus();\n}\n\nfunction WrappedDialogContent({\n wrapper,\n copy,\n children,\n}: Pick<PresentationShellProps, 'wrapper' | 'copy' | 'children'>) {\n return wrapper ? (\n <>\n <DialogHeader>\n <DialogTitle>{copy.title}</DialogTitle>\n <DialogDescription className={copy.description === undefined ? 'sr-only' : undefined}>\n {copy.description ?? ''}\n </DialogDescription>\n </DialogHeader>\n {children}\n </>\n ) : (\n <>\n <DialogTitle className=\"sr-only\">{copy.title}</DialogTitle>\n <DialogDescription className=\"sr-only\">{copy.description ?? ''}</DialogDescription>\n {children}\n </>\n );\n}\n\nfunction WrappedSheetContent({\n wrapper,\n copy,\n children,\n}: Pick<PresentationShellProps, 'wrapper' | 'copy' | 'children'>) {\n return wrapper ? (\n <>\n <SheetHeader>\n <SheetTitle>{copy.title}</SheetTitle>\n <SheetDescription className={copy.description === undefined ? 'sr-only' : undefined}>\n {copy.description ?? ''}\n </SheetDescription>\n </SheetHeader>\n {children}\n </>\n ) : (\n <>\n <SheetTitle className=\"sr-only\">{copy.title}</SheetTitle>\n <SheetDescription className=\"sr-only\">{copy.description ?? ''}</SheetDescription>\n {children}\n </>\n );\n}\n\nfunction useFocusRestoration(): void {\n // Capture before Radix moves focus into the portal. The host may be removed\n // immediately after `dismiss`, so defer restoration until Radix cleanup has\n // completed its own focus handling.\n const returnFocus = useRef<HTMLElement | null>(\n typeof document === 'undefined' || !(document.activeElement instanceof HTMLElement)\n ? null\n : document.activeElement,\n );\n useEffect(\n () => () => {\n const element = returnFocus.current;\n queueMicrotask(() => {\n // The opener is gone (its row was deleted, say): the nearest surviving landmark instead\n // (spec 4.12), never the document body.\n if (element?.isConnected && element !== document.body) {\n element.focus();\n return;\n }\n const main = document.querySelector<HTMLElement>('main');\n if (main === null) return;\n if (!main.hasAttribute('tabindex')) main.setAttribute('tabindex', '-1');\n main.focus();\n });\n },\n [],\n );\n}\n\n/**\n * A pointer down inside a popover (a peek) is not outside the overlay. The popover is a React\n * sibling of the sheet or dialog (`<UIPresentations>` renders every presentation side by side),\n * and Radix decides \"inside\" by the React tree, so without this a click on a peek's title — which\n * pushes into this sheet — would first dismiss it (or ask about its dirty form).\n */\nfunction keepForPopover(event: { readonly target: EventTarget | null; preventDefault(): void }) {\n const target = event.target;\n if (target instanceof Element && target.closest('[data-buro-popover]') !== null)\n event.preventDefault();\n}\n\n/** No slide and no fade under `prefers-reduced-motion` (spec 4.12). */\nconst REDUCED_MOTION = 'motion-reduce:animate-none motion-reduce:transition-none';\n\n/** Shared Radix lifecycle shell for a centered temporary presentation. */\nexport function DialogPresentationShell({\n dismiss,\n wrapper,\n copy,\n ownTitle = false,\n children,\n}: PresentationShellProps) {\n useFocusRestoration();\n return (\n <Dialog\n open\n onOpenChange={(open) => {\n if (!open) dismiss();\n }}\n >\n {ownTitle ? (\n <DialogContent\n className={`flex max-h-[85vh] flex-col ${REDUCED_MOTION}`}\n overlayClassName={REDUCED_MOTION}\n showClose={wrapper}\n aria-describedby={undefined}\n aria-modal=\"true\"\n onOpenAutoFocus={focusOwnHeading}\n onPointerDownOutside={keepForPopover}\n >\n <OwnTitleContext.Provider value={true}>{children}</OwnTitleContext.Provider>\n </DialogContent>\n ) : (\n <DialogContent\n className={REDUCED_MOTION}\n overlayClassName={REDUCED_MOTION}\n showClose={wrapper}\n aria-modal=\"true\"\n onPointerDownOutside={keepForPopover}\n >\n <WrappedDialogContent wrapper={wrapper} copy={copy}>\n {children}\n </WrappedDialogContent>\n </DialogContent>\n )}\n </Dialog>\n );\n}\n\n/** Shared Radix lifecycle shell for a right-hand temporary presentation. */\nexport function SheetPresentationShell({\n dismiss,\n wrapper,\n copy,\n ownTitle = false,\n children,\n}: PresentationShellProps) {\n useFocusRestoration();\n return (\n <Sheet\n open\n onOpenChange={(open) => {\n if (!open) dismiss();\n }}\n >\n {ownTitle ? (\n <SheetContent\n side=\"right\"\n className={`flex flex-col sm:max-w-xl ${REDUCED_MOTION}`}\n showClose={wrapper}\n aria-describedby={undefined}\n aria-modal=\"true\"\n onOpenAutoFocus={focusOwnHeading}\n onPointerDownOutside={keepForPopover}\n >\n <OwnTitleContext.Provider value={true}>{children}</OwnTitleContext.Provider>\n </SheetContent>\n ) : (\n <SheetContent\n side=\"right\"\n className={`sm:max-w-xl ${REDUCED_MOTION}`}\n showClose={wrapper}\n aria-modal=\"true\"\n onPointerDownOutside={keepForPopover}\n >\n <WrappedSheetContent wrapper={wrapper} copy={copy}>\n {children}\n </WrappedSheetContent>\n </SheetContent>\n )}\n </Sheet>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { l as cn } from "./use-theme-dnE3Od3I.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/primitives/skeleton.tsx
|
|
4
|
+
function Skeleton({ className, ...props }) {
|
|
5
|
+
return jsx("div", {
|
|
6
|
+
className: cn("animate-pulse rounded-md bg-muted", className),
|
|
7
|
+
...props
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
export { Skeleton as t };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=skeleton-U2noefj5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton-U2noefj5.js","names":[],"sources":["../src/primitives/skeleton.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { cn } from '../lib/cn.js';\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn('animate-pulse rounded-md bg-muted', className)} {...props} />;\n}\n\nexport { Skeleton };\n"],"mappings":";;;AAKA,SAAS,SAAS,EAAE,WAAW,GAAG,SAA+C;CAC/E,OAAO,IAAC,OAAD;EAAK,WAAW,GAAG,qCAAqC,SAAS;EAAG,GAAI;CAAQ,CAAA;AACzF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const require_use_theme = require("./use-theme-DFlpXils.cjs");
|
|
2
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
3
|
+
//#region src/primitives/skeleton.tsx
|
|
4
|
+
function Skeleton({ className, ...props }) {
|
|
5
|
+
return (0, react_jsx_runtime.jsx)("div", {
|
|
6
|
+
className: require_use_theme.cn("animate-pulse rounded-md bg-muted", className),
|
|
7
|
+
...props
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
Object.defineProperty(exports, "Skeleton", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function() {
|
|
14
|
+
return Skeleton;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=skeleton-_1gP7wan.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skeleton-_1gP7wan.cjs","names":["cn"],"sources":["../src/primitives/skeleton.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { cn } from '../lib/cn.js';\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n return <div className={cn('animate-pulse rounded-md bg-muted', className)} {...props} />;\n}\n\nexport { Skeleton };\n"],"mappings":";;;AAKA,SAAS,SAAS,EAAE,WAAW,GAAG,SAA+C;CAC/E,QAAO,GAAA,kBAAA,IAAA,CAAC,OAAD;EAAK,WAAWA,kBAAAA,GAAG,qCAAqC,SAAS;EAAG,GAAI;CAAQ,CAAA;AACzF"}
|