@mantine/modals 9.2.0 → 9.2.2
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.
- package/cjs/ConfirmModal.cjs.map +1 -1
- package/cjs/ModalsProvider.cjs.map +1 -1
- package/cjs/context.cjs.map +1 -1
- package/cjs/events.cjs.map +1 -1
- package/cjs/reducer.cjs +6 -4
- package/cjs/reducer.cjs.map +1 -1
- package/cjs/use-modals/use-modals.cjs.map +1 -1
- package/esm/ConfirmModal.mjs.map +1 -1
- package/esm/ModalsProvider.mjs.map +1 -1
- package/esm/context.mjs.map +1 -1
- package/esm/events.mjs.map +1 -1
- package/esm/reducer.mjs +6 -4
- package/esm/reducer.mjs.map +1 -1
- package/esm/use-modals/use-modals.mjs.map +1 -1
- package/package.json +5 -5
package/cjs/ConfirmModal.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmModal.cjs","names":["useModals","Box","Group","Button"],"sources":["../src/ConfirmModal.tsx"],"sourcesContent":["import { Box, Button, ButtonProps, Group, 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.ComponentProps<'button'> & Record<`data-${string}`, any>;\n confirmProps?: ButtonProps & React.ComponentProps<'button'> & Record<`data-${string}`, any>;\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 mt={children ? 0 : 'md'} 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"],"mappings":";;;;;AAiBA,SAAgB,aAAa,EAC3B,IACA,aACA,cACA,SAAS;CAAE,QAAQ;CAAI,SAAS;
|
|
1
|
+
{"version":3,"file":"ConfirmModal.cjs","names":["useModals","Box","Group","Button"],"sources":["../src/ConfirmModal.tsx"],"sourcesContent":["import { Box, Button, ButtonProps, Group, 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.ComponentProps<'button'> & Record<`data-${string}`, any>;\n confirmProps?: ButtonProps & React.ComponentProps<'button'> & Record<`data-${string}`, any>;\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 mt={children ? 0 : 'md'} 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"],"mappings":";;;;;AAiBA,SAAgB,aAAa,EAC3B,IACA,aACA,cACA,SAAS;CAAE,QAAQ;CAAI,SAAS;AAAG,GACnC,iBAAiB,MACjB,gBAAgB,MAChB,YACA,UACA,WACA,YACoB;CACpB,MAAM,EAAE,QAAQ,aAAa,SAAS,iBAAiB;CACvD,MAAM,MAAMA,mBAAAA,UAAU;CAEtB,MAAM,gBAAgB,UAA+C;EACnE,OAAO,aAAa,YAAY,cAAc,aAAa,QAAQ,KAAK;EACxE,OAAO,aAAa,cAAc,SAAS;EAC3C,iBAAiB,IAAI,WAAW,EAAG;CACrC;CAEA,MAAM,iBAAiB,UAA+C;EACpE,OAAO,cAAc,YAAY,cAAc,cAAc,QAAQ,KAAK;EAC1E,OAAO,cAAc,cAAc,UAAU;EAC7C,kBAAkB,IAAI,WAAW,EAAG;CACtC;CAEA,OACE,iBAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACG,YAAY,iBAAA,GAAA,kBAAA,KAACC,cAAAA,KAAD;EAAK,IAAG;EAAM;CAAc,CAAA,GAEzC,iBAAA,GAAA,kBAAA,MAACC,cAAAA,OAAD;EAAO,IAAI,WAAW,IAAI;EAAM,SAAQ;EAAW,GAAI;YAAvD,CACE,iBAAA,GAAA,kBAAA,KAACC,cAAAA,QAAD;GAAQ,SAAQ;GAAU,GAAI;GAAa,SAAS;aACjD,aAAa,YAAY;EACpB,CAAA,GAER,iBAAA,GAAA,kBAAA,KAACA,cAAAA,QAAD;GAAQ,GAAI;GAAc,SAAS;aAChC,cAAc,YAAY;EACrB,CAAA,CACH;GACP,EAAA,CAAA;AAEN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalsProvider.cjs","names":["modalsReducer","ConfirmModal","ModalsContext","Modal"],"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 const closingRef = useRef(false);\n\n const closeAll = useCallback(\n (canceled?: boolean) => {\n if (!closingRef.current) {\n closingRef.current = true;\n stateRef.current.modals\n .concat()\n .reverse()\n .forEach((modal) => {\n handleCloseModal(modal, canceled);\n });\n closingRef.current = false;\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 if (!closingRef.current) {\n const modal = stateRef.current.modals.find((m) => m.id === id);\n if (modal) {\n closingRef.current = true;\n handleCloseModal(modal, canceled);\n closingRef.current = false;\n }\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":";;;;;;;;;;AA8BA,SAAS,0BAA0B,OAAyB;
|
|
1
|
+
{"version":3,"file":"ModalsProvider.cjs","names":["modalsReducer","ConfirmModal","ModalsContext","Modal"],"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 const closingRef = useRef(false);\n\n const closeAll = useCallback(\n (canceled?: boolean) => {\n if (!closingRef.current) {\n closingRef.current = true;\n stateRef.current.modals\n .concat()\n .reverse()\n .forEach((modal) => {\n handleCloseModal(modal, canceled);\n });\n closingRef.current = false;\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 if (!closingRef.current) {\n const modal = stateRef.current.modals.find((m) => m.id === id);\n if (modal) {\n closingRef.current = true;\n handleCloseModal(modal, canceled);\n closingRef.current = false;\n }\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/cjs/context.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.cjs","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,iBAAA,
|
|
1
|
+
{"version":3,"file":"context.cjs","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,iBAAA,kBAAA,EAAA,eAAkD,IAAW;AAC1E,cAAc,cAAc"}
|
package/cjs/events.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.cjs","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,gBAAA,GAAA,cAAA,yBACS,
|
|
1
|
+
{"version":3,"file":"events.cjs","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,gBAAA,GAAA,cAAA,yBACS,gBAAgB;AAExD,MAAa,aAAwC,YAAY;CAC/D,MAAM,KAAK,QAAQ,YAAA,GAAA,eAAA,UAAoB;CACvC,YAAY,WAAW,EAAE;EAAE,GAAG;EAAS,SAAS;CAAG,CAAC;CACpD,OAAO;AACT;AAEA,MAAa,oBAAsD,YAAY;CAC7E,MAAM,KAAK,QAAQ,YAAA,GAAA,eAAA,UAAoB;CACvC,YAAY,kBAAkB,EAAE;EAAE,GAAG;EAAS,SAAS;CAAG,CAAC;CAC3D,OAAO;AACT;AAEA,MAAa,oBACX,YAGG;CACH,MAAM,KAAK,QAAQ,YAAA,GAAA,eAAA,UAAoB;CACvC,YAAY,kBAAkB,EAAE;EAAE,GAAG;EAAS,SAAS;CAAG,CAAC;CAC3D,OAAO;AACT;AAEA,MAAa,aAAa,YAAY,YAAY;AAMlD,MAAa,iBAAiB,YAAY,gBAAgB;AAE1D,MAAa,eAAe,YAC1B,YAAY,aAAa,EAAE,OAAO;AAEpC,MAAa,sBAAsB,YACjC,YAAY,oBAAoB,EAAE,OAAO;AAE3C,MAAa,SAQT;CACF,MAAM;CACN,OAAO;CACP,UAAU;CACV;CACA;CACA;CACA;AACF"}
|
package/cjs/reducer.cjs
CHANGED
|
@@ -6,10 +6,12 @@ function handleCloseModal(modal, canceled) {
|
|
|
6
6
|
}
|
|
7
7
|
function modalsReducer(state, action) {
|
|
8
8
|
switch (action.type) {
|
|
9
|
-
case "OPEN":
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
case "OPEN":
|
|
10
|
+
if (state.modals.some((modal) => modal.id === action.modal.id)) return state;
|
|
11
|
+
return {
|
|
12
|
+
current: action.modal,
|
|
13
|
+
modals: [...state.modals, action.modal]
|
|
14
|
+
};
|
|
13
15
|
case "CLOSE": {
|
|
14
16
|
if (!state.modals.find((m) => m.id === action.modalId)) return state;
|
|
15
17
|
const remainingModals = state.modals.filter((m) => m.id !== action.modalId);
|
package/cjs/reducer.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.cjs","names":[],"sources":["../src/reducer.ts"],"sourcesContent":["import { ModalSettings, ModalState, OpenContextModal } from './context';\n\ninterface ModalsState {\n modals: ModalState[];\n\n /**\n * Modal that is currently open or was the last open one.\n * Keeping the last one is necessary for providing a clean exit transition.\n */\n current: ModalState | null;\n}\n\ninterface OpenAction {\n type: 'OPEN';\n modal: ModalState;\n}\n\ninterface CloseAction {\n type: 'CLOSE';\n modalId: string;\n canceled?: boolean;\n}\n\ninterface CloseAllAction {\n type: 'CLOSE_ALL';\n canceled?: boolean;\n}\n\ninterface UpdateAction {\n type: 'UPDATE';\n modalId: string;\n newProps: Partial<ModalSettings>;\n}\n\nexport function handleCloseModal(modal: ModalState, canceled?: boolean) {\n if (canceled && modal.type === 'confirm') {\n modal.props.onCancel?.();\n }\n\n modal.props.onClose?.();\n}\n\nexport function modalsReducer(\n state: ModalsState,\n action: OpenAction | CloseAction | CloseAllAction | UpdateAction\n): ModalsState {\n switch (action.type) {\n case 'OPEN': {\n return {\n current: action.modal,\n modals: [...state.modals, action.modal],\n };\n }\n case 'CLOSE': {\n const modal = state.modals.find((m) => m.id === action.modalId);\n if (!modal) {\n return state;\n }\n\n const remainingModals = state.modals.filter((m) => m.id !== action.modalId);\n\n return {\n current: remainingModals[remainingModals.length - 1] || state.current,\n modals: remainingModals,\n };\n }\n case 'CLOSE_ALL': {\n if (!state.modals.length) {\n return state;\n }\n\n return {\n current: state.current,\n modals: [],\n };\n }\n case 'UPDATE': {\n const { modalId, newProps } = action;\n\n const updatedModals = state.modals.map((modal) => {\n if (modal.id !== modalId) {\n return modal;\n }\n\n if (modal.type === 'content' || modal.type === 'confirm') {\n return {\n ...modal,\n props: {\n ...modal.props,\n ...newProps,\n },\n };\n }\n\n if (modal.type === 'context') {\n return {\n ...modal,\n props: {\n ...modal.props,\n ...newProps,\n innerProps: {\n ...modal.props.innerProps,\n ...(newProps as Partial<OpenContextModal<any>>).innerProps,\n },\n },\n };\n }\n\n return modal;\n });\n\n const currentModal =\n state.current?.id === modalId\n ? updatedModals.find((modal) => modal.id === modalId) || state.current\n : state.current;\n\n return {\n ...state,\n modals: updatedModals,\n current: currentModal,\n };\n }\n default: {\n return state;\n }\n }\n}\n"],"mappings":";;AAkCA,SAAgB,iBAAiB,OAAmB,UAAoB;
|
|
1
|
+
{"version":3,"file":"reducer.cjs","names":[],"sources":["../src/reducer.ts"],"sourcesContent":["import { ModalSettings, ModalState, OpenContextModal } from './context';\n\ninterface ModalsState {\n modals: ModalState[];\n\n /**\n * Modal that is currently open or was the last open one.\n * Keeping the last one is necessary for providing a clean exit transition.\n */\n current: ModalState | null;\n}\n\ninterface OpenAction {\n type: 'OPEN';\n modal: ModalState;\n}\n\ninterface CloseAction {\n type: 'CLOSE';\n modalId: string;\n canceled?: boolean;\n}\n\ninterface CloseAllAction {\n type: 'CLOSE_ALL';\n canceled?: boolean;\n}\n\ninterface UpdateAction {\n type: 'UPDATE';\n modalId: string;\n newProps: Partial<ModalSettings>;\n}\n\nexport function handleCloseModal(modal: ModalState, canceled?: boolean) {\n if (canceled && modal.type === 'confirm') {\n modal.props.onCancel?.();\n }\n\n modal.props.onClose?.();\n}\n\nexport function modalsReducer(\n state: ModalsState,\n action: OpenAction | CloseAction | CloseAllAction | UpdateAction\n): ModalsState {\n switch (action.type) {\n case 'OPEN': {\n if (state.modals.some((modal) => modal.id === action.modal.id)) {\n return state;\n }\n return {\n current: action.modal,\n modals: [...state.modals, action.modal],\n };\n }\n case 'CLOSE': {\n const modal = state.modals.find((m) => m.id === action.modalId);\n if (!modal) {\n return state;\n }\n\n const remainingModals = state.modals.filter((m) => m.id !== action.modalId);\n\n return {\n current: remainingModals[remainingModals.length - 1] || state.current,\n modals: remainingModals,\n };\n }\n case 'CLOSE_ALL': {\n if (!state.modals.length) {\n return state;\n }\n\n return {\n current: state.current,\n modals: [],\n };\n }\n case 'UPDATE': {\n const { modalId, newProps } = action;\n\n const updatedModals = state.modals.map((modal) => {\n if (modal.id !== modalId) {\n return modal;\n }\n\n if (modal.type === 'content' || modal.type === 'confirm') {\n return {\n ...modal,\n props: {\n ...modal.props,\n ...newProps,\n },\n };\n }\n\n if (modal.type === 'context') {\n return {\n ...modal,\n props: {\n ...modal.props,\n ...newProps,\n innerProps: {\n ...modal.props.innerProps,\n ...(newProps as Partial<OpenContextModal<any>>).innerProps,\n },\n },\n };\n }\n\n return modal;\n });\n\n const currentModal =\n state.current?.id === modalId\n ? updatedModals.find((modal) => modal.id === modalId) || state.current\n : state.current;\n\n return {\n ...state,\n modals: updatedModals,\n current: currentModal,\n };\n }\n default: {\n return state;\n }\n }\n}\n"],"mappings":";;AAkCA,SAAgB,iBAAiB,OAAmB,UAAoB;CACtE,IAAI,YAAY,MAAM,SAAS,WAC7B,MAAM,MAAM,WAAW;CAGzB,MAAM,MAAM,UAAU;AACxB;AAEA,SAAgB,cACd,OACA,QACa;CACb,QAAQ,OAAO,MAAf;EACE,KAAK;GACH,IAAI,MAAM,OAAO,MAAM,UAAU,MAAM,OAAO,OAAO,MAAM,EAAE,GAC3D,OAAO;GAET,OAAO;IACL,SAAS,OAAO;IAChB,QAAQ,CAAC,GAAG,MAAM,QAAQ,OAAO,KAAK;GACxC;EAEF,KAAK,SAAS;GAEZ,IAAI,CADU,MAAM,OAAO,MAAM,MAAM,EAAE,OAAO,OAAO,OAC9C,GACP,OAAO;GAGT,MAAM,kBAAkB,MAAM,OAAO,QAAQ,MAAM,EAAE,OAAO,OAAO,OAAO;GAE1E,OAAO;IACL,SAAS,gBAAgB,gBAAgB,SAAS,MAAM,MAAM;IAC9D,QAAQ;GACV;EACF;EACA,KAAK;GACH,IAAI,CAAC,MAAM,OAAO,QAChB,OAAO;GAGT,OAAO;IACL,SAAS,MAAM;IACf,QAAQ,CAAC;GACX;EAEF,KAAK,UAAU;GACb,MAAM,EAAE,SAAS,aAAa;GAE9B,MAAM,gBAAgB,MAAM,OAAO,KAAK,UAAU;IAChD,IAAI,MAAM,OAAO,SACf,OAAO;IAGT,IAAI,MAAM,SAAS,aAAa,MAAM,SAAS,WAC7C,OAAO;KACL,GAAG;KACH,OAAO;MACL,GAAG,MAAM;MACT,GAAG;KACL;IACF;IAGF,IAAI,MAAM,SAAS,WACjB,OAAO;KACL,GAAG;KACH,OAAO;MACL,GAAG,MAAM;MACT,GAAG;MACH,YAAY;OACV,GAAG,MAAM,MAAM;OACf,GAAI,SAA4C;MAClD;KACF;IACF;IAGF,OAAO;GACT,CAAC;GAED,MAAM,eACJ,MAAM,SAAS,OAAO,UAClB,cAAc,MAAM,UAAU,MAAM,OAAO,OAAO,KAAK,MAAM,UAC7D,MAAM;GAEZ,OAAO;IACL,GAAG;IACH,QAAQ;IACR,SAAS;GACX;EACF;EACA,SACE,OAAO;CAEX;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-modals.cjs","names":["ModalsContext"],"sources":["../../src/use-modals/use-modals.ts"],"sourcesContent":["import { use } from 'react';\nimport { ModalsContext } from '../context';\n\nexport function useModals() {\n const ctx = use(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"],"mappings":";;;;AAGA,SAAgB,YAAY;CAC1B,MAAM,OAAA,GAAA,MAAA,KAAUA,gBAAAA,
|
|
1
|
+
{"version":3,"file":"use-modals.cjs","names":["ModalsContext"],"sources":["../../src/use-modals/use-modals.ts"],"sourcesContent":["import { use } from 'react';\nimport { ModalsContext } from '../context';\n\nexport function useModals() {\n const ctx = use(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"],"mappings":";;;;AAGA,SAAgB,YAAY;CAC1B,MAAM,OAAA,GAAA,MAAA,KAAUA,gBAAAA,aAAa;CAE7B,IAAI,CAAC,KACH,MAAM,IAAI,MACR,6GACF;CAGF,OAAO;AACT"}
|
package/esm/ConfirmModal.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmModal.mjs","names":[],"sources":["../src/ConfirmModal.tsx"],"sourcesContent":["import { Box, Button, ButtonProps, Group, 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.ComponentProps<'button'> & Record<`data-${string}`, any>;\n confirmProps?: ButtonProps & React.ComponentProps<'button'> & Record<`data-${string}`, any>;\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 mt={children ? 0 : 'md'} 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"],"mappings":";;;;;AAiBA,SAAgB,aAAa,EAC3B,IACA,aACA,cACA,SAAS;CAAE,QAAQ;CAAI,SAAS;
|
|
1
|
+
{"version":3,"file":"ConfirmModal.mjs","names":[],"sources":["../src/ConfirmModal.tsx"],"sourcesContent":["import { Box, Button, ButtonProps, Group, 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.ComponentProps<'button'> & Record<`data-${string}`, any>;\n confirmProps?: ButtonProps & React.ComponentProps<'button'> & Record<`data-${string}`, any>;\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 mt={children ? 0 : 'md'} 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"],"mappings":";;;;;AAiBA,SAAgB,aAAa,EAC3B,IACA,aACA,cACA,SAAS;CAAE,QAAQ;CAAI,SAAS;AAAG,GACnC,iBAAiB,MACjB,gBAAgB,MAChB,YACA,UACA,WACA,YACoB;CACpB,MAAM,EAAE,QAAQ,aAAa,SAAS,iBAAiB;CACvD,MAAM,MAAM,UAAU;CAEtB,MAAM,gBAAgB,UAA+C;EACnE,OAAO,aAAa,YAAY,cAAc,aAAa,QAAQ,KAAK;EACxE,OAAO,aAAa,cAAc,SAAS;EAC3C,iBAAiB,IAAI,WAAW,EAAG;CACrC;CAEA,MAAM,iBAAiB,UAA+C;EACpE,OAAO,cAAc,YAAY,cAAc,cAAc,QAAQ,KAAK;EAC1E,OAAO,cAAc,cAAc,UAAU;EAC7C,kBAAkB,IAAI,WAAW,EAAG;CACtC;CAEA,OACE,qBAAA,UAAA,EAAA,UAAA,CACG,YAAY,oBAAC,KAAD;EAAK,IAAG;EAAM;CAAc,CAAA,GAEzC,qBAAC,OAAD;EAAO,IAAI,WAAW,IAAI;EAAM,SAAQ;EAAW,GAAI;YAAvD,CACE,oBAAC,QAAD;GAAQ,SAAQ;GAAU,GAAI;GAAa,SAAS;aACjD,aAAa,YAAY;EACpB,CAAA,GAER,oBAAC,QAAD;GAAQ,GAAI;GAAc,SAAS;aAChC,cAAc,YAAY;EACrB,CAAA,CACH;GACP,EAAA,CAAA;AAEN"}
|
|
@@ -1 +1 @@
|
|
|
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 const closingRef = useRef(false);\n\n const closeAll = useCallback(\n (canceled?: boolean) => {\n if (!closingRef.current) {\n closingRef.current = true;\n stateRef.current.modals\n .concat()\n .reverse()\n .forEach((modal) => {\n handleCloseModal(modal, canceled);\n });\n closingRef.current = false;\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 if (!closingRef.current) {\n const modal = stateRef.current.modals.find((m) => m.id === id);\n if (modal) {\n closingRef.current = true;\n handleCloseModal(modal, canceled);\n closingRef.current = false;\n }\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":";;;;;;;;;;AA8BA,SAAS,0BAA0B,OAAyB;
|
|
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 const closingRef = useRef(false);\n\n const closeAll = useCallback(\n (canceled?: boolean) => {\n if (!closingRef.current) {\n closingRef.current = true;\n stateRef.current.modals\n .concat()\n .reverse()\n .forEach((modal) => {\n handleCloseModal(modal, canceled);\n });\n closingRef.current = false;\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 if (!closingRef.current) {\n const modal = stateRef.current.modals.find((m) => m.id === id);\n if (modal) {\n closingRef.current = true;\n handleCloseModal(modal, canceled);\n closingRef.current = false;\n }\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.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,IAAW;AAC1E,cAAc,cAAc"}
|
package/esm/events.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,gBAAgB;AAExD,MAAa,aAAwC,YAAY;CAC/D,MAAM,KAAK,QAAQ,WAAW,SAAS;CACvC,YAAY,WAAW,EAAE;EAAE,GAAG;EAAS,SAAS;CAAG,CAAC;CACpD,OAAO;AACT;AAEA,MAAa,oBAAsD,YAAY;CAC7E,MAAM,KAAK,QAAQ,WAAW,SAAS;CACvC,YAAY,kBAAkB,EAAE;EAAE,GAAG;EAAS,SAAS;CAAG,CAAC;CAC3D,OAAO;AACT;AAEA,MAAa,oBACX,YAGG;CACH,MAAM,KAAK,QAAQ,WAAW,SAAS;CACvC,YAAY,kBAAkB,EAAE;EAAE,GAAG;EAAS,SAAS;CAAG,CAAC;CAC3D,OAAO;AACT;AAEA,MAAa,aAAa,YAAY,YAAY;AAMlD,MAAa,iBAAiB,YAAY,gBAAgB;AAE1D,MAAa,eAAe,YAC1B,YAAY,aAAa,EAAE,OAAO;AAEpC,MAAa,sBAAsB,YACjC,YAAY,oBAAoB,EAAE,OAAO;AAE3C,MAAa,SAQT;CACF,MAAM;CACN,OAAO;CACP,UAAU;CACV;CACA;CACA;CACA;AACF"}
|
package/esm/reducer.mjs
CHANGED
|
@@ -6,10 +6,12 @@ function handleCloseModal(modal, canceled) {
|
|
|
6
6
|
}
|
|
7
7
|
function modalsReducer(state, action) {
|
|
8
8
|
switch (action.type) {
|
|
9
|
-
case "OPEN":
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
case "OPEN":
|
|
10
|
+
if (state.modals.some((modal) => modal.id === action.modal.id)) return state;
|
|
11
|
+
return {
|
|
12
|
+
current: action.modal,
|
|
13
|
+
modals: [...state.modals, action.modal]
|
|
14
|
+
};
|
|
13
15
|
case "CLOSE": {
|
|
14
16
|
if (!state.modals.find((m) => m.id === action.modalId)) return state;
|
|
15
17
|
const remainingModals = state.modals.filter((m) => m.id !== action.modalId);
|
package/esm/reducer.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.mjs","names":[],"sources":["../src/reducer.ts"],"sourcesContent":["import { ModalSettings, ModalState, OpenContextModal } from './context';\n\ninterface ModalsState {\n modals: ModalState[];\n\n /**\n * Modal that is currently open or was the last open one.\n * Keeping the last one is necessary for providing a clean exit transition.\n */\n current: ModalState | null;\n}\n\ninterface OpenAction {\n type: 'OPEN';\n modal: ModalState;\n}\n\ninterface CloseAction {\n type: 'CLOSE';\n modalId: string;\n canceled?: boolean;\n}\n\ninterface CloseAllAction {\n type: 'CLOSE_ALL';\n canceled?: boolean;\n}\n\ninterface UpdateAction {\n type: 'UPDATE';\n modalId: string;\n newProps: Partial<ModalSettings>;\n}\n\nexport function handleCloseModal(modal: ModalState, canceled?: boolean) {\n if (canceled && modal.type === 'confirm') {\n modal.props.onCancel?.();\n }\n\n modal.props.onClose?.();\n}\n\nexport function modalsReducer(\n state: ModalsState,\n action: OpenAction | CloseAction | CloseAllAction | UpdateAction\n): ModalsState {\n switch (action.type) {\n case 'OPEN': {\n return {\n current: action.modal,\n modals: [...state.modals, action.modal],\n };\n }\n case 'CLOSE': {\n const modal = state.modals.find((m) => m.id === action.modalId);\n if (!modal) {\n return state;\n }\n\n const remainingModals = state.modals.filter((m) => m.id !== action.modalId);\n\n return {\n current: remainingModals[remainingModals.length - 1] || state.current,\n modals: remainingModals,\n };\n }\n case 'CLOSE_ALL': {\n if (!state.modals.length) {\n return state;\n }\n\n return {\n current: state.current,\n modals: [],\n };\n }\n case 'UPDATE': {\n const { modalId, newProps } = action;\n\n const updatedModals = state.modals.map((modal) => {\n if (modal.id !== modalId) {\n return modal;\n }\n\n if (modal.type === 'content' || modal.type === 'confirm') {\n return {\n ...modal,\n props: {\n ...modal.props,\n ...newProps,\n },\n };\n }\n\n if (modal.type === 'context') {\n return {\n ...modal,\n props: {\n ...modal.props,\n ...newProps,\n innerProps: {\n ...modal.props.innerProps,\n ...(newProps as Partial<OpenContextModal<any>>).innerProps,\n },\n },\n };\n }\n\n return modal;\n });\n\n const currentModal =\n state.current?.id === modalId\n ? updatedModals.find((modal) => modal.id === modalId) || state.current\n : state.current;\n\n return {\n ...state,\n modals: updatedModals,\n current: currentModal,\n };\n }\n default: {\n return state;\n }\n }\n}\n"],"mappings":";;AAkCA,SAAgB,iBAAiB,OAAmB,UAAoB;
|
|
1
|
+
{"version":3,"file":"reducer.mjs","names":[],"sources":["../src/reducer.ts"],"sourcesContent":["import { ModalSettings, ModalState, OpenContextModal } from './context';\n\ninterface ModalsState {\n modals: ModalState[];\n\n /**\n * Modal that is currently open or was the last open one.\n * Keeping the last one is necessary for providing a clean exit transition.\n */\n current: ModalState | null;\n}\n\ninterface OpenAction {\n type: 'OPEN';\n modal: ModalState;\n}\n\ninterface CloseAction {\n type: 'CLOSE';\n modalId: string;\n canceled?: boolean;\n}\n\ninterface CloseAllAction {\n type: 'CLOSE_ALL';\n canceled?: boolean;\n}\n\ninterface UpdateAction {\n type: 'UPDATE';\n modalId: string;\n newProps: Partial<ModalSettings>;\n}\n\nexport function handleCloseModal(modal: ModalState, canceled?: boolean) {\n if (canceled && modal.type === 'confirm') {\n modal.props.onCancel?.();\n }\n\n modal.props.onClose?.();\n}\n\nexport function modalsReducer(\n state: ModalsState,\n action: OpenAction | CloseAction | CloseAllAction | UpdateAction\n): ModalsState {\n switch (action.type) {\n case 'OPEN': {\n if (state.modals.some((modal) => modal.id === action.modal.id)) {\n return state;\n }\n return {\n current: action.modal,\n modals: [...state.modals, action.modal],\n };\n }\n case 'CLOSE': {\n const modal = state.modals.find((m) => m.id === action.modalId);\n if (!modal) {\n return state;\n }\n\n const remainingModals = state.modals.filter((m) => m.id !== action.modalId);\n\n return {\n current: remainingModals[remainingModals.length - 1] || state.current,\n modals: remainingModals,\n };\n }\n case 'CLOSE_ALL': {\n if (!state.modals.length) {\n return state;\n }\n\n return {\n current: state.current,\n modals: [],\n };\n }\n case 'UPDATE': {\n const { modalId, newProps } = action;\n\n const updatedModals = state.modals.map((modal) => {\n if (modal.id !== modalId) {\n return modal;\n }\n\n if (modal.type === 'content' || modal.type === 'confirm') {\n return {\n ...modal,\n props: {\n ...modal.props,\n ...newProps,\n },\n };\n }\n\n if (modal.type === 'context') {\n return {\n ...modal,\n props: {\n ...modal.props,\n ...newProps,\n innerProps: {\n ...modal.props.innerProps,\n ...(newProps as Partial<OpenContextModal<any>>).innerProps,\n },\n },\n };\n }\n\n return modal;\n });\n\n const currentModal =\n state.current?.id === modalId\n ? updatedModals.find((modal) => modal.id === modalId) || state.current\n : state.current;\n\n return {\n ...state,\n modals: updatedModals,\n current: currentModal,\n };\n }\n default: {\n return state;\n }\n }\n}\n"],"mappings":";;AAkCA,SAAgB,iBAAiB,OAAmB,UAAoB;CACtE,IAAI,YAAY,MAAM,SAAS,WAC7B,MAAM,MAAM,WAAW;CAGzB,MAAM,MAAM,UAAU;AACxB;AAEA,SAAgB,cACd,OACA,QACa;CACb,QAAQ,OAAO,MAAf;EACE,KAAK;GACH,IAAI,MAAM,OAAO,MAAM,UAAU,MAAM,OAAO,OAAO,MAAM,EAAE,GAC3D,OAAO;GAET,OAAO;IACL,SAAS,OAAO;IAChB,QAAQ,CAAC,GAAG,MAAM,QAAQ,OAAO,KAAK;GACxC;EAEF,KAAK,SAAS;GAEZ,IAAI,CADU,MAAM,OAAO,MAAM,MAAM,EAAE,OAAO,OAAO,OAC9C,GACP,OAAO;GAGT,MAAM,kBAAkB,MAAM,OAAO,QAAQ,MAAM,EAAE,OAAO,OAAO,OAAO;GAE1E,OAAO;IACL,SAAS,gBAAgB,gBAAgB,SAAS,MAAM,MAAM;IAC9D,QAAQ;GACV;EACF;EACA,KAAK;GACH,IAAI,CAAC,MAAM,OAAO,QAChB,OAAO;GAGT,OAAO;IACL,SAAS,MAAM;IACf,QAAQ,CAAC;GACX;EAEF,KAAK,UAAU;GACb,MAAM,EAAE,SAAS,aAAa;GAE9B,MAAM,gBAAgB,MAAM,OAAO,KAAK,UAAU;IAChD,IAAI,MAAM,OAAO,SACf,OAAO;IAGT,IAAI,MAAM,SAAS,aAAa,MAAM,SAAS,WAC7C,OAAO;KACL,GAAG;KACH,OAAO;MACL,GAAG,MAAM;MACT,GAAG;KACL;IACF;IAGF,IAAI,MAAM,SAAS,WACjB,OAAO;KACL,GAAG;KACH,OAAO;MACL,GAAG,MAAM;MACT,GAAG;MACH,YAAY;OACV,GAAG,MAAM,MAAM;OACf,GAAI,SAA4C;MAClD;KACF;IACF;IAGF,OAAO;GACT,CAAC;GAED,MAAM,eACJ,MAAM,SAAS,OAAO,UAClB,cAAc,MAAM,UAAU,MAAM,OAAO,OAAO,KAAK,MAAM,UAC7D,MAAM;GAEZ,OAAO;IACL,GAAG;IACH,QAAQ;IACR,SAAS;GACX;EACF;EACA,SACE,OAAO;CAEX;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-modals.mjs","names":[],"sources":["../../src/use-modals/use-modals.ts"],"sourcesContent":["import { use } from 'react';\nimport { ModalsContext } from '../context';\n\nexport function useModals() {\n const ctx = use(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"],"mappings":";;;;AAGA,SAAgB,YAAY;CAC1B,MAAM,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"use-modals.mjs","names":[],"sources":["../../src/use-modals/use-modals.ts"],"sourcesContent":["import { use } from 'react';\nimport { ModalsContext } from '../context';\n\nexport function useModals() {\n const ctx = use(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"],"mappings":";;;;AAGA,SAAgB,YAAY;CAC1B,MAAM,MAAM,IAAI,aAAa;CAE7B,IAAI,CAAC,KACH,MAAM,IAAI,MACR,6GACF;CAGF,OAAO;AACT"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mantine/modals",
|
|
3
|
-
"version": "9.2.
|
|
3
|
+
"version": "9.2.2",
|
|
4
4
|
"description": "Modals manager based on Mantine components",
|
|
5
5
|
"homepage": "https://mantine.dev/x/modals/",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,15 +39,15 @@
|
|
|
39
39
|
"directory": "packages/@mantine/modals"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@mantine/core": "9.2.
|
|
43
|
-
"@mantine/hooks": "9.2.
|
|
42
|
+
"@mantine/core": "9.2.2",
|
|
43
|
+
"@mantine/hooks": "9.2.2",
|
|
44
44
|
"react": "^19.2.0",
|
|
45
45
|
"react-dom": "^19.2.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@mantine/core": "workspace:*",
|
|
49
49
|
"@mantine/hooks": "workspace:*",
|
|
50
|
-
"react": "19.2.
|
|
51
|
-
"react-dom": "19.2.
|
|
50
|
+
"react": "19.2.6",
|
|
51
|
+
"react-dom": "19.2.6"
|
|
52
52
|
}
|
|
53
53
|
}
|