@mantine/modals 6.0.19 → 7.0.0-beta.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.
@@ -53,17 +53,7 @@ function ConfirmModal({
53
53
  typeof onConfirm === "function" && onConfirm();
54
54
  closeOnConfirm && ctx.closeModal(id);
55
55
  };
56
- return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children && /* @__PURE__ */ React__default.createElement(core.Box, {
57
- mb: "md"
58
- }, children), /* @__PURE__ */ React__default.createElement(core.Group, __spreadValues({
59
- position: "right"
60
- }, groupProps), /* @__PURE__ */ React__default.createElement(core.Button, __spreadProps(__spreadValues({
61
- variant: "default"
62
- }, cancelProps), {
63
- onClick: handleCancel
64
- }), (cancelProps == null ? void 0 : cancelProps.children) || cancelLabel), /* @__PURE__ */ React__default.createElement(core.Button, __spreadProps(__spreadValues({}, confirmProps), {
65
- onClick: handleConfirm
66
- }), (confirmProps == null ? void 0 : confirmProps.children) || confirmLabel)));
56
+ return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children && /* @__PURE__ */ React__default.createElement(core.Box, { mb: "md" }, children), /* @__PURE__ */ React__default.createElement(core.Group, __spreadValues({ justify: "flex-end" }, groupProps), /* @__PURE__ */ React__default.createElement(core.Button, __spreadProps(__spreadValues({ variant: "default" }, cancelProps), { onClick: handleCancel }), (cancelProps == null ? void 0 : cancelProps.children) || cancelLabel), /* @__PURE__ */ React__default.createElement(core.Button, __spreadProps(__spreadValues({}, confirmProps), { onClick: handleConfirm }), (confirmProps == null ? void 0 : confirmProps.children) || confirmLabel)));
67
57
  }
68
58
 
