@pixpilot/shadcn-ui 2.1.0 → 3.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 (112) hide show
  1. package/dist/absolute-fill/AbsoluteFill.d.ts +2 -2
  2. package/dist/button/Button.d.cts +2 -2
  3. package/dist/button-extended/ButtonExtended.d.cts +2 -2
  4. package/dist/button-extended/ButtonExtended.d.ts +2 -2
  5. package/dist/card/Card.d.ts +3 -3
  6. package/dist/color-select/ColorSelect.d.ts +2 -2
  7. package/dist/confirmation-dialog/ConfirmationDialog.cjs +2 -2
  8. package/dist/confirmation-dialog/ConfirmationDialog.js +2 -2
  9. package/dist/confirmation-dialog/mcp.js +3 -3
  10. package/dist/content-card/ContentCard.d.cts +2 -2
  11. package/dist/date-picker/DatePicker.d.cts +2 -2
  12. package/dist/date-picker/DatePicker.d.ts +2 -2
  13. package/dist/dialog/Dialog.d.cts +5 -5
  14. package/dist/dialog/Dialog.d.ts +5 -5
  15. package/dist/dialog/mcp.js +1 -1
  16. package/dist/dialog-registry/dialog-registry.cjs +24 -0
  17. package/dist/dialog-registry/dialog-registry.d.cts +23 -0
  18. package/dist/dialog-registry/dialog-registry.d.ts +23 -0
  19. package/dist/dialog-registry/dialog-registry.js +23 -0
  20. package/dist/dialog-registry/index.d.cts +3 -0
  21. package/dist/dialog-registry/index.d.ts +3 -0
  22. package/dist/dialog-registry/mcp.js +51 -0
  23. package/dist/dialog-registry/register-dialog.cjs +20 -0
  24. package/dist/dialog-registry/register-dialog.d.cts +21 -0
  25. package/dist/dialog-registry/register-dialog.d.ts +21 -0
  26. package/dist/dialog-registry/register-dialog.js +20 -0
  27. package/dist/dialog-registry/show-dialog.cjs +17 -0
  28. package/dist/dialog-registry/show-dialog.d.cts +18 -0
  29. package/dist/dialog-registry/show-dialog.d.ts +18 -0
  30. package/dist/dialog-registry/show-dialog.js +17 -0
  31. package/dist/drawer/Drawer.cjs +57 -0
  32. package/dist/drawer/Drawer.d.cts +40 -0
  33. package/dist/drawer/Drawer.d.ts +40 -0
  34. package/dist/drawer/Drawer.js +49 -0
  35. package/dist/drawer/index.d.cts +3 -0
  36. package/dist/drawer/index.d.ts +3 -0
  37. package/dist/drawer/index.js +4 -0
  38. package/dist/drawer/mcp.js +55 -0
  39. package/dist/drawer-registry/drawer-registry.cjs +28 -0
  40. package/dist/drawer-registry/drawer-registry.d.cts +27 -0
  41. package/dist/drawer-registry/drawer-registry.d.ts +27 -0
  42. package/dist/drawer-registry/drawer-registry.js +27 -0
  43. package/dist/drawer-registry/index.d.cts +3 -0
  44. package/dist/drawer-registry/index.d.ts +3 -0
  45. package/dist/drawer-registry/mcp.js +51 -0
  46. package/dist/drawer-registry/register-drawer.cjs +20 -0
  47. package/dist/drawer-registry/register-drawer.d.cts +21 -0
  48. package/dist/drawer-registry/register-drawer.d.ts +21 -0
  49. package/dist/drawer-registry/register-drawer.js +20 -0
  50. package/dist/drawer-registry/show-drawer.cjs +17 -0
  51. package/dist/drawer-registry/show-drawer.d.cts +18 -0
  52. package/dist/drawer-registry/show-drawer.d.ts +18 -0
  53. package/dist/drawer-registry/show-drawer.js +17 -0
  54. package/dist/file-upload/FileUpload.d.cts +2 -2
  55. package/dist/file-upload/FileUpload.d.ts +2 -2
  56. package/dist/file-upload-inline/FileUploadInline.d.cts +2 -2
  57. package/dist/file-upload-inline/FileUploadInline.d.ts +2 -2
  58. package/dist/file-upload-root/FileUploadRoot.d.cts +2 -2
  59. package/dist/file-upload-root/FileUploadRoot.d.ts +2 -2
  60. package/dist/generated/mcp-registry.js +38 -32
  61. package/dist/index.cjs +32 -9
  62. package/dist/index.d.cts +14 -6
  63. package/dist/index.d.ts +14 -6
  64. package/dist/index.js +11 -5
  65. package/dist/input/Input.d.cts +2 -2
  66. package/dist/input/Input.d.ts +2 -2
  67. package/dist/overlay-provider/OverlayProvider.cjs +47 -0
  68. package/dist/overlay-provider/OverlayProvider.d.cts +18 -0
  69. package/dist/overlay-provider/OverlayProvider.d.ts +18 -0
  70. package/dist/overlay-provider/OverlayProvider.js +42 -0
  71. package/dist/overlay-provider/index.d.cts +2 -0
  72. package/dist/overlay-provider/index.d.ts +2 -0
  73. package/dist/overlay-provider/mcp.js +35 -0
  74. package/dist/overlay-provider/overlay-registry.cjs +104 -0
  75. package/dist/overlay-provider/overlay-registry.d.cts +91 -0
  76. package/dist/overlay-provider/overlay-registry.d.ts +91 -0
  77. package/dist/overlay-provider/overlay-registry.js +94 -0
  78. package/dist/overlay-provider/types.d.cts +20 -0
  79. package/dist/overlay-provider/types.d.ts +20 -0
  80. package/dist/rating/Rating.d.ts +3 -3
  81. package/dist/select/Select.d.ts +2 -2
  82. package/dist/tags-input/TagsInput.d.cts +2 -2
  83. package/dist/tags-input/TagsInput.d.ts +2 -2
  84. package/dist/tags-input/TagsInputInline.d.ts +2 -2
  85. package/dist/theme-toggle/ThemeModeDropdown.d.cts +2 -2
  86. package/dist/theme-toggle/ThemeModeDropdown.d.ts +2 -2
  87. package/dist/theme-toggle/ThemeModeSwitchInside.d.cts +2 -2
  88. package/dist/theme-toggle/ThemeModeSwitchInside.d.ts +2 -2
  89. package/dist/theme-toggle/ThemeModeSwitchOutside.d.cts +2 -2
  90. package/dist/theme-toggle/ThemeModeSwitchOutside.d.ts +2 -2
  91. package/dist/theme-toggle/ThemeModeToggleButton.d.cts +2 -2
  92. package/dist/theme-toggle/ThemeModeToggleButton.d.ts +2 -2
  93. package/package.json +5 -5
  94. package/dist/dialog-provider/DialogProvider.cjs +0 -40
  95. package/dist/dialog-provider/DialogProvider.d.cts +0 -28
  96. package/dist/dialog-provider/DialogProvider.d.ts +0 -28
  97. package/dist/dialog-provider/DialogProvider.js +0 -36
  98. package/dist/dialog-provider/dialog-registry.cjs +0 -100
  99. package/dist/dialog-provider/dialog-registry.d.cts +0 -150
  100. package/dist/dialog-provider/dialog-registry.d.ts +0 -150
  101. package/dist/dialog-provider/dialog-registry.js +0 -93
  102. package/dist/dialog-provider/index.d.cts +0 -4
  103. package/dist/dialog-provider/index.d.ts +0 -4
  104. package/dist/dialog-provider/mcp.js +0 -24
  105. package/dist/dialog-provider/register-dialog.cjs +0 -64
  106. package/dist/dialog-provider/register-dialog.d.cts +0 -98
  107. package/dist/dialog-provider/register-dialog.d.ts +0 -98
  108. package/dist/dialog-provider/register-dialog.js +0 -61
  109. package/dist/dialog-provider/show-dialog.cjs +0 -30
  110. package/dist/dialog-provider/show-dialog.d.cts +0 -24
  111. package/dist/dialog-provider/show-dialog.d.ts +0 -24
  112. package/dist/dialog-provider/show-dialog.js +0 -28
