@pactor-app/ui 1.28.0 → 1.29.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.
@@ -172,10 +172,21 @@ function DrawerOverlay({
172
172
  function DrawerContent({
173
173
  className,
174
174
  children,
175
+ overlayProps,
175
176
  ...props
176
177
  }) {
177
178
  return /* @__PURE__ */ jsxs2(DrawerPortal, { "data-slot": "drawer-portal", children: [
178
- /* @__PURE__ */ jsx2(DrawerOverlay, {}),
179
+ /* @__PURE__ */ jsx2(
180
+ "div",
181
+ {
182
+ "data-slot": "drawer-overlay",
183
+ ...overlayProps,
184
+ className: cn(
185
+ "fixed inset-0 z-50 bg-(--overlay-background)",
186
+ overlayProps?.className
187
+ )
188
+ }
189
+ ),
179
190
  /* @__PURE__ */ jsxs2(
180
191
  DrawerPrimitive.Content,
181
192
  {
@@ -153,7 +153,7 @@ import {
153
153
  DrawerContent,
154
154
  DrawerHeader,
155
155
  DrawerTitle
156
- } from "./chunk-XUHJ5YSG.js";
156
+ } from "./chunk-HAOAXDTW.js";
157
157
  import {
158
158
  Accordion,
159
159
  AccordionContent,
@@ -2580,16 +2580,25 @@ function Drawer2({
2580
2580
  Drawer,
2581
2581
  {
2582
2582
  direction: placement,
2583
+ modal: false,
2583
2584
  open: open ?? false,
2584
2585
  onOpenChange: (next) => {
2585
2586
  if (!next) {
2586
2587
  onClose?.();
2587
2588
  }
2588
2589
  },
2589
- children: /* @__PURE__ */ jsxs27(DrawerContent, { className, style, children: [
2590
- title ? /* @__PURE__ */ jsx36(DrawerHeader, { children: /* @__PURE__ */ jsx36(DrawerTitle, { children: title }) }) : null,
2591
- /* @__PURE__ */ jsx36("div", { className: "flex-1 overflow-auto p-4", children })
2592
- ] })
2590
+ children: /* @__PURE__ */ jsxs27(
2591
+ DrawerContent,
2592
+ {
2593
+ className,
2594
+ style,
2595
+ overlayProps: { onClick: () => onClose?.() },
2596
+ children: [
2597
+ title ? /* @__PURE__ */ jsx36(DrawerHeader, { children: /* @__PURE__ */ jsx36(DrawerTitle, { children: title }) }) : null,
2598
+ /* @__PURE__ */ jsx36("div", { className: "flex-1 overflow-auto p-4", children })
2599
+ ]
2600
+ }
2601
+ )
2593
2602
  }
2594
2603
  );
2595
2604
  }
@@ -11,7 +11,7 @@ import {
11
11
  DrawerContent,
12
12
  DrawerHeader,
13
13
  DrawerTitle
14
- } from "./chunk-XUHJ5YSG.js";
14
+ } from "./chunk-HAOAXDTW.js";
15
15
  import {
16
16
  Button,
17
17
  cn
@@ -430,6 +430,7 @@ function ShadcnDrawerView({
430
430
  Drawer,
431
431
  {
432
432
  direction: "right",
433
+ modal: false,
433
434
  open: true,
434
435
  onOpenChange: (open) => {
435
436
  if (!open) {
@@ -442,6 +443,7 @@ function ShadcnDrawerView({
442
443
  "data-slot": "drawer-panel",
443
444
  className: cn(entry.width !== void 0 && "sm:max-w-none"),
444
445
  style: panelStyle,
446
+ overlayProps: { onClick: onCancel },
445
447
  children: [
446
448
  /* @__PURE__ */ jsxs2(
447
449
  DrawerHeader,
@@ -4240,26 +4240,24 @@ function DrawerPortal({
4240
4240
  }) {
4241
4241
  return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_vaul.Drawer.Portal, { "data-slot": "drawer-portal", ...props });
4242
4242
  }
4243
- function DrawerOverlay({
4244
- className,
4245
- ...props
4246
- }) {
4247
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
4248
- import_vaul.Drawer.Overlay,
4249
- {
4250
- "data-slot": "drawer-overlay",
4251
- className: cn("fixed inset-0 z-50 bg-(--overlay-background)", className),
4252
- ...props
4253
- }
4254
- );
4255
- }
4256
4243
  function DrawerContent({
4257
4244
  className,
4258
4245
  children,
4246
+ overlayProps,
4259
4247
  ...props
4260
4248
  }) {
4261
4249
  return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
4262
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(DrawerOverlay, {}),
4250
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
4251
+ "div",
4252
+ {
4253
+ "data-slot": "drawer-overlay",
4254
+ ...overlayProps,
4255
+ className: cn(
4256
+ "fixed inset-0 z-50 bg-(--overlay-background)",
4257
+ overlayProps?.className
4258
+ )
4259
+ }
4260
+ ),
4263
4261
  /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
4264
4262
  import_vaul.Drawer.Content,
4265
4263
  {
@@ -4320,16 +4318,25 @@ function Drawer2({
4320
4318
  Drawer,
4321
4319
  {
4322
4320
  direction: placement,
4321
+ modal: false,
4323
4322
  open: open ?? false,
4324
4323
  onOpenChange: (next) => {
4325
4324
  if (!next) {
4326
4325
  onClose?.();
4327
4326
  }
4328
4327
  },
4329
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DrawerContent, { className, style, children: [
4330
- title ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DrawerTitle, { children: title }) }) : null,
4331
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "flex-1 overflow-auto p-4", children })
4332
- ] })
4328
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
4329
+ DrawerContent,
4330
+ {
4331
+ className,
4332
+ style,
4333
+ overlayProps: { onClick: () => onClose?.() },
4334
+ children: [
4335
+ title ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DrawerTitle, { children: title }) }) : null,
4336
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "flex-1 overflow-auto p-4", children })
4337
+ ]
4338
+ }
4339
+ )
4333
4340
  }
4334
4341
  );
4335
4342
  }
@@ -154,7 +154,7 @@ import {
154
154
  inferKind,
155
155
  registerBuiltinComponents,
156
156
  useFormContext
157
- } from "../chunk-NQJLAELF.js";
157
+ } from "../chunk-NDMVVXQE.js";
158
158
  import {
159
159
  ICONS,
160
160
  Icon,
@@ -165,7 +165,7 @@ import {
165
165
  useSidebarDrawer
166
166
  } from "../chunk-44DAGWXZ.js";
167
167
  import "../chunk-JWZHJEUS.js";
168
- import "../chunk-XUHJ5YSG.js";
168
+ import "../chunk-HAOAXDTW.js";
169
169
  import "../chunk-RB7RCKAX.js";
170
170
  import "../chunk-WKJUCGV4.js";
171
171
  export {
package/dist/index.cjs CHANGED
@@ -4279,26 +4279,24 @@ function DrawerClose({
4279
4279
  }) {
4280
4280
  return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_vaul.Drawer.Close, { "data-slot": "drawer-close", ...props });
4281
4281
  }
4282
- function DrawerOverlay({
4283
- className,
4284
- ...props
4285
- }) {
4286
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
4287
- import_vaul.Drawer.Overlay,
4288
- {
4289
- "data-slot": "drawer-overlay",
4290
- className: cn("fixed inset-0 z-50 bg-(--overlay-background)", className),
4291
- ...props
4292
- }
4293
- );
4294
- }
4295
4282
  function DrawerContent({
4296
4283
  className,
4297
4284
  children,
4285
+ overlayProps,
4298
4286
  ...props
4299
4287
  }) {
4300
4288
  return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
4301
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(DrawerOverlay, {}),
4289
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
4290
+ "div",
4291
+ {
4292
+ "data-slot": "drawer-overlay",
4293
+ ...overlayProps,
4294
+ className: cn(
4295
+ "fixed inset-0 z-50 bg-(--overlay-background)",
4296
+ overlayProps?.className
4297
+ )
4298
+ }
4299
+ ),
4302
4300
  /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
4303
4301
  import_vaul.Drawer.Content,
4304
4302
  {
@@ -4359,16 +4357,25 @@ function Drawer2({
4359
4357
  Drawer,
4360
4358
  {
4361
4359
  direction: placement,
4360
+ modal: false,
4362
4361
  open: open ?? false,
4363
4362
  onOpenChange: (next) => {
4364
4363
  if (!next) {
4365
4364
  onClose?.();
4366
4365
  }
4367
4366
  },
4368
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(DrawerContent, { className, style, children: [
4369
- title ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DrawerTitle, { children: title }) }) : null,
4370
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "flex-1 overflow-auto p-4", children })
4371
- ] })
4367
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
4368
+ DrawerContent,
4369
+ {
4370
+ className,
4371
+ style,
4372
+ overlayProps: { onClick: () => onClose?.() },
4373
+ children: [
4374
+ title ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DrawerHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DrawerTitle, { children: title }) }) : null,
4375
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "flex-1 overflow-auto p-4", children })
4376
+ ]
4377
+ }
4378
+ )
4372
4379
  }
