@mantine/modals 9.0.0-alpha.5 → 9.0.0-alpha.7

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.
@@ -1,212 +1,189 @@
1
- 'use client';
2
- import { jsxs, jsx } from 'react/jsx-runtime';
3
- import { useReducer, useRef, useCallback } from 'react';
4
- import { Modal, getDefaultZIndex } from '@mantine/core';
5
- import { randomId } from '@mantine/hooks';
6
- import { ConfirmModal } from './ConfirmModal.mjs';
7
- import { ModalsContext } from './context.mjs';
8
- import { useModalsEvents } from './events.mjs';
9
- import { modalsReducer, handleCloseModal } from './reducer.mjs';
10
-
1
+ "use client";
2
+ import { ModalsContext } from "./context.mjs";
3
+ import { ConfirmModal } from "./ConfirmModal.mjs";
4
+ import { useModalsEvents } from "./events.mjs";
5
+ import { handleCloseModal, modalsReducer } from "./reducer.mjs";
6
+ import { useCallback, useReducer, useRef } from "react";
7
+ import { Modal, getDefaultZIndex } from "@mantine/core";
8
+ import { randomId } from "@mantine/hooks";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ //#region packages/@mantine/modals/src/ModalsProvider.tsx
11
11
  function separateConfirmModalProps(props) {
12
- if (!props) {
13
- return { confirmProps: {}, modalProps: {} };
14
- }
15
- const {
16
- id,
17
- children,
18
- onCancel,
19
- onConfirm,
20
- closeOnConfirm,
21
- closeOnCancel,
22
- cancelProps,
23
- confirmProps,
24
- groupProps,
25
- labels,
26
- ...others
27
- } = props;
28
- return {
29
- confirmProps: {
30
- id,
31
- children,
32
- onCancel,
33
- onConfirm,
34
- closeOnConfirm,
35
- closeOnCancel,
36
- cancelProps,
37
- confirmProps,
38
- groupProps,
39
- labels
40
- },
41
- modalProps: {
42
- id,
43
- ...others
44
- }
45
- };
12
+ if (!props) return {
13
+ confirmProps: {},
14
+ modalProps: {}
15
+ };
16
+ const { id, children, onCancel, onConfirm, closeOnConfirm, closeOnCancel, cancelProps, confirmProps, groupProps, labels, ...others } = props;
17
+ return {
18
+ confirmProps: {
19
+ id,
20
+ children,
21
+ onCancel,
22
+ onConfirm,
23
+ closeOnConfirm,
24
+ closeOnCancel,
25
+ cancelProps,
26
+ confirmProps,
27
+ groupProps,
28
+ labels
29
+ },
30
+ modalProps: {
31
+ id,
32
+ ...others
33
+ }
34
+ };
46
35
  }
