@mastra/playground-ui 53.0.0-alpha.9 → 53.0.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.
Files changed (139) hide show
  1. package/dist/{code-DRGJVroV.js → code-D4Vw_fYq.js} +22 -16
  2. package/dist/code-D4Vw_fYq.js.map +1 -0
  3. package/dist/{code-BJMC6T9D.cjs → code-DhrdtZce.cjs} +22 -15
  4. package/dist/code-DhrdtZce.cjs.map +1 -0
  5. package/dist/{code-block-CBJhDEeB.js → code-block-DeksY23p.js} +2 -2
  6. package/dist/{code-block-CBJhDEeB.js.map → code-block-DeksY23p.js.map} +1 -1
  7. package/dist/{code-block-fmv8bHoT.cjs → code-block-DgHrBuR8.cjs} +2 -2
  8. package/dist/{code-block-fmv8bHoT.cjs.map → code-block-DgHrBuR8.cjs.map} +1 -1
  9. package/dist/{command-DWFd0d4c.js → command-Be-KrIAX.js} +2 -2
  10. package/dist/{command-DWFd0d4c.js.map → command-Be-KrIAX.js.map} +1 -1
  11. package/dist/{command-CUev1UxH.cjs → command-DsTBCmQq.cjs} +2 -2
  12. package/dist/{command-CUev1UxH.cjs.map → command-DsTBCmQq.cjs.map} +1 -1
  13. package/dist/components/ChatShell.cjs.js +20 -1
  14. package/dist/components/ChatShell.cjs.js.map +1 -1
  15. package/dist/components/ChatShell.es.js +20 -1
  16. package/dist/components/ChatShell.es.js.map +1 -1
  17. package/dist/components/Code.cjs.js +3 -1
  18. package/dist/components/Code.cjs.js.map +1 -1
  19. package/dist/components/Code.es.js +1 -1
  20. package/dist/components/CodeBlock.cjs.js +1 -1
  21. package/dist/components/CodeBlock.es.js +1 -1
  22. package/dist/components/CodeEditor.cjs.js +2 -1
  23. package/dist/components/CodeEditor.cjs.js.map +1 -1
  24. package/dist/components/CodeEditor.es.js +1 -1
  25. package/dist/components/Command.cjs.js +1 -1
  26. package/dist/components/Command.es.js +1 -1
  27. package/dist/components/CommandPalette.cjs.js +1 -1
  28. package/dist/components/CommandPalette.es.js +1 -1
  29. package/dist/components/DataCodeSection.cjs.js +1 -1
  30. package/dist/components/DataCodeSection.es.js +1 -1
  31. package/dist/components/DataPanel.cjs.js +1 -1
  32. package/dist/components/DataPanel.es.js +1 -1
  33. package/dist/components/Dialog.cjs.js +181 -2
  34. package/dist/components/Dialog.cjs.js.map +1 -1
  35. package/dist/components/Dialog.es.js +183 -1
  36. package/dist/components/Dialog.es.js.map +1 -1
  37. package/dist/components/HorizontalBars.cjs.js +1 -1
  38. package/dist/components/HorizontalBars.es.js +1 -1
  39. package/dist/components/IntegrationDialog.cjs.js +105 -0
  40. package/dist/components/IntegrationDialog.cjs.js.map +1 -0
  41. package/dist/components/IntegrationDialog.d.ts +2 -0
  42. package/dist/components/IntegrationDialog.es.js +101 -0
  43. package/dist/components/IntegrationDialog.es.js.map +1 -0
  44. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  45. package/dist/components/MarkdownRenderer.es.js +1 -1
  46. package/dist/components/ThreadRail.cjs.js +19 -0
  47. package/dist/components/ThreadRail.cjs.js.map +1 -1
  48. package/dist/components/ThreadRail.es.js +19 -1
  49. package/dist/components/ThreadRail.es.js.map +1 -1
  50. package/dist/components/ai/plan.cjs.js +1 -1
  51. package/dist/components/ai/plan.es.js +1 -1
  52. package/dist/components/ai/tool-call.cjs.js +165 -0
  53. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  54. package/dist/components/ai/tool-call.es.js +159 -3
  55. package/dist/components/ai/tool-call.es.js.map +1 -1
  56. package/dist/{data-code-section-D5I0m1cS.cjs → data-code-section-B_lg_J_0.cjs} +2 -2
  57. package/dist/{data-code-section-D5I0m1cS.cjs.map → data-code-section-B_lg_J_0.cjs.map} +1 -1
  58. package/dist/{data-code-section-d3NffL3V.js → data-code-section-Cm_W_XhO.js} +2 -2
  59. package/dist/{data-code-section-d3NffL3V.js.map → data-code-section-Cm_W_XhO.js.map} +1 -1
  60. package/dist/{data-panel-Bo2HCylZ.cjs → data-panel-Cv9j_IGQ.cjs} +2 -2
  61. package/dist/{data-panel-Bo2HCylZ.cjs.map → data-panel-Cv9j_IGQ.cjs.map} +1 -1
  62. package/dist/{data-panel-T3vp7wTD.js → data-panel-DXxeSnL1.js} +2 -2
  63. package/dist/{data-panel-T3vp7wTD.js.map → data-panel-DXxeSnL1.js.map} +1 -1
  64. package/dist/dialog-CZMPDVUj.js +259 -0
  65. package/dist/dialog-CZMPDVUj.js.map +1 -0
  66. package/dist/dialog-D-7Hkb3j.cjs +293 -0
  67. package/dist/dialog-D-7Hkb3j.cjs.map +1 -0
  68. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +1 -1
  69. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +1 -1
  70. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +1 -1
  71. package/dist/domains/metrics/components/traces-volume-card-view.es.js +1 -1
  72. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  73. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  74. package/dist/domains/traces/components/trace-columns-menu.cjs.js +1 -1
  75. package/dist/domains/traces/components/trace-columns-menu.es.js +1 -1
  76. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +1 -1
  77. package/dist/domains/traces/components/trace-data-panel-view.es.js +1 -1
  78. package/dist/domains/traces/hooks/use-branch.cjs.js +2 -6
  79. package/dist/domains/traces/hooks/use-branch.cjs.js.map +1 -1
  80. package/dist/domains/traces/hooks/use-branch.es.js +2 -6
  81. package/dist/domains/traces/hooks/use-branch.es.js.map +1 -1
  82. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +4 -1
  83. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js.map +1 -1
  84. package/dist/domains/traces/hooks/use-download-trace-json.es.js +4 -1
  85. package/dist/domains/traces/hooks/use-download-trace-json.es.js.map +1 -1
  86. package/dist/domains/traces/hooks/use-trace-spans.cjs.js +10 -7
  87. package/dist/domains/traces/hooks/use-trace-spans.cjs.js.map +1 -1
  88. package/dist/domains/traces/hooks/use-trace-spans.es.js +10 -7
  89. package/dist/domains/traces/hooks/use-trace-spans.es.js.map +1 -1
  90. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +1 -1
  91. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +1 -1
  92. package/dist/{highlight-CSJjjoqh.js → highlight-BmpoELR4.js} +6 -2
  93. package/dist/{highlight-CSJjjoqh.js.map → highlight-BmpoELR4.js.map} +1 -1
  94. package/dist/{highlight-CEt2vhD8.cjs → highlight-DK1dn-Fh.cjs} +6 -1
  95. package/dist/{highlight-CEt2vhD8.cjs.map → highlight-DK1dn-Fh.cjs.map} +1 -1
  96. package/dist/{horizontal-bars-DZ5J4TKv.js → horizontal-bars-CyP-B-BX.js} +37 -4
  97. package/dist/horizontal-bars-CyP-B-BX.js.map +1 -0
  98. package/dist/{horizontal-bars-CE1O-Y6G.cjs → horizontal-bars-Dgq3PYsg.cjs} +37 -4
  99. package/dist/horizontal-bars-Dgq3PYsg.cjs.map +1 -0
  100. package/dist/{markdown-renderer-DiJBbnYG.js → markdown-renderer-CaFpZTFS.js} +2 -2
  101. package/dist/{markdown-renderer-DiJBbnYG.js.map → markdown-renderer-CaFpZTFS.js.map} +1 -1
  102. package/dist/{markdown-renderer-DGIzNAQY.cjs → markdown-renderer-GVtZLunG.cjs} +2 -2
  103. package/dist/{markdown-renderer-DGIzNAQY.cjs.map → markdown-renderer-GVtZLunG.cjs.map} +1 -1
  104. package/dist/src/domains/traces/hooks/use-trace-spans.d.ts +3 -1
  105. package/dist/src/ds/components/ChatShell/chat-shell.d.ts +19 -2
  106. package/dist/src/ds/components/ChatShell/index.d.ts +3 -2
  107. package/dist/src/ds/components/Code/index.d.ts +1 -0
  108. package/dist/src/ds/components/Code/use-highlight.d.ts +10 -0
  109. package/dist/src/ds/components/CodeEditor/highlight.d.ts +1 -0
  110. package/dist/src/ds/components/CodeEditor/index.d.ts +1 -1
  111. package/dist/src/ds/components/Dialog/dialog-action.d.ts +9 -0
  112. package/dist/src/ds/components/Dialog/dialog-context.d.ts +16 -0
  113. package/dist/src/ds/components/Dialog/dialog-new-variant.stories.d.ts +64 -0
  114. package/dist/src/ds/components/Dialog/dialog.d.ts +15 -6
  115. package/dist/src/ds/components/Dialog/index.d.ts +2 -0
  116. package/dist/src/ds/components/HorizontalBars/horizontal-bars.stories.d.ts +2 -0
  117. package/dist/src/ds/components/IntegrationDialog/__fixtures__/integrations-catalog.d.ts +2 -0
  118. package/dist/src/ds/components/IntegrationDialog/index.d.ts +2 -0
  119. package/dist/src/ds/components/IntegrationDialog/integration-dialog.d.ts +28 -0
  120. package/dist/src/ds/components/IntegrationDialog/integration-dialog.stories.d.ts +24 -0
  121. package/dist/src/ds/components/ThreadRail/index.d.ts +1 -0
  122. package/dist/src/ds/components/ThreadRail/turn-groups.d.ts +19 -0
  123. package/dist/src/ds/components/ai/tool-call/ansi.d.ts +2 -0
  124. package/dist/src/ds/components/ai/tool-call/group-consecutive.d.ts +17 -0
  125. package/dist/src/ds/components/ai/tool-call/index.d.ts +4 -0
  126. package/dist/src/ds/components/ai/tool-call/tool-call-edit.d.ts +4 -0
  127. package/dist/src/ds/components/ai/tool-call/tool-call-group.d.ts +14 -0
  128. package/dist/src/ds/components/ai/tool-call/tool-call.d.ts +4 -0
  129. package/dist/src/ds/components/ai/tool-call/tool-presentation.d.ts +10 -0
  130. package/dist/style.css +138 -0
  131. package/package.json +8 -8
  132. package/dist/code-BJMC6T9D.cjs.map +0 -1
  133. package/dist/code-DRGJVroV.js.map +0 -1
  134. package/dist/dialog-CESxLg8S.js +0 -76
  135. package/dist/dialog-CESxLg8S.js.map +0 -1
  136. package/dist/dialog-K0q0KOOW.cjs +0 -107
  137. package/dist/dialog-K0q0KOOW.cjs.map +0 -1
  138. package/dist/horizontal-bars-CE1O-Y6G.cjs.map +0 -1
  139. package/dist/horizontal-bars-DZ5J4TKv.js.map +0 -1