4373
4380
  );
4374
4381
  }
@@ -16967,6 +16974,7 @@ function ShadcnDrawerView({
16967
16974
  Drawer,
16968
16975
  {
16969
16976
  direction: "right",
16977
+ modal: false,
16970
16978
  open: true,
16971
16979
  onOpenChange: (open) => {
16972
16980
  if (!open) {
@@ -16979,6 +16987,7 @@ function ShadcnDrawerView({
16979
16987
  "data-slot": "drawer-panel",
16980
16988
  className: cn(entry.width !== void 0 && "sm:max-w-none"),
16981
16989
  style: panelStyle,
16990
+ overlayProps: { onClick: onCancel },
16982
16991
  children: [
16983
16992
  /* @__PURE__ */ (0, import_jsx_runtime215.jsxs)(
16984
16993
  DrawerHeader,
package/dist/index.js CHANGED
@@ -154,7 +154,7 @@ import {
154
154
  inferKind,
155
155
  registerBuiltinComponents,
156
156
  useFormContext
157
- } from "./chunk-NQJLAELF.js";
157
+ } from "./chunk-NDMVVXQE.js";
158
158
  import {
159
159
  InteractionProvider,
160
160
  OVERLAY_CANCEL_PAYLOAD,
@@ -162,7 +162,7 @@ import {
162
162
  OverlayManager,
163
163
  createUiBridge,
164
164
  registerInteractionActions
165
- } from "./chunk-P3LRWCYF.js";
165
+ } from "./chunk-U5EFJR5Z.js";
166
166
  import {
167
167
  AdminLayout,
168
168
  BlankLayout,
@@ -185,7 +185,7 @@ import {
185
185
  useSidebarDrawer
186
186
  } from "./chunk-44DAGWXZ.js";
187
187
  import "./chunk-JWZHJEUS.js";
188
- import "./chunk-XUHJ5YSG.js";
188
+ import "./chunk-HAOAXDTW.js";
189
189
  import "./chunk-RB7RCKAX.js";
190
190
  import "./chunk-WKJUCGV4.js";
191
191
  export {
@@ -550,26 +550,24 @@ function DrawerClose({
550
550
  }) {
551
551
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_vaul.Drawer.Close, { "data-slot": "drawer-close", ...props });
552
552
  }
553
- function DrawerOverlay({
554
- className,
555
- ...props
556
- }) {
557
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
558
- import_vaul.Drawer.Overlay,
559
- {
560
- "data-slot": "drawer-overlay",
561
- className: cn("fixed inset-0 z-50 bg-(--overlay-background)", className),
562
- ...props
563
- }
564
- );
565
- }
566
553
  function DrawerContent({
567
554
  className,
568
555
  children,
556
+ overlayProps,
569
557
  ...props
570
558
  }) {
571
559
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
572
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DrawerOverlay, {}),
560
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
561
+ "div",
562
+ {
563
+ "data-slot": "drawer-overlay",
564
+ ...overlayProps,
565
+ className: cn(
566
+ "fixed inset-0 z-50 bg-(--overlay-background)",
567
+ overlayProps?.className
568
+ )
569
+ }
570
+ ),
573
571
  /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
574
572
  import_vaul.Drawer.Content,
575
573
  {
@@ -731,6 +729,7 @@ function ShadcnDrawerView({
731
729
  Drawer,
732
730
  {
733
731
  direction: "right",
732
+ modal: false,
734
733
  open: true,
735
734
  onOpenChange: (open) => {
736
735
  if (!open) {
@@ -743,6 +742,7 @@ function ShadcnDrawerView({
743
742
  "data-slot": "drawer-panel",
744
743
  className: cn(entry.width !== void 0 && "sm:max-w-none"),
745
744
  style: panelStyle,
745
+ overlayProps: { onClick: onCancel },
746
746
  children: [
747
747
  /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
748
748
  DrawerHeader,
@@ -5,8 +5,8 @@ import {
5
5
  OverlayManager,
6
6
  createUiBridge,
7
7
  registerInteractionActions
8
- } from "../chunk-P3LRWCYF.js";
9
- import "../chunk-XUHJ5YSG.js";
8
+ } from "../chunk-U5EFJR5Z.js";
9
+ import "../chunk-HAOAXDTW.js";
10
10
  import "../chunk-WKJUCGV4.js";
11
11
  export {
12
12
  InteractionProvider,
package/dist/ui/index.cjs CHANGED
@@ -1785,10 +1785,21 @@ function DrawerOverlay({
1785
1785
  function DrawerContent({
1786
1786
  className,
1787
1787
  children,
1788
+ overlayProps,
1788
1789
  ...props
1789
1790
  }) {
1790
1791
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DrawerPortal, { "data-slot": "drawer-portal", children: [
1791
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DrawerOverlay, {}),
1792
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1793
+ "div",
1794
+ {
1795
+ "data-slot": "drawer-overlay",
1796
+ ...overlayProps,
1797
+ className: cn(
1798
+ "fixed inset-0 z-50 bg-(--overlay-background)",
1799
+ overlayProps?.className
1800
+ )
1801
+ }
1802
+ ),
1792
1803
  /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
1793
1804
  import_vaul.Drawer.Content,
1794
1805
  {
@@ -289,7 +289,10 @@ declare function DrawerTrigger({ ...props }: React.ComponentProps<typeof Drawer$
289
289
  declare function DrawerPortal({ ...props }: React.ComponentProps<typeof Drawer$1.Portal>): React.JSX.Element;
290
290
  declare function DrawerClose({ ...props }: React.ComponentProps<typeof Drawer$1.Close>): React.JSX.Element;
291
291
  declare function DrawerOverlay({ className, ...props }: React.ComponentProps<typeof Drawer$1.Overlay>): React.JSX.Element;
292
- declare function DrawerContent({ className, children, ...props }: React.ComponentProps<typeof Drawer$1.Content>): React.JSX.Element;
292
+ declare function DrawerContent({ className, children, overlayProps, ...props }: React.ComponentProps<typeof Drawer$1.Content> & {
293
+ /** 透传给遮罩(modal={false} 时由遮罩 onClick 承担点击关闭) */
294
+ overlayProps?: React.ComponentProps<'div'>;
295
+ }): React.JSX.Element;
293
296
  declare function DrawerHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
294
297
  declare function DrawerFooter({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
295
298
  declare function DrawerTitle({ className, ...props }: React.ComponentProps<typeof Drawer$1.Title>): React.JSX.Element;
@@ -289,7 +289,10 @@ declare function DrawerTrigger({ ...props }: React.ComponentProps<typeof Drawer$
289
289
  declare function DrawerPortal({ ...props }: React.ComponentProps<typeof Drawer$1.Portal>): React.JSX.Element;
290
290
  declare function DrawerClose({ ...props }: React.ComponentProps<typeof Drawer$1.Close>): React.JSX.Element;
291
291
  declare function DrawerOverlay({ className, ...props }: React.ComponentProps<typeof Drawer$1.Overlay>): React.JSX.Element;
292
- declare function DrawerContent({ className, children, ...props }: React.ComponentProps<typeof Drawer$1.Content>): React.JSX.Element;
292
+ declare function DrawerContent({ className, children, overlayProps, ...props }: React.ComponentProps<typeof Drawer$1.Content> & {
293
+ /** 透传给遮罩(modal={false} 时由遮罩 onClick 承担点击关闭) */
294
+ overlayProps?: React.ComponentProps<'div'>;
295
+ }): React.JSX.Element;
293
296
  declare function DrawerHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
294
297
  declare function DrawerFooter({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
295
298
  declare function DrawerTitle({ className, ...props }: React.ComponentProps<typeof Drawer$1.Title>): React.JSX.Element;
package/dist/ui/index.js CHANGED
@@ -183,7 +183,7 @@ import {
183
183
  DrawerPortal,
184
184
  DrawerTitle,
185
185
  DrawerTrigger
186
- } from "../chunk-XUHJ5YSG.js";
186
+ } from "../chunk-HAOAXDTW.js";
187
187
  import {
188
188
  Accordion,
189
189
  AccordionContent,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pactor-app/ui",
3
- "version": "1.28.0",
3
+ "version": "1.29.0",
4
4
  "description": "Pactor UI kit (shadcn): the single built-in UI kit — vendored shadcn/ui components (Base UI primitives + cva + tailwind-merge + lucide-react), props contracts, interaction core (OverlayManager / UiBridge) and layouts, with build-time Tailwind v4 prebuilt styles.css (zero consumer-side Tailwind config)",
5
5
  "keywords": [
6
6
  "pactor",
@@ -107,11 +107,11 @@
107
107
  "react-resizable-panels": "^4.12.3",
108
108
  "tailwind-merge": "^3.6.0",
109
109
  "vaul": "^1.1.2",
110
- "@pactor-app/markdown": "1.28.0",
111
- "@pactor-app/core": "1.28.0",
112
- "@pactor-app/router": "1.28.0",
113
- "@pactor-app/runtime": "1.28.0",
114
- "@pactor-app/permission": "1.28.0"
110
+ "@pactor-app/core": "1.29.0",
111
+ "@pactor-app/permission": "1.29.0",
112
+ "@pactor-app/markdown": "1.29.0",
113
+ "@pactor-app/router": "1.29.0",
114
+ "@pactor-app/runtime": "1.29.0"
115
115
  },
116
116
  "peerDependencies": {
117
117
  "react": ">=18",