@@ -0,0 +1,104 @@
1
+ const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
+ let react = require("react");
3
+ react = require_rolldown_runtime.__toESM(react);
4
+ let __ebay_nice_modal_react = require("@ebay/nice-modal-react");
5
+ __ebay_nice_modal_react = require_rolldown_runtime.__toESM(__ebay_nice_modal_react);
6
+
7
+ //#region src/overlay-provider/overlay-registry.ts
8
+ /**
9
+ * Registers an overlay component and returns a typed controller for it.
10
+ *
11
+ * The component is wrapped with NiceModal automatically and receives controlled
12
+ * `open` and `onOpenChange` props.
13
+ *
14
+ * @param id - Stable overlay id used by NiceModal and generic `showOverlay`.
15
+ * @param component - Overlay component. Use `createOverlay(...)` instead when a
16
+ * component needs custom NiceModal lifecycle behavior.
17
+ * @param defaultProps - Optional component props registered as defaults.
18
+ * @returns A controller with `id`, `show`, `hide`, and `remove` helpers.
19
+ */
20
+ function registerOverlay(id, component, defaultProps) {
21
+ const WrappedOverlay = __ebay_nice_modal_react.default.create((props) => {
22
+ const modal = (0, __ebay_nice_modal_react.useModal)();
23
+ const { open: _open, onOpenChange,...componentProps } = props;
24
+ const Component = component;
25
+ const handleClose = (result) => {
26
+ modal.resolve(result);
27
+ modal.hide();
28
+ };
29
+ return react.default.createElement(Component, {
30
+ ...componentProps,
31
+ open: modal.visible,
32
+ onOpenChange: (isOpen) => {
33
+ onOpenChange?.(isOpen);
34
+ if (!isOpen) handleClose("Closed");
35
+ }
36
+ });
37
+ });
38
+ WrappedOverlay.displayName = `RegisteredOverlay(${component.displayName ?? component.name ?? id})`;
39
+ __ebay_nice_modal_react.default.register(id, WrappedOverlay, defaultProps);
40
+ return {
41
+ id,
42
+ show: async (props) => __ebay_nice_modal_react.default.show(id, props),
43
+ hide: async () => __ebay_nice_modal_react.default.hide(id),
44
+ remove: () => {
45
+ __ebay_nice_modal_react.default.remove(id);
46
+ }
47
+ };
48
+ }
49
+ const useOverlay = __ebay_nice_modal_react.useModal;
50
+ /**
51
+ * Creates a custom NiceModal overlay component with controller helpers.
52
+ *
53
+ * Use this for overlays that need to drive `useOverlay()` directly. For simple
54
+ * cases prefer `registerOverlay(...)`.
55
+ */
56
+ function createOverlay(component) {
57
+ const Created = __ebay_nice_modal_react.default.create(component);
58
+ return Object.assign(Created, {
59
+ show: async (props) => __ebay_nice_modal_react.default.show(Created, props),
60
+ hide: async () => __ebay_nice_modal_react.default.hide(Created),
61
+ remove: () => {
62
+ __ebay_nice_modal_react.default.remove(Created);
63
+ }
64
+ });
65
+ }
66
+ /**
67
+ * Opens a registered overlay by id when the caller does not have its typed
68
+ * controller. Prefer `registerOverlay(...).show(...)` when the component is
69
+ * available in the same module.
70
+ */
71
+ async function showOverlay(id, props) {
72
+ return __ebay_nice_modal_react.default.show(id, props);
73
+ }
74
+ /** Hides a registered overlay by id. */
75
+ async function hideOverlay(id) {
76
+ return __ebay_nice_modal_react.default.hide(id);
77
+ }
78
+ /** Removes a registered overlay instance from the render tree by id. */
79
+ function removeOverlay(id) {
80
+ __ebay_nice_modal_react.default.remove(id);
81
+ }
82
+ /** Unregisters an overlay component by id. */
83
+ function unregisterOverlay(id) {
84
+ (0, __ebay_nice_modal_react.unregister)(id);
85
+ }
86
+ const overlayRegistry = {
87
+ create: createOverlay,
88
+ hide: hideOverlay,
89
+ register: registerOverlay,
90
+ remove: removeOverlay,
91
+ show: showOverlay,
92
+ unregister: unregisterOverlay,
93
+ use: useOverlay
94
+ };
95
+
96
+ //#endregion
97
+ exports.createOverlay = createOverlay;
98
+ exports.hideOverlay = hideOverlay;
99
+ exports.overlayRegistry = overlayRegistry;
100
+ exports.registerOverlay = registerOverlay;
101
+ exports.removeOverlay = removeOverlay;
102
+ exports.showOverlay = showOverlay;
103
+ exports.unregisterOverlay = unregisterOverlay;
104
+ exports.useOverlay = useOverlay;
@@ -0,0 +1,91 @@
1
+ import { OverlayRegistry } from "./types.cjs";
2
+ import React, { ComponentType, FC } from "react";
3
+ import { NiceModalHocProps, useModal } from "@ebay/nice-modal-react";
4
+
5
+ //#region src/overlay-provider/overlay-registry.d.ts
6
+
7
+ /**
8
+ * Generic overlay registry built on `@ebay/nice-modal-react`.
9
+ *
10
+ * Nothing here is specific to a Dialog or a Drawer — an "overlay" is any
11
+ * component that accepts controlled `open` / `onOpenChange` props. The
12
+ * `dialog-provider` and `drawer-provider` modules are thin, differently-named
13
+ * facades over this base so their public APIs read naturally (`registerDialog`,
14
+ * `registerDrawer`, …) while sharing a single implementation and a single
15
+ * NiceModal store.
16
+ */
17
+ type NiceModalInjectedKeys = keyof NiceModalHocProps;
18
+ type OverlayInjectedKeys = 'open' | 'onOpenChange';
19
+ type RegisteredOverlayInjectedKeys = NiceModalInjectedKeys | OverlayInjectedKeys;
20
+ interface RegisteredOverlayInjectedProps {
21
+ open?: boolean;
22
+ onOpenChange?: (isOpen: boolean) => void;
23
+ }
24
+ type Pretty<TValue> = { [TKey in keyof TValue]: TValue[TKey] } & {};
25
+ type OptionalRegisteredOverlayProps<TProps extends object> = Pretty<Omit<TProps, Extract<keyof TProps, RegisteredOverlayInjectedKeys>> & Partial<Pick<TProps, Extract<keyof TProps, RegisteredOverlayInjectedKeys>>>>;
26
+ type DefaultedOverlayProps<TProps extends object, TDefaultProps extends Partial<TProps>> = Pretty<Omit<TProps, keyof TDefaultProps> & Partial<Pick<TProps, Extract<keyof TProps, keyof TDefaultProps>>>>;
27
+ type EmptyOverlayDefaultProps = Record<never, never>;
28
+ type RegisteredOverlayShowProps<TProps extends object, TDefaultProps extends Partial<OptionalRegisteredOverlayProps<TProps>> = EmptyOverlayDefaultProps> = DefaultedOverlayProps<OptionalRegisteredOverlayProps<TProps>, TDefaultProps>;
29
+ interface RegisteredOverlay<TProps extends object, TDefaultProps extends Partial<OptionalRegisteredOverlayProps<TProps>> = EmptyOverlayDefaultProps> {
30
+ /** The stable NiceModal id used to register, show, hide, and remove this overlay. */
31
+ id: string;
32
+ /**
33
+ * Opens the registered overlay and passes props to the component.
34
+ *
35
+ * Props are inferred from the registered component. Props supplied as
36
+ * `defaultProps` in `registerOverlay` become optional when calling `show`.
37
+ *
38
+ * @returns A promise that resolves with the value passed to `modal.resolve(...)`
39
+ * inside the overlay component.
40
+ */
41
+ show: <TResult = unknown>(props?: RegisteredOverlayShowProps<TProps, TDefaultProps>) => Promise<TResult>;
42
+ /** Hides the registered overlay without resolving the `show` promise for you. */
43
+ hide: <TResult = unknown>() => Promise<TResult>;
44
+ /**
45
+ * Removes the registered overlay instance from the NiceModal render tree. The
46
+ * id remains registered, so the same controller can show it again.
47
+ */
48
+ remove: () => void;
49
+ }
50
+ /**
51
+ * Registers an overlay component and returns a typed controller for it.
52
+ *
53
+ * The component is wrapped with NiceModal automatically and receives controlled
54
+ * `open` and `onOpenChange` props.
55
+ *
56
+ * @param id - Stable overlay id used by NiceModal and generic `showOverlay`.
57
+ * @param component - Overlay component. Use `createOverlay(...)` instead when a
58
+ * component needs custom NiceModal lifecycle behavior.
59
+ * @param defaultProps - Optional component props registered as defaults.
60
+ * @returns A controller with `id`, `show`, `hide`, and `remove` helpers.
61
+ */
62
+ declare function registerOverlay<TProps extends object, TDefaultProps extends Partial<OptionalRegisteredOverlayProps<TProps>> = EmptyOverlayDefaultProps>(id: string, component: React.FC<TProps>, defaultProps?: TDefaultProps): RegisteredOverlay<TProps, TDefaultProps>;
63
+ declare const useOverlay: typeof useModal;
64
+ interface CreatedOverlay<TProps extends object> extends FC<TProps & NiceModalHocProps> {
65
+ show: <TResult = unknown>(props?: TProps) => Promise<TResult>;
66
+ hide: <TResult = unknown>() => Promise<TResult>;
67
+ remove: () => void;
68
+ }
69
+ /**
70
+ * Creates a custom NiceModal overlay component with controller helpers.
71
+ *
72
+ * Use this for overlays that need to drive `useOverlay()` directly. For simple
73
+ * cases prefer `registerOverlay(...)`.
74
+ */
75
+ declare function createOverlay<TProps extends object>(component: ComponentType<TProps>): CreatedOverlay<TProps>;
76
+ type ShowOverlayProps = Record<string, unknown>;
77
+ /**
78
+ * Opens a registered overlay by id when the caller does not have its typed
79
+ * controller. Prefer `registerOverlay(...).show(...)` when the component is
80
+ * available in the same module.
81
+ */
82
+ declare function showOverlay<TResult = unknown>(id: string, props?: ShowOverlayProps): Promise<TResult>;
83
+ /** Hides a registered overlay by id. */
84
+ declare function hideOverlay<TResult = unknown>(id: string): Promise<TResult>;
85
+ /** Removes a registered overlay instance from the render tree by id. */
86
+ declare function removeOverlay(id: string): void;
87
+ /** Unregisters an overlay component by id. */
88
+ declare function unregisterOverlay(id: string): void;
89
+ declare const overlayRegistry: OverlayRegistry;
90
+ //#endregion
91
+ export { CreatedOverlay, EmptyOverlayDefaultProps, OptionalRegisteredOverlayProps, RegisteredOverlay, RegisteredOverlayInjectedProps, RegisteredOverlayShowProps, ShowOverlayProps, createOverlay, hideOverlay, overlayRegistry, registerOverlay, removeOverlay, showOverlay, unregisterOverlay, useOverlay };
@@ -0,0 +1,91 @@
1
+ import { OverlayRegistry } from "./types.js";
2
+ import React, { ComponentType, FC } from "react";
3
+ import { NiceModalHocProps, useModal } from "@ebay/nice-modal-react";
4
+
5
+ //#region src/overlay-provider/overlay-registry.d.ts
6
+
7
+ /**
8
+ * Generic overlay registry built on `@ebay/nice-modal-react`.
9
+ *
10
+ * Nothing here is specific to a Dialog or a Drawer — an "overlay" is any
11
+ * component that accepts controlled `open` / `onOpenChange` props. The
12
+ * `dialog-provider` and `drawer-provider` modules are thin, differently-named
13
+ * facades over this base so their public APIs read naturally (`registerDialog`,
14
+ * `registerDrawer`, …) while sharing a single implementation and a single
15
+ * NiceModal store.
16
+ */
17
+ type NiceModalInjectedKeys = keyof NiceModalHocProps;
18
+ type OverlayInjectedKeys = 'open' | 'onOpenChange';
19
+ type RegisteredOverlayInjectedKeys = NiceModalInjectedKeys | OverlayInjectedKeys;
20
+ interface RegisteredOverlayInjectedProps {
21
+ open?: boolean;
22
+ onOpenChange?: (isOpen: boolean) => void;
23
+ }
24
+ type Pretty<TValue> = { [TKey in keyof TValue]: TValue[TKey] } & {};
25
+ type OptionalRegisteredOverlayProps<TProps extends object> = Pretty<Omit<TProps, Extract<keyof TProps, RegisteredOverlayInjectedKeys>> & Partial<Pick<TProps, Extract<keyof TProps, RegisteredOverlayInjectedKeys>>>>;
26
+ type DefaultedOverlayProps<TProps extends object, TDefaultProps extends Partial<TProps>> = Pretty<Omit<TProps, keyof TDefaultProps> & Partial<Pick<TProps, Extract<keyof TProps, keyof TDefaultProps>>>>;
27
+ type EmptyOverlayDefaultProps = Record<never, never>;
28
+ type RegisteredOverlayShowProps<TProps extends object, TDefaultProps extends Partial<OptionalRegisteredOverlayProps<TProps>> = EmptyOverlayDefaultProps> = DefaultedOverlayProps<OptionalRegisteredOverlayProps<TProps>, TDefaultProps>;
29
+ interface RegisteredOverlay<TProps extends object, TDefaultProps extends Partial<OptionalRegisteredOverlayProps<TProps>> = EmptyOverlayDefaultProps> {
30
+ /** The stable NiceModal id used to register, show, hide, and remove this overlay. */
31
+ id: string;
32
+ /**
33
+ * Opens the registered overlay and passes props to the component.
34
+ *
35
+ * Props are inferred from the registered component. Props supplied as
36
+ * `defaultProps` in `registerOverlay` become optional when calling `show`.
37
+ *
38
+ * @returns A promise that resolves with the value passed to `modal.resolve(...)`
39
+ * inside the overlay component.
40
+ */
41
+ show: <TResult = unknown>(props?: RegisteredOverlayShowProps<TProps, TDefaultProps>) => Promise<TResult>;
42
+ /** Hides the registered overlay without resolving the `show` promise for you. */
43
+ hide: <TResult = unknown>() => Promise<TResult>;
44
+ /**
45
+ * Removes the registered overlay instance from the NiceModal render tree. The
46
+ * id remains registered, so the same controller can show it again.
47
+ */
48
+ remove: () => void;
49
+ }
50
+ /**
51
+ * Registers an overlay component and returns a typed controller for it.
52
+ *
53
+ * The component is wrapped with NiceModal automatically and receives controlled
54
+ * `open` and `onOpenChange` props.
55
+ *
56
+ * @param id - Stable overlay id used by NiceModal and generic `showOverlay`.
57
+ * @param component - Overlay component. Use `createOverlay(...)` instead when a
58
+ * component needs custom NiceModal lifecycle behavior.
59
+ * @param defaultProps - Optional component props registered as defaults.
60
+ * @returns A controller with `id`, `show`, `hide`, and `remove` helpers.
61
+ */
62
+ declare function registerOverlay<TProps extends object, TDefaultProps extends Partial<OptionalRegisteredOverlayProps<TProps>> = EmptyOverlayDefaultProps>(id: string, component: React.FC<TProps>, defaultProps?: TDefaultProps): RegisteredOverlay<TProps, TDefaultProps>;
63
+ declare const useOverlay: typeof useModal;
64
+ interface CreatedOverlay<TProps extends object> extends FC<TProps & NiceModalHocProps> {
65
+ show: <TResult = unknown>(props?: TProps) => Promise<TResult>;
66
+ hide: <TResult = unknown>() => Promise<TResult>;
67
+ remove: () => void;
68
+ }
69
+ /**
70
+ * Creates a custom NiceModal overlay component with controller helpers.
71
+ *
72
+ * Use this for overlays that need to drive `useOverlay()` directly. For simple
73
+ * cases prefer `registerOverlay(...)`.
74
+ */
75
+ declare function createOverlay<TProps extends object>(component: ComponentType<TProps>): CreatedOverlay<TProps>;
76
+ type ShowOverlayProps = Record<string, unknown>;
77
+ /**
78
+ * Opens a registered overlay by id when the caller does not have its typed
79
+ * controller. Prefer `registerOverlay(...).show(...)` when the component is
80
+ * available in the same module.
81
+ */
82
+ declare function showOverlay<TResult = unknown>(id: string, props?: ShowOverlayProps): Promise<TResult>;
83
+ /** Hides a registered overlay by id. */
84
+ declare function hideOverlay<TResult = unknown>(id: string): Promise<TResult>;
85
+ /** Removes a registered overlay instance from the render tree by id. */
86
+ declare function removeOverlay(id: string): void;
87
+ /** Unregisters an overlay component by id. */
88
+ declare function unregisterOverlay(id: string): void;
89
+ declare const overlayRegistry: OverlayRegistry;
90
+ //#endregion
91
+ export { CreatedOverlay, EmptyOverlayDefaultProps, OptionalRegisteredOverlayProps, RegisteredOverlay, RegisteredOverlayInjectedProps, RegisteredOverlayShowProps, ShowOverlayProps, createOverlay, hideOverlay, overlayRegistry, registerOverlay, removeOverlay, showOverlay, unregisterOverlay, useOverlay };
@@ -0,0 +1,94 @@
1
+ import React from "react";
2
+ import NiceModal, { unregister, useModal } from "@ebay/nice-modal-react";
3
+
4
+ //#region src/overlay-provider/overlay-registry.ts
5
+ /**
6
+ * Registers an overlay component and returns a typed controller for it.
7
+ *
8
+ * The component is wrapped with NiceModal automatically and receives controlled
9
+ * `open` and `onOpenChange` props.
10
+ *
11
+ * @param id - Stable overlay id used by NiceModal and generic `showOverlay`.
12
+ * @param component - Overlay component. Use `createOverlay(...)` instead when a
13
+ * component needs custom NiceModal lifecycle behavior.
14
+ * @param defaultProps - Optional component props registered as defaults.
15
+ * @returns A controller with `id`, `show`, `hide`, and `remove` helpers.
16
+ */
17
+ function registerOverlay(id, component, defaultProps) {
18
+ const WrappedOverlay = NiceModal.create((props) => {
19
+ const modal = useModal();
20
+ const { open: _open, onOpenChange,...componentProps } = props;
21
+ const Component = component;
22
+ const handleClose = (result) => {
23
+ modal.resolve(result);
24
+ modal.hide();
25
+ };
26
+ return React.createElement(Component, {
27
+ ...componentProps,
28
+ open: modal.visible,
29
+ onOpenChange: (isOpen) => {
30
+ onOpenChange?.(isOpen);
31
+ if (!isOpen) handleClose("Closed");
32
+ }
33
+ });
34
+ });
35
+ WrappedOverlay.displayName = `RegisteredOverlay(${component.displayName ?? component.name ?? id})`;
36
+ NiceModal.register(id, WrappedOverlay, defaultProps);
37
+ return {
38
+ id,
39
+ show: async (props) => NiceModal.show(id, props),
40
+ hide: async () => NiceModal.hide(id),
41
+ remove: () => {
42
+ NiceModal.remove(id);
43
+ }
44
+ };
45
+ }
46
+ const useOverlay = useModal;
47
+ /**
48
+ * Creates a custom NiceModal overlay component with controller helpers.
49
+ *
50
+ * Use this for overlays that need to drive `useOverlay()` directly. For simple
51
+ * cases prefer `registerOverlay(...)`.
52
+ */
53
+ function createOverlay(component) {
54
+ const Created = NiceModal.create(component);
55
+ return Object.assign(Created, {
56
+ show: async (props) => NiceModal.show(Created, props),
57
+ hide: async () => NiceModal.hide(Created),
58
+ remove: () => {
59
+ NiceModal.remove(Created);
60
+ }
61
+ });
62
+ }
63
+ /**
64
+ * Opens a registered overlay by id when the caller does not have its typed
65
+ * controller. Prefer `registerOverlay(...).show(...)` when the component is
66
+ * available in the same module.
67
+ */
68
+ async function showOverlay(id, props) {
69
+ return NiceModal.show(id, props);
70
+ }
71
+ /** Hides a registered overlay by id. */
72
+ async function hideOverlay(id) {
73
+ return NiceModal.hide(id);
74
+ }
75
+ /** Removes a registered overlay instance from the render tree by id. */
76
+ function removeOverlay(id) {
77
+ NiceModal.remove(id);
78
+ }
79
+ /** Unregisters an overlay component by id. */
80
+ function unregisterOverlay(id) {
81
+ unregister(id);
82
+ }
83
+ const overlayRegistry = {
84
+ create: createOverlay,
85
+ hide: hideOverlay,
86
+ register: registerOverlay,
87
+ remove: removeOverlay,
88
+ show: showOverlay,
89
+ unregister: unregisterOverlay,
90
+ use: useOverlay
91
+ };
92
+
93
+ //#endregion
94
+ export { createOverlay, hideOverlay, overlayRegistry, registerOverlay, removeOverlay, showOverlay, unregisterOverlay, useOverlay };
@@ -0,0 +1,20 @@
1
+ import { createOverlay, hideOverlay, registerOverlay, removeOverlay, showOverlay, unregisterOverlay, useOverlay } from "./overlay-registry.cjs";
2
+
3
+ //#region src/overlay-provider/types.d.ts
4
+ interface OverlayRegistry {
5
+ /** Registers an overlay component and returns a typed controller. */
6
+ register: typeof registerOverlay;
7
+ /** Creates a custom NiceModal overlay component with controller helpers. */
8
+ create: typeof createOverlay;
9
+ /** Shows a registered overlay by id with generic props. */
10
+ show: typeof showOverlay;
11
+ /** Hides a registered overlay by id. */
12
+ hide: typeof hideOverlay;
13
+ /** Removes a registered overlay instance from the render tree by id. */
14
+ remove: typeof removeOverlay;
15
+ /** Unregisters an overlay component by id. */
16
+ unregister: typeof unregisterOverlay;
17
+ use: typeof useOverlay;
18
+ }
19
+ //#endregion
20
+ export { OverlayRegistry };
@@ -0,0 +1,20 @@
1
+ import { createOverlay, hideOverlay, registerOverlay, removeOverlay, showOverlay, unregisterOverlay, useOverlay } from "./overlay-registry.js";
2
+
3
+ //#region src/overlay-provider/types.d.ts
4
+ interface OverlayRegistry {
5
+ /** Registers an overlay component and returns a typed controller. */
6
+ register: typeof registerOverlay;
7
+ /** Creates a custom NiceModal overlay component with controller helpers. */
8
+ create: typeof createOverlay;
9
+ /** Shows a registered overlay by id with generic props. */
10
+ show: typeof showOverlay;
11
+ /** Hides a registered overlay by id. */
12
+ hide: typeof hideOverlay;
13
+ /** Removes a registered overlay instance from the render tree by id. */
14
+ remove: typeof removeOverlay;
15
+ /** Unregisters an overlay component by id. */
16
+ unregister: typeof unregisterOverlay;
17
+ use: typeof useOverlay;
18
+ }
19
+ //#endregion
20
+ export { OverlayRegistry };
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime14 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime19 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types0 from "class-variance-authority/types";
5
5
 