47
36
  function ModalsProvider({ children, modalProps, labels, modals }) {
48
- const [state, dispatch] = useReducer(modalsReducer, { modals: [], current: null });
49
- const stateRef = useRef(state);
50
- stateRef.current = state;
51
- const closeAll = useCallback(
52
- (canceled) => {
53
- stateRef.current.modals.concat().reverse().forEach((modal) => {
54
- handleCloseModal(modal, canceled);
55
- });
56
- dispatch({ type: "CLOSE_ALL", canceled });
57
- },
58
- [stateRef, dispatch]
59
- );
60
- const openModal = useCallback(
61
- ({ modalId, ...props }) => {
62
- const id = modalId || randomId();
63
- dispatch({
64
- type: "OPEN",
65
- modal: {
66
- id,
67
- type: "content",
68
- props
69
- }
70
- });
71
- return id;
72
- },
73
- [dispatch]
74
- );
75
- const openConfirmModal = useCallback(
76
- ({ modalId, ...props }) => {
77
- const id = modalId || randomId();
78
- dispatch({
79
- type: "OPEN",
80
- modal: {
81
- id,
82
- type: "confirm",
83
- props
84
- }
85
- });
86
- return id;
87
- },
88
- [dispatch]
89
- );
90
- const openContextModal = useCallback(
91
- (modal, { modalId, ...props }) => {
92
- const id = modalId || randomId();
93
- dispatch({
94
- type: "OPEN",
95
- modal: {
96
- id,
97
- type: "context",
98
- props,
99
- ctx: modal
100
- }
101
- });
102
- return id;
103
- },
104
- [dispatch]
105
- );
106
- const closeModal = useCallback(
107
- (id, canceled) => {
108
- const modal = stateRef.current.modals.find((m) => m.id === id);
109
- if (modal) {
110
- handleCloseModal(modal, canceled);
111
- }
112
- dispatch({ type: "CLOSE", modalId: id, canceled });
113
- },
114
- [stateRef, dispatch]
115
- );
116
- const updateModal = useCallback(
117
- ({ modalId, ...newProps }) => {
118
- dispatch({
119
- type: "UPDATE",
120
- modalId,
121
- newProps
122
- });
123
- },
124
- [dispatch]
125
- );
126
- const updateContextModal = useCallback(
127
- ({ modalId, ...newProps }) => {
128
- dispatch({ type: "UPDATE", modalId, newProps });
129
- },
130
- [dispatch]
131
- );
132
- useModalsEvents({
133
- openModal,
134
- openConfirmModal,
135
- openContextModal: ({ modal, ...payload }) => openContextModal(modal, payload),
136
- closeModal,
137
- closeContextModal: closeModal,
138
- closeAllModals: closeAll,
139
- updateModal,
140
- updateContextModal
141
- });
142
- const ctx = {
143
- modalProps: modalProps || {},
144
- modals: state.modals,
145
- openModal,
146
- openConfirmModal,
147
- openContextModal,
148
- closeModal,
149
- closeContextModal: closeModal,
150
- closeAll,
151
- updateModal,
152
- updateContextModal
153
- };
154
- const getCurrentModal = () => {
155
- const currentModal = stateRef.current.current;
156
- switch (currentModal?.type) {
157
- case "context": {
158
- const { innerProps, ...rest } = currentModal.props;
159
- const ContextModal = modals[currentModal.ctx];
160
- return {
161
- modalProps: rest,
162
- content: /* @__PURE__ */ jsx(ContextModal, { innerProps, context: ctx, id: currentModal.id })
163
- };
164
- }
165
- case "confirm": {
166
- const { modalProps: separatedModalProps, confirmProps: separatedConfirmProps } = separateConfirmModalProps(currentModal.props);
167
- return {
168
- modalProps: separatedModalProps,
169
- content: /* @__PURE__ */ jsx(
170
- ConfirmModal,
171
- {
172
- ...separatedConfirmProps,
173
- id: currentModal.id,
174
- labels: currentModal.props.labels || labels
175
- }
176
- )
177
- };
178
- }
179
- case "content": {
180
- const { children: currentModalChildren, ...rest } = currentModal.props;
181
- return {
182
- modalProps: rest,
183
- content: currentModalChildren
184
- };
185
- }
186
- default: {
187
- return {
188
- modalProps: {},
189
- content: null
190
- };
191
- }
192
- }
193
- };
194
- const { modalProps: currentModalProps, content } = getCurrentModal();
195
- return /* @__PURE__ */ jsxs(ModalsContext, { value: ctx, children: [
196
- /* @__PURE__ */ jsx(
197
- Modal,
198
- {
199
- zIndex: getDefaultZIndex("modal") + 1,
200
- ...modalProps,
201
- ...currentModalProps,
202
- opened: state.modals.length > 0,
203
- onClose: () => closeModal(state.current?.id),
204
- children: content
205
- }
206
- ),
207
- children
208
- ] });
37
+ const [state, dispatch] = useReducer(modalsReducer, {
38
+ modals: [],
39
+ current: null
40
+ });
41
+ const stateRef = useRef(state);
42
+ stateRef.current = state;
43
+ const closeAll = useCallback((canceled) => {
44
+ stateRef.current.modals.concat().reverse().forEach((modal) => {
45
+ handleCloseModal(modal, canceled);
46
+ });
47
+ dispatch({
48
+ type: "CLOSE_ALL",
49
+ canceled
50
+ });
51
+ }, [stateRef, dispatch]);
52
+ const openModal = useCallback(({ modalId, ...props }) => {
53
+ const id = modalId || randomId();
54
+ dispatch({
55
+ type: "OPEN",
56
+ modal: {
57
+ id,
58
+ type: "content",
59
+ props
60
+ }
61
+ });
62
+ return id;
63
+ }, [dispatch]);
64
+ const openConfirmModal = useCallback(({ modalId, ...props }) => {
65
+ const id = modalId || randomId();
66
+ dispatch({
67
+ type: "OPEN",
68
+ modal: {
69
+ id,
70
+ type: "confirm",
71
+ props
72
+ }
73
+ });
74
+ return id;
75
+ }, [dispatch]);
76
+ const openContextModal = useCallback((modal, { modalId, ...props }) => {
77
+ const id = modalId || randomId();
78
+ dispatch({
79
+ type: "OPEN",
80
+ modal: {
81
+ id,
82
+ type: "context",
83
+ props,
84
+ ctx: modal
85
+ }
86
+ });
87
+ return id;
88
+ }, [dispatch]);
89
+ const closeModal = useCallback((id, canceled) => {
90
+ const modal = stateRef.current.modals.find((m) => m.id === id);
91
+ if (modal) handleCloseModal(modal, canceled);
92
+ dispatch({
93
+ type: "CLOSE",
94
+ modalId: id,
95
+ canceled
96
+ });
97
+ }, [stateRef, dispatch]);
98
+ const updateModal = useCallback(({ modalId, ...newProps }) => {
99
+ dispatch({
100
+ type: "UPDATE",
101
+ modalId,
102
+ newProps
103
+ });
104
+ }, [dispatch]);
105
+ const updateContextModal = useCallback(({ modalId, ...newProps }) => {
106
+ dispatch({
107
+ type: "UPDATE",
108
+ modalId,
109
+ newProps
110
+ });
111
+ }, [dispatch]);
112
+ useModalsEvents({
113
+ openModal,
114
+ openConfirmModal,
115
+ openContextModal: ({ modal, ...payload }) => openContextModal(modal, payload),
116
+ closeModal,
117
+ closeContextModal: closeModal,
118
+ closeAllModals: closeAll,
119
+ updateModal,
120
+ updateContextModal
121
+ });
122
+ const ctx = {
123
+ modalProps: modalProps || {},
124
+ modals: state.modals,
125
+ openModal,
126
+ openConfirmModal,
127
+ openContextModal,
128
+ closeModal,
129
+ closeContextModal: closeModal,
130
+ closeAll,
131
+ updateModal,
132
+ updateContextModal
133
+ };
134
+ const getCurrentModal = () => {
135
+ const currentModal = stateRef.current.current;
136
+ switch (currentModal?.type) {
137
+ case "context": {
138
+ const { innerProps, ...rest } = currentModal.props;
139
+ const ContextModal = modals[currentModal.ctx];
140
+ return {
141
+ modalProps: rest,
142
+ content: /* @__PURE__ */ jsx(ContextModal, {
143
+ innerProps,
144
+ context: ctx,
145
+ id: currentModal.id
146
+ })
147
+ };
148
+ }
149
+ case "confirm": {
150
+ const { modalProps: separatedModalProps, confirmProps: separatedConfirmProps } = separateConfirmModalProps(currentModal.props);
151
+ return {
152
+ modalProps: separatedModalProps,
153
+ content: /* @__PURE__ */ jsx(ConfirmModal, {
154
+ ...separatedConfirmProps,
155
+ id: currentModal.id,
156
+ labels: currentModal.props.labels || labels
157
+ })
158
+ };
159
+ }
160
+ case "content": {
161
+ const { children: currentModalChildren, ...rest } = currentModal.props;
162
+ return {
163
+ modalProps: rest,
164
+ content: currentModalChildren
165
+ };
166
+ }
167
+ default: return {
168
+ modalProps: {},
169
+ content: null
170
+ };
171
+ }
172
+ };
173
+ const { modalProps: currentModalProps, content } = getCurrentModal();
174
+ return /* @__PURE__ */ jsxs(ModalsContext, {
175
+ value: ctx,
176
+ children: [/* @__PURE__ */ jsx(Modal, {
177
+ zIndex: getDefaultZIndex("modal") + 1,
178
+ ...modalProps,
179
+ ...currentModalProps,
180
+ opened: state.modals.length > 0,
181
+ onClose: () => closeModal(state.current?.id),
182
+ children: content
183
+ }), children]
184
+ });
209
185
  }
