@addsign/moje-agenda-shared-lib 2.0.0 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/dist/Dialog-CLPZ1Y00.js +422 -0
  2. package/dist/Dialog-CLPZ1Y00.js.map +1 -0
  3. package/dist/Dialog-IPFWYptw.js +421 -0
  4. package/dist/Dialog-IPFWYptw.js.map +1 -0
  5. package/dist/assets/style.css +25 -6
  6. package/dist/components/datatable/DataTable.js +5 -2
  7. package/dist/components/datatable/DataTable.js.map +1 -1
  8. package/dist/components/datatable/DataTableServer.js +5 -2
  9. package/dist/components/datatable/DataTableServer.js.map +1 -1
  10. package/dist/components/form/AutocompleteSearchBar.js +5 -2
  11. package/dist/components/form/AutocompleteSearchBar.js.map +1 -1
  12. package/dist/components/form/AutocompleteSearchBarServer.js +5 -2
  13. package/dist/components/form/AutocompleteSearchBarServer.js.map +1 -1
  14. package/dist/components/form/FileInput.js +6 -3
  15. package/dist/components/form/FileInput.js.map +1 -1
  16. package/dist/components/form/FileInputMultiple.js +6 -3
  17. package/dist/components/form/FileInputMultiple.js.map +1 -1
  18. package/dist/components/form/FormField.js +5 -2
  19. package/dist/components/form/FormField.js.map +1 -1
  20. package/dist/components/form/PositionsSelectorSingle.js +5 -2
  21. package/dist/components/form/PositionsSelectorSingle.js.map +1 -1
  22. package/dist/components/form/SelectField.js +5 -2
  23. package/dist/components/form/SelectField.js.map +1 -1
  24. package/dist/components/profiles/ProfileOverview.js +5 -2
  25. package/dist/components/profiles/ProfileOverview.js.map +1 -1
  26. package/dist/components/ui/Combobox.d.ts +14 -1
  27. package/dist/components/ui/Combobox.js +122 -98
  28. package/dist/components/ui/Combobox.js.map +1 -1
  29. package/dist/components/ui/Dialog.js +1 -1
  30. package/dist/components/ui/ScrollArea.js +3 -3
  31. package/dist/components/ui/button.js +4 -4
  32. package/dist/components/ui/button.js.map +1 -1
  33. package/dist/components/ui/command.js +3 -3
  34. package/dist/components/ui/command.js.map +1 -1
  35. package/dist/components/ui/form.js +1 -1
  36. package/dist/components/ui/input.d.ts +5 -1
  37. package/dist/components/ui/input.js +92 -13
  38. package/dist/components/ui/input.js.map +1 -1
  39. package/dist/components/ui/label.js +1 -1
  40. package/dist/components/ui/popover.js +6 -5
  41. package/dist/components/ui/popover.js.map +1 -1
  42. package/dist/components/ui/radioGroup.js +4 -4
  43. package/dist/components/ui/select.d.ts +3 -1
  44. package/dist/components/ui/select.js +10 -35
  45. package/dist/components/ui/select.js.map +1 -1
  46. package/dist/components/ui/separator.d.ts +4 -0
  47. package/dist/components/ui/separator.js +48 -0
  48. package/dist/components/ui/separator.js.map +1 -0
  49. package/dist/components/ui/tooltip.d.ts +7 -0
  50. package/dist/components/ui/tooltip.js +509 -0
  51. package/dist/components/ui/tooltip.js.map +1 -0
  52. package/dist/index-B3cR4C4Z.js +2203 -0
  53. package/dist/index-B3cR4C4Z.js.map +1 -0
  54. package/dist/index-B761_inZ.js +28884 -0
  55. package/dist/index-B761_inZ.js.map +1 -0
  56. package/dist/index-BF3Kkq7m.js +2212 -0
  57. package/dist/index-BF3Kkq7m.js.map +1 -0
  58. package/dist/index-BULFV6Qz.js +2266 -0
  59. package/dist/index-BULFV6Qz.js.map +1 -0
  60. package/dist/index-Bjw9JvWH.js +131 -0
  61. package/dist/index-Bjw9JvWH.js.map +1 -0
  62. package/dist/index-Bm-YZac9.js +28864 -0
  63. package/dist/index-Bm-YZac9.js.map +1 -0
  64. package/dist/index-BzZGaGRV.js +230 -0
  65. package/dist/index-BzZGaGRV.js.map +1 -0
  66. package/dist/index-C4pkvuV-.js +1395 -0
  67. package/dist/index-C4pkvuV-.js.map +1 -0
  68. package/dist/index-C59RTYp9.js +140 -0
  69. package/dist/index-C59RTYp9.js.map +1 -0
  70. package/dist/index-D8AkGh-j.js +1173 -0
  71. package/dist/index-D8AkGh-j.js.map +1 -0
  72. package/dist/index-D9mvqz1C.js +97 -0
  73. package/dist/index-D9mvqz1C.js.map +1 -0
  74. package/dist/index-M6rMtqtn.js +2203 -0
  75. package/dist/index-M6rMtqtn.js.map +1 -0
  76. package/dist/index-cCT-Qkr7.js +36 -0
  77. package/dist/index-cCT-Qkr7.js.map +1 -0
  78. package/dist/index.es-XWsfbnWC.js +9628 -0
  79. package/dist/index.es-XWsfbnWC.js.map +1 -0
  80. package/dist/jspdf.plugin.autotable-DXW3wQb-.js +11475 -0
  81. package/dist/jspdf.plugin.autotable-DXW3wQb-.js.map +1 -0
  82. package/dist/main.d.ts +4 -0
  83. package/dist/main.js +23 -5
  84. package/dist/main.js.map +1 -1
  85. package/lib/components/ui/Combobox.tsx +159 -102
  86. package/lib/components/ui/button.tsx +3 -3
  87. package/lib/components/ui/command.tsx +1 -1
  88. package/lib/components/ui/input.tsx +96 -10
  89. package/lib/components/ui/select.tsx +9 -5
  90. package/lib/components/ui/separator.tsx +29 -0
  91. package/lib/components/ui/tooltip.tsx +28 -0
  92. package/lib/main.ts +4 -0
  93. package/package.json +3 -1