69
59
  exports.ConfirmModal = ConfirmModal;
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmModal.js","sources":["../src/ConfirmModal.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, Group, Box, ButtonProps, GroupProps } from '@mantine/core';\nimport { ConfirmLabels } from './context';\nimport { useModals } from './use-modals/use-modals';\n\nexport interface ConfirmModalProps {\n id?: string;\n children?: React.ReactNode;\n onCancel?(): void;\n onConfirm?(): void;\n closeOnConfirm?: boolean;\n closeOnCancel?: boolean;\n cancelProps?: ButtonProps & React.ComponentPropsWithoutRef<'button'>;\n confirmProps?: ButtonProps & React.ComponentPropsWithoutRef<'button'>;\n groupProps?: GroupProps;\n labels?: ConfirmLabels;\n}\n\nexport function ConfirmModal({\n id,\n cancelProps,\n confirmProps,\n labels = { cancel: '', confirm: '' },\n closeOnConfirm = true,\n closeOnCancel = true,\n groupProps,\n onCancel,\n onConfirm,\n children,\n}: ConfirmModalProps) {\n const { cancel: cancelLabel, confirm: confirmLabel } = labels;\n const ctx = useModals();\n\n const handleCancel = (event: React.MouseEvent<HTMLButtonElement>) => {\n typeof cancelProps?.onClick === 'function' && cancelProps?.onClick(event);\n typeof onCancel === 'function' && onCancel();\n closeOnCancel && ctx.closeModal(id);\n };\n\n const handleConfirm = (event: React.MouseEvent<HTMLButtonElement>) => {\n typeof confirmProps?.onClick === 'function' && confirmProps?.onClick(event);\n typeof onConfirm === 'function' && onConfirm();\n closeOnConfirm && ctx.closeModal(id);\n };\n\n return (\n <>\n {children && <Box mb=\"md\">{children}</Box>}\n\n <Group position=\"right\" {...groupProps}>\n <Button variant=\"default\" {...cancelProps} onClick={handleCancel}>\n {cancelProps?.children || cancelLabel}\n </Button>\n\n <Button {...confirmProps} onClick={handleConfirm}>\n {confirmProps?.children || confirmLabel}\n </Button>\n </Group>\n </>\n );\n}\n"],"names":["useModals","React","Box","Group","Button"],"mappings":"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"}
1
+ {"version":3,"file":"ConfirmModal.js","sources":["../src/ConfirmModal.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, Group, Box, ButtonProps, GroupProps } from '@mantine/core';\nimport { ConfirmLabels } from './context';\nimport { useModals } from './use-modals/use-modals';\n\nexport interface ConfirmModalProps {\n id?: string;\n children?: React.ReactNode;\n onCancel?(): void;\n onConfirm?(): void;\n closeOnConfirm?: boolean;\n closeOnCancel?: boolean;\n cancelProps?: ButtonProps & React.ComponentPropsWithoutRef<'button'>;\n confirmProps?: ButtonProps & React.ComponentPropsWithoutRef<'button'>;\n groupProps?: GroupProps;\n labels?: ConfirmLabels;\n}\n\nexport function ConfirmModal({\n id,\n cancelProps,\n confirmProps,\n labels = { cancel: '', confirm: '' },\n closeOnConfirm = true,\n closeOnCancel = true,\n groupProps,\n onCancel,\n onConfirm,\n children,\n}: ConfirmModalProps) {\n const { cancel: cancelLabel, confirm: confirmLabel } = labels;\n const ctx = useModals();\n\n const handleCancel = (event: React.MouseEvent<HTMLButtonElement>) => {\n typeof cancelProps?.onClick === 'function' && cancelProps?.onClick(event);\n typeof onCancel === 'function' && onCancel();\n closeOnCancel && ctx.closeModal(id!);\n };\n\n const handleConfirm = (event: React.MouseEvent<HTMLButtonElement>) => {\n typeof confirmProps?.onClick === 'function' && confirmProps?.onClick(event);\n typeof onConfirm === 'function' && onConfirm();\n closeOnConfirm && ctx.closeModal(id!);\n };\n\n return (\n <>\n {children && <Box mb=\"md\">{children}</Box>}\n\n <Group justify=\"flex-end\" {...groupProps}>\n <Button variant=\"default\" {...cancelProps} onClick={handleCancel}>\n {cancelProps?.children || cancelLabel}\n </Button>\n\n <Button {...confirmProps} onClick={handleConfirm}>\n {confirmProps?.children || confirmLabel}\n </Button>\n </Group>\n </>\n );\n}\n"],"names":["useModals","React","Box","Group","Button"],"mappings":"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"}
@@ -94,52 +94,67 @@ function ModalsProvider({ children, modalProps, labels, modals }) {
94
94
  const [state, dispatch] = React.useReducer(reducer.modalsReducer, { modals: [], current: null });
95
95
  const stateRef = React.useRef(state);
96
96
  stateRef.current = state;
97
- const closeAll = React.useCallback((canceled) => {
98
- dispatch({ type: "CLOSE_ALL", canceled });
99
- }, [stateRef, dispatch]);
100
- const openModal = React.useCallback((_a) => {
101
- var _b = _a, { modalId } = _b, props = __objRest(_b, ["modalId"]);
102
- const id = modalId || hooks.randomId();
103
- dispatch({
104
- type: "OPEN",
105
- modal: {
106
- id,
107
- type: "content",
108
- props
109
- }
110
- });
111
- return id;
112
- }, [dispatch]);
113
- const openConfirmModal = React.useCallback((_c) => {
114
- var _d = _c, { modalId } = _d, props = __objRest(_d, ["modalId"]);
115
- const id = modalId || hooks.randomId();
116
- dispatch({
117
- type: "OPEN",
118
- modal: {
119
- id,
120
- type: "confirm",
121
- props
122
- }
123
- });
124
- return id;
125
- }, [dispatch]);
126
- const openContextModal = React.useCallback((modal, _e) => {
127
- var _f = _e, { modalId } = _f, props = __objRest(_f, ["modalId"]);
128
- const id = modalId || hooks.randomId();
129
- dispatch({
130
- type: "OPEN",
131
- modal: {
132
- id,
133
- type: "context",
134
- props,
135
- ctx: modal
136
- }
137
- });
138
- return id;
139
- }, [dispatch]);
140
- const closeModal = React.useCallback((id, canceled) => {
141
- dispatch({ type: "CLOSE", modalId: id, canceled });
142
- }, [stateRef, dispatch]);
97
+ const closeAll = React.useCallback(
98
+ (canceled) => {
99
+ dispatch({ type: "CLOSE_ALL", canceled });
100
+ },
101
+ [stateRef, dispatch]
102
+ );
103
+ const openModal = React.useCallback(
104
+ (_a) => {
105
+ var _b = _a, { modalId } = _b, props = __objRest(_b, ["modalId"]);
106
+ const id = modalId || hooks.randomId();
107
+ dispatch({
108
+ type: "OPEN",
109
+ modal: {
110
+ id,
111
+ type: "content",
112
+ props
113
+ }
114
+ });
115
+ return id;
116
+ },
117
+ [dispatch]
118
+ );
119
+ const openConfirmModal = React.useCallback(
120
+ (_c) => {
121
+ var _d = _c, { modalId } = _d, props = __objRest(_d, ["modalId"]);
122
+ const id = modalId || hooks.randomId();
123
+ dispatch({
124
+ type: "OPEN",
125
+ modal: {
126
+ id,
127
+ type: "confirm",
128
+ props
129
+ }
130
+ });
131
+ return id;
132
+ },
133
+ [dispatch]
134
+ );
135
+ const openContextModal = React.useCallback(
136
+ (modal, _e) => {
137
+ var _f = _e, { modalId } = _f, props = __objRest(_f, ["modalId"]);
138
+ const id = modalId || hooks.randomId();
139
+ dispatch({
140
+ type: "OPEN",
141
+ modal: {
142
+ id,
143
+ type: "context",
144
+ props,
145
+ ctx: modal
146
+ }
147
+ });
148
+ return id;
149
+ },
150
+ [dispatch]
151
+ );
152
+ const closeModal = React.useCallback(
153
+ (id, canceled) => {
154
+ dispatch({ type: "CLOSE", modalId: id, canceled });
155
+ },
156
+ [stateRef, dispatch]
157
+ );
143
158
  events.useModalsEvents({
144
159
  openModal,
145
160
  openConfirmModal,
@@ -168,21 +183,20 @@ function ModalsProvider({ children, modalProps, labels, modals }) {
168
183
  const ContextModal = modals[currentModal.ctx];
169
184
  return {
170
185
  modalProps: rest,
171
- content: /* @__PURE__ */ React__default.createElement(ContextModal, {
172
- innerProps,
173
- context: ctx,
174
- id: currentModal.id
175
- })
186
+ content: /* @__PURE__ */ React__default.createElement(ContextModal, { innerProps, context: ctx, id: currentModal.id })
176
187
  };
177
188
  }
178
189
  case "confirm": {
179
190
  const { modalProps: separatedModalProps, confirmProps: separatedConfirmProps } = separateConfirmModalProps(currentModal.props);
180
191
  return {
181
192
  modalProps: separatedModalProps,
182
- content: /* @__PURE__ */ React__default.createElement(ConfirmModal.ConfirmModal, __spreadProps(__spreadValues({}, separatedConfirmProps), {
183
- id: currentModal.id,
184
- labels: currentModal.props.labels || labels
185
- }))
193
+ content: /* @__PURE__ */ React__default.createElement(
194
+ ConfirmModal.ConfirmModal,
195
+ __spreadProps(__spreadValues({}, separatedConfirmProps), {
196
+ id: currentModal.id,
197
+ labels: currentModal.props.labels || labels
198
+ })
199
+ )
186
200
  };
187
201
  }
188
202
  case "content": {
@@ -201,14 +215,16 @@ function ModalsProvider({ children, modalProps, labels, modals }) {
201
215
  }
202
216
  };
203
217
  const { modalProps: currentModalProps, content } = getCurrentModal();
204
- return /* @__PURE__ */ React__default.createElement(context.ModalsContext.Provider, {
205
- value: ctx
206
- }, /* @__PURE__ */ React__default.createElement(core.Modal, __spreadProps(__spreadValues(__spreadValues({
207
- zIndex: core.getDefaultZIndex("modal") + 1
208
- }, modalProps), currentModalProps), {
209
- opened: state.modals.length > 0,
210
- onClose: () => closeModal(state.current.id)
211
- }), content), children);
218
+ return /* @__PURE__ */ React__default.createElement(context.ModalsContext.Provider, { value: ctx }, /* @__PURE__ */ React__default.createElement(
219
+ core.Modal,
220
+ __spreadProps(__spreadValues(__spreadValues({
221
+ zIndex: core.getDefaultZIndex("modal") + 1
222
+ }, modalProps), currentModalProps), {
223
+ opened: state.modals.length > 0,
224
+ onClose: () => closeModal(state.current.id)
225
+ }),
226
+ content
227
+ ), children);
212
228
  }
213
229
 
214
230
  exports.ModalsProvider = ModalsProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"ModalsProvider.js","sources":["../src/ModalsProvider.tsx"],"sourcesContent":["import React, { useCallback, useReducer, useRef } from 'react';\nimport { Modal, getDefaultZIndex } from '@mantine/core';\nimport { randomId } from '@mantine/hooks';\nimport {\n ModalsContext,\n ModalSettings,\n ConfirmLabels,\n OpenConfirmModal,\n OpenContextModal,\n ContextModalProps,\n ModalsContextProps,\n} from './context';\nimport { ConfirmModal } from './ConfirmModal';\nimport { modalsReducer } from './reducer';\nimport { useModalsEvents } from './events';\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 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 dispatch({ type: 'CLOSE', modalId: id, canceled });\n },\n [stateRef, dispatch]\n );\n\n useModalsEvents({\n openModal,\n openConfirmModal,\n openContextModal: ({ modal, ...payload }) => openContextModal(modal, payload),\n closeModal,\n closeContextModal: closeModal,\n closeAllModals: closeAll,\n });\n\n const ctx: ModalsContextProps = {\n modals: state.modals,\n openModal,\n openConfirmModal,\n openContextModal,\n closeModal,\n closeContextModal: closeModal,\n closeAll,\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.Provider 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)}\n >\n {content}\n </Modal>\n\n {children}\n </ModalsContext.Provider>\n );\n}\n"],"names":["useReducer","modalsReducer","useRef","useCallback","randomId","useModalsEvents","React","ConfirmModal","ModalsContext","Modal","getDefaultZIndex"],"mappings":"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"}
1
+ {"version":3,"file":"ModalsProvider.js","sources":["../src/ModalsProvider.tsx"],"sourcesContent":["import React, { useCallback, useReducer, useRef } from 'react';\nimport { Modal, getDefaultZIndex } from '@mantine/core';\nimport { randomId } from '@mantine/hooks';\nimport {\n ModalsContext,\n ModalSettings,\n ConfirmLabels,\n OpenConfirmModal,\n OpenContextModal,\n ContextModalProps,\n ModalsContextProps,\n} from './context';\nimport { ConfirmModal } from './ConfirmModal';\nimport { modalsReducer } from './reducer';\nimport { useModalsEvents } from './events';\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 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 dispatch({ type: 'CLOSE', modalId: id, canceled });\n },\n [stateRef, 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 });\n\n const ctx: ModalsContextProps = {\n modals: state.modals,\n openModal,\n openConfirmModal,\n openContextModal,\n closeModal,\n closeContextModal: closeModal,\n closeAll,\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.Provider 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)}\n >\n {content}\n </Modal>\n\n {children}\n </ModalsContext.Provider>\n );\n}\n"],"names":["useReducer","modalsReducer","useRef","useCallback","randomId","useModalsEvents","React","ConfirmModal","ModalsContext","Modal","getDefaultZIndex"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","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<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 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}\n\nexport type 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);\nModalsContext.displayName = '@mantine/modals/ModalsContext';\n"],"names":["createContext"],"mappings":";;;;;;AACY,MAAC,aAAa,GAAGA,mBAAa,CAAC,IAAI,EAAE;AACjD,aAAa,CAAC,WAAW,GAAG,+BAA+B;;;;"}
1
+ {"version":3,"file":"context.js","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<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 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}\n\nexport type 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":["createContext"],"mappings":";;;;;;AACY,MAAC,aAAa,GAAGA,mBAAa,CAAC,IAAI,EAAE;AACjD,aAAa,CAAC,WAAW,GAAG,+BAA+B;;;;"}
package/cjs/events.js CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var utils = require('@mantine/utils');
5
+ var core = require('@mantine/core');
6
6
 
7
- const [useModalsEvents, createEvent] = utils.createUseExternalEvents("mantine-modals");
7
+ const [useModalsEvents, createEvent] = core.createUseExternalEvents("mantine-modals");
8
8
  const openModal = createEvent("openModal");
9
9
  const closeModal = createEvent("closeModal");
10
10
  const closeAllModals = createEvent("closeAllModals");
package/cjs/events.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sources":["../src/events.ts"],"sourcesContent":["import { createUseExternalEvents } from '@mantine/utils';\nimport {\n MantineModal,\n MantineModals,\n ModalSettings,\n OpenConfirmModal,\n OpenContextModal,\n} from './context';\n\ntype ModalsEvents = {\n openModal(payload: ModalSettings): void;\n closeModal(id: string): void;\n closeContextModal<TKey extends MantineModal>(id: TKey): void;\n closeAllModals(): void;\n openConfirmModal(payload: OpenConfirmModal): void;\n openContextModal<TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & { modal: TKey }\n ): void;\n};\n\nexport const [useModalsEvents, createEvent] =\n createUseExternalEvents<ModalsEvents>('mantine-modals');\n\nexport const openModal = createEvent('openModal');\nexport const closeModal = createEvent('closeModal');\nexport const closeContextModal: ModalsEvents['closeContextModal'] = <TKey extends MantineModal>(\n id: TKey\n) => createEvent('closeContextModal')(id);\nexport const closeAllModals = createEvent('closeAllModals');\nexport const openConfirmModal = createEvent('openConfirmModal');\nexport const openContextModal: ModalsEvents['openContextModal'] = <TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & { modal: TKey }\n) => createEvent('openContextModal')(payload);\n\nexport const modals = {\n open: openModal,\n close: closeModal,\n closeAll: closeAllModals,\n openConfirmModal,\n openContextModal,\n};\n"],"names":["createUseExternalEvents"],"mappings":";;;;;;AACY,MAAC,CAAC,eAAe,EAAE,WAAW,CAAC,GAAGA,6BAAuB,CAAC,gBAAgB,EAAE;AAC5E,MAAC,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE;AACtC,MAAC,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE;AAExC,MAAC,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE;AAChD,MAAC,gBAAgB,GAAG,WAAW,CAAC,kBAAkB,EAAE;AACpD,MAAC,gBAAgB,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE;AAC1E,MAAC,MAAM,GAAG;AACtB,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,KAAK,EAAE,UAAU;AACnB,EAAE,QAAQ,EAAE,cAAc;AAC1B,EAAE,gBAAgB;AAClB,EAAE,gBAAgB;AAClB;;;;;;;;;;;"}
1
+ {"version":3,"file":"events.js","sources":["../src/events.ts"],"sourcesContent":["import { createUseExternalEvents } from '@mantine/core';\nimport {\n MantineModal,\n MantineModals,\n ModalSettings,\n OpenConfirmModal,\n OpenContextModal,\n} from './context';\n\ntype ModalsEvents = {\n openModal(payload: ModalSettings): void;\n closeModal(id: string): void;\n closeContextModal<TKey extends MantineModal>(id: TKey): void;\n closeAllModals(): void;\n openConfirmModal(payload: OpenConfirmModal): void;\n openContextModal<TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & { modal: TKey }\n ): void;\n};\n\nexport const [useModalsEvents, createEvent] =\n createUseExternalEvents<ModalsEvents>('mantine-modals');\n\nexport const openModal = createEvent('openModal');\nexport const closeModal = createEvent('closeModal');\nexport const closeContextModal: ModalsEvents['closeContextModal'] = <TKey extends MantineModal>(\n id: TKey\n) => createEvent('closeContextModal')(id);\nexport const closeAllModals = createEvent('closeAllModals');\nexport const openConfirmModal = createEvent('openConfirmModal');\nexport const openContextModal: ModalsEvents['openContextModal'] = <TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & { modal: TKey }\n) => createEvent('openContextModal')(payload);\n\nexport const modals = {\n open: openModal,\n close: closeModal,\n closeAll: closeAllModals,\n openConfirmModal,\n openContextModal,\n};\n"],"names":["createUseExternalEvents"],"mappings":";;;;;;AACY,MAAC,CAAC,eAAe,EAAE,WAAW,CAAC,GAAGA,4BAAuB,CAAC,gBAAgB,EAAE;AAC5E,MAAC,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE;AACtC,MAAC,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE;AAExC,MAAC,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE;AAChD,MAAC,gBAAgB,GAAG,WAAW,CAAC,kBAAkB,EAAE;AACpD,MAAC,gBAAgB,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE;AAC1E,MAAC,MAAM,GAAG;AACtB,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,KAAK,EAAE,UAAU;AACnB,EAAE,QAAQ,EAAE,cAAc;AAC1B,EAAE,gBAAgB;AAClB,EAAE,gBAAgB;AAClB;;;;;;;;;;;"}
package/cjs/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -8,7 +8,9 @@ var context = require('../context.js');
8
8
  function useModals() {
9
9
  const ctx = React.useContext(context.ModalsContext);
10
10
  if (!ctx) {
11
- throw new Error("[@mantine/modals] useModals hook was called outside of context, wrap your app with ModalsProvider component");
11
+ throw new Error(
12
+ "[@mantine/modals] useModals hook was called outside of context, wrap your app with ModalsProvider component"
13
+ );
12
14
  }
13
15
  return ctx;
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-modals.js","sources":["../../src/use-modals/use-modals.ts"],"sourcesContent":["import { useContext } from 'react';\nimport { ModalsContext } from '../context';\n\nexport function useModals() {\n const ctx = useContext(ModalsContext);\n\n if (!ctx) {\n throw new Error(\n '[@mantine/modals] useModals hook was called outside of context, wrap your app with ModalsProvider component'\n );\n }\n\n return ctx;\n}\n"],"names":["useContext","ModalsContext"],"mappings":";;;;;;;AAEO,SAAS,SAAS,GAAG;AAC5B,EAAE,MAAM,GAAG,GAAGA,gBAAU,CAACC,qBAAa,CAAC,CAAC;AACxC,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,IAAI,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC;AACnI,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb;;;;"}
1
+ {"version":3,"file":"use-modals.js","sources":["../../src/use-modals/use-modals.ts"],"sourcesContent":["import { useContext } from 'react';\nimport { ModalsContext } from '../context';\n\nexport function useModals() {\n const ctx = useContext(ModalsContext);\n\n if (!ctx) {\n throw new Error(\n '[@mantine/modals] useModals hook was called outside of context, wrap your app with ModalsProvider component'\n );\n }\n\n return ctx;\n}\n"],"names":["useContext","ModalsContext"],"mappings":";;;;;;;AAEO,SAAS,SAAS,GAAG;AAC5B,EAAE,MAAM,GAAG,GAAGA,gBAAU,CAACC,qBAAa,CAAC,CAAC;AACxC,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,6GAA6G;AACnH,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb;;;;"}
@@ -45,17 +45,7 @@ function ConfirmModal({
45
45
  typeof onConfirm === "function" && onConfirm();
46
46
  closeOnConfirm && ctx.closeModal(id);
47
47
  };
48
- return /* @__PURE__ */ React.createElement(React.Fragment, null, children && /* @__PURE__ */ React.createElement(Box, {
49
- mb: "md"
50
- }, children), /* @__PURE__ */ React.createElement(Group, __spreadValues({
51
- position: "right"
52
- }, groupProps), /* @__PURE__ */ React.createElement(Button, __spreadProps(__spreadValues({
53
- variant: "default"
54
- }, cancelProps), {
55
- onClick: handleCancel
56
- }), (cancelProps == null ? void 0 : cancelProps.children) || cancelLabel), /* @__PURE__ */ React.createElement(Button, __spreadProps(__spreadValues({}, confirmProps), {
57
- onClick: handleConfirm
58
- }), (confirmProps == null ? void 0 : confirmProps.children) || confirmLabel)));
48
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, children && /* @__PURE__ */ React.createElement(Box, { mb: "md" }, children), /* @__PURE__ */ React.createElement(Group, __spreadValues({ justify: "flex-end" }, groupProps), /* @__PURE__ */ React.createElement(Button, __spreadProps(__spreadValues({ variant: "default" }, cancelProps), { onClick: handleCancel }), (cancelProps == null ? void 0 : cancelProps.children) || cancelLabel), /* @__PURE__ */ React.createElement(Button, __spreadProps(__spreadValues({}, confirmProps), { onClick: handleConfirm }), (confirmProps == null ? void 0 : confirmProps.children) || confirmLabel)));
59
49
  }