@@ -0,0 +1,259 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { Dialog as Dialog$1 } from '@base-ui/react/dialog';
3
+ import { X } from 'lucide-react';
4
+ import * as React from 'react';
5
+ import { createContext, useContext } from 'react';
6
+ import { B as Button } from './Button-BsfLQEC6.js';
7
+ import { S as ScrollArea } from './scroll-area-BiHnOfzg.js';
8
+ import { a as asChildRenderProps } from './as-child-N1qMDCr8.js';
9
+ import { c as cn } from './cn-B4oPhFx9.js';
10
+ import './dialog.css';/* empty css */
11
+
12
+ const DialogContext = createContext({
13
+ variant: "default",
14
+ intent: "default",
15
+ pending: false
16
+ });
17
+ function useDialogContext() {
18
+ return useContext(DialogContext);
19
+ }
20
+ const dialogActionSizeClasses = {
21
+ xs: "min-h-form-xs leading-ui-xs",
22
+ sm: "min-h-form-sm leading-ui-sm",
23
+ md: "min-h-form-md leading-ui-md",
24
+ lg: "min-h-form-default leading-ui-md"
25
+ };
26
+ const dialogActionLayoutClasses = "h-auto min-w-0 max-w-full whitespace-normal wrap-anywhere max-[22rem]:w-full";
27
+
28
+ function Dialog({ variant = "default", intent = "default", pending = false, onOpenChange, ...props }) {
29
+ const isNew = variant === "new";
30
+ return /* @__PURE__ */ jsx(DialogContext.Provider, { value: { variant, intent, pending }, children: /* @__PURE__ */ jsx(
31
+ Dialog$1.Root,
32
+ {
33
+ ...props,
34
+ disablePointerDismissal: props.disablePointerDismissal ?? (isNew && intent === "destructive"),
35
+ onOpenChange: (open, details) => {
36
+ if (!open && pending) {
37
+ details.cancel();
38
+ return;
39
+ }
40
+ onOpenChange?.(open, details);
41
+ }
42
+ }
43
+ ) });
44
+ }
45
+ const DialogTrigger = React.forwardRef(
46
+ ({ asChild, children, ...props }, ref) => {
47
+ return /* @__PURE__ */ jsx(Dialog$1.Trigger, { ref, ...asChildRenderProps(asChild, children), ...props, children: asChild ? void 0 : children });
48
+ }
49
+ );
50
+ DialogTrigger.displayName = "DialogTrigger";
51
+ const DialogPortal = Dialog$1.Portal;
52
+ const DialogClose = React.forwardRef(({ asChild, children, ...props }, ref) => {
53
+ return /* @__PURE__ */ jsx(Dialog$1.Close, { ref, ...asChildRenderProps(asChild, children), ...props, children: asChild ? void 0 : children });
54
+ });
55
+ DialogClose.displayName = "DialogClose";
56
+ const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => {
57
+ const { variant } = useDialogContext();
58
+ return /* @__PURE__ */ jsx(
59
+ Dialog$1.Backdrop,
60
+ {
61
+ ref,
62
+ className: cn(
63
+ variant === "new" ? "transition-opacity duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none" : "dialog-overlay-anim",
64
+ "fixed inset-0 z-50 bg-overlay backdrop-blur-xs",
65
+ className
66
+ ),
67
+ ...props
68
+ }
69
+ );
70
+ });
71
+ DialogOverlay.displayName = "DialogOverlay";
72
+ const DialogContent = React.forwardRef(
73
+ ({ className, children, showOverlay = true, overlayClassName, initialFocus, ...props }, ref) => {
74
+ const { variant, intent, pending } = useDialogContext();
75
+ const closeRef = React.useRef(null);
76
+ if (variant === "new") {
77
+ return /* @__PURE__ */ jsxs(DialogPortal, { children: [
78
+ showOverlay && /* @__PURE__ */ jsx(DialogOverlay, { className: overlayClassName }),
79
+ /* @__PURE__ */ jsxs(
80
+ Dialog$1.Popup,
81
+ {
82
+ ref,
83
+ "data-slot": "dialog-content",
84
+ "data-variant": "new",
85
+ "data-intent": intent,
86
+ role: intent === "destructive" ? "alertdialog" : "dialog",
87
+ initialFocus: initialFocus ?? (intent === "destructive" ? closeRef : true),
88
+ "aria-busy": pending || void 0,
89
+ className: cn(
90
+ "fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border1/40 bg-surface2 shadow-dialog outline-hidden",
91
+ "data-[ending-style]:scale-0.98 data-[starting-style]:scale-0.98 transition-[opacity,scale] duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none",
92
+ className
93
+ ),
94
+ ...props,
95
+ children: [
96
+ children,
97
+ /* @__PURE__ */ jsx(
98
+ Dialog$1.Close,
99
+ {
100
+ ref: closeRef,
101
+ disabled: pending,
102
+ render: /* @__PURE__ */ jsx(
103
+ Button,
104
+ {
105
+ variant: "ghost",
106
+ size: "icon-sm",
107
+ className: "absolute top-3 right-3",
108
+ "aria-label": "Close dialog",
109
+ children: /* @__PURE__ */ jsx(X, {})
110
+ }
111
+ ),
112
+ children: /* @__PURE__ */ jsx(X, {})
113
+ }
114
+ )
115
+ ]
116
+ }
117
+ )
118
+ ] });
119
+ }
120
+ return /* @__PURE__ */ jsxs(DialogPortal, { children: [
121
+ showOverlay && /* @__PURE__ */ jsx(DialogOverlay, { className: overlayClassName }),
122
+ /* @__PURE__ */ jsxs(
123
+ Dialog$1.Popup,
124
+ {
125
+ ref,
126
+ "data-slot": "dialog-content",
127
+ initialFocus,
128
+ className: cn(
129
+ "dialog-content-anim",
130
+ "fixed top-[50%] left-[50%] z-50 grid translate-[-50%]",
131
+ "w-full max-w-[calc(100%-2rem)] sm:max-w-lg",
132
+ "rounded-xl border border-border1/40 bg-surface2/96 shadow-dialog backdrop-blur-md",
133
+ "focus-visible:outline-hidden",
134
+ className
135
+ ),
136
+ ...props,
137
+ children: [
138
+ children,
139
+ /* @__PURE__ */ jsx(
140
+ Dialog$1.Close,
141
+ {
142
+ render: /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "sm", className: "absolute top-3 right-3", "aria-label": "Close", children: /* @__PURE__ */ jsx(X, {}) })
143
+ }
144
+ )
145
+ ]
146
+ }
147
+ )
148
+ ] });
149
+ }
150
+ );
151
+ DialogContent.displayName = "DialogContent";
152
+ const DialogHeader = ({ className, ...props }) => {
153
+ const { variant } = useDialogContext();
154
+ return /* @__PURE__ */ jsx(
155
+ "div",
156
+ {
157
+ className: cn(
158
+ variant === "new" ? "flex min-w-0 shrink-0 flex-col gap-2 px-5 pt-4 pb-2" : "flex flex-col gap-0.5 px-4 py-3 text-left",
159
+ className
160
+ ),
161
+ ...props
162
+ }
163
+ );
164
+ };
165
+ DialogHeader.displayName = "DialogHeader";
166
+ const DialogFooter = ({ className, ...props }) => {
167
+ const { variant } = useDialogContext();
168
+ return /* @__PURE__ */ jsx(
169
+ "div",
170
+ {
171
+ className: cn(
172
+ variant === "new" ? "flex shrink-0 flex-wrap justify-end gap-2 px-5 pt-2 pb-4" : "flex flex-col-reverse gap-1.5 px-4 py-2.5 sm:flex-row sm:justify-end",
173
+ className
174
+ ),
175
+ ...props
176
+ }
177
+ );
178
+ };
179
+ DialogFooter.displayName = "DialogFooter";
180
+ const DialogBody = React.forwardRef(
181
+ ({ className, children, ...props }, ref) => {
182
+ const { variant } = useDialogContext();
183
+ if (variant === "new") {
184
+ return /* @__PURE__ */ jsx(ScrollArea, { className: "flex min-h-0 min-w-0 shrink flex-col", viewPortClassName: "h-auto min-h-0", mask: true, children: /* @__PURE__ */ jsx(
185
+ "div",
186
+ {
187
+ ref,
188
+ className: cn(
189
+ "flex flex-col gap-4 px-5 py-2 text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4",
190
+ className
191
+ ),
192
+ ...props,
193
+ children
194
+ }
195
+ ) });
196
+ }
197
+ return /* @__PURE__ */ jsx("div", { ref, className: cn("max-h-[50vh] overflow-y-auto px-4 py-3.5", className), ...props, children });
198
+ }
199
+ );
200
+ DialogBody.displayName = "DialogBody";
201
+ const DialogTitle = React.forwardRef(({ className, ...props }, ref) => {
202
+ const { variant } = useDialogContext();
203
+ return /* @__PURE__ */ jsx(
204
+ Dialog$1.Title,
205
+ {
206
+ ref,
207
+ className: cn(
208
+ "text-ui-md font-medium",
209
+ variant === "new" && "pr-8 leading-ui-md [overflow-wrap:anywhere] text-neutral6",
210
+ className
211
+ ),
212
+ ...props
213
+ }
214
+ );
215
+ });
216
+ DialogTitle.displayName = "DialogTitle";
217
+ const DialogDescription = React.forwardRef(
218
+ ({ className, ...props }, ref) => {
219
+ const { variant } = useDialogContext();
220
+ return /* @__PURE__ */ jsx(
221
+ Dialog$1.Description,
222
+ {
223
+ ref,
224
+ className: cn(
225
+ variant === "new" ? "text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4" : "sr-only",
226
+ className
227
+ ),
228
+ ...props
229
+ }
230
+ );
231
+ }
232
+ );
233
+ DialogDescription.displayName = "DialogDescription";
234
+ const DialogCancel = React.forwardRef(
235
+ ({ disabled, size = "md", ...props }, ref) => {
236
+ const { pending } = useDialogContext();
237
+ return /* @__PURE__ */ jsx(
238
+ Dialog$1.Close,
239
+ {
240
+ ref,
241
+ render: /* @__PURE__ */ jsx(
242
+ Button,
243
+ {
244
+ size,
245
+ variant: "ghost",
246
+ className: cn(dialogActionLayoutClasses, dialogActionSizeClasses[size]),
247
+ children: props.children
248
+ }
249
+ ),
250
+ ...props,
251
+ disabled: disabled || pending
252
+ }
253
+ );
254
+ }
255
+ );
256
+ DialogCancel.displayName = "DialogCancel";
257
+
258
+ export { Dialog as D, DialogContent as a, DialogHeader as b, DialogTitle as c, DialogDescription as d, DialogBody as e, DialogFooter as f, dialogActionSizeClasses as g, dialogActionLayoutClasses as h, DialogCancel as i, DialogClose as j, DialogOverlay as k, DialogPortal as l, DialogTrigger as m, useDialogContext as u };
259
+ //# sourceMappingURL=dialog-CZMPDVUj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-CZMPDVUj.js","sources":["../src/ds/components/Dialog/dialog-context.ts","../src/ds/components/Dialog/dialog.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type DialogVariant = 'default' | 'new';\nexport type DialogIntent = 'default' | 'destructive';\n\nexport type DialogContextValue = {\n variant: DialogVariant;\n intent: DialogIntent;\n pending: boolean;\n};\n\nexport const DialogContext = createContext<DialogContextValue>({\n variant: 'default',\n intent: 'default',\n pending: false,\n});\n\nexport function useDialogContext() {\n return useContext(DialogContext);\n}\n\nexport const dialogActionSizeClasses = {\n xs: 'min-h-form-xs leading-ui-xs',\n sm: 'min-h-form-sm leading-ui-sm',\n md: 'min-h-form-md leading-ui-md',\n lg: 'min-h-form-default leading-ui-md',\n} as const;\n\nexport const dialogActionLayoutClasses = 'h-auto min-w-0 max-w-full whitespace-normal wrap-anywhere max-[22rem]:w-full';\n","import { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { DialogAction } from './dialog-action';\nimport { DialogContext, dialogActionLayoutClasses, dialogActionSizeClasses, useDialogContext } from './dialog-context';\nimport type { DialogIntent, DialogVariant } from './dialog-context';\nimport { Button } from '@/ds/components/Button';\nimport type { TextButtonSize } from '@/ds/components/Button';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { asChildRenderProps } from '@/lib/as-child';\nimport { cn } from '@/lib/utils';\n\nimport './dialog.css';\n\nexport type DialogProps = DialogPrimitive.Root.Props & {\n variant?: DialogVariant;\n intent?: DialogIntent;\n pending?: boolean;\n};\n\nfunction Dialog({ variant = 'default', intent = 'default', pending = false, onOpenChange, ...props }: DialogProps) {\n const isNew = variant === 'new';\n return (\n <DialogContext.Provider value={{ variant, intent, pending }}>\n <DialogPrimitive.Root\n {...props}\n disablePointerDismissal={props.disablePointerDismissal ?? (isNew && intent === 'destructive')}\n onOpenChange={(open, details) => {\n if (!open && pending) {\n details.cancel();\n return;\n }\n onOpenChange?.(open, details);\n }}\n />\n </DialogContext.Provider>\n );\n}\n\ntype DialogTriggerProps = DialogPrimitive.Trigger.Props & {\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n};\n\nconst DialogTrigger = React.forwardRef<HTMLButtonElement, DialogTriggerProps>(\n ({ asChild, children, ...props }, ref) => {\n return (\n <DialogPrimitive.Trigger ref={ref} {...asChildRenderProps(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Trigger>\n );\n },\n);\nDialogTrigger.displayName = 'DialogTrigger';\n\nconst DialogPortal = DialogPrimitive.Portal;\n\ntype DialogCloseProps = DialogPrimitive.Close.Props & {\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n};\n\nconst DialogClose = React.forwardRef<HTMLButtonElement, DialogCloseProps>(({ asChild, children, ...props }, ref) => {\n return (\n <DialogPrimitive.Close ref={ref} {...asChildRenderProps(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Close>\n );\n});\nDialogClose.displayName = 'DialogClose';\n\ntype DialogOverlayProps = Omit<DialogPrimitive.Backdrop.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogOverlay = React.forwardRef<HTMLDivElement, DialogOverlayProps>(({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Backdrop\n ref={ref}\n className={cn(\n variant === 'new'\n ? 'transition-opacity duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none'\n : 'dialog-overlay-anim',\n 'fixed inset-0 z-50 bg-overlay backdrop-blur-xs',\n className,\n )}\n {...props}\n />\n );\n});\nDialogOverlay.displayName = 'DialogOverlay';\n\ntype DialogContentProps = Omit<DialogPrimitive.Popup.Props, 'className'> & {\n className?: string;\n showOverlay?: boolean;\n overlayClassName?: string;\n};\n\nconst DialogContent = React.forwardRef<HTMLDivElement, DialogContentProps>(\n ({ className, children, showOverlay = true, overlayClassName, initialFocus, ...props }, ref) => {\n const { variant, intent, pending } = useDialogContext();\n const closeRef = React.useRef<HTMLButtonElement>(null);\n if (variant === 'new') {\n return (\n <DialogPortal>\n {showOverlay && <DialogOverlay className={overlayClassName} />}\n <DialogPrimitive.Popup\n ref={ref}\n data-slot=\"dialog-content\"\n data-variant=\"new\"\n data-intent={intent}\n role={intent === 'destructive' ? 'alertdialog' : 'dialog'}\n initialFocus={initialFocus ?? (intent === 'destructive' ? closeRef : true)}\n aria-busy={pending || undefined}\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border1/40 bg-surface2 shadow-dialog outline-hidden',\n 'data-[ending-style]:scale-0.98 data-[starting-style]:scale-0.98 transition-[opacity,scale] duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n ref={closeRef}\n disabled={pending}\n render={\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"absolute top-3 right-3\"\n aria-label=\"Close dialog\"\n children={<X />}\n />\n }\n >\n <X />\n </DialogPrimitive.Close>\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal>\n {showOverlay && <DialogOverlay className={overlayClassName} />}\n <DialogPrimitive.Popup\n ref={ref}\n data-slot=\"dialog-content\"\n initialFocus={initialFocus}\n className={cn(\n 'dialog-content-anim',\n 'fixed top-[50%] left-[50%] z-50 grid translate-[-50%]',\n 'w-full max-w-[calc(100%-2rem)] sm:max-w-lg',\n 'rounded-xl border border-border1/40 bg-surface2/96 shadow-dialog backdrop-blur-md',\n 'focus-visible:outline-hidden',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n render={\n <Button variant=\"ghost\" size=\"sm\" className=\"absolute top-3 right-3\" aria-label=\"Close\">\n <X />\n </Button>\n }\n />\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n },\n);\nDialogContent.displayName = 'DialogContent';\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const { variant } = useDialogContext();\n return (\n <div\n className={cn(\n variant === 'new'\n ? 'flex min-w-0 shrink-0 flex-col gap-2 px-5 pt-4 pb-2'\n : 'flex flex-col gap-0.5 px-4 py-3 text-left',\n className,\n )}\n {...props}\n />\n );\n};\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const { variant } = useDialogContext();\n return (\n <div\n className={cn(\n variant === 'new'\n ? 'flex shrink-0 flex-wrap justify-end gap-2 px-5 pt-2 pb-4'\n : 'flex flex-col-reverse gap-1.5 px-4 py-2.5 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n );\n};\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogBody = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { variant } = useDialogContext();\n if (variant === 'new') {\n return (\n <ScrollArea className=\"flex min-h-0 min-w-0 shrink flex-col\" viewPortClassName=\"h-auto min-h-0\" mask>\n <div\n ref={ref}\n className={cn(\n 'flex flex-col gap-4 px-5 py-2 text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </ScrollArea>\n );\n }\n return (\n <div ref={ref} className={cn('max-h-[50vh] overflow-y-auto px-4 py-3.5', className)} {...props}>\n {children}\n </div>\n );\n },\n);\nDialogBody.displayName = 'DialogBody';\n\ntype DialogTitleProps = Omit<DialogPrimitive.Title.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogTitle = React.forwardRef<HTMLHeadingElement, DialogTitleProps>(({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n 'text-ui-md font-medium',\n variant === 'new' && 'pr-8 leading-ui-md [overflow-wrap:anywhere] text-neutral6',\n className,\n )}\n {...props}\n />\n );\n});\nDialogTitle.displayName = 'DialogTitle';\n\ntype DialogDescriptionProps = Omit<DialogPrimitive.Description.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogDescription = React.forwardRef<HTMLParagraphElement, DialogDescriptionProps>(\n ({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\n variant === 'new' ? 'text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4' : 'sr-only',\n className,\n )}\n {...props}\n />\n );\n },\n);\nDialogDescription.displayName = 'DialogDescription';\n\ntype DialogCancelProps = DialogPrimitive.Close.Props & { size?: TextButtonSize };\n\nconst DialogCancel = React.forwardRef<HTMLButtonElement, DialogCancelProps>(\n ({ disabled, size = 'md', ...props }, ref) => {\n const { pending } = useDialogContext();\n return (\n <DialogPrimitive.Close\n ref={ref}\n render={\n <Button\n size={size}\n variant=\"ghost\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses[size])}\n children={props.children}\n />\n }\n {...props}\n disabled={disabled || pending}\n />\n );\n },\n);\nDialogCancel.displayName = 'DialogCancel';\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogBody,\n DialogTitle,\n DialogDescription,\n DialogCancel,\n DialogAction,\n};\n"],"names":["DialogPrimitive"],"mappings":"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"}
@@ -0,0 +1,293 @@
1
+ 'use strict';
2
+
3
+ require('./dialog.css');const jsxRuntime = require('react/jsx-runtime');
4
+ const dialog = require('@base-ui/react/dialog');
5
+ const lucideReact = require('lucide-react');
6
+ const React = require('react');
7
+ const Button = require('./Button-D10WB4vc.cjs');
8
+ const scrollArea = require('./scroll-area-B1vdOFuC.cjs');
9
+ const asChild = require('./as-child-Dgr1RHLO.cjs');
10
+ const utils_cn = require('./cn-DCPcv4xv.cjs');
11
+ ;/* empty css */
12
+
13
+ function _interopNamespaceDefault(e) {
14
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
15
+ if (e) {
16
+ for (const k in e) {
17
+ if (k !== 'default') {
18
+ const d = Object.getOwnPropertyDescriptor(e, k);
19
+ Object.defineProperty(n, k, d.get ? d : {
20
+ enumerable: true,
21
+ get: () => e[k]
22
+ });
23
+ }
24
+ }
25
+ }
26
+ n.default = e;
27
+ return Object.freeze(n);
28
+ }
29
+
30
+ const React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
31
+
32
+ const DialogContext = React.createContext({
33
+ variant: "default",
34
+ intent: "default",
35
+ pending: false
36
+ });
37
+ function useDialogContext() {
38
+ return React.useContext(DialogContext);
39
+ }
40
+ const dialogActionSizeClasses = {
41
+ xs: "min-h-form-xs leading-ui-xs",
42
+ sm: "min-h-form-sm leading-ui-sm",
43
+ md: "min-h-form-md leading-ui-md",
44
+ lg: "min-h-form-default leading-ui-md"
45
+ };
46
+ const dialogActionLayoutClasses = "h-auto min-w-0 max-w-full whitespace-normal wrap-anywhere max-[22rem]:w-full";
47
+
48
+ function Dialog({ variant = "default", intent = "default", pending = false, onOpenChange, ...props }) {
49
+ const isNew = variant === "new";
50
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogContext.Provider, { value: { variant, intent, pending }, children: /* @__PURE__ */ jsxRuntime.jsx(
51
+ dialog.Dialog.Root,
52
+ {
53
+ ...props,
54
+ disablePointerDismissal: props.disablePointerDismissal ?? (isNew && intent === "destructive"),
55
+ onOpenChange: (open, details) => {
56
+ if (!open && pending) {
57
+ details.cancel();
58
+ return;
59
+ }
60
+ onOpenChange?.(open, details);
61
+ }
62
+ }
63
+ ) });
64
+ }
65
+ const DialogTrigger = React__namespace.forwardRef(
66
+ ({ asChild: asChild$1, children, ...props }, ref) => {
67
+ return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Trigger, { ref, ...asChild.asChildRenderProps(asChild$1, children), ...props, children: asChild$1 ? void 0 : children });
68
+ }
69
+ );
70
+ DialogTrigger.displayName = "DialogTrigger";
71
+ const DialogPortal = dialog.Dialog.Portal;
72
+ const DialogClose = React__namespace.forwardRef(({ asChild: asChild$1, children, ...props }, ref) => {
73
+ return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog.Close, { ref, ...asChild.asChildRenderProps(asChild$1, children), ...props, children: asChild$1 ? void 0 : children });
74
+ });
75
+ DialogClose.displayName = "DialogClose";
76
+ const DialogOverlay = React__namespace.forwardRef(({ className, ...props }, ref) => {
77
+ const { variant } = useDialogContext();
78
+ return /* @__PURE__ */ jsxRuntime.jsx(
79
+ dialog.Dialog.Backdrop,
80
+ {
81
+ ref,
82
+ className: utils_cn.cn(
83
+ variant === "new" ? "transition-opacity duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none" : "dialog-overlay-anim",
84
+ "fixed inset-0 z-50 bg-overlay backdrop-blur-xs",
85
+ className
86
+ ),
87
+ ...props
88
+ }
89
+ );
90
+ });
91
+ DialogOverlay.displayName = "DialogOverlay";
92
+ const DialogContent = React__namespace.forwardRef(
93
+ ({ className, children, showOverlay = true, overlayClassName, initialFocus, ...props }, ref) => {
94
+ const { variant, intent, pending } = useDialogContext();
95
+ const closeRef = React__namespace.useRef(null);
96
+ if (variant === "new") {
97
+ return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
98
+ showOverlay && /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, { className: overlayClassName }),
99
+ /* @__PURE__ */ jsxRuntime.jsxs(
100
+ dialog.Dialog.Popup,
101
+ {
102
+ ref,
103
+ "data-slot": "dialog-content",
104
+ "data-variant": "new",
105
+ "data-intent": intent,
106
+ role: intent === "destructive" ? "alertdialog" : "dialog",
107
+ initialFocus: initialFocus ?? (intent === "destructive" ? closeRef : true),
108
+ "aria-busy": pending || void 0,
109
+ className: utils_cn.cn(
110
+ "fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border1/40 bg-surface2 shadow-dialog outline-hidden",
111
+ "data-[ending-style]:scale-0.98 data-[starting-style]:scale-0.98 transition-[opacity,scale] duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none",
112
+ className
113
+ ),
114
+ ...props,
115
+ children: [
116
+ children,
117
+ /* @__PURE__ */ jsxRuntime.jsx(
118
+ dialog.Dialog.Close,
119
+ {
120
+ ref: closeRef,
121
+ disabled: pending,
122
+ render: /* @__PURE__ */ jsxRuntime.jsx(
123
+ Button.Button,
124
+ {
125
+ variant: "ghost",
126
+ size: "icon-sm",
127
+ className: "absolute top-3 right-3",
128
+ "aria-label": "Close dialog",
129
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {})
130
+ }
131
+ ),
132
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {})
133
+ }
134
+ )
135
+ ]
136
+ }
137
+ )
138
+ ] });
139
+ }
140
+ return /* @__PURE__ */ jsxRuntime.jsxs(DialogPortal, { children: [
141
+ showOverlay && /* @__PURE__ */ jsxRuntime.jsx(DialogOverlay, { className: overlayClassName }),
142
+ /* @__PURE__ */ jsxRuntime.jsxs(
143
+ dialog.Dialog.Popup,
144
+ {
145
+ ref,
146
+ "data-slot": "dialog-content",
147
+ initialFocus,
148
+ className: utils_cn.cn(
149
+ "dialog-content-anim",
150
+ "fixed top-[50%] left-[50%] z-50 grid translate-[-50%]",
151
+ "w-full max-w-[calc(100%-2rem)] sm:max-w-lg",
152
+ "rounded-xl border border-border1/40 bg-surface2/96 shadow-dialog backdrop-blur-md",
153
+ "focus-visible:outline-hidden",
154
+ className
155
+ ),
156
+ ...props,
157
+ children: [
158
+ children,
159
+ /* @__PURE__ */ jsxRuntime.jsx(
160
+ dialog.Dialog.Close,
161
+ {
162
+ render: /* @__PURE__ */ jsxRuntime.jsx(Button.Button, { variant: "ghost", size: "sm", className: "absolute top-3 right-3", "aria-label": "Close", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, {}) })
163
+ }
164
+ )
165
+ ]
166
+ }
167
+ )
168
+ ] });
169
+ }
170
+ );
171
+ DialogContent.displayName = "DialogContent";
172
+ const DialogHeader = ({ className, ...props }) => {
173
+ const { variant } = useDialogContext();
174
+ return /* @__PURE__ */ jsxRuntime.jsx(
175
+ "div",
176
+ {
177
+ className: utils_cn.cn(
178
+ variant === "new" ? "flex min-w-0 shrink-0 flex-col gap-2 px-5 pt-4 pb-2" : "flex flex-col gap-0.5 px-4 py-3 text-left",
179
+ className
180
+ ),
181
+ ...props
182
+ }
183
+ );
184
+ };
185
+ DialogHeader.displayName = "DialogHeader";
186
+ const DialogFooter = ({ className, ...props }) => {
187
+ const { variant } = useDialogContext();
188
+ return /* @__PURE__ */ jsxRuntime.jsx(
189
+ "div",
190
+ {
191
+ className: utils_cn.cn(
192
+ variant === "new" ? "flex shrink-0 flex-wrap justify-end gap-2 px-5 pt-2 pb-4" : "flex flex-col-reverse gap-1.5 px-4 py-2.5 sm:flex-row sm:justify-end",
193
+ className
194
+ ),
195
+ ...props
196
+ }
197
+ );
198
+ };
199
+ DialogFooter.displayName = "DialogFooter";
200
+ const DialogBody = React__namespace.forwardRef(
201
+ ({ className, children, ...props }, ref) => {
202
+ const { variant } = useDialogContext();
203
+ if (variant === "new") {
204
+ return /* @__PURE__ */ jsxRuntime.jsx(scrollArea.ScrollArea, { className: "flex min-h-0 min-w-0 shrink flex-col", viewPortClassName: "h-auto min-h-0", mask: true, children: /* @__PURE__ */ jsxRuntime.jsx(
205
+ "div",
206
+ {
207
+ ref,
208
+ className: utils_cn.cn(
209
+ "flex flex-col gap-4 px-5 py-2 text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4",
210
+ className
211
+ ),
212
+ ...props,
213
+ children
214
+ }
215
+ ) });
216
+ }
217
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: utils_cn.cn("max-h-[50vh] overflow-y-auto px-4 py-3.5", className), ...props, children });
218
+ }
219
+ );
220
+ DialogBody.displayName = "DialogBody";
221
+ const DialogTitle = React__namespace.forwardRef(({ className, ...props }, ref) => {
222
+ const { variant } = useDialogContext();
223
+ return /* @__PURE__ */ jsxRuntime.jsx(
224
+ dialog.Dialog.Title,
225
+ {
226
+ ref,
227
+ className: utils_cn.cn(
228
+ "text-ui-md font-medium",
229
+ variant === "new" && "pr-8 leading-ui-md [overflow-wrap:anywhere] text-neutral6",
230
+ className
231
+ ),
232
+ ...props
233
+ }
234
+ );
235
+ });
236
+ DialogTitle.displayName = "DialogTitle";
237
+ const DialogDescription = React__namespace.forwardRef(
238
+ ({ className, ...props }, ref) => {
239
+ const { variant } = useDialogContext();
240
+ return /* @__PURE__ */ jsxRuntime.jsx(
241
+ dialog.Dialog.Description,
242
+ {
243
+ ref,
244
+ className: utils_cn.cn(
245
+ variant === "new" ? "text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4" : "sr-only",
246
+ className
247
+ ),
248
+ ...props
249
+ }
250
+ );
251
+ }
252
+ );
253
+ DialogDescription.displayName = "DialogDescription";
254
+ const DialogCancel = React__namespace.forwardRef(
255
+ ({ disabled, size = "md", ...props }, ref) => {
256
+ const { pending } = useDialogContext();
257
+ return /* @__PURE__ */ jsxRuntime.jsx(
258
+ dialog.Dialog.Close,
259
+ {
260
+ ref,
261
+ render: /* @__PURE__ */ jsxRuntime.jsx(
262
+ Button.Button,
263
+ {
264
+ size,
265
+ variant: "ghost",
266
+ className: utils_cn.cn(dialogActionLayoutClasses, dialogActionSizeClasses[size]),
267
+ children: props.children
268
+ }
269
+ ),
270
+ ...props,
271
+ disabled: disabled || pending
272
+ }
273
+ );
274
+ }
275
+ );
276
+ DialogCancel.displayName = "DialogCancel";
277
+
278
+ exports.Dialog = Dialog;
279
+ exports.DialogBody = DialogBody;
280
+ exports.DialogCancel = DialogCancel;
281
+ exports.DialogClose = DialogClose;
282
+ exports.DialogContent = DialogContent;
283
+ exports.DialogDescription = DialogDescription;
284
+ exports.DialogFooter = DialogFooter;
285
+ exports.DialogHeader = DialogHeader;
286
+ exports.DialogOverlay = DialogOverlay;
287
+ exports.DialogPortal = DialogPortal;
288
+ exports.DialogTitle = DialogTitle;
289
+ exports.DialogTrigger = DialogTrigger;
290
+ exports.dialogActionLayoutClasses = dialogActionLayoutClasses;
291
+ exports.dialogActionSizeClasses = dialogActionSizeClasses;
292
+ exports.useDialogContext = useDialogContext;
293
+ //# sourceMappingURL=dialog-D-7Hkb3j.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog-D-7Hkb3j.cjs","sources":["../src/ds/components/Dialog/dialog-context.ts","../src/ds/components/Dialog/dialog.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type DialogVariant = 'default' | 'new';\nexport type DialogIntent = 'default' | 'destructive';\n\nexport type DialogContextValue = {\n variant: DialogVariant;\n intent: DialogIntent;\n pending: boolean;\n};\n\nexport const DialogContext = createContext<DialogContextValue>({\n variant: 'default',\n intent: 'default',\n pending: false,\n});\n\nexport function useDialogContext() {\n return useContext(DialogContext);\n}\n\nexport const dialogActionSizeClasses = {\n xs: 'min-h-form-xs leading-ui-xs',\n sm: 'min-h-form-sm leading-ui-sm',\n md: 'min-h-form-md leading-ui-md',\n lg: 'min-h-form-default leading-ui-md',\n} as const;\n\nexport const dialogActionLayoutClasses = 'h-auto min-w-0 max-w-full whitespace-normal wrap-anywhere max-[22rem]:w-full';\n","import { Dialog as DialogPrimitive } from '@base-ui/react/dialog';\nimport { X } from 'lucide-react';\nimport * as React from 'react';\n\nimport { DialogAction } from './dialog-action';\nimport { DialogContext, dialogActionLayoutClasses, dialogActionSizeClasses, useDialogContext } from './dialog-context';\nimport type { DialogIntent, DialogVariant } from './dialog-context';\nimport { Button } from '@/ds/components/Button';\nimport type { TextButtonSize } from '@/ds/components/Button';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { asChildRenderProps } from '@/lib/as-child';\nimport { cn } from '@/lib/utils';\n\nimport './dialog.css';\n\nexport type DialogProps = DialogPrimitive.Root.Props & {\n variant?: DialogVariant;\n intent?: DialogIntent;\n pending?: boolean;\n};\n\nfunction Dialog({ variant = 'default', intent = 'default', pending = false, onOpenChange, ...props }: DialogProps) {\n const isNew = variant === 'new';\n return (\n <DialogContext.Provider value={{ variant, intent, pending }}>\n <DialogPrimitive.Root\n {...props}\n disablePointerDismissal={props.disablePointerDismissal ?? (isNew && intent === 'destructive')}\n onOpenChange={(open, details) => {\n if (!open && pending) {\n details.cancel();\n return;\n }\n onOpenChange?.(open, details);\n }}\n />\n </DialogContext.Provider>\n );\n}\n\ntype DialogTriggerProps = DialogPrimitive.Trigger.Props & {\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n};\n\nconst DialogTrigger = React.forwardRef<HTMLButtonElement, DialogTriggerProps>(\n ({ asChild, children, ...props }, ref) => {\n return (\n <DialogPrimitive.Trigger ref={ref} {...asChildRenderProps(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Trigger>\n );\n },\n);\nDialogTrigger.displayName = 'DialogTrigger';\n\nconst DialogPortal = DialogPrimitive.Portal;\n\ntype DialogCloseProps = DialogPrimitive.Close.Props & {\n /** @deprecated Use Base UI's native `render` prop instead for stronger composition typing. */\n asChild?: boolean;\n};\n\nconst DialogClose = React.forwardRef<HTMLButtonElement, DialogCloseProps>(({ asChild, children, ...props }, ref) => {\n return (\n <DialogPrimitive.Close ref={ref} {...asChildRenderProps(asChild, children)} {...props}>\n {asChild ? undefined : children}\n </DialogPrimitive.Close>\n );\n});\nDialogClose.displayName = 'DialogClose';\n\ntype DialogOverlayProps = Omit<DialogPrimitive.Backdrop.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogOverlay = React.forwardRef<HTMLDivElement, DialogOverlayProps>(({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Backdrop\n ref={ref}\n className={cn(\n variant === 'new'\n ? 'transition-opacity duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none'\n : 'dialog-overlay-anim',\n 'fixed inset-0 z-50 bg-overlay backdrop-blur-xs',\n className,\n )}\n {...props}\n />\n );\n});\nDialogOverlay.displayName = 'DialogOverlay';\n\ntype DialogContentProps = Omit<DialogPrimitive.Popup.Props, 'className'> & {\n className?: string;\n showOverlay?: boolean;\n overlayClassName?: string;\n};\n\nconst DialogContent = React.forwardRef<HTMLDivElement, DialogContentProps>(\n ({ className, children, showOverlay = true, overlayClassName, initialFocus, ...props }, ref) => {\n const { variant, intent, pending } = useDialogContext();\n const closeRef = React.useRef<HTMLButtonElement>(null);\n if (variant === 'new') {\n return (\n <DialogPortal>\n {showOverlay && <DialogOverlay className={overlayClassName} />}\n <DialogPrimitive.Popup\n ref={ref}\n data-slot=\"dialog-content\"\n data-variant=\"new\"\n data-intent={intent}\n role={intent === 'destructive' ? 'alertdialog' : 'dialog'}\n initialFocus={initialFocus ?? (intent === 'destructive' ? closeRef : true)}\n aria-busy={pending || undefined}\n className={cn(\n 'fixed top-1/2 left-1/2 z-50 flex max-h-[calc(100dvh-2rem)] w-[calc(100%-2rem)] max-w-sm translate-[-50%] flex-col overflow-y-auto overscroll-contain rounded-xl border border-border1/40 bg-surface2 shadow-dialog outline-hidden',\n 'data-[ending-style]:scale-0.98 data-[starting-style]:scale-0.98 transition-[opacity,scale] duration-normal ease-out data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 motion-reduce:transition-none',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n ref={closeRef}\n disabled={pending}\n render={\n <Button\n variant=\"ghost\"\n size=\"icon-sm\"\n className=\"absolute top-3 right-3\"\n aria-label=\"Close dialog\"\n children={<X />}\n />\n }\n >\n <X />\n </DialogPrimitive.Close>\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n }\n return (\n <DialogPortal>\n {showOverlay && <DialogOverlay className={overlayClassName} />}\n <DialogPrimitive.Popup\n ref={ref}\n data-slot=\"dialog-content\"\n initialFocus={initialFocus}\n className={cn(\n 'dialog-content-anim',\n 'fixed top-[50%] left-[50%] z-50 grid translate-[-50%]',\n 'w-full max-w-[calc(100%-2rem)] sm:max-w-lg',\n 'rounded-xl border border-border1/40 bg-surface2/96 shadow-dialog backdrop-blur-md',\n 'focus-visible:outline-hidden',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close\n render={\n <Button variant=\"ghost\" size=\"sm\" className=\"absolute top-3 right-3\" aria-label=\"Close\">\n <X />\n </Button>\n }\n />\n </DialogPrimitive.Popup>\n </DialogPortal>\n );\n },\n);\nDialogContent.displayName = 'DialogContent';\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const { variant } = useDialogContext();\n return (\n <div\n className={cn(\n variant === 'new'\n ? 'flex min-w-0 shrink-0 flex-col gap-2 px-5 pt-4 pb-2'\n : 'flex flex-col gap-0.5 px-4 py-3 text-left',\n className,\n )}\n {...props}\n />\n );\n};\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => {\n const { variant } = useDialogContext();\n return (\n <div\n className={cn(\n variant === 'new'\n ? 'flex shrink-0 flex-wrap justify-end gap-2 px-5 pt-2 pb-4'\n : 'flex flex-col-reverse gap-1.5 px-4 py-2.5 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n );\n};\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogBody = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, children, ...props }, ref) => {\n const { variant } = useDialogContext();\n if (variant === 'new') {\n return (\n <ScrollArea className=\"flex min-h-0 min-w-0 shrink flex-col\" viewPortClassName=\"h-auto min-h-0\" mask>\n <div\n ref={ref}\n className={cn(\n 'flex flex-col gap-4 px-5 py-2 text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </ScrollArea>\n );\n }\n return (\n <div ref={ref} className={cn('max-h-[50vh] overflow-y-auto px-4 py-3.5', className)} {...props}>\n {children}\n </div>\n );\n },\n);\nDialogBody.displayName = 'DialogBody';\n\ntype DialogTitleProps = Omit<DialogPrimitive.Title.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogTitle = React.forwardRef<HTMLHeadingElement, DialogTitleProps>(({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n 'text-ui-md font-medium',\n variant === 'new' && 'pr-8 leading-ui-md [overflow-wrap:anywhere] text-neutral6',\n className,\n )}\n {...props}\n />\n );\n});\nDialogTitle.displayName = 'DialogTitle';\n\ntype DialogDescriptionProps = Omit<DialogPrimitive.Description.Props, 'className'> & {\n className?: string;\n};\n\nconst DialogDescription = React.forwardRef<HTMLParagraphElement, DialogDescriptionProps>(\n ({ className, ...props }, ref) => {\n const { variant } = useDialogContext();\n return (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\n variant === 'new' ? 'text-ui-md leading-ui-md [overflow-wrap:anywhere] text-neutral4' : 'sr-only',\n className,\n )}\n {...props}\n />\n );\n },\n);\nDialogDescription.displayName = 'DialogDescription';\n\ntype DialogCancelProps = DialogPrimitive.Close.Props & { size?: TextButtonSize };\n\nconst DialogCancel = React.forwardRef<HTMLButtonElement, DialogCancelProps>(\n ({ disabled, size = 'md', ...props }, ref) => {\n const { pending } = useDialogContext();\n return (\n <DialogPrimitive.Close\n ref={ref}\n render={\n <Button\n size={size}\n variant=\"ghost\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses[size])}\n children={props.children}\n />\n }\n {...props}\n disabled={disabled || pending}\n />\n );\n },\n);\nDialogCancel.displayName = 'DialogCancel';\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogBody,\n DialogTitle,\n DialogDescription,\n DialogCancel,\n DialogAction,\n};\n"],"names":["createContext","useContext","jsx","DialogPrimitive","React","asChild","asChildRenderProps","cn","jsxs","Button","X","ScrollArea"],"mappings":"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"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
- const horizontalBars = require('../../../horizontal-bars-CE1O-Y6G.cjs');
7
+ const horizontalBars = require('../../../horizontal-bars-Dgq3PYsg.cjs');
8
8
  const metricsCard = require('../../../metrics-card-B8zgHlgB.cjs');
