@channel.io/bezier-react 1.16.0 → 1.17.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.
- package/dist/cjs/components/Toast/Toast.types.js.map +1 -1
- package/dist/cjs/components/Toast/ToastProvider.js +3 -1
- package/dist/cjs/components/Toast/ToastProvider.js.map +1 -1
- package/dist/esm/components/Toast/Toast.types.mjs.map +1 -1
- package/dist/esm/components/Toast/ToastProvider.mjs +3 -1
- package/dist/esm/components/Toast/ToastProvider.mjs.map +1 -1
- package/dist/types/components/Toast/Toast.types.d.ts +1 -0
- package/dist/types/components/Toast/Toast.types.d.ts.map +1 -1
- package/dist/types/components/Toast/ToastProvider.d.ts +1 -1
- package/dist/types/components/Toast/ToastProvider.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Toast/Toast.types.ts +1 -0
- package/src/components/Toast/ToastProvider.tsx +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.types.js","sources":["../../../../src/components/Toast/Toast.types.ts"],"sourcesContent":["import {\n type ComponentType,\n type ReactNode,\n} from 'react'\nimport type React from 'react'\n\nimport {\n type BezierIcon,\n InfoFilledIcon,\n} from '@channel.io/bezier-icons'\n\nimport { type TransitionDuration } from '~/src/foundation'\n\nimport {\n type BezierComponentProps,\n type ContentProps,\n} from '~/src/types/ComponentProps'\nimport { type InjectedInterpolation } from '~/src/types/Foundation'\nimport { noop } from '~/src/utils/functionUtils'\n\nexport enum ToastPlacement {\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight',\n}\n\nexport enum ToastAppearance {\n Success = 'success',\n Warning = 'warning',\n Error = 'error',\n Info = 'info',\n}\n\nexport enum ToastIconColor {\n Success = 'bgtxt-green-normal',\n Warning = 'bgtxt-orange-normal',\n Error = 'bgtxt-red-normal',\n Info = 'txt-black-darkest',\n}\n\nexport enum ToastPreset {\n Default = 'Default',\n Success = 'Success',\n Error = 'Error',\n Offline = 'Offline',\n Online = 'Online',\n}\n\nexport interface ToastPresetType {\n appearance: ToastAppearance\n icon: BezierIcon\n}\n\ninterface ToastElementOptions {\n preset?: ToastPreset\n appearance?: ToastAppearance\n icon?: BezierIcon\n /**\n * @deprecated use React.ReactNode content props instead.\n */\n actionContent?: string\n transitionDuration: TransitionDuration\n transform: InjectedInterpolation\n placement: ToastPlacement\n zIndex?: number\n onClick?: React.MouseEventHandler\n onDismiss: React.MouseEventHandler<HTMLDivElement>\n}\n\nexport type ToastContent = NonNullable<React.ReactNode>\n\nexport default interface ToastElementProps extends\n BezierComponentProps,\n Required<ContentProps<ToastContent>>,\n ToastElementOptions {}\n\nexport interface ToastProviderProps {\n autoDismissTimeout?: number\n children?: ReactNode[] | ReactNode\n}\n\nexport type ToastId = string\n\nexport type OnDismissCallback = (id: ToastId) => void\n\nexport type ToastOptions = {\n preset?: ToastPreset\n icon?: BezierIcon\n appearance?: ToastAppearance\n actionContent?: string\n autoDismiss?: boolean\n rightSide?: boolean\n zIndex?: number\n onClick?: React.MouseEventHandler\n onDismiss?: OnDismissCallback\n}\n\nexport const defaultOptions: ToastOptions = {\n icon: InfoFilledIcon,\n appearance: ToastAppearance.Info,\n autoDismiss: false,\n onDismiss: noop,\n rightSide: false,\n}\n\nexport type ToastType = ToastOptions & {\n id: ToastId\n content: ToastContent\n /**\n * Updated version\n * @default 0\n */\n version?: number\n}\n\nexport interface ToastContextType {\n add: (content: ToastContent, options?: ToastOptions) => ToastId\n update: (toastId: ToastId, content: ToastContent, options?: ToastOptions) => ToastId\n remove: (id: ToastId) => void\n removeAll: () => void\n leftToasts: ToastType[]\n rightToasts: ToastType[]\n}\n\nexport type ToastContainerProps = {\n children?: ReactNode[]\n placement: ToastPlacement\n}\n\nexport interface ToastControllerProps extends ToastElementProps {\n autoDismiss: boolean\n autoDismissTimeout: number\n component: ComponentType<ToastElementProps>\n /**\n * Updated toast version\n * @default 0\n */\n version?: number\n}\n"],"names":["ToastPlacement","ToastAppearance","ToastIconColor","ToastPreset","defaultOptions","icon","InfoFilledIcon","appearance","Info","autoDismiss","onDismiss","noop","rightSide"],"mappings":";;;;;AAoBYA,IAAAA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAdA,cAAc,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;AAAA,EAAA,OAAdA,cAAc,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAKdC,IAAAA,eAAe,0BAAfA,eAAe,EAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAfA,eAAe,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,EAAA,OAAfA,eAAe,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOfC,IAAAA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,SAAA,CAAA,GAAA,oBAAA,CAAA;EAAdA,cAAc,CAAA,SAAA,CAAA,GAAA,qBAAA,CAAA;EAAdA,cAAc,CAAA,OAAA,CAAA,GAAA,kBAAA,CAAA;EAAdA,cAAc,CAAA,MAAA,CAAA,GAAA,mBAAA,CAAA;AAAA,EAAA,OAAdA,cAAc,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOdC,IAAAA,WAAW,0BAAXA,WAAW,EAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AAAA,EAAA,OAAXA,WAAW,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;
|
|
1
|
+
{"version":3,"file":"Toast.types.js","sources":["../../../../src/components/Toast/Toast.types.ts"],"sourcesContent":["import {\n type ComponentType,\n type ReactNode,\n} from 'react'\nimport type React from 'react'\n\nimport {\n type BezierIcon,\n InfoFilledIcon,\n} from '@channel.io/bezier-icons'\n\nimport { type TransitionDuration } from '~/src/foundation'\n\nimport {\n type BezierComponentProps,\n type ContentProps,\n} from '~/src/types/ComponentProps'\nimport { type InjectedInterpolation } from '~/src/types/Foundation'\nimport { noop } from '~/src/utils/functionUtils'\n\nexport enum ToastPlacement {\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight',\n}\n\nexport enum ToastAppearance {\n Success = 'success',\n Warning = 'warning',\n Error = 'error',\n Info = 'info',\n}\n\nexport enum ToastIconColor {\n Success = 'bgtxt-green-normal',\n Warning = 'bgtxt-orange-normal',\n Error = 'bgtxt-red-normal',\n Info = 'txt-black-darkest',\n}\n\nexport enum ToastPreset {\n Default = 'Default',\n Success = 'Success',\n Error = 'Error',\n Offline = 'Offline',\n Online = 'Online',\n}\n\nexport interface ToastPresetType {\n appearance: ToastAppearance\n icon: BezierIcon\n}\n\ninterface ToastElementOptions {\n preset?: ToastPreset\n appearance?: ToastAppearance\n icon?: BezierIcon\n /**\n * @deprecated use React.ReactNode content props instead.\n */\n actionContent?: string\n transitionDuration: TransitionDuration\n transform: InjectedInterpolation\n placement: ToastPlacement\n zIndex?: number\n onClick?: React.MouseEventHandler\n onDismiss: React.MouseEventHandler<HTMLDivElement>\n}\n\nexport type ToastContent = NonNullable<React.ReactNode>\n\nexport default interface ToastElementProps extends\n BezierComponentProps,\n Required<ContentProps<ToastContent>>,\n ToastElementOptions {}\n\nexport interface ToastProviderProps {\n autoDismissTimeout?: number\n container?: HTMLElement | null\n children?: ReactNode[] | ReactNode\n}\n\nexport type ToastId = string\n\nexport type OnDismissCallback = (id: ToastId) => void\n\nexport type ToastOptions = {\n preset?: ToastPreset\n icon?: BezierIcon\n appearance?: ToastAppearance\n actionContent?: string\n autoDismiss?: boolean\n rightSide?: boolean\n zIndex?: number\n onClick?: React.MouseEventHandler\n onDismiss?: OnDismissCallback\n}\n\nexport const defaultOptions: ToastOptions = {\n icon: InfoFilledIcon,\n appearance: ToastAppearance.Info,\n autoDismiss: false,\n onDismiss: noop,\n rightSide: false,\n}\n\nexport type ToastType = ToastOptions & {\n id: ToastId\n content: ToastContent\n /**\n * Updated version\n * @default 0\n */\n version?: number\n}\n\nexport interface ToastContextType {\n add: (content: ToastContent, options?: ToastOptions) => ToastId\n update: (toastId: ToastId, content: ToastContent, options?: ToastOptions) => ToastId\n remove: (id: ToastId) => void\n removeAll: () => void\n leftToasts: ToastType[]\n rightToasts: ToastType[]\n}\n\nexport type ToastContainerProps = {\n children?: ReactNode[]\n placement: ToastPlacement\n}\n\nexport interface ToastControllerProps extends ToastElementProps {\n autoDismiss: boolean\n autoDismissTimeout: number\n component: ComponentType<ToastElementProps>\n /**\n * Updated toast version\n * @default 0\n */\n version?: number\n}\n"],"names":["ToastPlacement","ToastAppearance","ToastIconColor","ToastPreset","defaultOptions","icon","InfoFilledIcon","appearance","Info","autoDismiss","onDismiss","noop","rightSide"],"mappings":";;;;;AAoBYA,IAAAA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAdA,cAAc,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;AAAA,EAAA,OAAdA,cAAc,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAKdC,IAAAA,eAAe,0BAAfA,eAAe,EAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAfA,eAAe,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,EAAA,OAAfA,eAAe,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOfC,IAAAA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,SAAA,CAAA,GAAA,oBAAA,CAAA;EAAdA,cAAc,CAAA,SAAA,CAAA,GAAA,qBAAA,CAAA;EAAdA,cAAc,CAAA,OAAA,CAAA,GAAA,kBAAA,CAAA;EAAdA,cAAc,CAAA,MAAA,CAAA,GAAA,mBAAA,CAAA;AAAA,EAAA,OAAdA,cAAc,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOdC,IAAAA,WAAW,0BAAXA,WAAW,EAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AAAA,EAAA,OAAXA,WAAW,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AA0DhB,MAAMC,cAA4B,GAAG;AAC1CC,EAAAA,IAAI,EAAEC,0BAAc;EACpBC,UAAU,EAAEN,eAAe,CAACO,IAAI;AAChCC,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,SAAS,EAAEC,kBAAI;AACfC,EAAAA,SAAS,EAAE,KAAA;AACb;;;;;;;;"}
|
|
@@ -17,6 +17,7 @@ var FoundationStyledComponent = require('../../foundation/FoundationStyledCompon
|
|
|
17
17
|
|
|
18
18
|
function ToastProvider({
|
|
19
19
|
autoDismissTimeout = 3000,
|
|
20
|
+
container: givenContainer,
|
|
20
21
|
children = []
|
|
21
22
|
}) {
|
|
22
23
|
const isMounted = useIsMounted.default();
|
|
@@ -26,6 +27,7 @@ function ToastProvider({
|
|
|
26
27
|
rightToasts,
|
|
27
28
|
dismiss
|
|
28
29
|
} = toastContextValue;
|
|
30
|
+
const container = givenContainer ?? domUtils.getRootElement();
|
|
29
31
|
const createContainer = React.useCallback((placement, toasts) => /*#__PURE__*/React.createElement(ToastContainer.default, {
|
|
30
32
|
key: placement,
|
|
31
33
|
placement: placement
|
|
@@ -61,7 +63,7 @@ function ToastProvider({
|
|
|
61
63
|
}))), [autoDismissTimeout, dismiss]);
|
|
62
64
|
return /*#__PURE__*/React.createElement(ToastContext.ToastContextProvider, {
|
|
63
65
|
value: toastContextValue
|
|
64
|
-
}, children, isMounted && /*#__PURE__*/ReactDOM.createPortal([createContainer(Toast_types.ToastPlacement.BottomLeft, leftToasts), createContainer(Toast_types.ToastPlacement.BottomRight, rightToasts)],
|
|
66
|
+
}, children, isMounted && /*#__PURE__*/ReactDOM.createPortal([createContainer(Toast_types.ToastPlacement.BottomLeft, leftToasts), createContainer(Toast_types.ToastPlacement.BottomRight, rightToasts)], container));
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
exports.default = ToastProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\n\nimport { createPortal } from 'react-dom'\n\nimport {\n TransitionDuration,\n css,\n} from '~/src/foundation'\n\nimport useIsMounted from '~/src/hooks/useIsMounted'\nimport { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n ToastPlacement,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport ToastContainer from './ToastContainer'\nimport { ToastContextProvider } from './ToastContext'\nimport ToastController from './ToastController'\nimport ToastElement from './ToastElement'\nimport useToastProviderValues from './useToastContextValues'\n\nfunction ToastProvider({\n autoDismissTimeout = 3000,\n children = [],\n}: ToastProviderProps) {\n const isMounted = useIsMounted()\n\n const toastContextValue = useToastProviderValues()\n const {\n leftToasts,\n rightToasts,\n dismiss,\n } = toastContextValue\n\n const createContainer = useCallback((placement: ToastPlacement, toasts: ToastType[]) => (\n <ToastContainer\n key={placement}\n placement={placement}\n >\n { toasts.map(({\n autoDismiss,\n content,\n preset,\n appearance,\n icon,\n actionContent,\n onClick,\n id,\n onDismiss,\n zIndex,\n version,\n }) => (\n <ToastController\n key={id}\n placement={placement}\n autoDismiss={autoDismiss ?? true}\n transitionDuration={TransitionDuration.M}\n actionContent={actionContent}\n onClick={onClick}\n autoDismissTimeout={autoDismissTimeout}\n preset={preset}\n appearance={appearance}\n content={content}\n icon={icon}\n component={ToastElement}\n onDismiss={() => dismiss(id, onDismiss)}\n transform={css``}\n zIndex={zIndex}\n version={version}\n />\n )) }\n </ToastContainer>\n ), [\n autoDismissTimeout,\n dismiss,\n ])\n\n return (\n <ToastContextProvider value={toastContextValue}>\n { children }\n { isMounted && createPortal(\n [\n createContainer(ToastPlacement.BottomLeft, leftToasts),\n createContainer(ToastPlacement.BottomRight, rightToasts),\n ],\n
|
|
1
|
+
{"version":3,"file":"ToastProvider.js","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\n\nimport { createPortal } from 'react-dom'\n\nimport {\n TransitionDuration,\n css,\n} from '~/src/foundation'\n\nimport useIsMounted from '~/src/hooks/useIsMounted'\nimport { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n ToastPlacement,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport ToastContainer from './ToastContainer'\nimport { ToastContextProvider } from './ToastContext'\nimport ToastController from './ToastController'\nimport ToastElement from './ToastElement'\nimport useToastProviderValues from './useToastContextValues'\n\nfunction ToastProvider({\n autoDismissTimeout = 3000,\n container: givenContainer,\n children = [],\n}: ToastProviderProps) {\n const isMounted = useIsMounted()\n\n const toastContextValue = useToastProviderValues()\n const {\n leftToasts,\n rightToasts,\n dismiss,\n } = toastContextValue\n const container = givenContainer ?? getRootElement()\n\n const createContainer = useCallback((placement: ToastPlacement, toasts: ToastType[]) => (\n <ToastContainer\n key={placement}\n placement={placement}\n >\n { toasts.map(({\n autoDismiss,\n content,\n preset,\n appearance,\n icon,\n actionContent,\n onClick,\n id,\n onDismiss,\n zIndex,\n version,\n }) => (\n <ToastController\n key={id}\n placement={placement}\n autoDismiss={autoDismiss ?? true}\n transitionDuration={TransitionDuration.M}\n actionContent={actionContent}\n onClick={onClick}\n autoDismissTimeout={autoDismissTimeout}\n preset={preset}\n appearance={appearance}\n content={content}\n icon={icon}\n component={ToastElement}\n onDismiss={() => dismiss(id, onDismiss)}\n transform={css``}\n zIndex={zIndex}\n version={version}\n />\n )) }\n </ToastContainer>\n ), [\n autoDismissTimeout,\n dismiss,\n ])\n\n return (\n <ToastContextProvider value={toastContextValue}>\n { children }\n { isMounted && createPortal(\n [\n createContainer(ToastPlacement.BottomLeft, leftToasts),\n createContainer(ToastPlacement.BottomRight, rightToasts),\n ],\n container,\n ) }\n </ToastContextProvider>\n )\n}\n\nexport default ToastProvider\n"],"names":["ToastProvider","autoDismissTimeout","container","givenContainer","children","isMounted","useIsMounted","toastContextValue","useToastProviderValues","leftToasts","rightToasts","dismiss","getRootElement","createContainer","useCallback","placement","toasts","React","createElement","ToastContainer","key","map","autoDismiss","content","preset","appearance","icon","actionContent","onClick","id","onDismiss","zIndex","version","ToastController","transitionDuration","TransitionDuration","M","component","ToastElement","transform","css","ToastContextProvider","value","createPortal","ToastPlacement","BottomLeft","BottomRight"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,SAASA,aAAaA,CAAC;AACrBC,EAAAA,kBAAkB,GAAG,IAAI;AACzBC,EAAAA,SAAS,EAAEC,cAAc;AACzBC,EAAAA,QAAQ,GAAG,EAAA;AACO,CAAC,EAAE;AACrB,EAAA,MAAMC,SAAS,GAAGC,oBAAY,EAAE,CAAA;AAEhC,EAAA,MAAMC,iBAAiB,GAAGC,6BAAsB,EAAE,CAAA;EAClD,MAAM;IACJC,UAAU;IACVC,WAAW;AACXC,IAAAA,OAAAA;AACF,GAAC,GAAGJ,iBAAiB,CAAA;AACrB,EAAA,MAAML,SAAS,GAAGC,cAAc,IAAIS,uBAAc,EAAE,CAAA;AAEpD,EAAA,MAAMC,eAAe,GAAGC,iBAAW,CAAC,CAACC,SAAyB,EAAEC,MAAmB,kBACjFC,KAAA,CAAAC,aAAA,CAACC,sBAAc,EAAA;AACbC,IAAAA,GAAG,EAAEL,SAAU;AACfA,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAEnBC,MAAM,CAACK,GAAG,CAAC,CAAC;IACZC,WAAW;IACXC,OAAO;IACPC,MAAM;IACNC,UAAU;IACVC,IAAI;IACJC,aAAa;IACbC,OAAO;IACPC,EAAE;IACFC,SAAS;IACTC,MAAM;AACNC,IAAAA,OAAAA;AACF,GAAC,kBACCf,KAAA,CAAAC,aAAA,CAACe,uBAAe,EAAA;AACdb,IAAAA,GAAG,EAAES,EAAG;AACRd,IAAAA,SAAS,EAAEA,SAAU;IACrBO,WAAW,EAAEA,WAAW,IAAI,IAAK;IACjCY,kBAAkB,EAAEC,wBAAkB,CAACC,CAAE;AACzCT,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,OAAO,EAAEA,OAAQ;AACjB3B,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCuB,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA,UAAW;AACvBF,IAAAA,OAAO,EAAEA,OAAQ;AACjBG,IAAAA,IAAI,EAAEA,IAAK;AACXW,IAAAA,SAAS,EAAEC,oBAAa;IACxBR,SAAS,EAAEA,MAAMnB,OAAO,CAACkB,EAAE,EAAEC,SAAS,CAAE;IACxCS,SAAS,EAAEC,6BAAI,CAAE,CAAA;AACjBT,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAEA,OAAAA;GACV,CACF,CACa,CACjB,EAAE,CACD/B,kBAAkB,EAClBU,OAAO,CACR,CAAC,CAAA;AAEF,EAAA,oBACEM,KAAA,CAAAC,aAAA,CAACuB,iCAAoB,EAAA;AAACC,IAAAA,KAAK,EAAEnC,iBAAAA;AAAkB,GAAA,EAC3CH,QAAQ,EACRC,SAAS,iBAAIsC,qBAAY,CACzB,CACE9B,eAAe,CAAC+B,0BAAc,CAACC,UAAU,EAAEpC,UAAU,CAAC,EACtDI,eAAe,CAAC+B,0BAAc,CAACE,WAAW,EAAEpC,WAAW,CAAC,CACzD,EACDR,SACF,CACoB,CAAC,CAAA;AAE3B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.types.mjs","sources":["../../../../src/components/Toast/Toast.types.ts"],"sourcesContent":["import {\n type ComponentType,\n type ReactNode,\n} from 'react'\nimport type React from 'react'\n\nimport {\n type BezierIcon,\n InfoFilledIcon,\n} from '@channel.io/bezier-icons'\n\nimport { type TransitionDuration } from '~/src/foundation'\n\nimport {\n type BezierComponentProps,\n type ContentProps,\n} from '~/src/types/ComponentProps'\nimport { type InjectedInterpolation } from '~/src/types/Foundation'\nimport { noop } from '~/src/utils/functionUtils'\n\nexport enum ToastPlacement {\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight',\n}\n\nexport enum ToastAppearance {\n Success = 'success',\n Warning = 'warning',\n Error = 'error',\n Info = 'info',\n}\n\nexport enum ToastIconColor {\n Success = 'bgtxt-green-normal',\n Warning = 'bgtxt-orange-normal',\n Error = 'bgtxt-red-normal',\n Info = 'txt-black-darkest',\n}\n\nexport enum ToastPreset {\n Default = 'Default',\n Success = 'Success',\n Error = 'Error',\n Offline = 'Offline',\n Online = 'Online',\n}\n\nexport interface ToastPresetType {\n appearance: ToastAppearance\n icon: BezierIcon\n}\n\ninterface ToastElementOptions {\n preset?: ToastPreset\n appearance?: ToastAppearance\n icon?: BezierIcon\n /**\n * @deprecated use React.ReactNode content props instead.\n */\n actionContent?: string\n transitionDuration: TransitionDuration\n transform: InjectedInterpolation\n placement: ToastPlacement\n zIndex?: number\n onClick?: React.MouseEventHandler\n onDismiss: React.MouseEventHandler<HTMLDivElement>\n}\n\nexport type ToastContent = NonNullable<React.ReactNode>\n\nexport default interface ToastElementProps extends\n BezierComponentProps,\n Required<ContentProps<ToastContent>>,\n ToastElementOptions {}\n\nexport interface ToastProviderProps {\n autoDismissTimeout?: number\n children?: ReactNode[] | ReactNode\n}\n\nexport type ToastId = string\n\nexport type OnDismissCallback = (id: ToastId) => void\n\nexport type ToastOptions = {\n preset?: ToastPreset\n icon?: BezierIcon\n appearance?: ToastAppearance\n actionContent?: string\n autoDismiss?: boolean\n rightSide?: boolean\n zIndex?: number\n onClick?: React.MouseEventHandler\n onDismiss?: OnDismissCallback\n}\n\nexport const defaultOptions: ToastOptions = {\n icon: InfoFilledIcon,\n appearance: ToastAppearance.Info,\n autoDismiss: false,\n onDismiss: noop,\n rightSide: false,\n}\n\nexport type ToastType = ToastOptions & {\n id: ToastId\n content: ToastContent\n /**\n * Updated version\n * @default 0\n */\n version?: number\n}\n\nexport interface ToastContextType {\n add: (content: ToastContent, options?: ToastOptions) => ToastId\n update: (toastId: ToastId, content: ToastContent, options?: ToastOptions) => ToastId\n remove: (id: ToastId) => void\n removeAll: () => void\n leftToasts: ToastType[]\n rightToasts: ToastType[]\n}\n\nexport type ToastContainerProps = {\n children?: ReactNode[]\n placement: ToastPlacement\n}\n\nexport interface ToastControllerProps extends ToastElementProps {\n autoDismiss: boolean\n autoDismissTimeout: number\n component: ComponentType<ToastElementProps>\n /**\n * Updated toast version\n * @default 0\n */\n version?: number\n}\n"],"names":["ToastPlacement","ToastAppearance","ToastIconColor","ToastPreset","defaultOptions","icon","InfoFilledIcon","appearance","Info","autoDismiss","onDismiss","noop","rightSide"],"mappings":";;;AAoBYA,IAAAA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAdA,cAAc,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;AAAA,EAAA,OAAdA,cAAc,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAKdC,IAAAA,eAAe,0BAAfA,eAAe,EAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAfA,eAAe,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,EAAA,OAAfA,eAAe,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOfC,IAAAA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,SAAA,CAAA,GAAA,oBAAA,CAAA;EAAdA,cAAc,CAAA,SAAA,CAAA,GAAA,qBAAA,CAAA;EAAdA,cAAc,CAAA,OAAA,CAAA,GAAA,kBAAA,CAAA;EAAdA,cAAc,CAAA,MAAA,CAAA,GAAA,mBAAA,CAAA;AAAA,EAAA,OAAdA,cAAc,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOdC,IAAAA,WAAW,0BAAXA,WAAW,EAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AAAA,EAAA,OAAXA,WAAW,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;
|
|
1
|
+
{"version":3,"file":"Toast.types.mjs","sources":["../../../../src/components/Toast/Toast.types.ts"],"sourcesContent":["import {\n type ComponentType,\n type ReactNode,\n} from 'react'\nimport type React from 'react'\n\nimport {\n type BezierIcon,\n InfoFilledIcon,\n} from '@channel.io/bezier-icons'\n\nimport { type TransitionDuration } from '~/src/foundation'\n\nimport {\n type BezierComponentProps,\n type ContentProps,\n} from '~/src/types/ComponentProps'\nimport { type InjectedInterpolation } from '~/src/types/Foundation'\nimport { noop } from '~/src/utils/functionUtils'\n\nexport enum ToastPlacement {\n BottomLeft = 'bottomLeft',\n BottomRight = 'bottomRight',\n}\n\nexport enum ToastAppearance {\n Success = 'success',\n Warning = 'warning',\n Error = 'error',\n Info = 'info',\n}\n\nexport enum ToastIconColor {\n Success = 'bgtxt-green-normal',\n Warning = 'bgtxt-orange-normal',\n Error = 'bgtxt-red-normal',\n Info = 'txt-black-darkest',\n}\n\nexport enum ToastPreset {\n Default = 'Default',\n Success = 'Success',\n Error = 'Error',\n Offline = 'Offline',\n Online = 'Online',\n}\n\nexport interface ToastPresetType {\n appearance: ToastAppearance\n icon: BezierIcon\n}\n\ninterface ToastElementOptions {\n preset?: ToastPreset\n appearance?: ToastAppearance\n icon?: BezierIcon\n /**\n * @deprecated use React.ReactNode content props instead.\n */\n actionContent?: string\n transitionDuration: TransitionDuration\n transform: InjectedInterpolation\n placement: ToastPlacement\n zIndex?: number\n onClick?: React.MouseEventHandler\n onDismiss: React.MouseEventHandler<HTMLDivElement>\n}\n\nexport type ToastContent = NonNullable<React.ReactNode>\n\nexport default interface ToastElementProps extends\n BezierComponentProps,\n Required<ContentProps<ToastContent>>,\n ToastElementOptions {}\n\nexport interface ToastProviderProps {\n autoDismissTimeout?: number\n container?: HTMLElement | null\n children?: ReactNode[] | ReactNode\n}\n\nexport type ToastId = string\n\nexport type OnDismissCallback = (id: ToastId) => void\n\nexport type ToastOptions = {\n preset?: ToastPreset\n icon?: BezierIcon\n appearance?: ToastAppearance\n actionContent?: string\n autoDismiss?: boolean\n rightSide?: boolean\n zIndex?: number\n onClick?: React.MouseEventHandler\n onDismiss?: OnDismissCallback\n}\n\nexport const defaultOptions: ToastOptions = {\n icon: InfoFilledIcon,\n appearance: ToastAppearance.Info,\n autoDismiss: false,\n onDismiss: noop,\n rightSide: false,\n}\n\nexport type ToastType = ToastOptions & {\n id: ToastId\n content: ToastContent\n /**\n * Updated version\n * @default 0\n */\n version?: number\n}\n\nexport interface ToastContextType {\n add: (content: ToastContent, options?: ToastOptions) => ToastId\n update: (toastId: ToastId, content: ToastContent, options?: ToastOptions) => ToastId\n remove: (id: ToastId) => void\n removeAll: () => void\n leftToasts: ToastType[]\n rightToasts: ToastType[]\n}\n\nexport type ToastContainerProps = {\n children?: ReactNode[]\n placement: ToastPlacement\n}\n\nexport interface ToastControllerProps extends ToastElementProps {\n autoDismiss: boolean\n autoDismissTimeout: number\n component: ComponentType<ToastElementProps>\n /**\n * Updated toast version\n * @default 0\n */\n version?: number\n}\n"],"names":["ToastPlacement","ToastAppearance","ToastIconColor","ToastPreset","defaultOptions","icon","InfoFilledIcon","appearance","Info","autoDismiss","onDismiss","noop","rightSide"],"mappings":";;;AAoBYA,IAAAA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,YAAA,CAAA,GAAA,YAAA,CAAA;EAAdA,cAAc,CAAA,aAAA,CAAA,GAAA,aAAA,CAAA;AAAA,EAAA,OAAdA,cAAc,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAKdC,IAAAA,eAAe,0BAAfA,eAAe,EAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAfA,eAAe,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAfA,eAAe,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,EAAA,OAAfA,eAAe,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOfC,IAAAA,cAAc,0BAAdA,cAAc,EAAA;EAAdA,cAAc,CAAA,SAAA,CAAA,GAAA,oBAAA,CAAA;EAAdA,cAAc,CAAA,SAAA,CAAA,GAAA,qBAAA,CAAA;EAAdA,cAAc,CAAA,OAAA,CAAA,GAAA,kBAAA,CAAA;EAAdA,cAAc,CAAA,MAAA,CAAA,GAAA,mBAAA,CAAA;AAAA,EAAA,OAAdA,cAAc,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AAOdC,IAAAA,WAAW,0BAAXA,WAAW,EAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAXA,WAAW,CAAA,SAAA,CAAA,GAAA,SAAA,CAAA;EAAXA,WAAW,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;AAAA,EAAA,OAAXA,WAAW,CAAA;AAAA,CAAA,CAAA,EAAA,EAAA;AA0DhB,MAAMC,cAA4B,GAAG;AAC1CC,EAAAA,IAAI,EAAEC,cAAc;EACpBC,UAAU,EAAEN,eAAe,CAACO,IAAI;AAChCC,EAAAA,WAAW,EAAE,KAAK;AAClBC,EAAAA,SAAS,EAAEC,IAAI;AACfC,EAAAA,SAAS,EAAE,KAAA;AACb;;;;"}
|
|
@@ -13,6 +13,7 @@ import { css as FoundationCSS } from '../../foundation/FoundationStyledComponent
|
|
|
13
13
|
|
|
14
14
|
function ToastProvider({
|
|
15
15
|
autoDismissTimeout = 3000,
|
|
16
|
+
container: givenContainer,
|
|
16
17
|
children = []
|
|
17
18
|
}) {
|
|
18
19
|
const isMounted = useIsMounted();
|
|
@@ -22,6 +23,7 @@ function ToastProvider({
|
|
|
22
23
|
rightToasts,
|
|
23
24
|
dismiss
|
|
24
25
|
} = toastContextValue;
|
|
26
|
+
const container = givenContainer ?? getRootElement();
|
|
25
27
|
const createContainer = useCallback((placement, toasts) => /*#__PURE__*/React__default.createElement(ToastContainer, {
|
|
26
28
|
key: placement,
|
|
27
29
|
placement: placement
|
|
@@ -57,7 +59,7 @@ function ToastProvider({
|
|
|
57
59
|
}))), [autoDismissTimeout, dismiss]);
|
|
58
60
|
return /*#__PURE__*/React__default.createElement(ToastContextProvider, {
|
|
59
61
|
value: toastContextValue
|
|
60
|
-
}, children, isMounted && /*#__PURE__*/createPortal([createContainer(ToastPlacement.BottomLeft, leftToasts), createContainer(ToastPlacement.BottomRight, rightToasts)],
|
|
62
|
+
}, children, isMounted && /*#__PURE__*/createPortal([createContainer(ToastPlacement.BottomLeft, leftToasts), createContainer(ToastPlacement.BottomRight, rightToasts)], container));
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
export { ToastProvider as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastProvider.mjs","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\n\nimport { createPortal } from 'react-dom'\n\nimport {\n TransitionDuration,\n css,\n} from '~/src/foundation'\n\nimport useIsMounted from '~/src/hooks/useIsMounted'\nimport { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n ToastPlacement,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport ToastContainer from './ToastContainer'\nimport { ToastContextProvider } from './ToastContext'\nimport ToastController from './ToastController'\nimport ToastElement from './ToastElement'\nimport useToastProviderValues from './useToastContextValues'\n\nfunction ToastProvider({\n autoDismissTimeout = 3000,\n children = [],\n}: ToastProviderProps) {\n const isMounted = useIsMounted()\n\n const toastContextValue = useToastProviderValues()\n const {\n leftToasts,\n rightToasts,\n dismiss,\n } = toastContextValue\n\n const createContainer = useCallback((placement: ToastPlacement, toasts: ToastType[]) => (\n <ToastContainer\n key={placement}\n placement={placement}\n >\n { toasts.map(({\n autoDismiss,\n content,\n preset,\n appearance,\n icon,\n actionContent,\n onClick,\n id,\n onDismiss,\n zIndex,\n version,\n }) => (\n <ToastController\n key={id}\n placement={placement}\n autoDismiss={autoDismiss ?? true}\n transitionDuration={TransitionDuration.M}\n actionContent={actionContent}\n onClick={onClick}\n autoDismissTimeout={autoDismissTimeout}\n preset={preset}\n appearance={appearance}\n content={content}\n icon={icon}\n component={ToastElement}\n onDismiss={() => dismiss(id, onDismiss)}\n transform={css``}\n zIndex={zIndex}\n version={version}\n />\n )) }\n </ToastContainer>\n ), [\n autoDismissTimeout,\n dismiss,\n ])\n\n return (\n <ToastContextProvider value={toastContextValue}>\n { children }\n { isMounted && createPortal(\n [\n createContainer(ToastPlacement.BottomLeft, leftToasts),\n createContainer(ToastPlacement.BottomRight, rightToasts),\n ],\n
|
|
1
|
+
{"version":3,"file":"ToastProvider.mjs","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\n\nimport { createPortal } from 'react-dom'\n\nimport {\n TransitionDuration,\n css,\n} from '~/src/foundation'\n\nimport useIsMounted from '~/src/hooks/useIsMounted'\nimport { getRootElement } from '~/src/utils/domUtils'\n\nimport {\n ToastPlacement,\n type ToastProviderProps,\n type ToastType,\n} from './Toast.types'\nimport ToastContainer from './ToastContainer'\nimport { ToastContextProvider } from './ToastContext'\nimport ToastController from './ToastController'\nimport ToastElement from './ToastElement'\nimport useToastProviderValues from './useToastContextValues'\n\nfunction ToastProvider({\n autoDismissTimeout = 3000,\n container: givenContainer,\n children = [],\n}: ToastProviderProps) {\n const isMounted = useIsMounted()\n\n const toastContextValue = useToastProviderValues()\n const {\n leftToasts,\n rightToasts,\n dismiss,\n } = toastContextValue\n const container = givenContainer ?? getRootElement()\n\n const createContainer = useCallback((placement: ToastPlacement, toasts: ToastType[]) => (\n <ToastContainer\n key={placement}\n placement={placement}\n >\n { toasts.map(({\n autoDismiss,\n content,\n preset,\n appearance,\n icon,\n actionContent,\n onClick,\n id,\n onDismiss,\n zIndex,\n version,\n }) => (\n <ToastController\n key={id}\n placement={placement}\n autoDismiss={autoDismiss ?? true}\n transitionDuration={TransitionDuration.M}\n actionContent={actionContent}\n onClick={onClick}\n autoDismissTimeout={autoDismissTimeout}\n preset={preset}\n appearance={appearance}\n content={content}\n icon={icon}\n component={ToastElement}\n onDismiss={() => dismiss(id, onDismiss)}\n transform={css``}\n zIndex={zIndex}\n version={version}\n />\n )) }\n </ToastContainer>\n ), [\n autoDismissTimeout,\n dismiss,\n ])\n\n return (\n <ToastContextProvider value={toastContextValue}>\n { children }\n { isMounted && createPortal(\n [\n createContainer(ToastPlacement.BottomLeft, leftToasts),\n createContainer(ToastPlacement.BottomRight, rightToasts),\n ],\n container,\n ) }\n </ToastContextProvider>\n )\n}\n\nexport default ToastProvider\n"],"names":["ToastProvider","autoDismissTimeout","container","givenContainer","children","isMounted","useIsMounted","toastContextValue","useToastProviderValues","leftToasts","rightToasts","dismiss","getRootElement","createContainer","useCallback","placement","toasts","React","createElement","ToastContainer","key","map","autoDismiss","content","preset","appearance","icon","actionContent","onClick","id","onDismiss","zIndex","version","ToastController","transitionDuration","TransitionDuration","M","component","ToastElement","transform","css","ToastContextProvider","value","createPortal","ToastPlacement","BottomLeft","BottomRight"],"mappings":";;;;;;;;;;;;;AAuBA,SAASA,aAAaA,CAAC;AACrBC,EAAAA,kBAAkB,GAAG,IAAI;AACzBC,EAAAA,SAAS,EAAEC,cAAc;AACzBC,EAAAA,QAAQ,GAAG,EAAA;AACO,CAAC,EAAE;AACrB,EAAA,MAAMC,SAAS,GAAGC,YAAY,EAAE,CAAA;AAEhC,EAAA,MAAMC,iBAAiB,GAAGC,qBAAsB,EAAE,CAAA;EAClD,MAAM;IACJC,UAAU;IACVC,WAAW;AACXC,IAAAA,OAAAA;AACF,GAAC,GAAGJ,iBAAiB,CAAA;AACrB,EAAA,MAAML,SAAS,GAAGC,cAAc,IAAIS,cAAc,EAAE,CAAA;AAEpD,EAAA,MAAMC,eAAe,GAAGC,WAAW,CAAC,CAACC,SAAyB,EAAEC,MAAmB,kBACjFC,cAAA,CAAAC,aAAA,CAACC,cAAc,EAAA;AACbC,IAAAA,GAAG,EAAEL,SAAU;AACfA,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAA,EAEnBC,MAAM,CAACK,GAAG,CAAC,CAAC;IACZC,WAAW;IACXC,OAAO;IACPC,MAAM;IACNC,UAAU;IACVC,IAAI;IACJC,aAAa;IACbC,OAAO;IACPC,EAAE;IACFC,SAAS;IACTC,MAAM;AACNC,IAAAA,OAAAA;AACF,GAAC,kBACCf,cAAA,CAAAC,aAAA,CAACe,eAAe,EAAA;AACdb,IAAAA,GAAG,EAAES,EAAG;AACRd,IAAAA,SAAS,EAAEA,SAAU;IACrBO,WAAW,EAAEA,WAAW,IAAI,IAAK;IACjCY,kBAAkB,EAAEC,kBAAkB,CAACC,CAAE;AACzCT,IAAAA,aAAa,EAAEA,aAAc;AAC7BC,IAAAA,OAAO,EAAEA,OAAQ;AACjB3B,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCuB,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,UAAU,EAAEA,UAAW;AACvBF,IAAAA,OAAO,EAAEA,OAAQ;AACjBG,IAAAA,IAAI,EAAEA,IAAK;AACXW,IAAAA,SAAS,EAAEC,YAAa;IACxBR,SAAS,EAAEA,MAAMnB,OAAO,CAACkB,EAAE,EAAEC,SAAS,CAAE;IACxCS,SAAS,EAAEC,aAAI,CAAE,CAAA;AACjBT,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,OAAO,EAAEA,OAAAA;GACV,CACF,CACa,CACjB,EAAE,CACD/B,kBAAkB,EAClBU,OAAO,CACR,CAAC,CAAA;AAEF,EAAA,oBACEM,cAAA,CAAAC,aAAA,CAACuB,oBAAoB,EAAA;AAACC,IAAAA,KAAK,EAAEnC,iBAAAA;AAAkB,GAAA,EAC3CH,QAAQ,EACRC,SAAS,iBAAIsC,YAAY,CACzB,CACE9B,eAAe,CAAC+B,cAAc,CAACC,UAAU,EAAEpC,UAAU,CAAC,EACtDI,eAAe,CAAC+B,cAAc,CAACE,WAAW,EAAEpC,WAAW,CAAC,CACzD,EACDR,SACF,CACoB,CAAC,CAAA;AAE3B;;;;"}
|
|
@@ -51,6 +51,7 @@ export default interface ToastElementProps extends BezierComponentProps, Require
|
|
|
51
51
|
}
|
|
52
52
|
export interface ToastProviderProps {
|
|
53
53
|
autoDismissTimeout?: number;
|
|
54
|
+
container?: HTMLElement | null;
|
|
54
55
|
children?: ReactNode[] | ReactNode;
|
|
55
56
|
}
|
|
56
57
|
export type ToastId = string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Toast/Toast.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Toast.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Toast/Toast.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type ToastProviderProps } from './Toast.types';
|
|
3
|
-
declare function ToastProvider({ autoDismissTimeout, children, }: ToastProviderProps): React.JSX.Element;
|
|
3
|
+
declare function ToastProvider({ autoDismissTimeout, container: givenContainer, children, }: ToastProviderProps): React.JSX.Element;
|
|
4
4
|
export default ToastProvider;
|
|
5
5
|
//# sourceMappingURL=ToastProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAY1C,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,eAAe,CAAA;AAOtB,iBAAS,aAAa,CAAC,EACrB,kBAAyB,EACzB,QAAa,GACd,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ToastProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/Toast/ToastProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAY1C,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,eAAe,CAAA;AAOtB,iBAAS,aAAa,CAAC,EACrB,kBAAyB,EACzB,SAAS,EAAE,cAAc,EACzB,QAAa,GACd,EAAE,kBAAkB,qBAkEpB;AAED,eAAe,aAAa,CAAA"}
|
package/package.json
CHANGED
|
@@ -23,6 +23,7 @@ import useToastProviderValues from './useToastContextValues'
|
|
|
23
23
|
|
|
24
24
|
function ToastProvider({
|
|
25
25
|
autoDismissTimeout = 3000,
|
|
26
|
+
container: givenContainer,
|
|
26
27
|
children = [],
|
|
27
28
|
}: ToastProviderProps) {
|
|
28
29
|
const isMounted = useIsMounted()
|
|
@@ -33,6 +34,7 @@ function ToastProvider({
|
|
|
33
34
|
rightToasts,
|
|
34
35
|
dismiss,
|
|
35
36
|
} = toastContextValue
|
|
37
|
+
const container = givenContainer ?? getRootElement()
|
|
36
38
|
|
|
37
39
|
const createContainer = useCallback((placement: ToastPlacement, toasts: ToastType[]) => (
|
|
38
40
|
<ToastContainer
|
|
@@ -85,7 +87,7 @@ function ToastProvider({
|
|
|
85
87
|
createContainer(ToastPlacement.BottomLeft, leftToasts),
|
|
86
88
|
createContainer(ToastPlacement.BottomRight, rightToasts),
|
|
87
89
|
],
|
|
88
|
-
|
|
90
|
+
container,
|
|
89
91
|
) }
|
|
90
92
|
</ToastContextProvider>
|
|
91
93
|
)
|