60
50
 
61
51
  export { ConfirmModal };
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmModal.js","sources":["../src/ConfirmModal.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, Group, Box, ButtonProps, GroupProps } from '@mantine/core';\nimport { ConfirmLabels } from './context';\nimport { useModals } from './use-modals/use-modals';\n\nexport interface ConfirmModalProps {\n id?: string;\n children?: React.ReactNode;\n onCancel?(): void;\n onConfirm?(): void;\n closeOnConfirm?: boolean;\n closeOnCancel?: boolean;\n cancelProps?: ButtonProps & React.ComponentPropsWithoutRef<'button'>;\n confirmProps?: ButtonProps & React.ComponentPropsWithoutRef<'button'>;\n groupProps?: GroupProps;\n labels?: ConfirmLabels;\n}\n\nexport function ConfirmModal({\n id,\n cancelProps,\n confirmProps,\n labels = { cancel: '', confirm: '' },\n closeOnConfirm = true,\n closeOnCancel = true,\n groupProps,\n onCancel,\n onConfirm,\n children,\n}: ConfirmModalProps) {\n const { cancel: cancelLabel, confirm: confirmLabel } = labels;\n const ctx = useModals();\n\n const handleCancel = (event: React.MouseEvent<HTMLButtonElement>) => {\n typeof cancelProps?.onClick === 'function' && cancelProps?.onClick(event);\n typeof onCancel === 'function' && onCancel();\n closeOnCancel && ctx.closeModal(id);\n };\n\n const handleConfirm = (event: React.MouseEvent<HTMLButtonElement>) => {\n typeof confirmProps?.onClick === 'function' && confirmProps?.onClick(event);\n typeof onConfirm === 'function' && onConfirm();\n closeOnConfirm && ctx.closeModal(id);\n };\n\n return (\n <>\n {children && <Box mb=\"md\">{children}</Box>}\n\n <Group position=\"right\" {...groupProps}>\n <Button variant=\"default\" {...cancelProps} onClick={handleCancel}>\n {cancelProps?.children || cancelLabel}\n </Button>\n\n <Button {...confirmProps} onClick={handleConfirm}>\n {confirmProps?.children || confirmLabel}\n </Button>\n </Group>\n </>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfirmModal.js","sources":["../src/ConfirmModal.tsx"],"sourcesContent":["import React from 'react';\nimport { Button, Group, Box, ButtonProps, GroupProps } from '@mantine/core';\nimport { ConfirmLabels } from './context';\nimport { useModals } from './use-modals/use-modals';\n\nexport interface ConfirmModalProps {\n id?: string;\n children?: React.ReactNode;\n onCancel?(): void;\n onConfirm?(): void;\n closeOnConfirm?: boolean;\n closeOnCancel?: boolean;\n cancelProps?: ButtonProps & React.ComponentPropsWithoutRef<'button'>;\n confirmProps?: ButtonProps & React.ComponentPropsWithoutRef<'button'>;\n groupProps?: GroupProps;\n labels?: ConfirmLabels;\n}\n\nexport function ConfirmModal({\n id,\n cancelProps,\n confirmProps,\n labels = { cancel: '', confirm: '' },\n closeOnConfirm = true,\n closeOnCancel = true,\n groupProps,\n onCancel,\n onConfirm,\n children,\n}: ConfirmModalProps) {\n const { cancel: cancelLabel, confirm: confirmLabel } = labels;\n const ctx = useModals();\n\n const handleCancel = (event: React.MouseEvent<HTMLButtonElement>) => {\n typeof cancelProps?.onClick === 'function' && cancelProps?.onClick(event);\n typeof onCancel === 'function' && onCancel();\n closeOnCancel && ctx.closeModal(id!);\n };\n\n const handleConfirm = (event: React.MouseEvent<HTMLButtonElement>) => {\n typeof confirmProps?.onClick === 'function' && confirmProps?.onClick(event);\n typeof onConfirm === 'function' && onConfirm();\n closeOnConfirm && ctx.closeModal(id!);\n };\n\n return (\n <>\n {children && <Box mb=\"md\">{children}</Box>}\n\n <Group justify=\"flex-end\" {...groupProps}>\n <Button variant=\"default\" {...cancelProps} onClick={handleCancel}>\n {cancelProps?.children || cancelLabel}\n </Button>\n\n <Button {...confirmProps} onClick={handleConfirm}>\n {confirmProps?.children || confirmLabel}\n </Button>\n </Group>\n </>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -86,52 +86,67 @@ function ModalsProvider({ children, modalProps, labels, modals }) {
86
86
  const [state, dispatch] = useReducer(modalsReducer, { modals: [], current: null });
87
87
  const stateRef = useRef(state);
88
88
  stateRef.current = state;
89
- const closeAll = useCallback((canceled) => {
90
- dispatch({ type: "CLOSE_ALL", canceled });
91
- }, [stateRef, dispatch]);
92
- const openModal = useCallback((_a) => {
93
- var _b = _a, { modalId } = _b, props = __objRest(_b, ["modalId"]);
94
- const id = modalId || randomId();
95
- dispatch({
96
- type: "OPEN",
97
- modal: {
98
- id,
99
- type: "content",
100
- props
101
- }
102
- });
103
- return id;
104
- }, [dispatch]);
105
- const openConfirmModal = useCallback((_c) => {
106
- var _d = _c, { modalId } = _d, props = __objRest(_d, ["modalId"]);
107
- const id = modalId || randomId();
108
- dispatch({
109
- type: "OPEN",
110
- modal: {
111
- id,
112
- type: "confirm",
113
- props
114
- }
115
- });
116
- return id;
117
- }, [dispatch]);
118
- const openContextModal = useCallback((modal, _e) => {
119
- var _f = _e, { modalId } = _f, props = __objRest(_f, ["modalId"]);
120
- const id = modalId || randomId();
121
- dispatch({
122
- type: "OPEN",
123
- modal: {
124
- id,
125
- type: "context",
126
- props,
127
- ctx: modal
128
- }
129
- });
130
- return id;
131
- }, [dispatch]);
132
- const closeModal = useCallback((id, canceled) => {
133
- dispatch({ type: "CLOSE", modalId: id, canceled });
134
- }, [stateRef, dispatch]);
89
+ const closeAll = useCallback(
90
+ (canceled) => {
91
+ dispatch({ type: "CLOSE_ALL", canceled });
92
+ },
93
+ [stateRef, dispatch]
94
+ );
95
+ const openModal = useCallback(
96
+ (_a) => {
97
+ var _b = _a, { modalId } = _b, props = __objRest(_b, ["modalId"]);
98
+ const id = modalId || randomId();
99
+ dispatch({
100
+ type: "OPEN",
101
+ modal: {
102
+ id,
103
+ type: "content",
104
+ props
105
+ }
106
+ });
107
+ return id;
108
+ },
109
+ [dispatch]
110
+ );
111
+ const openConfirmModal = useCallback(
112
+ (_c) => {
113
+ var _d = _c, { modalId } = _d, props = __objRest(_d, ["modalId"]);
114
+ const id = modalId || randomId();
115
+ dispatch({
116
+ type: "OPEN",
117
+ modal: {
118
+ id,
119
+ type: "confirm",
120
+ props
121
+ }
122
+ });
123
+ return id;
124
+ },
125
+ [dispatch]
126
+ );
127
+ const openContextModal = useCallback(
128
+ (modal, _e) => {
129
+ var _f = _e, { modalId } = _f, props = __objRest(_f, ["modalId"]);
130
+ const id = modalId || randomId();
131
+ dispatch({
132
+ type: "OPEN",
133
+ modal: {
134
+ id,
135
+ type: "context",
136
+ props,
137
+ ctx: modal
138
+ }
139
+ });
140
+ return id;
141
+ },
142
+ [dispatch]
143
+ );
144
+ const closeModal = useCallback(
145
+ (id, canceled) => {
146
+ dispatch({ type: "CLOSE", modalId: id, canceled });
147
+ },
148
+ [stateRef, dispatch]
149
+ );
135
150
  useModalsEvents({
136
151
  openModal,
137
152
  openConfirmModal,
@@ -160,21 +175,20 @@ function ModalsProvider({ children, modalProps, labels, modals }) {
160
175
  const ContextModal = modals[currentModal.ctx];
161
176
  return {
162
177
  modalProps: rest,
163
- content: /* @__PURE__ */ React.createElement(ContextModal, {
164
- innerProps,
165
- context: ctx,
166
- id: currentModal.id
167
- })
178
+ content: /* @__PURE__ */ React.createElement(ContextModal, { innerProps, context: ctx, id: currentModal.id })
168
179
  };
169
180
  }
170
181
  case "confirm": {
171
182
  const { modalProps: separatedModalProps, confirmProps: separatedConfirmProps } = separateConfirmModalProps(currentModal.props);
172
183
  return {
173
184
  modalProps: separatedModalProps,
174
- content: /* @__PURE__ */ React.createElement(ConfirmModal, __spreadProps(__spreadValues({}, separatedConfirmProps), {
175
- id: currentModal.id,
176
- labels: currentModal.props.labels || labels
177
- }))
185
+ content: /* @__PURE__ */ React.createElement(
186
+ ConfirmModal,
187
+ __spreadProps(__spreadValues({}, separatedConfirmProps), {
188
+ id: currentModal.id,
189
+ labels: currentModal.props.labels || labels
190
+ })
191
+ )
178
192
  };
179
193
  }
180
194
  case "content": {
@@ -193,14 +207,16 @@ function ModalsProvider({ children, modalProps, labels, modals }) {
193
207
  }
194
208
  };
195
209
  const { modalProps: currentModalProps, content } = getCurrentModal();
196
- return /* @__PURE__ */ React.createElement(ModalsContext.Provider, {
197
- value: ctx
198
- }, /* @__PURE__ */ React.createElement(Modal, __spreadProps(__spreadValues(__spreadValues({
199
- zIndex: getDefaultZIndex("modal") + 1
200
- }, modalProps), currentModalProps), {
201
- opened: state.modals.length > 0,
202
- onClose: () => closeModal(state.current.id)
203
- }), content), children);
210
+ return /* @__PURE__ */ React.createElement(ModalsContext.Provider, { value: ctx }, /* @__PURE__ */ React.createElement(
211
+ Modal,
212
+ __spreadProps(__spreadValues(__spreadValues({
213
+ zIndex: getDefaultZIndex("modal") + 1
214
+ }, modalProps), currentModalProps), {
215
+ opened: state.modals.length > 0,
216
+ onClose: () => closeModal(state.current.id)
217
+ }),
218
+ content
219
+ ), children);
204
220
  }
205
221
 
206
222
  export { ModalsProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"ModalsProvider.js","sources":["../src/ModalsProvider.tsx"],"sourcesContent":["import React, { useCallback, useReducer, useRef } from 'react';\nimport { Modal, getDefaultZIndex } from '@mantine/core';\nimport { randomId } from '@mantine/hooks';\nimport {\n ModalsContext,\n ModalSettings,\n ConfirmLabels,\n OpenConfirmModal,\n OpenContextModal,\n ContextModalProps,\n ModalsContextProps,\n} from './context';\nimport { ConfirmModal } from './ConfirmModal';\nimport { modalsReducer } from './reducer';\nimport { useModalsEvents } from './events';\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 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 dispatch({ type: 'CLOSE', modalId: id, canceled });\n },\n [stateRef, dispatch]\n );\n\n useModalsEvents({\n openModal,\n openConfirmModal,\n openContextModal: ({ modal, ...payload }) => openContextModal(modal, payload),\n closeModal,\n closeContextModal: closeModal,\n closeAllModals: closeAll,\n });\n\n const ctx: ModalsContextProps = {\n modals: state.modals,\n openModal,\n openConfirmModal,\n openContextModal,\n closeModal,\n closeContextModal: closeModal,\n closeAll,\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.Provider 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)}\n >\n {content}\n </Modal>\n\n {children}\n </ModalsContext.Provider>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModalsProvider.js","sources":["../src/ModalsProvider.tsx"],"sourcesContent":["import React, { useCallback, useReducer, useRef } from 'react';\nimport { Modal, getDefaultZIndex } from '@mantine/core';\nimport { randomId } from '@mantine/hooks';\nimport {\n ModalsContext,\n ModalSettings,\n ConfirmLabels,\n OpenConfirmModal,\n OpenContextModal,\n ContextModalProps,\n ModalsContextProps,\n} from './context';\nimport { ConfirmModal } from './ConfirmModal';\nimport { modalsReducer } from './reducer';\nimport { useModalsEvents } from './events';\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 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 dispatch({ type: 'CLOSE', modalId: id, canceled });\n },\n [stateRef, 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 });\n\n const ctx: ModalsContextProps = {\n modals: state.modals,\n openModal,\n openConfirmModal,\n openContextModal,\n closeModal,\n closeContextModal: closeModal,\n closeAll,\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.Provider 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)}\n >\n {content}\n </Modal>\n\n {children}\n </ModalsContext.Provider>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","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<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 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}\n\nexport type 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);\nModalsContext.displayName = '@mantine/modals/ModalsContext';\n"],"names":[],"mappings":";;AACY,MAAC,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE;AACjD,aAAa,CAAC,WAAW,GAAG,+BAA+B;;;;"}
1
+ {"version":3,"file":"context.js","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<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 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}\n\nexport type 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":";;AACY,MAAC,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE;AACjD,aAAa,CAAC,WAAW,GAAG,+BAA+B;;;;"}
package/esm/events.js CHANGED
@@ -1,4 +1,4 @@
1
- import { createUseExternalEvents } from '@mantine/utils';
1
+ import { createUseExternalEvents } from '@mantine/core';
2
2
 
3
3
  const [useModalsEvents, createEvent] = createUseExternalEvents("mantine-modals");
4
4
  const openModal = createEvent("openModal");
package/esm/events.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sources":["../src/events.ts"],"sourcesContent":["import { createUseExternalEvents } from '@mantine/utils';\nimport {\n MantineModal,\n MantineModals,\n ModalSettings,\n OpenConfirmModal,\n OpenContextModal,\n} from './context';\n\ntype ModalsEvents = {\n openModal(payload: ModalSettings): void;\n closeModal(id: string): void;\n closeContextModal<TKey extends MantineModal>(id: TKey): void;\n closeAllModals(): void;\n openConfirmModal(payload: OpenConfirmModal): void;\n openContextModal<TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & { modal: TKey }\n ): void;\n};\n\nexport const [useModalsEvents, createEvent] =\n createUseExternalEvents<ModalsEvents>('mantine-modals');\n\nexport const openModal = createEvent('openModal');\nexport const closeModal = createEvent('closeModal');\nexport const closeContextModal: ModalsEvents['closeContextModal'] = <TKey extends MantineModal>(\n id: TKey\n) => createEvent('closeContextModal')(id);\nexport const closeAllModals = createEvent('closeAllModals');\nexport const openConfirmModal = createEvent('openConfirmModal');\nexport const openContextModal: ModalsEvents['openContextModal'] = <TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & { modal: TKey }\n) => createEvent('openContextModal')(payload);\n\nexport const modals = {\n open: openModal,\n close: closeModal,\n closeAll: closeAllModals,\n openConfirmModal,\n openContextModal,\n};\n"],"names":[],"mappings":";;AACY,MAAC,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,uBAAuB,CAAC,gBAAgB,EAAE;AAC5E,MAAC,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE;AACtC,MAAC,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE;AAExC,MAAC,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE;AAChD,MAAC,gBAAgB,GAAG,WAAW,CAAC,kBAAkB,EAAE;AACpD,MAAC,gBAAgB,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE;AAC1E,MAAC,MAAM,GAAG;AACtB,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,KAAK,EAAE,UAAU;AACnB,EAAE,QAAQ,EAAE,cAAc;AAC1B,EAAE,gBAAgB;AAClB,EAAE,gBAAgB;AAClB;;;;"}
1
+ {"version":3,"file":"events.js","sources":["../src/events.ts"],"sourcesContent":["import { createUseExternalEvents } from '@mantine/core';\nimport {\n MantineModal,\n MantineModals,\n ModalSettings,\n OpenConfirmModal,\n OpenContextModal,\n} from './context';\n\ntype ModalsEvents = {\n openModal(payload: ModalSettings): void;\n closeModal(id: string): void;\n closeContextModal<TKey extends MantineModal>(id: TKey): void;\n closeAllModals(): void;\n openConfirmModal(payload: OpenConfirmModal): void;\n openContextModal<TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & { modal: TKey }\n ): void;\n};\n\nexport const [useModalsEvents, createEvent] =\n createUseExternalEvents<ModalsEvents>('mantine-modals');\n\nexport const openModal = createEvent('openModal');\nexport const closeModal = createEvent('closeModal');\nexport const closeContextModal: ModalsEvents['closeContextModal'] = <TKey extends MantineModal>(\n id: TKey\n) => createEvent('closeContextModal')(id);\nexport const closeAllModals = createEvent('closeAllModals');\nexport const openConfirmModal = createEvent('openConfirmModal');\nexport const openContextModal: ModalsEvents['openContextModal'] = <TKey extends MantineModal>(\n payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & { modal: TKey }\n) => createEvent('openContextModal')(payload);\n\nexport const modals = {\n open: openModal,\n close: closeModal,\n closeAll: closeAllModals,\n openConfirmModal,\n openContextModal,\n};\n"],"names":[],"mappings":";;AACY,MAAC,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,uBAAuB,CAAC,gBAAgB,EAAE;AAC5E,MAAC,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE;AACtC,MAAC,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE;AAExC,MAAC,cAAc,GAAG,WAAW,CAAC,gBAAgB,EAAE;AAChD,MAAC,gBAAgB,GAAG,WAAW,CAAC,kBAAkB,EAAE;AACpD,MAAC,gBAAgB,GAAG,CAAC,OAAO,KAAK,WAAW,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE;AAC1E,MAAC,MAAM,GAAG;AACtB,EAAE,IAAI,EAAE,SAAS;AACjB,EAAE,KAAK,EAAE,UAAU;AACnB,EAAE,QAAQ,EAAE,cAAc;AAC1B,EAAE,gBAAgB;AAClB,EAAE,gBAAgB;AAClB;;;;"}
package/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  export { ModalsProvider } from './ModalsProvider.js';
2
3
  export { useModals } from './use-modals/use-modals.js';
3
4
  export { closeAllModals, closeModal, modals, openConfirmModal, openContextModal, openModal } from './events.js';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -4,7 +4,9 @@ import { ModalsContext } from '../context.js';
4
4
  function useModals() {
5
5
  const ctx = useContext(ModalsContext);
6
6
  if (!ctx) {
7
- throw new Error("[@mantine/modals] useModals hook was called outside of context, wrap your app with ModalsProvider component");
7
+ throw new Error(
8
+ "[@mantine/modals] useModals hook was called outside of context, wrap your app with ModalsProvider component"
9
+ );
8
10
  }
9
11
  return ctx;
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-modals.js","sources":["../../src/use-modals/use-modals.ts"],"sourcesContent":["import { useContext } from 'react';\nimport { ModalsContext } from '../context';\n\nexport function useModals() {\n const ctx = useContext(ModalsContext);\n\n if (!ctx) {\n throw new Error(\n '[@mantine/modals] useModals hook was called outside of context, wrap your app with ModalsProvider component'\n );\n }\n\n return ctx;\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,SAAS,GAAG;AAC5B,EAAE,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACxC,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,IAAI,MAAM,IAAI,KAAK,CAAC,6GAA6G,CAAC,CAAC;AACnI,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb;;;;"}
1
+ {"version":3,"file":"use-modals.js","sources":["../../src/use-modals/use-modals.ts"],"sourcesContent":["import { useContext } from 'react';\nimport { ModalsContext } from '../context';\n\nexport function useModals() {\n const ctx = useContext(ModalsContext);\n\n if (!ctx) {\n throw new Error(\n '[@mantine/modals] useModals hook was called outside of context, wrap your app with ModalsProvider component'\n );\n }\n\n return ctx;\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,SAAS,GAAG;AAC5B,EAAE,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACxC,EAAE,IAAI,CAAC,GAAG,EAAE;AACZ,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,6GAA6G;AACnH,KAAK,CAAC;AACN,GAAG;AACH,EAAE,OAAO,GAAG,CAAC;AACb;;;;"}
@@ -13,5 +13,5 @@ export interface ConfirmModalProps {
13
13
  groupProps?: GroupProps;
14
14
  labels?: ConfirmLabels;
15
15
  }
16
- export declare function ConfirmModal({ id, cancelProps, confirmProps, labels, closeOnConfirm, closeOnCancel, groupProps, onCancel, onConfirm, children, }: ConfirmModalProps): JSX.Element;
16
+ export declare function ConfirmModal({ id, cancelProps, confirmProps, labels, closeOnConfirm, closeOnCancel, groupProps, onCancel, onConfirm, children, }: ConfirmModalProps): React.JSX.Element;
17
17
  //# sourceMappingURL=ConfirmModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmModal.d.ts","sourceRoot":"","sources":["../src/ConfirmModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAsB,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClB,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACrE,YAAY,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,WAAW,EACX,YAAY,EACZ,MAAoC,EACpC,cAAqB,EACrB,aAAoB,EACpB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE,iBAAiB,eA+BnB"}
1
+ {"version":3,"file":"ConfirmModal.d.ts","sourceRoot":"","sources":["../src/ConfirmModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAsB,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClB,SAAS,CAAC,IAAI,IAAI,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACrE,YAAY,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACtE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,WAAW,EACX,YAAY,EACZ,MAAoC,EACpC,cAAqB,EACrB,aAAoB,EACpB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE,iBAAiB,qBA+BnB"}
@@ -1,9 +1,9 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  declare const _default: {
3
3
  title: string;
4
4
  };
5
5
  export default _default;
6
- export declare function Usage(): JSX.Element;
7
- export declare function NestedInsideModal(): JSX.Element;
8
- export declare function closeAll(): JSX.Element;
6
+ export declare function Usage(): React.JSX.Element;
7
+ export declare function NestedInsideModal(): React.JSX.Element;
8
+ export declare function closeAll(): React.JSX.Element;
9
9
  //# sourceMappingURL=Modals.story.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modals.story.d.ts","sourceRoot":"","sources":["../src/Modals.story.tsx"],"names":[],"mappings":";;;;AAcA,wBAA2C;AAE3C,wBAAgB,KAAK,gBAwFpB;AAED,wBAAgB,iBAAiB,gBAmChC;AA4BD,wBAAgB,QAAQ,gBAMvB"}
1
+ {"version":3,"file":"Modals.story.d.ts","sourceRoot":"","sources":["../src/Modals.story.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmB,MAAM,OAAO,CAAC;;;;AAaxC,wBAA2C;AAE3C,wBAAgB,KAAK,sBAwFpB;AAED,wBAAgB,iBAAiB,sBAmChC;AA4BD,wBAAgB,QAAQ,sBAMvB"}
@@ -10,5 +10,5 @@ export interface ModalsProviderProps {
10
10
  /** Confirm modal labels */
11
11
  labels?: ConfirmLabels;
12
12
  }
13
- export declare function ModalsProvider({ children, modalProps, labels, modals }: ModalsProviderProps): JSX.Element;
13
+ export declare function ModalsProvider({ children, modalProps, labels, modals }: ModalsProviderProps): React.JSX.Element;
14
14
  //# sourceMappingURL=ModalsProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModalsProvider.d.ts","sourceRoot":"","sources":["../src/ModalsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAEL,aAAa,EACb,aAAa,EAGb,iBAAiB,EAElB,MAAM,WAAW,CAAC;AAKnB,MAAM,WAAW,mBAAmB;IAClC,eAAe;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE1D,4DAA4D;IAC5D,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,2BAA2B;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAyCD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,mBAAmB,eAqJ3F"}
1
+ {"version":3,"file":"ModalsProvider.d.ts","sourceRoot":"","sources":["../src/ModalsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAG/D,OAAO,EAEL,aAAa,EACb,aAAa,EAGb,iBAAiB,EAElB,MAAM,WAAW,CAAC;AAKnB,MAAM,WAAW,mBAAmB;IAClC,eAAe;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE1D,4DAA4D;IAC5D,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B,2BAA2B;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAyCD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,mBAAmB,qBAqJ3F"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEpE,MAAM,WAAW,gBAAiB,SAAQ,aAAa,EAAE,iBAAiB;CAAG;AAC7E,MAAM,WAAW,gBAAgB,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAC5E,SAAQ,aAAa;IACrB,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;IACnE,OAAO,EAAE,kBAAkB,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACrD;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAC5C,gBAAgB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACtD,gBAAgB,EAAE,CAAC,IAAI,SAAS,YAAY,EAC1C,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KACtE,MAAM,CAAC;IACZ,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,iBAAiB,EAAE,CAAC,IAAI,SAAS,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEvC,MAAM,MAAM,wBAAwB,GAAG,qBAAqB,SAAS;IACnE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,GACG,qBAAqB,GACrB;IACE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,aAAa,6CAA0C,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,GAAG,QAAQ,EAAE,SAAS,CAAC,CAAC;AAEpE,MAAM,WAAW,gBAAiB,SAAQ,aAAa,EAAE,iBAAiB;CAAG;AAC7E,MAAM,WAAW,gBAAgB,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAC5E,SAAQ,aAAa;IACrB,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;IACnE,OAAO,EAAE,kBAAkB,CAAC;IAC5B,UAAU,EAAE,CAAC,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACrD;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACxD;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAC5C,gBAAgB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACtD,gBAAgB,EAAE,CAAC,IAAI,SAAS,YAAY,EAC1C,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KACtE,MAAM,CAAC;IACZ,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,iBAAiB,EAAE,CAAC,IAAI,SAAS,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEvC,MAAM,MAAM,wBAAwB,GAAG,qBAAqB,SAAS;IACnE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,GACG,qBAAqB,GACrB;IACE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1D,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,aAAa,6CAAiD,CAAC"}
package/package.json CHANGED
@@ -1,13 +1,19 @@
1
1
  {
2
2
  "name": "@mantine/modals",
3
3
  "description": "Modals manager based on Mantine components",
4
- "version": "6.0.19",
5
- "main": "cjs/index.js",
6
- "module": "esm/index.js",
7
- "types": "lib/index.d.ts",
4
+ "version": "7.0.0-beta.0",
5
+ "types": "./lib/index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "import": "./esm/index.js",
9
+ "require": "./cjs/index.js",
10
+ "types": "./lib/index.d.ts"
11
+ },
12
+ "./styles.css": "./esm/index.css"
13
+ },
14
+ "sideEffects": false,
8
15
  "license": "MIT",
9
16
  "author": "Vitaly Rtishchev <rtivital@gmail.com>",
10
- "sideEffects": false,
11
17
  "homepage": "https://mantine.dev/others/modals/",
12
18
  "repository": {
13
19
  "url": "https://github.com/mantinedev/mantine.git",
@@ -27,13 +33,11 @@
27
33
  "confirm"
28
34
  ],
29
35
  "peerDependencies": {
30
- "@mantine/core": "6.0.19",
31
- "@mantine/hooks": "6.0.19",
32
- "react": ">=16.8.0",
33
- "react-dom": ">=16.8.0"
34
- },
35
- "dependencies": {
36
- "@mantine/utils": "6.0.19"
36
+ "@mantine/core": "7.0.0-beta.0",
37
+ "@mantine/hooks": "7.0.0-beta.0",
38
+ "react": "^18.2.0",
39
+ "react-dom": "^18.2.0"
37
40
  },
41
+ "dependencies": {},
38
42
  "devDependencies": {}
39
43
  }