@@ -0,0 +1,422 @@
1
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { c as createContextScope, a as composeEventHandlers, b as createContext2 } from "./index-BpHbTxNe.js";
4
+ import { u as useComposedRefs, S as Slot } from "./index-D9mvqz1C.js";
5
+ import { u as useControllableState, a as useId } from "./index-BzVVosDl.js";
6
+ import { D as DismissableLayer } from "./index-BzZGaGRV.js";
7
+ import { R as ReactRemoveScroll, h as hideOthers, u as useFocusGuards, F as FocusScope, P as Portal$1 } from "./index-D8AkGh-j.js";
8
+ import { P as Presence } from "./index-Bjw9JvWH.js";
9
+ import { P as Primitive } from "./index-B761_inZ.js";
10
+ import { cn } from "./utils/utils.js";
11
+ import { X } from "./x-DciOkaU0.js";
12
+ var DIALOG_NAME = "Dialog";
13
+ var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);
14
+ var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
15
+ var Dialog$1 = (props) => {
16
+ const {
17
+ __scopeDialog,
18
+ children,
19
+ open: openProp,
20
+ defaultOpen,
21
+ onOpenChange,
22
+ modal = true
23
+ } = props;
24
+ const triggerRef = React.useRef(null);
25
+ const contentRef = React.useRef(null);
26
+ const [open = false, setOpen] = useControllableState({
27
+ prop: openProp,
28
+ defaultProp: defaultOpen,
29
+ onChange: onOpenChange
30
+ });
31
+ return /* @__PURE__ */ jsx(
32
+ DialogProvider,
33
+ {
34
+ scope: __scopeDialog,
35
+ triggerRef,
36
+ contentRef,
37
+ contentId: useId(),
38
+ titleId: useId(),
39
+ descriptionId: useId(),
40
+ open,
41
+ onOpenChange: setOpen,
42
+ onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
43
+ modal,
44
+ children
45
+ }
46
+ );
47
+ };
48
+ Dialog$1.displayName = DIALOG_NAME;
49
+ var TRIGGER_NAME = "DialogTrigger";
50
+ var DialogTrigger$1 = React.forwardRef(
51
+ (props, forwardedRef) => {
52
+ const { __scopeDialog, ...triggerProps } = props;
53
+ const context = useDialogContext(TRIGGER_NAME, __scopeDialog);
54
+ const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
55
+ return /* @__PURE__ */ jsx(
56
+ Primitive.button,
57
+ {
58
+ type: "button",
59
+ "aria-haspopup": "dialog",
60
+ "aria-expanded": context.open,
61
+ "aria-controls": context.contentId,
62
+ "data-state": getState(context.open),
63
+ ...triggerProps,
64
+ ref: composedTriggerRef,
65
+ onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
66
+ }
67
+ );
68
+ }
69
+ );
70
+ DialogTrigger$1.displayName = TRIGGER_NAME;
71
+ var PORTAL_NAME = "DialogPortal";
72
+ var [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {
73
+ forceMount: void 0
74
+ });
75
+ var DialogPortal$1 = (props) => {
76
+ const { __scopeDialog, forceMount, children, container } = props;
77
+ const context = useDialogContext(PORTAL_NAME, __scopeDialog);
78
+ return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$1, { asChild: true, container, children: child }) })) });
79
+ };
80
+ DialogPortal$1.displayName = PORTAL_NAME;
81
+ var OVERLAY_NAME = "DialogOverlay";
82
+ var DialogOverlay$1 = React.forwardRef(
83
+ (props, forwardedRef) => {
84
+ const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);
85
+ const { forceMount = portalContext.forceMount, ...overlayProps } = props;
86
+ const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
87
+ return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;
88
+ }
89
+ );
90
+ DialogOverlay$1.displayName = OVERLAY_NAME;
91
+ var DialogOverlayImpl = React.forwardRef(
92
+ (props, forwardedRef) => {
93
+ const { __scopeDialog, ...overlayProps } = props;
94
+ const context = useDialogContext(OVERLAY_NAME, __scopeDialog);
95
+ return (
96
+ // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
97
+ // ie. when `Overlay` and `Content` are siblings
98
+ /* @__PURE__ */ jsx(ReactRemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(
99
+ Primitive.div,
100
+ {
101
+ "data-state": getState(context.open),
102
+ ...overlayProps,
103
+ ref: forwardedRef,
104
+ style: { pointerEvents: "auto", ...overlayProps.style }
105
+ }
106
+ ) })
107
+ );
108
+ }
109
+ );
110
+ var CONTENT_NAME = "DialogContent";
111
+ var DialogContent$1 = React.forwardRef(
112
+ (props, forwardedRef) => {
113
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);
114
+ const { forceMount = portalContext.forceMount, ...contentProps } = props;
115
+ const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
116
+ return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });
117
+ }
118
+ );
119
+ DialogContent$1.displayName = CONTENT_NAME;
120
+ var DialogContentModal = React.forwardRef(
121
+ (props, forwardedRef) => {
122
+ const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
123
+ const contentRef = React.useRef(null);
124
+ const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);
125
+ React.useEffect(() => {
126
+ const content = contentRef.current;
127
+ if (content)
128
+ return hideOthers(content);
129
+ }, []);
130
+ return /* @__PURE__ */ jsx(
131
+ DialogContentImpl,
132
+ {
133
+ ...props,
134
+ ref: composedRefs,
135
+ trapFocus: context.open,
136
+ disableOutsidePointerEvents: true,
137
+ onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
138
+ var _a;
139
+ event.preventDefault();
140
+ (_a = context.triggerRef.current) == null ? void 0 : _a.focus();
141
+ }),
142
+ onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {
143
+ const originalEvent = event.detail.originalEvent;
144
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
145
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
146
+ if (isRightClick)
147
+ event.preventDefault();
148
+ }),
149
+ onFocusOutside: composeEventHandlers(
150
+ props.onFocusOutside,
151
+ (event) => event.preventDefault()
152
+ )
153
+ }
154
+ );
155
+ }
156
+ );
157
+ var DialogContentNonModal = React.forwardRef(
158
+ (props, forwardedRef) => {
159
+ const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);
160
+ const hasInteractedOutsideRef = React.useRef(false);
161
+ const hasPointerDownOutsideRef = React.useRef(false);
162
+ return /* @__PURE__ */ jsx(
163
+ DialogContentImpl,
164
+ {
165
+ ...props,
166
+ ref: forwardedRef,
167
+ trapFocus: false,
168
+ disableOutsidePointerEvents: false,
169
+ onCloseAutoFocus: (event) => {
170
+ var _a, _b;
171
+ (_a = props.onCloseAutoFocus) == null ? void 0 : _a.call(props, event);
172
+ if (!event.defaultPrevented) {
173
+ if (!hasInteractedOutsideRef.current)
174
+ (_b = context.triggerRef.current) == null ? void 0 : _b.focus();
175
+ event.preventDefault();
176
+ }
177
+ hasInteractedOutsideRef.current = false;
178
+ hasPointerDownOutsideRef.current = false;
179
+ },
180
+ onInteractOutside: (event) => {
181
+ var _a, _b;
182
+ (_a = props.onInteractOutside) == null ? void 0 : _a.call(props, event);
183
+ if (!event.defaultPrevented) {
184
+ hasInteractedOutsideRef.current = true;
185
+ if (event.detail.originalEvent.type === "pointerdown") {
186
+ hasPointerDownOutsideRef.current = true;
187
+ }
188
+ }
189
+ const target = event.target;
190
+ const targetIsTrigger = (_b = context.triggerRef.current) == null ? void 0 : _b.contains(target);
191
+ if (targetIsTrigger)
192
+ event.preventDefault();
193
+ if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
194
+ event.preventDefault();
195
+ }
196
+ }
197
+ }
198
+ );
199
+ }
200
+ );
201
+ var DialogContentImpl = React.forwardRef(
202
+ (props, forwardedRef) => {
203
+ const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;
204
+ const context = useDialogContext(CONTENT_NAME, __scopeDialog);
205
+ const contentRef = React.useRef(null);
206
+ const composedRefs = useComposedRefs(forwardedRef, contentRef);
207
+ useFocusGuards();
208
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
209
+ /* @__PURE__ */ jsx(
210
+ FocusScope,
211
+ {
212
+ asChild: true,
213
+ loop: true,
214
+ trapped: trapFocus,
215
+ onMountAutoFocus: onOpenAutoFocus,
216
+ onUnmountAutoFocus: onCloseAutoFocus,
217
+ children: /* @__PURE__ */ jsx(
218
+ DismissableLayer,
219
+ {
220
+ role: "dialog",
221
+ id: context.contentId,
222
+ "aria-describedby": context.descriptionId,
223
+ "aria-labelledby": context.titleId,
224
+ "data-state": getState(context.open),
225
+ ...contentProps,
226
+ ref: composedRefs,
227
+ onDismiss: () => context.onOpenChange(false)
228
+ }
229
+ )
230
+ }
231
+ ),
232
+ /* @__PURE__ */ jsxs(Fragment, { children: [
233
+ /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),
234
+ /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
235
+ ] })
236
+ ] });
237
+ }
238
+ );
239
+ var TITLE_NAME = "DialogTitle";
240
+ var DialogTitle$1 = React.forwardRef(
241
+ (props, forwardedRef) => {
242
+ const { __scopeDialog, ...titleProps } = props;
243
+ const context = useDialogContext(TITLE_NAME, __scopeDialog);
244
+ return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });
245
+ }
246
+ );
247
+ DialogTitle$1.displayName = TITLE_NAME;
248
+ var DESCRIPTION_NAME = "DialogDescription";
249
+ var DialogDescription$1 = React.forwardRef(
250
+ (props, forwardedRef) => {
251
+ const { __scopeDialog, ...descriptionProps } = props;
252
+ const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
253
+ return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });
254
+ }
255
+ );
256
+ DialogDescription$1.displayName = DESCRIPTION_NAME;
257
+ var CLOSE_NAME = "DialogClose";
258
+ var DialogClose$1 = React.forwardRef(
259
+ (props, forwardedRef) => {
260
+ const { __scopeDialog, ...closeProps } = props;
261
+ const context = useDialogContext(CLOSE_NAME, __scopeDialog);
262
+ return /* @__PURE__ */ jsx(
263
+ Primitive.button,
264
+ {
265
+ type: "button",
266
+ ...closeProps,
267
+ ref: forwardedRef,
268
+ onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))
269
+ }
270
+ );
271
+ }
272
+ );
273
+ DialogClose$1.displayName = CLOSE_NAME;
274
+ function getState(open) {
275
+ return open ? "open" : "closed";
276
+ }
277
+ var TITLE_WARNING_NAME = "DialogTitleWarning";
278
+ var [WarningProvider, useWarningContext] = createContext2(TITLE_WARNING_NAME, {
279
+ contentName: CONTENT_NAME,
280
+ titleName: TITLE_NAME,
281
+ docsSlug: "dialog"
282
+ });
283
+ var TitleWarning = ({ titleId }) => {
284
+ const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);
285
+ const MESSAGE = `\`${titleWarningContext.contentName}\` requires a \`${titleWarningContext.titleName}\` for the component to be accessible for screen reader users.
286
+
287
+ If you want to hide the \`${titleWarningContext.titleName}\`, you can wrap it with our VisuallyHidden component.
288
+
289
+ For more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;
290
+ React.useEffect(() => {
291
+ if (titleId) {
292
+ const hasTitle = document.getElementById(titleId);
293
+ if (!hasTitle)
294
+ console.error(MESSAGE);
295
+ }
296
+ }, [MESSAGE, titleId]);
297
+ return null;
298
+ };
299
+ var DESCRIPTION_WARNING_NAME = "DialogDescriptionWarning";
300
+ var DescriptionWarning = ({ contentRef, descriptionId }) => {
301
+ const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);
302
+ const MESSAGE = `Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${descriptionWarningContext.contentName}}.`;
303
+ React.useEffect(() => {
304
+ var _a;
305
+ const describedById = (_a = contentRef.current) == null ? void 0 : _a.getAttribute("aria-describedby");
306
+ if (descriptionId && describedById) {
307
+ const hasDescription = document.getElementById(descriptionId);
308
+ if (!hasDescription)
309
+ console.warn(MESSAGE);
310
+ }
311
+ }, [MESSAGE, contentRef, descriptionId]);
312
+ return null;
313
+ };
314
+ var Root = Dialog$1;
315
+ var Trigger = DialogTrigger$1;
316
+ var Portal = DialogPortal$1;
317
+ var Overlay = DialogOverlay$1;
318
+ var Content = DialogContent$1;
319
+ var Title = DialogTitle$1;
320
+ var Description = DialogDescription$1;
321
+ var Close = DialogClose$1;
322
+ const Dialog = Root;
323
+ const DialogTrigger = Trigger;
324
+ const DialogPortal = Portal;
325
+ const DialogClose = Close;
326
+ const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
327
+ Overlay,
328
+ {
329
+ ref,
330
+ className: cn(
331
+ "fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
332
+ className
333
+ ),
334
+ ...props
335
+ }
336
+ ));
337
+ DialogOverlay.displayName = Overlay.displayName;
338
+ const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(DialogPortal, { children: [
339
+ /* @__PURE__ */ jsx(DialogOverlay, {}),
340
+ /* @__PURE__ */ jsxs(
341
+ Content,
342
+ {
343
+ ref,
344
+ className: cn(
345
+ "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
346
+ className
347
+ ),
348
+ ...props,
349
+ children: [
350
+ children,
351
+ /* @__PURE__ */ jsxs(Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
352
+ /* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
353
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
354
+ ] })
355
+ ]
356
+ }
357
+ )
358
+ ] }));
359
+ DialogContent.displayName = Content.displayName;
360
+ const DialogHeader = ({
361
+ className,
362
+ ...props
363
+ }) => /* @__PURE__ */ jsx(
364
+ "div",
365
+ {
366
+ className: cn("flex flex-col space-y-1.5 sm:text-left", className),
367
+ ...props
368
+ }
369
+ );
370
+ DialogHeader.displayName = "DialogHeader";
371
+ const DialogFooter = ({
372
+ className,
373
+ ...props
374
+ }) => /* @__PURE__ */ jsx(
375
+ "div",
376
+ {
377
+ className: cn(
378
+ "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
379
+ className
380
+ ),
381
+ ...props
382
+ }
383
+ );
384
+ DialogFooter.displayName = "DialogFooter";
385
+ const DialogTitle = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
386
+ Title,
387
+ {
388
+ ref,
389
+ className: cn(
390
+ "text-lg font-semibold leading-none tracking-tight",
391
+ className
392
+ ),
393
+ ...props
394
+ }
395
+ ));
396
+ DialogTitle.displayName = Title.displayName;
397
+ const DialogDescription = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
398
+ Description,
399
+ {
400
+ ref,
401
+ className: cn("text-sm text-muted-foreground", className),
402
+ ...props
403
+ }
404
+ ));
405
+ DialogDescription.displayName = Description.displayName;
406
+ export {
407
+ Content as C,
408
+ Dialog as D,
409
+ Overlay as O,
410
+ Portal as P,
411
+ Root as R,
412
+ DialogPortal as a,
413
+ DialogOverlay as b,
414
+ DialogClose as c,
415
+ DialogTrigger as d,
416
+ DialogContent as e,
417
+ DialogHeader as f,
418
+ DialogFooter as g,
419
+ DialogTitle as h,
420
+ DialogDescription as i
421
+ };
422
+ //# sourceMappingURL=Dialog-CLPZ1Y00.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog-CLPZ1Y00.js","sources":["../node_modules/@radix-ui/react-dialog/dist/index.mjs","../lib/components/ui/Dialog.tsx"],"sourcesContent":["\"use client\";\n\n// packages/react/dialog/src/Dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContext, createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = (props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange\n });\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n};\nDialog.displayName = DIALOG_NAME;\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.contentId,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }\n);\nDialogTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = (props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n};\nDialogPortal.displayName = PORTAL_NAME;\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }\n);\nDialogOverlay.displayName = OVERLAY_NAME;\nvar DialogOverlayImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: forwardedRef,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }\n);\nDialogContent.displayName = CONTENT_NAME;\nvar DialogContentModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: true,\n onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n }),\n onPointerDownOutside: composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }\n);\nvar DialogContentNonModal = React.forwardRef(\n (props, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }\n);\nvar DialogContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n useFocusGuards();\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionId,\n \"aria-labelledby\": context.titleId,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: composedRefs,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ),\n /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(TitleWarning, { titleId: context.titleId }),\n /* @__PURE__ */ jsx(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })\n ] })\n ] });\n }\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }\n);\nDialogTitle.displayName = TITLE_NAME;\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }\n);\nDialogDescription.displayName = DESCRIPTION_NAME;\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }\n);\nDialogClose.displayName = CLOSE_NAME;\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\nvar TITLE_WARNING_NAME = \"DialogTitleWarning\";\nvar [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: \"dialog\"\n});\nvar TitleWarning = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) console.error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n return null;\n};\nvar DESCRIPTION_WARNING_NAME = \"DialogDescriptionWarning\";\nvar DescriptionWarning = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute(\"aria-describedby\");\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n return null;\n};\nvar Root = Dialog;\nvar Trigger = DialogTrigger;\nvar Portal = DialogPortal;\nvar Overlay = DialogOverlay;\nvar Content = DialogContent;\nvar Title = DialogTitle;\nvar Description = DialogDescription;\nvar Close = DialogClose;\nexport {\n Close,\n Content,\n Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n Overlay,\n Portal,\n Root,\n Title,\n Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\r\nimport { X } from \"lucide-react\";\r\nimport { cn } from \"../../utils/utils\";\r\n\r\nconst Dialog = DialogPrimitive.Root;\r\n\r\nconst DialogTrigger = DialogPrimitive.Trigger;\r\n\r\nconst DialogPortal = DialogPrimitive.Portal;\r\n\r\nconst DialogClose = DialogPrimitive.Close;\r\n\r\nconst DialogOverlay = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Overlay>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Overlay\r\n ref={ref}\r\n className={cn(\r\n \"fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\r\n\r\nconst DialogContent = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\r\n>(({ className, children, ...props }, ref) => (\r\n <DialogPortal>\r\n <DialogOverlay />\r\n <DialogPrimitive.Content\r\n ref={ref}\r\n className={cn(\r\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\r\n <X className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Close</span>\r\n </DialogPrimitive.Close>\r\n </DialogPrimitive.Content>\r\n </DialogPortal>\r\n));\r\nDialogContent.displayName = DialogPrimitive.Content.displayName;\r\n\r\nconst DialogHeader = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\"flex flex-col space-y-1.5 sm:text-left\", className)}\r\n {...props}\r\n />\r\n);\r\nDialogHeader.displayName = \"DialogHeader\";\r\n\r\nconst DialogFooter = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLDivElement>) => (\r\n <div\r\n className={cn(\r\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n);\r\nDialogFooter.displayName = \"DialogFooter\";\r\n\r\nconst DialogTitle = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Title>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Title\r\n ref={ref}\r\n className={cn(\r\n \"text-lg font-semibold leading-none tracking-tight\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\r\n\r\nconst DialogDescription = React.forwardRef<\r\n React.ElementRef<typeof DialogPrimitive.Description>,\r\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\r\n>(({ className, ...props }, ref) => (\r\n <DialogPrimitive.Description\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n));\r\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\r\n\r\nexport {\r\n Dialog,\r\n DialogPortal,\r\n DialogOverlay,\r\n DialogClose,\r\n DialogTrigger,\r\n DialogContent,\r\n DialogHeader,\r\n DialogFooter,\r\n DialogTitle,\r\n DialogDescription,\r\n};\r\n"],"names":["Dialog","DialogTrigger","DialogPortal","PortalPrimitive","DialogOverlay","RemoveScroll","DialogContent","DialogTitle","DialogDescription","DialogClose","createContext","DialogPrimitive.Root","DialogPrimitive.Trigger","DialogPrimitive.Portal","DialogPrimitive.Close","DialogPrimitive.Overlay","DialogPrimitive.Content","DialogPrimitive.Title","DialogPrimitive.Description"],"mappings":"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","x_google_ignoreList":[0]}