210
-
186
+ //#endregion
211
187
  export { ModalsProvider };
212
- //# sourceMappingURL=ModalsProvider.mjs.map
188
+
189
+ //# sourceMappingURL=ModalsProvider.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalsProvider.mjs","sources":["../src/ModalsProvider.tsx"],"sourcesContent":["import { useCallback, useReducer, useRef } from 'react';\nimport { getDefaultZIndex, Modal } from '@mantine/core';\nimport { randomId } from '@mantine/hooks';\nimport { ConfirmModal } from './ConfirmModal';\nimport {\n ConfirmLabels,\n ContextModalProps,\n ModalsContext,\n ModalsContextProps,\n ModalSettings,\n OpenConfirmModal,\n OpenContextModal,\n} from './context';\nimport { useModalsEvents } from './events';\nimport { handleCloseModal, modalsReducer } from './reducer';\n\nexport interface ModalsProviderProps {\n /** Your app */\n children?: React.ReactNode;\n\n /** Predefined modals */\n modals?: Record<string, React.FC<ContextModalProps<any>>>;\n\n /** Shared Modal component props, applied for every modal */\n modalProps?: ModalSettings;\n\n /** Confirm modal labels */\n labels?: ConfirmLabels;\n}\n\nfunction separateConfirmModalProps(props: OpenConfirmModal) {\n if (!props) {\n return { confirmProps: {}, modalProps: {} };\n }\n\n const {\n id,\n children,\n onCancel,\n onConfirm,\n closeOnConfirm,\n closeOnCancel,\n cancelProps,\n confirmProps,\n groupProps,\n labels,\n ...others\n } = props;\n\n return {\n confirmProps: {\n id,\n children,\n onCancel,\n onConfirm,\n closeOnConfirm,\n closeOnCancel,\n cancelProps,\n confirmProps,\n groupProps,\n labels,\n },\n modalProps: {\n id,\n ...others,\n },\n };\n}\n\nexport function ModalsProvider({ children, modalProps, labels, modals }: ModalsProviderProps) {\n const [state, dispatch] = useReducer(modalsReducer, { modals: [], current: null });\n const stateRef = useRef(state);\n stateRef.current = state;\n\n const closeAll = useCallback(\n (canceled?: boolean) => {\n stateRef.current.modals\n .concat()\n .reverse()\n .forEach((modal) => {\n handleCloseModal(modal, canceled);\n });\n dispatch({ type: 'CLOSE_ALL', canceled });\n },\n [stateRef, dispatch]\n );\n\n const openModal = useCallback(\n ({ modalId, ...props }: ModalSettings) => {\n const id = modalId || randomId();\n\n dispatch({\n type: 'OPEN',\n modal: {\n id,\n type: 'content',\n props,\n },\n });\n return id;\n },\n [dispatch]\n );\n\n const openConfirmModal = useCallback(\n ({ modalId, ...props }: OpenConfirmModal) => {\n const id = modalId || randomId();\n dispatch({\n type: 'OPEN',\n modal: {\n id,\n type: 'confirm',\n props,\n },\n });\n return id;\n },\n [dispatch]\n );\n\n const openContextModal = useCallback(\n (modal: string, { modalId, ...props }: OpenContextModal) => {\n const id = modalId || randomId();\n dispatch({\n type: 'OPEN',\n modal: {\n id,\n type: 'context',\n props,\n ctx: modal,\n },\n });\n return id;\n },\n [dispatch]\n );\n\n const closeModal = useCallback(\n (id: string, canceled?: boolean) => {\n const modal = stateRef.current.modals.find((m) => m.id === id);\n if (modal) {\n handleCloseModal(modal, canceled);\n }\n dispatch({ type: 'CLOSE', modalId: id, canceled });\n },\n [stateRef, dispatch]\n );\n\n const updateModal = useCallback(\n ({ modalId, ...newProps }: Partial<ModalSettings> & { modalId: string }) => {\n dispatch({\n type: 'UPDATE',\n modalId,\n newProps,\n });\n },\n [dispatch]\n );\n\n const updateContextModal = useCallback(\n ({ modalId, ...newProps }: { modalId: string } & Partial<OpenContextModal<any>>) => {\n dispatch({ type: 'UPDATE', modalId, newProps });\n },\n [dispatch]\n );\n\n useModalsEvents({\n openModal,\n openConfirmModal,\n openContextModal: ({ modal, ...payload }: any) => openContextModal(modal, payload),\n closeModal,\n closeContextModal: closeModal,\n closeAllModals: closeAll,\n updateModal,\n updateContextModal,\n });\n\n const ctx: ModalsContextProps = {\n modalProps: modalProps || {},\n modals: state.modals,\n openModal,\n openConfirmModal,\n openContextModal,\n closeModal,\n closeContextModal: closeModal,\n closeAll,\n updateModal,\n updateContextModal,\n };\n\n const getCurrentModal = () => {\n const currentModal = stateRef.current.current;\n switch (currentModal?.type) {\n case 'context': {\n const { innerProps, ...rest } = currentModal.props;\n const ContextModal = modals![currentModal.ctx];\n\n return {\n modalProps: rest,\n content: <ContextModal innerProps={innerProps} context={ctx} id={currentModal.id} />,\n };\n }\n case 'confirm': {\n const { modalProps: separatedModalProps, confirmProps: separatedConfirmProps } =\n separateConfirmModalProps(currentModal.props);\n\n return {\n modalProps: separatedModalProps,\n content: (\n <ConfirmModal\n {...separatedConfirmProps}\n id={currentModal.id}\n labels={currentModal.props.labels || labels}\n />\n ),\n };\n }\n case 'content': {\n const { children: currentModalChildren, ...rest } = currentModal.props;\n\n return {\n modalProps: rest,\n content: currentModalChildren,\n };\n }\n default: {\n return {\n modalProps: {},\n content: null,\n };\n }\n }\n };\n\n const { modalProps: currentModalProps, content } = getCurrentModal();\n\n return (\n <ModalsContext value={ctx}>\n <Modal\n zIndex={getDefaultZIndex('modal') + 1}\n {...modalProps}\n {...currentModalProps}\n opened={state.modals.length > 0}\n onClose={() => closeModal(state.current?.id as any)}\n >\n {content}\n </Modal>\n\n {children}\n </ModalsContext>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModalsProvider.mjs","names":[],"sources":["../src/ModalsProvider.tsx"],"sourcesContent":["import { useCallback, useReducer, useRef } from 'react';\nimport { getDefaultZIndex, Modal } from '@mantine/core';\nimport { randomId } from '@mantine/hooks';\nimport { ConfirmModal } from './ConfirmModal';\nimport {\n ConfirmLabels,\n ContextModalProps,\n ModalsContext,\n ModalsContextProps,\n ModalSettings,\n OpenConfirmModal,\n OpenContextModal,\n} from './context';\nimport { useModalsEvents } from './events';\nimport { handleCloseModal, modalsReducer } from './reducer';\n\nexport interface ModalsProviderProps {\n /** Your app */\n children?: React.ReactNode;\n\n /** Predefined modals */\n modals?: Record<string, React.FC<ContextModalProps<any>>>;\n\n /** Shared Modal component props, applied for every modal */\n modalProps?: ModalSettings;\n\n /** Confirm modal labels */\n labels?: ConfirmLabels;\n}\n\nfunction separateConfirmModalProps(props: OpenConfirmModal) {\n if (!props) {\n return { confirmProps: {}, modalProps: {} };\n }\n\n const {\n id,\n children,\n onCancel,\n onConfirm,\n closeOnConfirm,\n closeOnCancel,\n cancelProps,\n confirmProps,\n groupProps,\n labels,\n ...others\n } = props;\n\n return {\n confirmProps: {\n id,\n children,\n onCancel,\n onConfirm,\n closeOnConfirm,\n closeOnCancel,\n cancelProps,\n confirmProps,\n groupProps,\n labels,\n },\n modalProps: {\n id,\n ...others,\n },\n };\n}\n\nexport function ModalsProvider({ children, modalProps, labels, modals }: ModalsProviderProps) {\n const [state, dispatch] = useReducer(modalsReducer, { modals: [], current: null });\n const stateRef = useRef(state);\n stateRef.current = state;\n\n const closeAll = useCallback(\n (canceled?: boolean) => {\n stateRef.current.modals\n .concat()\n .reverse()\n .forEach((modal) => {\n handleCloseModal(modal, canceled);\n });\n dispatch({ type: 'CLOSE_ALL', canceled });\n },\n [stateRef, dispatch]\n );\n\n const openModal = useCallback(\n ({ modalId, ...props }: ModalSettings) => {\n const id = modalId || randomId();\n\n dispatch({\n type: 'OPEN',\n modal: {\n id,\n type: 'content',\n props,\n },\n });\n return id;\n },\n [dispatch]\n );\n\n const openConfirmModal = useCallback(\n ({ modalId, ...props }: OpenConfirmModal) => {\n const id = modalId || randomId();\n dispatch({\n type: 'OPEN',\n modal: {\n id,\n type: 'confirm',\n props,\n },\n });\n return id;\n },\n [dispatch]\n );\n\n const openContextModal = useCallback(\n (modal: string, { modalId, ...props }: OpenContextModal) => {\n const id = modalId || randomId();\n dispatch({\n type: 'OPEN',\n modal: {\n id,\n type: 'context',\n props,\n ctx: modal,\n },\n });\n return id;\n },\n [dispatch]\n );\n\n const closeModal = useCallback(\n (id: string, canceled?: boolean) => {\n const modal = stateRef.current.modals.find((m) => m.id === id);\n if (modal) {\n handleCloseModal(modal, canceled);\n }\n dispatch({ type: 'CLOSE', modalId: id, canceled });\n },\n [stateRef, dispatch]\n );\n\n const updateModal = useCallback(\n ({ modalId, ...newProps }: Partial<ModalSettings> & { modalId: string }) => {\n dispatch({\n type: 'UPDATE',\n modalId,\n newProps,\n });\n },\n [dispatch]\n );\n\n const updateContextModal = useCallback(\n ({ modalId, ...newProps }: { modalId: string } & Partial<OpenContextModal<any>>) => {\n dispatch({ type: 'UPDATE', modalId, newProps });\n },\n [dispatch]\n );\n\n useModalsEvents({\n openModal,\n openConfirmModal,\n openContextModal: ({ modal, ...payload }: any) => openContextModal(modal, payload),\n closeModal,\n closeContextModal: closeModal,\n closeAllModals: closeAll,\n updateModal,\n updateContextModal,\n });\n\n const ctx: ModalsContextProps = {\n modalProps: modalProps || {},\n modals: state.modals,\n openModal,\n openConfirmModal,\n openContextModal,\n closeModal,\n closeContextModal: closeModal,\n closeAll,\n updateModal,\n updateContextModal,\n };\n\n const getCurrentModal = () => {\n const currentModal = stateRef.current.current;\n switch (currentModal?.type) {\n case 'context': {\n const { innerProps, ...rest } = currentModal.props;\n const ContextModal = modals![currentModal.ctx];\n\n return {\n modalProps: rest,\n content: <ContextModal innerProps={innerProps} context={ctx} id={currentModal.id} />,\n };\n }\n case 'confirm': {\n const { modalProps: separatedModalProps, confirmProps: separatedConfirmProps } =\n separateConfirmModalProps(currentModal.props);\n\n return {\n modalProps: separatedModalProps,\n content: (\n <ConfirmModal\n {...separatedConfirmProps}\n id={currentModal.id}\n labels={currentModal.props.labels || labels}\n />\n ),\n };\n }\n case 'content': {\n const { children: currentModalChildren, ...rest } = currentModal.props;\n\n return {\n modalProps: rest,\n content: currentModalChildren,\n };\n }\n default: {\n return {\n modalProps: {},\n content: null,\n };\n }\n }\n };\n\n const { modalProps: currentModalProps, content } = getCurrentModal();\n\n return (\n <ModalsContext value={ctx}>\n <Modal\n zIndex={getDefaultZIndex('modal') + 1}\n {...modalProps}\n {...currentModalProps}\n opened={state.modals.length > 0}\n onClose={() => closeModal(state.current?.id as any)}\n >\n {content}\n </Modal>\n\n {children}\n </ModalsContext>\n );\n}\n"],"mappings":"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"}
package/esm/context.mjs CHANGED
@@ -1,8 +1,9 @@
1
- 'use client';
2
- import { createContext } from 'react';
3
-
1
+ "use client";
2
+ import { createContext } from "react";
3
+ //#region packages/@mantine/modals/src/context.ts
4
4
  const ModalsContext = createContext(null);