@@ -35,7 +35,7 @@ declare function RatingButton({
35
35
  index,
36
36
  className,
37
37
  ...props
38
- }: RatingButtonProps): react_jsx_runtime14.JSX.Element;
38
+ }: RatingButtonProps): react_jsx_runtime19.JSX.Element;
39
39
  declare function Rating({
40
40
  value: valueProp,
41
41
  defaultValue,
@@ -53,6 +53,6 @@ declare function Rating({
53
53
  children,
54
54
  id,
55
55
  ...props
56
- }: React$1.PropsWithChildren<RatingProps>): react_jsx_runtime14.JSX.Element;
56
+ }: React$1.PropsWithChildren<RatingProps>): react_jsx_runtime19.JSX.Element;
57
57
  //#endregion
58
58
  export { Rating, RatingButton, RatingButtonProps, RatingColor, RatingOption, RatingProps };
@@ -1,6 +1,6 @@
1
1
  import { Select, SelectContent, SelectTrigger } from "@pixpilot/shadcn";
2
2
  import React, { ComponentProps } from "react";
3
- import * as react_jsx_runtime16 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime21 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/select/Select.d.ts
6
6
  interface SelectOption {
@@ -60,6 +60,6 @@ type BaseSelectProps = {
60
60
  /** Styles the visible trigger. */
61
61
  className?: string;
62
62
  } & Omit<ComponentProps<typeof SelectTrigger>, 'onChange' | 'value'>;
63
- declare function Select$1(props: BaseSelectProps): react_jsx_runtime16.JSX.Element;
63
+ declare function Select$1(props: BaseSelectProps): react_jsx_runtime21.JSX.Element;
64
64
  //#endregion
65
65
  export { BaseSelectProps, Select$1 as Select, SelectContentProps, SelectOption };
@@ -1,6 +1,6 @@
1
1
  import { CommandOptionListItem } from "../command-option-list/CommandOptionList.cjs";
2
2
  import { TagsInputInline } from "./TagsInputInline.cjs";
3
- import * as react_jsx_runtime23 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime24 from "react/jsx-runtime";
4
4
  import { ComponentProps } from "react";
5
5
 
6
6
  //#region src/tags-input/TagsInput.d.ts
@@ -32,6 +32,6 @@ interface TagsInputProps extends Omit<ComponentProps<typeof TagsInputInline>, 'o
32
32
  * - Options support with dropdown (like Select)
33
33
  * - freeSolo mode for custom tags (like MUI Autocomplete)
34
34
  */
35
- declare function TagsInput(props: TagsInputProps): react_jsx_runtime23.JSX.Element;
35
+ declare function TagsInput(props: TagsInputProps): react_jsx_runtime24.JSX.Element;
36
36
  //#endregion
37
37
  export { TagsInput, TagsInputProps };
@@ -1,7 +1,7 @@
1
1
  import { CommandOptionListItem } from "../command-option-list/CommandOptionList.js";
2
2
  import { TagsInputInline } from "./TagsInputInline.js";
3
3
  import { ComponentProps } from "react";
4
- import * as react_jsx_runtime18 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime24 from "react/jsx-runtime";
5
5
 
6
6
  //#region src/tags-input/TagsInput.d.ts
7
7
  interface TagsInputProps extends Omit<ComponentProps<typeof TagsInputInline>, 'onChange' | 'value' | 'onValueChange' | 'onValidate' | 'items' | 'max' | 'inputRef' | 'inputPlaceholder' | 'inputValue' | 'onInputFocus' | 'onInputChange' | 'onInputKeyDown' | 'onInputMouseDown' | 'onListClick' | 'canAddCurrentValue' | 'onAddCurrentInput' | 'showClear'> {
@@ -32,6 +32,6 @@ interface TagsInputProps extends Omit<ComponentProps<typeof TagsInputInline>, 'o
32
32
  * - Options support with dropdown (like Select)
33
33
  * - freeSolo mode for custom tags (like MUI Autocomplete)
34
34
  */
35
- declare function TagsInput(props: TagsInputProps): react_jsx_runtime18.JSX.Element;
35
+ declare function TagsInput(props: TagsInputProps): react_jsx_runtime24.JSX.Element;
36
36
  //#endregion
37
37
  export { TagsInput, TagsInputProps };
@@ -1,5 +1,5 @@
1
1
  import { ChangeEventHandler, FocusEventHandler, KeyboardEventHandler, MouseEventHandler, Ref } from "react";
2
- import * as react_jsx_runtime19 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime22 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/tags-input/TagsInputInline.d.ts
5
5
  interface TagsInputInlineItem {
@@ -77,6 +77,6 @@ declare function TagsInputInline({
77
77
  canAddCurrentValue,
78
78
  onAddCurrentInput,
79
79
  showClear
80
- }: TagsInputInlineProps): react_jsx_runtime19.JSX.Element;
80
+ }: TagsInputInlineProps): react_jsx_runtime22.JSX.Element;
81
81
  //#endregion
82
82
  export { TagsInputInline, TagsInputInlineItem, TagsInputInlineProps };
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime7 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime25 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeDropdown.d.ts
4
4
  interface ThemeModeDropdownProps {
@@ -18,7 +18,7 @@ interface ThemeModeDropdownProps {
18
18
  * Provides Light / Dark / System options.
19
19
  * Pure component - requires themeValue and onChange props.
20
20
  */
21
- declare function ThemeModeDropdown(props: ThemeModeDropdownProps): react_jsx_runtime7.JSX.Element;
21
+ declare function ThemeModeDropdown(props: ThemeModeDropdownProps): react_jsx_runtime25.JSX.Element;
22
22
  declare namespace ThemeModeDropdown {
23
23
  var displayName: string;
24
24
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime21 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime25 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeDropdown.d.ts
4
4
  interface ThemeModeDropdownProps {
@@ -18,7 +18,7 @@ interface ThemeModeDropdownProps {
18
18
  * Provides Light / Dark / System options.
19
19
  * Pure component - requires themeValue and onChange props.
20
20
  */
21
- declare function ThemeModeDropdown(props: ThemeModeDropdownProps): react_jsx_runtime21.JSX.Element;
21
+ declare function ThemeModeDropdown(props: ThemeModeDropdownProps): react_jsx_runtime25.JSX.Element;
22
22
  declare namespace ThemeModeDropdown {
23
23
  var displayName: string;
24
24
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime8 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime26 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeSwitchInside.d.ts
4
4
  type ThemeModeSwitchInsideSize = 'sm' | 'md' | 'lg';
@@ -26,7 +26,7 @@ interface ThemeModeSwitchInsideProps {
26
26
  * Icons are embedded within the switch control.
27
27
  * Pure component - requires value and onChange props.
28
28
  */
29
- declare function ThemeModeSwitchInside(props: ThemeModeSwitchInsideProps): react_jsx_runtime8.JSX.Element;
29
+ declare function ThemeModeSwitchInside(props: ThemeModeSwitchInsideProps): react_jsx_runtime26.JSX.Element;
30
30
  declare namespace ThemeModeSwitchInside {
31
31
  var displayName: string;
32
32
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime22 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime26 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeSwitchInside.d.ts
4
4
  type ThemeModeSwitchInsideSize = 'sm' | 'md' | 'lg';
@@ -26,7 +26,7 @@ interface ThemeModeSwitchInsideProps {
26
26
  * Icons are embedded within the switch control.
27
27
  * Pure component - requires value and onChange props.
28
28
  */
29
- declare function ThemeModeSwitchInside(props: ThemeModeSwitchInsideProps): react_jsx_runtime22.JSX.Element;
29
+ declare function ThemeModeSwitchInside(props: ThemeModeSwitchInsideProps): react_jsx_runtime26.JSX.Element;
30
30
  declare namespace ThemeModeSwitchInside {
31
31
  var displayName: string;
32
32
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime9 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime27 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeSwitchOutside.d.ts
4
4
  interface ThemeModeSwitchOutsideProps {
@@ -23,7 +23,7 @@ interface ThemeModeSwitchOutsideProps {
23
23
  * Icons flank the switch control on either side.
24
24
  * Pure component - requires value and onChange props.
25
25
  */
26
- declare function ThemeModeSwitchOutside(props: ThemeModeSwitchOutsideProps): react_jsx_runtime9.JSX.Element;
26
+ declare function ThemeModeSwitchOutside(props: ThemeModeSwitchOutsideProps): react_jsx_runtime27.JSX.Element;
27
27
  declare namespace ThemeModeSwitchOutside {
28
28
  var displayName: string;
29
29
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime23 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime27 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeSwitchOutside.d.ts
4
4
  interface ThemeModeSwitchOutsideProps {
@@ -23,7 +23,7 @@ interface ThemeModeSwitchOutsideProps {
23
23
  * Icons flank the switch control on either side.
24
24
  * Pure component - requires value and onChange props.
25
25
  */
26
- declare function ThemeModeSwitchOutside(props: ThemeModeSwitchOutsideProps): react_jsx_runtime23.JSX.Element;
26
+ declare function ThemeModeSwitchOutside(props: ThemeModeSwitchOutsideProps): react_jsx_runtime27.JSX.Element;
27
27
  declare namespace ThemeModeSwitchOutside {
28
28
  var displayName: string;
29
29
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime6 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime23 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeToggleButton.d.ts
4
4
  interface ThemeModeToggleButtonProps {
@@ -14,7 +14,7 @@ interface ThemeModeToggleButtonProps {
14
14
  * Light/Dark toggle button.
15
15
  * Pure component - toggles between light and dark.
16
16
  */
17
- declare function ThemeModeToggleButton(props: ThemeModeToggleButtonProps): react_jsx_runtime6.JSX.Element;
17
+ declare function ThemeModeToggleButton(props: ThemeModeToggleButtonProps): react_jsx_runtime23.JSX.Element;
18
18
  declare namespace ThemeModeToggleButton {
19
19
  var displayName: string;
20
20
  }
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime20 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime23 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/theme-toggle/ThemeModeToggleButton.d.ts
4
4
  interface ThemeModeToggleButtonProps {
@@ -14,7 +14,7 @@ interface ThemeModeToggleButtonProps {
14
14
  * Light/Dark toggle button.
15
15
  * Pure component - toggles between light and dark.
16
16
  */
17
- declare function ThemeModeToggleButton(props: ThemeModeToggleButtonProps): react_jsx_runtime20.JSX.Element;
17
+ declare function ThemeModeToggleButton(props: ThemeModeToggleButtonProps): react_jsx_runtime23.JSX.Element;
18
18
  declare namespace ThemeModeToggleButton {
19
19
  var displayName: string;
20
20
  }