9
9
  const tabsContent = require('../../../tabs-content-BxToGCDw.cjs');
10
10
  const tabsRoot = require('../../../tabs-root-BNcLC-s6.cjs');
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { useState } from 'react';
3
- import { H as HorizontalBars } from '../../../horizontal-bars-DZ5J4TKv.js';
3
+ import { H as HorizontalBars } from '../../../horizontal-bars-CyP-B-BX.js';
4
4
  import { M as MetricsCard } from '../../../metrics-card-BKE1UzWh.js';
5
5
  import { T as TabContent } from '../../../tabs-content-CLgmU6S_.js';
6
6
  import { a as Tabs, T as TabList } from '../../../tabs-root-BnwVjJbD.js';
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
5
  const jsxRuntime = require('react/jsx-runtime');
6
6
  const React = require('react');
7
- const horizontalBars = require('../../../horizontal-bars-CE1O-Y6G.cjs');
7
+ const horizontalBars = require('../../../horizontal-bars-Dgq3PYsg.cjs');
8
8
  const metricsCard = require('../../../metrics-card-B8zgHlgB.cjs');
9
9
  const tabsContent = require('../../../tabs-content-BxToGCDw.cjs');
10
10
  const tabsRoot = require('../../../tabs-root-BNcLC-s6.cjs');