5
5
  ModalsContext.displayName = "@mantine/modals/ModalsContext";
6
-
6
+ //#endregion
7
7
  export { ModalsContext };
8
- //# sourceMappingURL=context.mjs.map
8
+
9
+ //# sourceMappingURL=context.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.mjs","sources":["../src/context.ts"],"sourcesContent":["import { createContext, ReactNode } from 'react';\nimport { ModalProps } from '@mantine/core';\nimport type { ConfirmModalProps } from './ConfirmModal';\n\nexport type ModalSettings = Partial<Omit<ModalProps, 'opened'>> & { modalId?: string };\n\nexport type ConfirmLabels = Record<'confirm' | 'cancel', ReactNode>;\n\nexport interface OpenConfirmModal extends ModalSettings, ConfirmModalProps {}\nexport interface OpenContextModal<\n CustomProps extends Record<string, any> = {},\n> extends ModalSettings {\n innerProps: CustomProps;\n}\n\nexport interface ContextModalProps<T extends Record<string, any> = {}> {\n context: ModalsContextProps;\n innerProps: T;\n id: string;\n}\n\nexport type ModalState =\n | { id: string; props: ModalSettings; type: 'content' }\n | { id: string; props: OpenConfirmModal; type: 'confirm' }\n | { id: string; props: OpenContextModal; type: 'context'; ctx: string };\n\nexport interface ModalsContextProps {\n modalProps: ModalSettings;\n modals: ModalState[];\n openModal: (props: ModalSettings) => string;\n openConfirmModal: (props: OpenConfirmModal) => string;\n openContextModal: <TKey extends MantineModal>(\n modal: TKey,\n props: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']>\n ) => string;\n closeModal: (id: string, canceled?: boolean) => void;\n closeContextModal: <TKey extends MantineModal>(id: TKey, canceled?: boolean) => void;\n closeAll: () => void;\n updateModal: (payload: { modalId: string } & Partial<OpenConfirmModal>) => void;\n updateContextModal: (payload: { modalId: string } & Partial<OpenContextModal<any>>) => void;\n}\n\nexport interface MantineModalsOverride {}\n\nexport type MantineModalsOverwritten = MantineModalsOverride extends {\n modals: Record<string, React.FC<ContextModalProps<any>>>;\n}\n ? MantineModalsOverride\n : {\n modals: Record<string, React.FC<ContextModalProps<any>>>;\n };\n\nexport type MantineModals = MantineModalsOverwritten['modals'];\n\nexport type MantineModal = keyof MantineModals;\n\nexport const ModalsContext = createContext<ModalsContextProps>(null as any);\nModalsContext.displayName = '@mantine/modals/ModalsContext';\n"],"names":[],"mappings":";;;AAwDO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAkC,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA;AAC1E,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
1
+ {"version":3,"file":"context.mjs","names":[],"sources":["../src/context.ts"],"sourcesContent":["import { createContext, ReactNode } from 'react';\nimport { ModalProps } from '@mantine/core';\nimport type { ConfirmModalProps } from './ConfirmModal';\n\nexport type ModalSettings = Partial<Omit<ModalProps, 'opened'>> & { modalId?: string };\n\nexport type ConfirmLabels = Record<'confirm' | 'cancel', ReactNode>;\n\nexport interface OpenConfirmModal extends ModalSettings, ConfirmModalProps {}\nexport interface OpenContextModal<\n CustomProps extends Record<string, any> = {},\n> extends ModalSettings {\n innerProps: CustomProps;\n}\n\nexport interface ContextModalProps<T extends Record<string, any> = {}> {\n context: ModalsContextProps;\n innerProps: T;\n id: string;\n}\n\nexport type ModalState =\n | { id: string; props: ModalSettings; type: 'content' }\n | { id: string; props: OpenConfirmModal; type: 'confirm' }\n | { id: string; props: OpenContextModal; type: 'context'; ctx: string };\n\nexport interface ModalsContextProps {\n modalProps: ModalSettings;\n modals: ModalState[];\n openModal: (props: ModalSettings) => string;\n openConfirmModal: (props: OpenConfirmModal) => string;\n openContextModal: <TKey extends MantineModal>(\n modal: TKey,\n props: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']>\n ) => string;\n closeModal: (id: string, canceled?: boolean) => void;\n closeContextModal: <TKey extends MantineModal>(id: TKey, canceled?: boolean) => void;\n closeAll: () => void;\n updateModal: (payload: { modalId: string } & Partial<OpenConfirmModal>) => void;\n updateContextModal: (payload: { modalId: string } & Partial<OpenContextModal<any>>) => void;\n}\n\nexport interface MantineModalsOverride {}\n\nexport type MantineModalsOverwritten = MantineModalsOverride extends {\n modals: Record<string, React.FC<ContextModalProps<any>>>;\n}\n ? MantineModalsOverride\n : {\n modals: Record<string, React.FC<ContextModalProps<any>>>;\n };\n\nexport type MantineModals = MantineModalsOverwritten['modals'];\n\nexport type MantineModal = keyof MantineModals;\n\nexport const ModalsContext = createContext<ModalsContextProps>(null as any);\nModalsContext.displayName = '@mantine/modals/ModalsContext';\n"],"mappings":";;;AAwDA,MAAa,gBAAgB,cAAkC,KAAY;AAC3E,cAAc,cAAc"}
package/esm/events.mjs CHANGED
@@ -1,36 +1,46 @@
1
- 'use client';
2
- import { createUseExternalEvents } from '@mantine/core';
3
- import { randomId } from '@mantine/hooks';
4
-
1
+ "use client";
2
+ import { createUseExternalEvents } from "@mantine/core";
3
+ import { randomId } from "@mantine/hooks";
4
+ //#region packages/@mantine/modals/src/events.ts
5
5
  const [useModalsEvents, createEvent] = createUseExternalEvents("mantine-modals");
6
6
  const openModal = (payload) => {
7
- const id = payload.modalId || randomId();
8
- createEvent("openModal")({ ...payload, modalId: id });
9
- return id;
7
+ const id = payload.modalId || randomId();
8
+ createEvent("openModal")({
9
+ ...payload,
10
+ modalId: id
11
+ });
12
+ return id;
10
13
  };
11
14
  const openConfirmModal = (payload) => {
12
- const id = payload.modalId || randomId();
13
- createEvent("openConfirmModal")({ ...payload, modalId: id });
14
- return id;
15
+ const id = payload.modalId || randomId();
16
+ createEvent("openConfirmModal")({
17
+ ...payload,
18
+ modalId: id
19
+ });
20
+ return id;
15
21
  };
16
22
  const openContextModal = (payload) => {
17
- const id = payload.modalId || randomId();
18
- createEvent("openContextModal")({ ...payload, modalId: id });
19
- return id;
23
+ const id = payload.modalId || randomId();
24
+ createEvent("openContextModal")({
25
+ ...payload,
26
+ modalId: id
27
+ });
28
+ return id;
20
29
  };
21
30
  const closeModal = createEvent("closeModal");
22
31
  const closeAllModals = createEvent("closeAllModals");
23
32
  const updateModal = (payload) => createEvent("updateModal")(payload);
24
33
  const updateContextModal = (payload) => createEvent("updateContextModal")(payload);
25
34
  const modals = {
26
- open: openModal,
27
- close: closeModal,
28
- closeAll: closeAllModals,
29
- openConfirmModal,
30
- openContextModal,
31
- updateModal,
32
- updateContextModal
35
+ open: openModal,
36
+ close: closeModal,
37
+ closeAll: closeAllModals,
38
+ openConfirmModal,
39
+ openContextModal,
40
+ updateModal,
41
+ updateContextModal
33
42
  };
43
+ //#endregion
44
+ export { closeAllModals, closeModal, modals, openConfirmModal, openContextModal, openModal, updateContextModal, updateModal, useModalsEvents };
34
45
 
35
- export { closeAllModals, closeModal, createEvent, modals, openConfirmModal, openContextModal, openModal, updateContextModal, updateModal, useModalsEvents };
36
- //# sourceMappingURL=events.mjs.map
46
+ //# sourceMappingURL=events.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.mjs","sources":["../src/events.ts"],"sourcesContent":["import { createUseExternalEvents, DataAttributes } from '@mantine/core';\nimport { randomId } from '@mantine/hooks';\nimport {\n MantineModal,\n MantineModals,\n ModalSettings,\n OpenConfirmModal,\n OpenContextModal,\n} from './context';\n\ntype ModalsEvents = {\n openModal: (payload: ModalSettings) => string;\n openConfirmModal: (payload: OpenConfirmModal) => string;\n openContextModal: <TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & {\n modal: TKey;\n } & DataAttributes\n ) => string;\n closeModal: (id: string) => void;\n closeContextModal: <TKey extends MantineModal>(id: TKey) => void;\n closeAllModals: () => void;\n updateModal: (\n payload: { modalId: string } & Partial<ModalSettings> & Partial<OpenConfirmModal>\n ) => void;\n updateContextModal: (payload: { modalId: string } & Partial<OpenContextModal<any>>) => void;\n};\n\nexport const [useModalsEvents, createEvent] =\n createUseExternalEvents<ModalsEvents>('mantine-modals');\n\nexport const openModal: ModalsEvents['openModal'] = (payload) => {\n const id = payload.modalId || randomId();\n createEvent('openModal')({ ...payload, modalId: id });\n return id;\n};\n\nexport const openConfirmModal: ModalsEvents['openConfirmModal'] = (payload) => {\n const id = payload.modalId || randomId();\n createEvent('openConfirmModal')({ ...payload, modalId: id });\n return id;\n};\n\nexport const openContextModal: ModalsEvents['openContextModal'] = <TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & {\n modal: TKey;\n } & DataAttributes\n) => {\n const id = payload.modalId || randomId();\n createEvent('openContextModal')({ ...payload, modalId: id });\n return id;\n};\n\nexport const closeModal = createEvent('closeModal');\n\nexport const closeContextModal: ModalsEvents['closeContextModal'] = <TKey extends MantineModal>(\n id: TKey\n) => createEvent('closeContextModal')(id);\n\nexport const closeAllModals = createEvent('closeAllModals');\n\nexport const updateModal = (payload: { modalId: string } & Partial<ModalSettings>) =>\n createEvent('updateModal')(payload);\n\nexport const updateContextModal = (payload: { modalId: string } & Partial<OpenContextModal<any>>) =>\n createEvent('updateContextModal')(payload);\n\nexport const modals: {\n open: ModalsEvents['openModal'];\n close: ModalsEvents['closeModal'];\n closeAll: ModalsEvents['closeAllModals'];\n openConfirmModal: ModalsEvents['openConfirmModal'];\n openContextModal: ModalsEvents['openContextModal'];\n updateModal: ModalsEvents['updateModal'];\n updateContextModal: ModalsEvents['updateContextModal'];\n} = {\n open: openModal,\n close: closeModal,\n closeAll: closeAllModals,\n openConfirmModal,\n openContextModal,\n updateModal,\n updateContextModal,\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.mjs","names":[],"sources":["../src/events.ts"],"sourcesContent":["import { createUseExternalEvents, DataAttributes } from '@mantine/core';\nimport { randomId } from '@mantine/hooks';\nimport {\n MantineModal,\n MantineModals,\n ModalSettings,\n OpenConfirmModal,\n OpenContextModal,\n} from './context';\n\ntype ModalsEvents = {\n openModal: (payload: ModalSettings) => string;\n openConfirmModal: (payload: OpenConfirmModal) => string;\n openContextModal: <TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & {\n modal: TKey;\n } & DataAttributes\n ) => string;\n closeModal: (id: string) => void;\n closeContextModal: <TKey extends MantineModal>(id: TKey) => void;\n closeAllModals: () => void;\n updateModal: (\n payload: { modalId: string } & Partial<ModalSettings> & Partial<OpenConfirmModal>\n ) => void;\n updateContextModal: (payload: { modalId: string } & Partial<OpenContextModal<any>>) => void;\n};\n\nexport const [useModalsEvents, createEvent] =\n createUseExternalEvents<ModalsEvents>('mantine-modals');\n\nexport const openModal: ModalsEvents['openModal'] = (payload) => {\n const id = payload.modalId || randomId();\n createEvent('openModal')({ ...payload, modalId: id });\n return id;\n};\n\nexport const openConfirmModal: ModalsEvents['openConfirmModal'] = (payload) => {\n const id = payload.modalId || randomId();\n createEvent('openConfirmModal')({ ...payload, modalId: id });\n return id;\n};\n\nexport const openContextModal: ModalsEvents['openContextModal'] = <TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & {\n modal: TKey;\n } & DataAttributes\n) => {\n const id = payload.modalId || randomId();\n createEvent('openContextModal')({ ...payload, modalId: id });\n return id;\n};\n\nexport const closeModal = createEvent('closeModal');\n\nexport const closeContextModal: ModalsEvents['closeContextModal'] = <TKey extends MantineModal>(\n id: TKey\n) => createEvent('closeContextModal')(id);\n\nexport const closeAllModals = createEvent('closeAllModals');\n\nexport const updateModal = (payload: { modalId: string } & Partial<ModalSettings>) =>\n createEvent('updateModal')(payload);\n\nexport const updateContextModal = (payload: { modalId: string } & Partial<OpenContextModal<any>>) =>\n createEvent('updateContextModal')(payload);\n\nexport const modals: {\n open: ModalsEvents['openModal'];\n close: ModalsEvents['closeModal'];\n closeAll: ModalsEvents['closeAllModals'];\n openConfirmModal: ModalsEvents['openConfirmModal'];\n openContextModal: ModalsEvents['openContextModal'];\n updateModal: ModalsEvents['updateModal'];\n updateContextModal: ModalsEvents['updateContextModal'];\n} = {\n open: openModal,\n close: closeModal,\n closeAll: closeAllModals,\n openConfirmModal,\n openContextModal,\n updateModal,\n updateContextModal,\n};\n"],"mappings":";;;;AA2BA,MAAa,CAAC,iBAAiB,eAC7B,wBAAsC,iBAAiB;AAEzD,MAAa,aAAwC,YAAY;CAC/D,MAAM,KAAK,QAAQ,WAAW,UAAU;AACxC,aAAY,YAAY,CAAC;EAAE,GAAG;EAAS,SAAS;EAAI,CAAC;AACrD,QAAO;;AAGT,MAAa,oBAAsD,YAAY;CAC7E,MAAM,KAAK,QAAQ,WAAW,UAAU;AACxC,aAAY,mBAAmB,CAAC;EAAE,GAAG;EAAS,SAAS;EAAI,CAAC;AAC5D,QAAO;;AAGT,MAAa,oBACX,YAGG;CACH,MAAM,KAAK,QAAQ,WAAW,UAAU;AACxC,aAAY,mBAAmB,CAAC;EAAE,GAAG;EAAS,SAAS;EAAI,CAAC;AAC5D,QAAO;;AAGT,MAAa,aAAa,YAAY,aAAa;AAMnD,MAAa,iBAAiB,YAAY,iBAAiB;AAE3D,MAAa,eAAe,YAC1B,YAAY,cAAc,CAAC,QAAQ;AAErC,MAAa,sBAAsB,YACjC,YAAY,qBAAqB,CAAC,QAAQ;AAE5C,MAAa,SAQT;CACF,MAAM;CACN,OAAO;CACP,UAAU;CACV;CACA;CACA;CACA;CACD"}
package/esm/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { ModalsProvider } from './ModalsProvider.mjs';
2
- export { useModals } from './use-modals/use-modals.mjs';
3
- export { closeAllModals, closeModal, modals, openConfirmModal, openContextModal, openModal, updateContextModal, updateModal } from './events.mjs';
4
- //# sourceMappingURL=index.mjs.map
1
+ import { useModals } from "./use-modals/use-modals.mjs";
2
+ import { closeAllModals, closeModal, modals, openConfirmModal, openContextModal, openModal, updateContextModal, updateModal } from "./events.mjs";
3
+ import { ModalsProvider } from "./ModalsProvider.mjs";
4
+ export { ModalsProvider, closeAllModals, closeModal, modals, openConfirmModal, openContextModal, openModal, updateContextModal, updateModal, useModals };