@razorpay/blade 11.2.1 → 11.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/build/lib/native/components/Toast/Toast.native.js +7 -0
  2. package/build/lib/native/components/Toast/Toast.native.js.map +1 -0
  3. package/build/lib/native/components/Toast/ToastContainer.native.js +7 -0
  4. package/build/lib/native/components/Toast/ToastContainer.native.js.map +1 -0
  5. package/build/lib/native/components/Toast/useToast.js +9 -0
  6. package/build/lib/native/components/Toast/useToast.js.map +1 -0
  7. package/build/lib/native/components/index.js +2 -0
  8. package/build/lib/native/components/index.js.map +1 -1
  9. package/build/lib/native/utils/metaAttribute/metaConstants.js +1 -1
  10. package/build/lib/native/utils/metaAttribute/metaConstants.js.map +1 -1
  11. package/build/lib/web/development/components/Toast/Toast.web.js +149 -0
  12. package/build/lib/web/development/components/Toast/Toast.web.js.map +1 -0
  13. package/build/lib/web/development/components/Toast/ToastContainer.web.js +309 -0
  14. package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -0
  15. package/build/lib/web/development/components/Toast/constants.js +26 -0
  16. package/build/lib/web/development/components/Toast/constants.js.map +1 -0
  17. package/build/lib/web/development/components/Toast/index.js +4 -0
  18. package/build/lib/web/development/components/Toast/index.js.map +1 -0
  19. package/build/lib/web/development/components/Toast/types.js +2 -0
  20. package/build/lib/web/development/components/Toast/types.js.map +1 -0
  21. package/build/lib/web/development/components/Toast/useToast.js +66 -0
  22. package/build/lib/web/development/components/Toast/useToast.js.map +1 -0
  23. package/build/lib/web/development/components/index.js +3 -0
  24. package/build/lib/web/development/components/index.js.map +1 -1
  25. package/build/lib/web/development/utils/metaAttribute/metaConstants.js +2 -0
  26. package/build/lib/web/development/utils/metaAttribute/metaConstants.js.map +1 -1
  27. package/build/lib/web/production/components/Toast/Toast.web.js +149 -0
  28. package/build/lib/web/production/components/Toast/Toast.web.js.map +1 -0
  29. package/build/lib/web/production/components/Toast/ToastContainer.web.js +309 -0
  30. package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -0
  31. package/build/lib/web/production/components/Toast/constants.js +26 -0
  32. package/build/lib/web/production/components/Toast/constants.js.map +1 -0
  33. package/build/lib/web/production/components/Toast/index.js +4 -0
  34. package/build/lib/web/production/components/Toast/index.js.map +1 -0
  35. package/build/lib/web/production/components/Toast/types.js +2 -0
  36. package/build/lib/web/production/components/Toast/types.js.map +1 -0
  37. package/build/lib/web/production/components/Toast/useToast.js +66 -0
  38. package/build/lib/web/production/components/Toast/useToast.js.map +1 -0
  39. package/build/lib/web/production/components/index.js +3 -0
  40. package/build/lib/web/production/components/index.js.map +1 -1
  41. package/build/lib/web/production/utils/metaAttribute/metaConstants.js +2 -0
  42. package/build/lib/web/production/utils/metaAttribute/metaConstants.js.map +1 -1
  43. package/build/types/components/index.d.ts +71 -1
  44. package/build/types/components/index.native.d.ts +71 -1
  45. package/package.json +3 -1
@@ -0,0 +1,7 @@
1
+ import { throwBladeError } from '../../utils/logger/logger.js';
2
+ import { jsx, Fragment } from 'react/jsx-runtime';
3
+
4
+ var Toast=function Toast(_props){throwBladeError({message:'Toast is not yet implemented for native',moduleName:'Toast'});return jsx(Fragment,{});};
5
+
6
+ export { Toast };
7
+ //# sourceMappingURL=Toast.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.native.js","sources":["../../../../../src/components/Toast/Toast.native.tsx"],"sourcesContent":["import type { ToastProps } from './types';\nimport { throwBladeError } from '~utils/logger';\n\nconst Toast = (\n _props: ToastProps & {\n isVisible?: boolean;\n },\n): React.ReactElement => {\n throwBladeError({\n message: 'Toast is not yet implemented for native',\n moduleName: 'Toast',\n });\n\n return <></>;\n};\n\nexport { Toast };\n"],"names":["Toast","_props","throwBladeError","message","moduleName","_jsx","_Fragment"],"mappings":";;;AAGM,IAAAA,KAAK,CAAG,SAARA,KAAKA,CACTC,MAEC,CACsB,CACvBC,eAAe,CAAC,CACdC,OAAO,CAAE,yCAAyC,CAClDC,UAAU,CAAE,OACd,CAAC,CAAC,CAEF,OAAOC,GAAA,CAAAC,QAAA,CAAA,EAAI,CAAC,CACd;;;;"}
@@ -0,0 +1,7 @@
1
+ import { throwBladeError } from '../../utils/logger/logger.js';
2
+ import { jsx, Fragment } from 'react/jsx-runtime';
3
+
4
+ var ToastContainer=function ToastContainer(){throwBladeError({message:'ToastContainer is not yet implemented for native',moduleName:'ToastContainer'});return jsx(Fragment,{});};
5
+
6
+ export { ToastContainer };
7
+ //# sourceMappingURL=ToastContainer.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastContainer.native.js","sources":["../../../../../src/components/Toast/ToastContainer.native.tsx"],"sourcesContent":["import { throwBladeError } from '~utils/logger';\n\nconst ToastContainer = (): React.ReactElement => {\n throwBladeError({\n message: 'ToastContainer is not yet implemented for native',\n moduleName: 'ToastContainer',\n });\n\n return <></>;\n};\n\nexport { ToastContainer };\n"],"names":["ToastContainer","throwBladeError","message","moduleName","_jsx","_Fragment"],"mappings":";;;AAEM,IAAAA,cAAc,CAAG,SAAjBA,cAAcA,EAA6B,CAC/CC,eAAe,CAAC,CACdC,OAAO,CAAE,kDAAkD,CAC3DC,UAAU,CAAE,gBACd,CAAC,CAAC,CAEF,OAAOC,GAAA,CAAAC,QAAA,CAAA,EAAI,CAAC,CACd;;;;"}
@@ -0,0 +1,9 @@
1
+ import toast, { useToasterStore } from 'react-hot-toast';
2
+ import { Toast } from './Toast.native.js';
3
+ import { logger } from '../../utils/logger/logger.js';
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ var useToast=function useToast(){var _useToasterStore=useToasterStore(),toasts=_useToasterStore.toasts;var show=function show(props){var _props$type;props.type=(_props$type=props.type)!=null?_props$type:'informational';if(toasts.find(function(t){return t.type==='promotional';})&&props.type==='promotional'){if(__DEV__){logger({message:'There can only be one promotional toast at a time',type:'warn',moduleName:'Toast'});}return '';}var isPromoToast=props.type==='promotional';if(props.autoDismiss===undefined){props.autoDismiss=!isPromoToast;}if(props.duration===undefined){if(isPromoToast){props.duration=8000;}else {props.duration=4000;}}if(!props.autoDismiss){props.duration=Infinity;}return toast.custom(function(_ref){var visible=_ref.visible,id=_ref.id;return jsx(Toast,Object.assign({},props,{id:id,isVisible:visible}));},props);};return {toasts:toasts,show:show,dismiss:toast.dismiss};};
7
+
8
+ export { useToast };
9
+ //# sourceMappingURL=useToast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToast.js","sources":["../../../../../src/components/Toast/useToast.tsx"],"sourcesContent":["import type { Toast } from 'react-hot-toast';\nimport toast, { useToasterStore } from 'react-hot-toast';\nimport type { ToastProps } from './types';\nimport { Toast as ToastComponent } from './Toast';\nimport { logger } from '~utils/logger';\n\ntype BladeToast = Omit<Toast, 'type'> & ToastProps;\ntype UseToastReturn = {\n toasts: BladeToast[];\n show: (props: ToastProps) => string;\n dismiss: (id?: string) => void;\n};\n\nconst useToast = (): UseToastReturn => {\n const { toasts } = useToasterStore();\n const show = (props: ToastProps): string => {\n props.type = props.type ?? 'informational';\n\n // Do not show promotional toasts if there is already one\n if (\n toasts.find((t) => {\n // @ts-expect-error - react-hot-toast doesn't recognize our promotional type\n return t.type === 'promotional';\n }) &&\n props.type === 'promotional'\n ) {\n if (__DEV__) {\n logger({\n message: 'There can only be one promotional toast at a time',\n type: 'warn',\n moduleName: 'Toast',\n });\n }\n return '';\n }\n\n const isPromoToast = props.type === 'promotional';\n if (props.autoDismiss === undefined) {\n // Promotional toasts should not auto dismiss\n props.autoDismiss = !isPromoToast;\n }\n\n if (props.duration === undefined) {\n // Set default durations\n if (isPromoToast) {\n props.duration = 8000;\n } else {\n props.duration = 4000;\n }\n }\n\n // If autoDismiss is false, set duration to infinity\n if (!props.autoDismiss) {\n props.duration = Infinity;\n }\n\n return toast.custom(({ visible, id }) => {\n return <ToastComponent {...props} id={id} isVisible={visible} />;\n }, props);\n };\n\n return {\n toasts: (toasts as unknown) as BladeToast[],\n show,\n dismiss: toast.dismiss,\n };\n};\n\nexport type { UseToastReturn };\nexport { useToast };\n"],"names":["useToast","_useToasterStore","useToasterStore","toasts","show","props","_props$type","type","find","t","__DEV__","logger","message","moduleName","isPromoToast","autoDismiss","undefined","duration","Infinity","toast","custom","_ref","visible","id","_jsx","ToastComponent","Object","assign","isVisible","dismiss"],"mappings":";;;;;AAaM,IAAAA,QAAQ,CAAG,SAAXA,QAAQA,EAAyB,CACrC,IAAAC,gBAAA,CAAmBC,eAAe,EAAE,CAA5BC,MAAM,CAAAF,gBAAA,CAANE,MAAM,CACd,IAAMC,IAAI,CAAG,SAAPA,IAAIA,CAAIC,KAAiB,CAAa,CAAAC,IAAAA,WAAA,CAC1CD,KAAK,CAACE,IAAI,CAAAD,CAAAA,WAAA,CAAGD,KAAK,CAACE,IAAI,GAAA,IAAA,CAAAD,WAAA,CAAI,eAAe,CAG1C,GACEH,MAAM,CAACK,IAAI,CAAC,SAACC,CAAC,CAAK,CAEjB,OAAOA,CAAC,CAACF,IAAI,GAAK,aAAa,CACjC,CAAC,CAAC,EACFF,KAAK,CAACE,IAAI,GAAK,aAAa,CAC5B,CACA,GAAIG,OAAO,CAAE,CACXC,MAAM,CAAC,CACLC,OAAO,CAAE,mDAAmD,CAC5DL,IAAI,CAAE,MAAM,CACZM,UAAU,CAAE,OACd,CAAC,CAAC,CACJ,CACA,OAAO,EAAE,CACX,CAEA,IAAMC,YAAY,CAAGT,KAAK,CAACE,IAAI,GAAK,aAAa,CACjD,GAAIF,KAAK,CAACU,WAAW,GAAKC,SAAS,CAAE,CAEnCX,KAAK,CAACU,WAAW,CAAG,CAACD,YAAY,CACnC,CAEA,GAAIT,KAAK,CAACY,QAAQ,GAAKD,SAAS,CAAE,CAEhC,GAAIF,YAAY,CAAE,CAChBT,KAAK,CAACY,QAAQ,CAAG,IAAI,CACvB,CAAC,KAAM,CACLZ,KAAK,CAACY,QAAQ,CAAG,IAAI,CACvB,CACF,CAGA,GAAI,CAACZ,KAAK,CAACU,WAAW,CAAE,CACtBV,KAAK,CAACY,QAAQ,CAAGC,QAAQ,CAC3B,CAEA,OAAOC,KAAK,CAACC,MAAM,CAAC,SAAAC,IAAA,CAAqB,CAAA,IAAlBC,OAAO,CAAAD,IAAA,CAAPC,OAAO,CAAEC,EAAE,CAAAF,IAAA,CAAFE,EAAE,CAChC,OAAOC,GAAA,CAACC,KAAc,CAAAC,MAAA,CAAAC,MAAA,CAAA,EAAA,CAAKtB,KAAK,CAAA,CAAEkB,EAAE,CAAEA,EAAG,CAACK,SAAS,CAAEN,OAAQ,CAAE,CAAA,CAAC,CAClE,CAAC,CAAEjB,KAAK,CAAC,CACX,CAAC,CAED,OAAO,CACLF,MAAM,CAAGA,MAAkC,CAC3CC,IAAI,CAAJA,IAAI,CACJyB,OAAO,CAAEV,KAAK,CAACU,OACjB,CAAC,CACH;;;;"}
@@ -344,6 +344,8 @@ export { TabPanel } from './Tabs/TabPanel.native.js';
344
344
  export { Tag } from './Tag/Tag.js';
345
345
  export { Tooltip } from './Tooltip/Tooltip.native.js';
346
346
  export { TooltipInteractiveWrapper } from './Tooltip/TooltipInteractiveWrapper.native.js';
347
+ export { ToastContainer } from './Toast/ToastContainer.native.js';
348
+ export { useToast } from './Toast/useToast.js';
347
349
  export { Heading } from './Typography/Heading/Heading.js';
348
350
  export { Text, getTextProps } from './Typography/Text/Text.js';
349
351
  export { Code } from './Typography/Code/Code.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- var MetaConstants={Accordion:'accordion',AccordionButton:'accordion-button',AccordionItem:'accordion-item',ActionList:'action-list',ActionListItem:'action-list-item',ActionListSection:'action-list-section',Alert:'alert',Amount:'amount',AutoComplete:'autocomplete',Badge:'badge',Box:'box',BaseBox:'base-box',BaseText:'base-text',Button:'button',Carousel:'carousel',Checkbox:'checkbox',CheckboxGroup:'checkbox-group',CheckboxLabel:'checkbox-label',Chip:'chip',ChipGroup:'chip-group',ChipLabel:'chip-label',Code:'code',Component:'blade-component',Counter:'counter',Display:'display',Divider:'divider',Dropdown:'dropdown',DropdownOverlay:'dropdown-overlay',DropdownFooter:'dropdown-footer',DropdownHeader:'dropdown-header',Icon:'icon',IconButton:'icon-button',Indicator:'indicator',Link:'link',List:'list',ListItem:'list-item',ListItemCode:'list-item-code',ListItemLink:'list-item-link',ListItemText:'list-item-text',OTPInput:'otp-input',PasswordInput:'password-input',TextArea:'textarea',TextInput:'textinput',ProgressBar:'progress-bar',Radio:'radio',RadioGroup:'radio-group',RadioLabel:'radio-label',SkipNav:'skipnav',Spinner:'spinner',SelectInput:'select-input',Tag:'tag',Tooltip:'tooltip',TooltipInteractiveWrapper:'tooltip-interactive-wrapper',Tabs:'tabs',TabList:'tab-list',TabItem:'tab-item',TabPanel:'tab-panel',TabIndicator:'tab-indicator',Table:'table',TableBody:'table-body',TableRow:'table-row',TableCell:'table-cell',TableHeader:'table-header',TableHeaderRow:'table-header-row',TableHeaderCell:'table-header-cell',TableFooter:'table-footer',TableFooterRow:'table-footer-row',TableFooterCell:'table-footer-cell',TableElement:'table-element',TourPopover:'tour-popover',TourMask:'tour-mask',Popover:'popover',PopoverInteractiveWrapper:'popover-interactive-wrapper',BottomSheet:'bottom-sheet',BottomSheetBody:'bottom-sheet-body',BottomSheetHeader:'bottom-sheet-header',BottomSheetFooter:'bottom-sheet-footer',BottomSheetGrabHandle:'bottomsheet-grab-handle',Card:'card',CardBody:'card-body',CardHeader:'card-header',CardFooter:'card-footer',Collapsible:'collapsible',CollapsibleBody:'collapsible-body',CollapsibleButton:'collapsible-button',CollapsibleLink:'collapsible-link',Modal:'modal',ModalBody:'modal-body',ModalHeader:'modal-header',ModalFooter:'modal-footer',ModalBackdrop:'modal-backdrop',ModalScrollOverlay:'modal-scroll-overlay',VisuallyHidden:'visually-hidden',FormLabel:'form-label',Switch:'switch',SwitchLabel:'switch-label',StyledBaseInput:'styled-base-input',Skeleton:'skeleton'};
1
+ var MetaConstants={Accordion:'accordion',AccordionButton:'accordion-button',AccordionItem:'accordion-item',ActionList:'action-list',ActionListItem:'action-list-item',ActionListSection:'action-list-section',Alert:'alert',Amount:'amount',AutoComplete:'autocomplete',Badge:'badge',Box:'box',BaseBox:'base-box',BaseText:'base-text',Button:'button',Carousel:'carousel',Checkbox:'checkbox',CheckboxGroup:'checkbox-group',CheckboxLabel:'checkbox-label',Chip:'chip',ChipGroup:'chip-group',ChipLabel:'chip-label',Code:'code',Component:'blade-component',Counter:'counter',Display:'display',Divider:'divider',Dropdown:'dropdown',DropdownOverlay:'dropdown-overlay',DropdownFooter:'dropdown-footer',DropdownHeader:'dropdown-header',Icon:'icon',IconButton:'icon-button',Indicator:'indicator',Link:'link',List:'list',ListItem:'list-item',ListItemCode:'list-item-code',ListItemLink:'list-item-link',ListItemText:'list-item-text',OTPInput:'otp-input',PasswordInput:'password-input',TextArea:'textarea',TextInput:'textinput',Toast:'toast',ToastContainer:'toast-container',ProgressBar:'progress-bar',Radio:'radio',RadioGroup:'radio-group',RadioLabel:'radio-label',SkipNav:'skipnav',Spinner:'spinner',SelectInput:'select-input',Tag:'tag',Tooltip:'tooltip',TooltipInteractiveWrapper:'tooltip-interactive-wrapper',Tabs:'tabs',TabList:'tab-list',TabItem:'tab-item',TabPanel:'tab-panel',TabIndicator:'tab-indicator',Table:'table',TableBody:'table-body',TableRow:'table-row',TableCell:'table-cell',TableHeader:'table-header',TableHeaderRow:'table-header-row',TableHeaderCell:'table-header-cell',TableFooter:'table-footer',TableFooterRow:'table-footer-row',TableFooterCell:'table-footer-cell',TableElement:'table-element',TourPopover:'tour-popover',TourMask:'tour-mask',Popover:'popover',PopoverInteractiveWrapper:'popover-interactive-wrapper',BottomSheet:'bottom-sheet',BottomSheetBody:'bottom-sheet-body',BottomSheetHeader:'bottom-sheet-header',BottomSheetFooter:'bottom-sheet-footer',BottomSheetGrabHandle:'bottomsheet-grab-handle',Card:'card',CardBody:'card-body',CardHeader:'card-header',CardFooter:'card-footer',Collapsible:'collapsible',CollapsibleBody:'collapsible-body',CollapsibleButton:'collapsible-button',CollapsibleLink:'collapsible-link',Modal:'modal',ModalBody:'modal-body',ModalHeader:'modal-header',ModalFooter:'modal-footer',ModalBackdrop:'modal-backdrop',ModalScrollOverlay:'modal-scroll-overlay',VisuallyHidden:'visually-hidden',FormLabel:'form-label',Switch:'switch',SwitchLabel:'switch-label',StyledBaseInput:'styled-base-input',Skeleton:'skeleton'};
2
2
 
3
3
  export { MetaConstants };
4
4
  //# sourceMappingURL=metaConstants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metaConstants.js","sources":["../../../../../src/utils/metaAttribute/metaConstants.ts"],"sourcesContent":["export const MetaConstants = {\n Accordion: 'accordion',\n AccordionButton: 'accordion-button',\n AccordionItem: 'accordion-item',\n ActionList: 'action-list',\n ActionListItem: 'action-list-item',\n ActionListSection: 'action-list-section',\n Alert: 'alert',\n Amount: 'amount',\n AutoComplete: 'autocomplete',\n Badge: 'badge',\n Box: 'box',\n BaseBox: 'base-box',\n BaseText: 'base-text',\n Button: 'button',\n Carousel: 'carousel',\n Checkbox: 'checkbox',\n CheckboxGroup: 'checkbox-group',\n CheckboxLabel: 'checkbox-label',\n Chip: 'chip',\n ChipGroup: 'chip-group',\n ChipLabel: 'chip-label',\n Code: 'code',\n Component: 'blade-component',\n Counter: 'counter',\n Display: 'display',\n Divider: 'divider',\n Dropdown: 'dropdown',\n DropdownOverlay: 'dropdown-overlay',\n DropdownFooter: 'dropdown-footer',\n DropdownHeader: 'dropdown-header',\n Icon: 'icon',\n IconButton: 'icon-button',\n Indicator: 'indicator',\n Link: 'link',\n List: 'list',\n ListItem: 'list-item',\n ListItemCode: 'list-item-code',\n ListItemLink: 'list-item-link',\n ListItemText: 'list-item-text',\n OTPInput: 'otp-input',\n PasswordInput: 'password-input',\n TextArea: 'textarea',\n TextInput: 'textinput',\n ProgressBar: 'progress-bar',\n Radio: 'radio',\n RadioGroup: 'radio-group',\n RadioLabel: 'radio-label',\n SkipNav: 'skipnav',\n Spinner: 'spinner',\n SelectInput: 'select-input',\n Tag: 'tag',\n Tooltip: 'tooltip',\n TooltipInteractiveWrapper: 'tooltip-interactive-wrapper',\n Tabs: 'tabs',\n TabList: 'tab-list',\n TabItem: 'tab-item',\n TabPanel: 'tab-panel',\n TabIndicator: 'tab-indicator',\n Table: 'table',\n TableBody: 'table-body',\n TableRow: 'table-row',\n TableCell: 'table-cell',\n TableHeader: 'table-header',\n TableHeaderRow: 'table-header-row',\n TableHeaderCell: 'table-header-cell',\n TableFooter: 'table-footer',\n TableFooterRow: 'table-footer-row',\n TableFooterCell: 'table-footer-cell',\n TableElement: 'table-element',\n TourPopover: 'tour-popover',\n TourMask: 'tour-mask',\n Popover: 'popover',\n PopoverInteractiveWrapper: 'popover-interactive-wrapper',\n BottomSheet: 'bottom-sheet',\n BottomSheetBody: 'bottom-sheet-body',\n BottomSheetHeader: 'bottom-sheet-header',\n BottomSheetFooter: 'bottom-sheet-footer',\n BottomSheetGrabHandle: 'bottomsheet-grab-handle',\n Card: 'card',\n CardBody: 'card-body',\n CardHeader: 'card-header',\n CardFooter: 'card-footer',\n Collapsible: 'collapsible',\n CollapsibleBody: 'collapsible-body',\n CollapsibleButton: 'collapsible-button',\n CollapsibleLink: 'collapsible-link',\n Modal: 'modal',\n ModalBody: 'modal-body',\n ModalHeader: 'modal-header',\n ModalFooter: 'modal-footer',\n ModalBackdrop: 'modal-backdrop',\n ModalScrollOverlay: 'modal-scroll-overlay',\n VisuallyHidden: 'visually-hidden',\n FormLabel: 'form-label',\n Switch: 'switch',\n SwitchLabel: 'switch-label',\n StyledBaseInput: 'styled-base-input',\n Skeleton: 'skeleton',\n} as const;\n"],"names":["MetaConstants","Accordion","AccordionButton","AccordionItem","ActionList","ActionListItem","ActionListSection","Alert","Amount","AutoComplete","Badge","Box","BaseBox","BaseText","Button","Carousel","Checkbox","CheckboxGroup","CheckboxLabel","Chip","ChipGroup","ChipLabel","Code","Component","Counter","Display","Divider","Dropdown","DropdownOverlay","DropdownFooter","DropdownHeader","Icon","IconButton","Indicator","Link","List","ListItem","ListItemCode","ListItemLink","ListItemText","OTPInput","PasswordInput","TextArea","TextInput","ProgressBar","Radio","RadioGroup","RadioLabel","SkipNav","Spinner","SelectInput","Tag","Tooltip","TooltipInteractiveWrapper","Tabs","TabList","TabItem","TabPanel","TabIndicator","Table","TableBody","TableRow","TableCell","TableHeader","TableHeaderRow","TableHeaderCell","TableFooter","TableFooterRow","TableFooterCell","TableElement","TourPopover","TourMask","Popover","PopoverInteractiveWrapper","BottomSheet","BottomSheetBody","BottomSheetHeader","BottomSheetFooter","BottomSheetGrabHandle","Card","CardBody","CardHeader","CardFooter","Collapsible","CollapsibleBody","CollapsibleButton","CollapsibleLink","Modal","ModalBody","ModalHeader","ModalFooter","ModalBackdrop","ModalScrollOverlay","VisuallyHidden","FormLabel","Switch","SwitchLabel","StyledBaseInput","Skeleton"],"mappings":"AAAa,IAAAA,aAAa,CAAG,CAC3BC,SAAS,CAAE,WAAW,CACtBC,eAAe,CAAE,kBAAkB,CACnCC,aAAa,CAAE,gBAAgB,CAC/BC,UAAU,CAAE,aAAa,CACzBC,cAAc,CAAE,kBAAkB,CAClCC,iBAAiB,CAAE,qBAAqB,CACxCC,KAAK,CAAE,OAAO,CACdC,MAAM,CAAE,QAAQ,CAChBC,YAAY,CAAE,cAAc,CAC5BC,KAAK,CAAE,OAAO,CACdC,GAAG,CAAE,KAAK,CACVC,OAAO,CAAE,UAAU,CACnBC,QAAQ,CAAE,WAAW,CACrBC,MAAM,CAAE,QAAQ,CAChBC,QAAQ,CAAE,UAAU,CACpBC,QAAQ,CAAE,UAAU,CACpBC,aAAa,CAAE,gBAAgB,CAC/BC,aAAa,CAAE,gBAAgB,CAC/BC,IAAI,CAAE,MAAM,CACZC,SAAS,CAAE,YAAY,CACvBC,SAAS,CAAE,YAAY,CACvBC,IAAI,CAAE,MAAM,CACZC,SAAS,CAAE,iBAAiB,CAC5BC,OAAO,CAAE,SAAS,CAClBC,OAAO,CAAE,SAAS,CAClBC,OAAO,CAAE,SAAS,CAClBC,QAAQ,CAAE,UAAU,CACpBC,eAAe,CAAE,kBAAkB,CACnCC,cAAc,CAAE,iBAAiB,CACjCC,cAAc,CAAE,iBAAiB,CACjCC,IAAI,CAAE,MAAM,CACZC,UAAU,CAAE,aAAa,CACzBC,SAAS,CAAE,WAAW,CACtBC,IAAI,CAAE,MAAM,CACZC,IAAI,CAAE,MAAM,CACZC,QAAQ,CAAE,WAAW,CACrBC,YAAY,CAAE,gBAAgB,CAC9BC,YAAY,CAAE,gBAAgB,CAC9BC,YAAY,CAAE,gBAAgB,CAC9BC,QAAQ,CAAE,WAAW,CACrBC,aAAa,CAAE,gBAAgB,CAC/BC,QAAQ,CAAE,UAAU,CACpBC,SAAS,CAAE,WAAW,CACtBC,WAAW,CAAE,cAAc,CAC3BC,KAAK,CAAE,OAAO,CACdC,UAAU,CAAE,aAAa,CACzBC,UAAU,CAAE,aAAa,CACzBC,OAAO,CAAE,SAAS,CAClBC,OAAO,CAAE,SAAS,CAClBC,WAAW,CAAE,cAAc,CAC3BC,GAAG,CAAE,KAAK,CACVC,OAAO,CAAE,SAAS,CAClBC,yBAAyB,CAAE,6BAA6B,CACxDC,IAAI,CAAE,MAAM,CACZC,OAAO,CAAE,UAAU,CACnBC,OAAO,CAAE,UAAU,CACnBC,QAAQ,CAAE,WAAW,CACrBC,YAAY,CAAE,eAAe,CAC7BC,KAAK,CAAE,OAAO,CACdC,SAAS,CAAE,YAAY,CACvBC,QAAQ,CAAE,WAAW,CACrBC,SAAS,CAAE,YAAY,CACvBC,WAAW,CAAE,cAAc,CAC3BC,cAAc,CAAE,kBAAkB,CAClCC,eAAe,CAAE,mBAAmB,CACpCC,WAAW,CAAE,cAAc,CAC3BC,cAAc,CAAE,kBAAkB,CAClCC,eAAe,CAAE,mBAAmB,CACpCC,YAAY,CAAE,eAAe,CAC7BC,WAAW,CAAE,cAAc,CAC3BC,QAAQ,CAAE,WAAW,CACrBC,OAAO,CAAE,SAAS,CAClBC,yBAAyB,CAAE,6BAA6B,CACxDC,WAAW,CAAE,cAAc,CAC3BC,eAAe,CAAE,mBAAmB,CACpCC,iBAAiB,CAAE,qBAAqB,CACxCC,iBAAiB,CAAE,qBAAqB,CACxCC,qBAAqB,CAAE,yBAAyB,CAChDC,IAAI,CAAE,MAAM,CACZC,QAAQ,CAAE,WAAW,CACrBC,UAAU,CAAE,aAAa,CACzBC,UAAU,CAAE,aAAa,CACzBC,WAAW,CAAE,aAAa,CAC1BC,eAAe,CAAE,kBAAkB,CACnCC,iBAAiB,CAAE,oBAAoB,CACvCC,eAAe,CAAE,kBAAkB,CACnCC,KAAK,CAAE,OAAO,CACdC,SAAS,CAAE,YAAY,CACvBC,WAAW,CAAE,cAAc,CAC3BC,WAAW,CAAE,cAAc,CAC3BC,aAAa,CAAE,gBAAgB,CAC/BC,kBAAkB,CAAE,sBAAsB,CAC1CC,cAAc,CAAE,iBAAiB,CACjCC,SAAS,CAAE,YAAY,CACvBC,MAAM,CAAE,QAAQ,CAChBC,WAAW,CAAE,cAAc,CAC3BC,eAAe,CAAE,mBAAmB,CACpCC,QAAQ,CAAE,UACZ;;;;"}
1
+ {"version":3,"file":"metaConstants.js","sources":["../../../../../src/utils/metaAttribute/metaConstants.ts"],"sourcesContent":["export const MetaConstants = {\n Accordion: 'accordion',\n AccordionButton: 'accordion-button',\n AccordionItem: 'accordion-item',\n ActionList: 'action-list',\n ActionListItem: 'action-list-item',\n ActionListSection: 'action-list-section',\n Alert: 'alert',\n Amount: 'amount',\n AutoComplete: 'autocomplete',\n Badge: 'badge',\n Box: 'box',\n BaseBox: 'base-box',\n BaseText: 'base-text',\n Button: 'button',\n Carousel: 'carousel',\n Checkbox: 'checkbox',\n CheckboxGroup: 'checkbox-group',\n CheckboxLabel: 'checkbox-label',\n Chip: 'chip',\n ChipGroup: 'chip-group',\n ChipLabel: 'chip-label',\n Code: 'code',\n Component: 'blade-component',\n Counter: 'counter',\n Display: 'display',\n Divider: 'divider',\n Dropdown: 'dropdown',\n DropdownOverlay: 'dropdown-overlay',\n DropdownFooter: 'dropdown-footer',\n DropdownHeader: 'dropdown-header',\n Icon: 'icon',\n IconButton: 'icon-button',\n Indicator: 'indicator',\n Link: 'link',\n List: 'list',\n ListItem: 'list-item',\n ListItemCode: 'list-item-code',\n ListItemLink: 'list-item-link',\n ListItemText: 'list-item-text',\n OTPInput: 'otp-input',\n PasswordInput: 'password-input',\n TextArea: 'textarea',\n TextInput: 'textinput',\n Toast: 'toast',\n ToastContainer: 'toast-container',\n ProgressBar: 'progress-bar',\n Radio: 'radio',\n RadioGroup: 'radio-group',\n RadioLabel: 'radio-label',\n SkipNav: 'skipnav',\n Spinner: 'spinner',\n SelectInput: 'select-input',\n Tag: 'tag',\n Tooltip: 'tooltip',\n TooltipInteractiveWrapper: 'tooltip-interactive-wrapper',\n Tabs: 'tabs',\n TabList: 'tab-list',\n TabItem: 'tab-item',\n TabPanel: 'tab-panel',\n TabIndicator: 'tab-indicator',\n Table: 'table',\n TableBody: 'table-body',\n TableRow: 'table-row',\n TableCell: 'table-cell',\n TableHeader: 'table-header',\n TableHeaderRow: 'table-header-row',\n TableHeaderCell: 'table-header-cell',\n TableFooter: 'table-footer',\n TableFooterRow: 'table-footer-row',\n TableFooterCell: 'table-footer-cell',\n TableElement: 'table-element',\n TourPopover: 'tour-popover',\n TourMask: 'tour-mask',\n Popover: 'popover',\n PopoverInteractiveWrapper: 'popover-interactive-wrapper',\n BottomSheet: 'bottom-sheet',\n BottomSheetBody: 'bottom-sheet-body',\n BottomSheetHeader: 'bottom-sheet-header',\n BottomSheetFooter: 'bottom-sheet-footer',\n BottomSheetGrabHandle: 'bottomsheet-grab-handle',\n Card: 'card',\n CardBody: 'card-body',\n CardHeader: 'card-header',\n CardFooter: 'card-footer',\n Collapsible: 'collapsible',\n CollapsibleBody: 'collapsible-body',\n CollapsibleButton: 'collapsible-button',\n CollapsibleLink: 'collapsible-link',\n Modal: 'modal',\n ModalBody: 'modal-body',\n ModalHeader: 'modal-header',\n ModalFooter: 'modal-footer',\n ModalBackdrop: 'modal-backdrop',\n ModalScrollOverlay: 'modal-scroll-overlay',\n VisuallyHidden: 'visually-hidden',\n FormLabel: 'form-label',\n Switch: 'switch',\n SwitchLabel: 'switch-label',\n StyledBaseInput: 'styled-base-input',\n Skeleton: 'skeleton',\n} as const;\n"],"names":["MetaConstants","Accordion","AccordionButton","AccordionItem","ActionList","ActionListItem","ActionListSection","Alert","Amount","AutoComplete","Badge","Box","BaseBox","BaseText","Button","Carousel","Checkbox","CheckboxGroup","CheckboxLabel","Chip","ChipGroup","ChipLabel","Code","Component","Counter","Display","Divider","Dropdown","DropdownOverlay","DropdownFooter","DropdownHeader","Icon","IconButton","Indicator","Link","List","ListItem","ListItemCode","ListItemLink","ListItemText","OTPInput","PasswordInput","TextArea","TextInput","Toast","ToastContainer","ProgressBar","Radio","RadioGroup","RadioLabel","SkipNav","Spinner","SelectInput","Tag","Tooltip","TooltipInteractiveWrapper","Tabs","TabList","TabItem","TabPanel","TabIndicator","Table","TableBody","TableRow","TableCell","TableHeader","TableHeaderRow","TableHeaderCell","TableFooter","TableFooterRow","TableFooterCell","TableElement","TourPopover","TourMask","Popover","PopoverInteractiveWrapper","BottomSheet","BottomSheetBody","BottomSheetHeader","BottomSheetFooter","BottomSheetGrabHandle","Card","CardBody","CardHeader","CardFooter","Collapsible","CollapsibleBody","CollapsibleButton","CollapsibleLink","Modal","ModalBody","ModalHeader","ModalFooter","ModalBackdrop","ModalScrollOverlay","VisuallyHidden","FormLabel","Switch","SwitchLabel","StyledBaseInput","Skeleton"],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import 'react';
3
+ import toast from 'react-hot-toast';
4
+ import styled, { keyframes, css } from 'styled-components';
5
+ import '../Box/index.js';
6
+ import '../Button/index.js';
7
+ import '../Button/IconButton/index.js';
8
+ import '../Icons/index.js';
9
+ import '../Box/BaseBox/index.js';
10
+ import '../Typography/index.js';
11
+ import '../../utils/index.js';
12
+ import getIn from '../../utils/lodashButBetter/get.js';
13
+ import '../../utils/makeAccessible/index.js';
14
+ import '../../utils/metaAttribute/index.js';
15
+ import { jsx, jsxs } from 'react/jsx-runtime';
16
+ import CheckCircleIcon from '../Icons/CheckCircleIcon/CheckCircleIcon.js';
17
+ import AlertTriangleIcon from '../Icons/AlertOctagonIcon/AlertOctagonIcon.js';
18
+ import InfoIcon from '../Icons/InfoIcon/InfoIcon.js';
19
+ import AlertTriangleIcon$1 from '../Icons/AlertTriangleIcon/AlertTriangleIcon.js';
20
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
21
+ import useTheme from '../BladeProvider/useTheme.js';
22
+ import { Box } from '../Box/Box.js';
23
+ import Button from '../Button/Button/Button.js';
24
+ import { makeMotionTime } from '../../utils/makeMotionTime/makeMotionTime.web.js';
25
+ import { castWebType } from '../../utils/platform/castUtils.js';
26
+ import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
27
+ import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
28
+ import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
29
+ import { Text } from '../Typography/Text/Text.js';
30
+ import { IconButton } from '../Button/IconButton/IconButton.js';
31
+ import CloseIcon from '../Icons/CloseIcon/CloseIcon.js';
32
+
33
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
+ var iconMap = {
36
+ positive: CheckCircleIcon,
37
+ negative: AlertTriangleIcon,
38
+ information: InfoIcon,
39
+ neutral: InfoIcon,
40
+ notice: AlertTriangleIcon$1
41
+ };
42
+ var borderColorMap = {
43
+ positive: 'feedback.border.positive.intense',
44
+ negative: 'feedback.border.negative.intense',
45
+ notice: 'feedback.border.notice.intense',
46
+ information: 'feedback.border.information.intense',
47
+ neutral: 'feedback.border.neutral.intense'
48
+ };
49
+ var slideIn = /*#__PURE__*/keyframes(["from{opacity:0;transform:translateY(100%);}to{opacity:1;transform:translateY(0);}"]);
50
+ var slideOut = /*#__PURE__*/keyframes(["from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(100%);}"]);
51
+ var AnimatedFade = /*#__PURE__*/styled(BaseBox).withConfig({
52
+ displayName: "Toastweb__AnimatedFade",
53
+ componentId: "lbyqty-0"
54
+ })(function (_ref) {
55
+ var animationType = _ref.animationType,
56
+ toastBorderColor = _ref.toastBorderColor;
57
+ return css(["overflow:hidden;border:1px solid ", ";", ""], toastBorderColor, animationType);
58
+ });
59
+ var Toast = function Toast(_ref2) {
60
+ var type = _ref2.type,
61
+ _ref2$color = _ref2.color,
62
+ color = _ref2$color === void 0 ? 'neutral' : _ref2$color,
63
+ leading = _ref2.leading,
64
+ action = _ref2.action,
65
+ content = _ref2.content,
66
+ onDismissButtonClick = _ref2.onDismissButtonClick,
67
+ isVisible = _ref2.isVisible,
68
+ id = _ref2.id;
69
+ var _useTheme = useTheme(),
70
+ theme = _useTheme.theme;
71
+ var Icon = leading || iconMap[color];
72
+ var isPromotional = type === 'promotional';
73
+ var actionButton = action ? /*#__PURE__*/jsx(Box, {
74
+ children: /*#__PURE__*/jsx(Button, {
75
+ size: "xsmall",
76
+ variant: isPromotional ? 'secondary' : 'tertiary',
77
+ color: isPromotional ? 'primary' : 'white',
78
+ onClick: function onClick(event) {
79
+ var _action$onClick;
80
+ event.stopPropagation();
81
+ action === null || action === void 0 ? void 0 : (_action$onClick = action.onClick) === null || _action$onClick === void 0 ? void 0 : _action$onClick.call(action, {
82
+ event: event,
83
+ toastId: id
84
+ });
85
+ },
86
+ isLoading: action === null || action === void 0 ? void 0 : action.isLoading,
87
+ children: action === null || action === void 0 ? void 0 : action.text
88
+ })
89
+ }) : null;
90
+ var enter = /*#__PURE__*/css(["opacity:0;animation:", " ", " ", " forwards;"], slideIn, makeMotionTime(theme.motion.duration.gentle), castWebType(theme.motion.easing.entrance.effective));
91
+ var exit = /*#__PURE__*/css(["opacity:1;animation:", " ", " ", " forwards;"], slideOut, makeMotionTime(theme.motion.duration.moderate), castWebType(theme.motion.easing.exit.effective));
92
+ return /*#__PURE__*/jsxs(AnimatedFade, _objectSpread(_objectSpread(_objectSpread({}, makeAccessible({
93
+ role: 'status',
94
+ liveRegion: 'polite'
95
+ })), metaAttribute({
96
+ name: MetaConstants.Toast
97
+ })), {}, {
98
+ toastBorderColor: getIn(theme.colors, isPromotional ? 'surface.border.gray.muted' : borderColorMap[color]),
99
+ animationType: isVisible ? enter : exit,
100
+ width: "100%",
101
+ display: "flex",
102
+ gap: "spacing.3",
103
+ paddingX: "spacing.4",
104
+ paddingY: isPromotional ? 'spacing.4' : 'spacing.3',
105
+ borderRadius: "medium",
106
+ alignItems: "center",
107
+ backgroundColor: isPromotional ? 'surface.background.gray.intense' : "feedback.background.".concat(color, ".intense"),
108
+ children: [Icon ? /*#__PURE__*/jsx(Box, {
109
+ flexShrink: 0,
110
+ display: "flex",
111
+ alignItems: "center",
112
+ alignSelf: isPromotional ? 'start' : 'center',
113
+ children: /*#__PURE__*/jsx(Icon, {
114
+ color: isPromotional ? 'surface.icon.gray.normal' : 'surface.icon.staticWhite.normal'
115
+ })
116
+ }) : null, /*#__PURE__*/jsxs(Box, {
117
+ display: "flex",
118
+ flexDirection: "column",
119
+ gap: "spacing.3",
120
+ children: [isPromotional ? content : /*#__PURE__*/jsx(Text, {
121
+ as: "span",
122
+ size: "small",
123
+ color: "surface.text.staticWhite.normal",
124
+ children: content
125
+ }), isPromotional && actionButton]
126
+ }), /*#__PURE__*/jsxs(Box, {
127
+ alignSelf: "start",
128
+ marginLeft: "auto",
129
+ display: "flex",
130
+ gap: "spacing.4",
131
+ children: [!isPromotional && actionButton, /*#__PURE__*/jsx(IconButton, {
132
+ emphasis: isPromotional ? 'intense' : 'subtle',
133
+ accessibilityLabel: "Dismiss toast",
134
+ onClick: function onClick(event) {
135
+ event.stopPropagation();
136
+ onDismissButtonClick === null || onDismissButtonClick === void 0 ? void 0 : onDismissButtonClick({
137
+ event: event,
138
+ toastId: id
139
+ });
140
+ toast.dismiss(id);
141
+ },
142
+ icon: CloseIcon
143
+ })]
144
+ })]
145
+ }));
146
+ };
147
+
148
+ export { Toast };
149
+ //# sourceMappingURL=Toast.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.web.js","sources":["../../../../../../src/components/Toast/Toast.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport toast from 'react-hot-toast';\nimport type { FlattenSimpleInterpolation } from 'styled-components';\nimport styled, { css, keyframes } from 'styled-components';\nimport type { ToastProps } from './types';\nimport { Box } from '~components/Box';\nimport { Button } from '~components/Button';\nimport { IconButton } from '~components/Button/IconButton';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { castWebType, makeMotionTime, useTheme } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\n\nconst iconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst borderColorMap = {\n positive: 'feedback.border.positive.intense',\n negative: 'feedback.border.negative.intense',\n notice: 'feedback.border.notice.intense',\n information: 'feedback.border.information.intense',\n neutral: 'feedback.border.neutral.intense',\n} as const;\n\nconst slideIn = keyframes`\n from {\n opacity: 0;\n transform: translateY(100%);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n`;\n\nconst slideOut = keyframes`\n from {\n opacity: 1;\n transform: translateY(0);\n }\n\n to {\n opacity: 0;\n transform: translateY(100%);\n }\n`;\n\nconst AnimatedFade = styled(BaseBox)<{\n animationType: FlattenSimpleInterpolation | null;\n toastBorderColor: string;\n}>(({ animationType, toastBorderColor }) => {\n return css`\n overflow: hidden;\n border: 1px solid ${toastBorderColor};\n ${animationType}\n `;\n});\n\nconst Toast = ({\n type,\n color = 'neutral',\n leading,\n action,\n content,\n onDismissButtonClick,\n isVisible,\n id,\n}: ToastProps & {\n isVisible?: boolean;\n}): React.ReactElement => {\n const { theme } = useTheme();\n const Icon = leading || iconMap[color];\n const isPromotional = type === 'promotional';\n const actionButton = action ? (\n <Box>\n <Button\n size=\"xsmall\"\n variant={isPromotional ? 'secondary' : 'tertiary'}\n color={isPromotional ? 'primary' : 'white'}\n onClick={(event) => {\n event.stopPropagation();\n action?.onClick?.({ event: event as never, toastId: id! });\n }}\n isLoading={action?.isLoading}\n >\n {action?.text}\n </Button>\n </Box>\n ) : null;\n\n const enter = css`\n opacity: 0;\n animation: ${slideIn} ${makeMotionTime(theme.motion.duration.gentle)}\n ${castWebType(theme.motion.easing.entrance.effective)} forwards;\n `;\n\n const exit = css`\n opacity: 1;\n animation: ${slideOut} ${makeMotionTime(theme.motion.duration.moderate)}\n ${castWebType(theme.motion.easing.exit.effective)} forwards;\n `;\n\n return (\n <AnimatedFade\n {...makeAccessible({ role: 'status', liveRegion: 'polite' })}\n {...metaAttribute({ name: MetaConstants.Toast })}\n toastBorderColor={getIn(\n theme.colors,\n isPromotional ? 'surface.border.gray.muted' : borderColorMap[color],\n )}\n animationType={isVisible ? enter : exit}\n width=\"100%\"\n display=\"flex\"\n gap=\"spacing.3\"\n paddingX=\"spacing.4\"\n paddingY={isPromotional ? 'spacing.4' : 'spacing.3'}\n borderRadius=\"medium\"\n alignItems=\"center\"\n backgroundColor={\n isPromotional ? 'surface.background.gray.intense' : `feedback.background.${color}.intense`\n }\n >\n {Icon ? (\n <Box\n flexShrink={0}\n display=\"flex\"\n alignItems=\"center\"\n alignSelf={isPromotional ? 'start' : 'center'}\n >\n <Icon\n color={isPromotional ? 'surface.icon.gray.normal' : 'surface.icon.staticWhite.normal'}\n />\n </Box>\n ) : null}\n <Box display=\"flex\" flexDirection=\"column\" gap=\"spacing.3\">\n {isPromotional ? (\n content\n ) : (\n <Text as=\"span\" size=\"small\" color=\"surface.text.staticWhite.normal\">\n {content}\n </Text>\n )}\n {isPromotional && actionButton}\n </Box>\n <Box alignSelf=\"start\" marginLeft=\"auto\" display=\"flex\" gap=\"spacing.4\">\n {!isPromotional && actionButton}\n <IconButton\n emphasis={isPromotional ? 'intense' : 'subtle'}\n accessibilityLabel=\"Dismiss toast\"\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n onDismissButtonClick?.({ event, toastId: id! });\n toast.dismiss(id);\n }}\n icon={CloseIcon}\n />\n </Box>\n </AnimatedFade>\n );\n};\n\nexport { Toast };\n"],"names":["iconMap","positive","CheckCircleIcon","negative","AlertOctagonIcon","information","InfoIcon","neutral","notice","AlertTriangleIcon","borderColorMap","slideIn","keyframes","slideOut","AnimatedFade","styled","BaseBox","withConfig","displayName","componentId","_ref","animationType","toastBorderColor","css","Toast","_ref2","type","_ref2$color","color","leading","action","content","onDismissButtonClick","isVisible","id","_useTheme","useTheme","theme","Icon","isPromotional","actionButton","_jsx","Box","children","Button","size","variant","onClick","event","_action$onClick","stopPropagation","call","toastId","isLoading","text","enter","makeMotionTime","motion","duration","gentle","castWebType","easing","entrance","effective","exit","moderate","_jsxs","_objectSpread","makeAccessible","role","liveRegion","metaAttribute","name","MetaConstants","getIn","colors","width","display","gap","paddingX","paddingY","borderRadius","alignItems","backgroundColor","concat","flexShrink","alignSelf","flexDirection","Text","as","marginLeft","IconButton","emphasis","accessibilityLabel","toast","dismiss","icon","CloseIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,IAAMA,OAAO,GAAG;AACdC,EAAAA,QAAQ,EAAEC,eAAe;AACzBC,EAAAA,QAAQ,EAAEC,iBAAgB;AAC1BC,EAAAA,WAAW,EAAEC,QAAQ;AACrBC,EAAAA,OAAO,EAAED,QAAQ;AACjBE,EAAAA,MAAM,EAAEC,mBAAAA;AACV,CAAC,CAAA;AAED,IAAMC,cAAc,GAAG;AACrBT,EAAAA,QAAQ,EAAE,kCAAkC;AAC5CE,EAAAA,QAAQ,EAAE,kCAAkC;AAC5CK,EAAAA,MAAM,EAAE,gCAAgC;AACxCH,EAAAA,WAAW,EAAE,qCAAqC;AAClDE,EAAAA,OAAO,EAAE,iCAAA;AACX,CAAU,CAAA;AAEV,IAAMI,OAAO,gBAAGC,SAAS,CAUxB,CAAA,mFAAA,CAAA,CAAA,CAAA;AAED,IAAMC,QAAQ,gBAAGD,SAAS,CAUzB,CAAA,mFAAA,CAAA,CAAA,CAAA;AAED,IAAME,YAAY,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,wBAAA;EAAAC,WAAA,EAAA,UAAA;AAAA,CAGjC,CAAA,CAAA,UAAAC,IAAA,EAAyC;AAAA,EAAA,IAAtCC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IAAEC,gBAAgB,GAAAF,IAAA,CAAhBE,gBAAgB,CAAA;AACnC,EAAA,OAAOC,GAAG,CAAA,CAAA,mCAAA,EAAA,GAAA,EAAA,EAAA,CAAA,EAEYD,gBAAgB,EAClCD,aAAa,CAAA,CAAA;AAEnB,CAAC,CAAC,CAAA;AAEF,IAAMG,KAAK,GAAG,SAARA,KAAKA,CAAAC,KAAA,EAWe;AAAA,EAAA,IAVxBC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IAAAC,WAAA,GAAAF,KAAA,CACJG,KAAK;AAALA,IAAAA,KAAK,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,WAAA;IACjBE,OAAO,GAAAJ,KAAA,CAAPI,OAAO;IACPC,MAAM,GAAAL,KAAA,CAANK,MAAM;IACNC,OAAO,GAAAN,KAAA,CAAPM,OAAO;IACPC,oBAAoB,GAAAP,KAAA,CAApBO,oBAAoB;IACpBC,SAAS,GAAAR,KAAA,CAATQ,SAAS;IACTC,EAAE,GAAAT,KAAA,CAAFS,EAAE,CAAA;AAIF,EAAA,IAAAC,SAAA,GAAkBC,QAAQ,EAAE;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK,CAAA;AACb,EAAA,IAAMC,IAAI,GAAGT,OAAO,IAAI7B,OAAO,CAAC4B,KAAK,CAAC,CAAA;AACtC,EAAA,IAAMW,aAAa,GAAGb,IAAI,KAAK,aAAa,CAAA;AAC5C,EAAA,IAAMc,YAAY,GAAGV,MAAM,gBACzBW,GAAA,CAACC,GAAG,EAAA;IAAAC,QAAA,eACFF,GAAA,CAACG,MAAM,EAAA;AACLC,MAAAA,IAAI,EAAC,QAAQ;AACbC,MAAAA,OAAO,EAAEP,aAAa,GAAG,WAAW,GAAG,UAAW;AAClDX,MAAAA,KAAK,EAAEW,aAAa,GAAG,SAAS,GAAG,OAAQ;AAC3CQ,MAAAA,OAAO,EAAE,SAAAA,OAACC,CAAAA,KAAK,EAAK;AAAA,QAAA,IAAAC,eAAA,CAAA;QAClBD,KAAK,CAACE,eAAe,EAAE,CAAA;AACvBpB,QAAAA,MAAM,aAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAAmB,eAAA,GAANnB,MAAM,CAAEiB,OAAO,MAAAE,IAAAA,IAAAA,eAAA,uBAAfA,eAAA,CAAAE,IAAA,CAAArB,MAAM,EAAY;AAAEkB,UAAAA,KAAK,EAAEA,KAAc;AAAEI,UAAAA,OAAO,EAAElB,EAAAA;AAAI,SAAC,CAAC,CAAA;OAC1D;AACFmB,MAAAA,SAAS,EAAEvB,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAEuB,SAAU;AAAAV,MAAAA,QAAA,EAE5Bb,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,MAAM,CAAEwB,IAAAA;KACH,CAAA;GACL,CAAC,GACJ,IAAI,CAAA;AAER,EAAA,IAAMC,KAAK,gBAAGhC,GAAG,CAAA,CAAA,sBAAA,EAAA,GAAA,EAAA,GAAA,EAAA,YAAA,CAAA,EAEFZ,OAAO,EAAI6C,cAAc,CAACnB,KAAK,CAACoB,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,EAChEC,WAAW,CAACvB,KAAK,CAACoB,MAAM,CAACI,MAAM,CAACC,QAAQ,CAACC,SAAS,CAAC,CACxD,CAAA;AAED,EAAA,IAAMC,IAAI,gBAAGzC,GAAG,CAAA,CAAA,sBAAA,EAAA,GAAA,EAAA,GAAA,EAAA,YAAA,CAAA,EAEDV,QAAQ,EAAI2C,cAAc,CAACnB,KAAK,CAACoB,MAAM,CAACC,QAAQ,CAACO,QAAQ,CAAC,EACnEL,WAAW,CAACvB,KAAK,CAACoB,MAAM,CAACI,MAAM,CAACG,IAAI,CAACD,SAAS,CAAC,CACpD,CAAA;EAED,oBACEG,IAAA,CAACpD,YAAY,EAAAqD,aAAA,CAAAA,aAAA,CAAAA,aAAA,CACPC,EAAAA,EAAAA,cAAc,CAAC;AAAEC,IAAAA,IAAI,EAAE,QAAQ;AAAEC,IAAAA,UAAU,EAAE,QAAA;GAAU,CAAC,CACxDC,EAAAA,aAAa,CAAC;IAAEC,IAAI,EAAEC,aAAa,CAACjD,KAAAA;AAAM,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;AAChDF,IAAAA,gBAAgB,EAAEoD,KAAK,CACrBrC,KAAK,CAACsC,MAAM,EACZpC,aAAa,GAAG,2BAA2B,GAAG7B,cAAc,CAACkB,KAAK,CACpE,CAAE;AACFP,IAAAA,aAAa,EAAEY,SAAS,GAAGsB,KAAK,GAAGS,IAAK;AACxCY,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,OAAO,EAAC,MAAM;AACdC,IAAAA,GAAG,EAAC,WAAW;AACfC,IAAAA,QAAQ,EAAC,WAAW;AACpBC,IAAAA,QAAQ,EAAEzC,aAAa,GAAG,WAAW,GAAG,WAAY;AACpD0C,IAAAA,YAAY,EAAC,QAAQ;AACrBC,IAAAA,UAAU,EAAC,QAAQ;IACnBC,eAAe,EACb5C,aAAa,GAAG,iCAAiC,0BAAA6C,MAAA,CAA0BxD,KAAK,EACjF,UAAA,CAAA;AAAAe,IAAAA,QAAA,EAEAL,CAAAA,IAAI,gBACHG,GAAA,CAACC,GAAG,EAAA;AACF2C,MAAAA,UAAU,EAAE,CAAE;AACdR,MAAAA,OAAO,EAAC,MAAM;AACdK,MAAAA,UAAU,EAAC,QAAQ;AACnBI,MAAAA,SAAS,EAAE/C,aAAa,GAAG,OAAO,GAAG,QAAS;MAAAI,QAAA,eAE9CF,GAAA,CAACH,IAAI,EAAA;AACHV,QAAAA,KAAK,EAAEW,aAAa,GAAG,0BAA0B,GAAG,iCAAA;OACrD,CAAA;AAAC,KACC,CAAC,GACJ,IAAI,eACR2B,IAAA,CAACxB,GAAG,EAAA;AAACmC,MAAAA,OAAO,EAAC,MAAM;AAACU,MAAAA,aAAa,EAAC,QAAQ;AAACT,MAAAA,GAAG,EAAC,WAAW;AAAAnC,MAAAA,QAAA,GACvDJ,aAAa,GACZR,OAAO,gBAEPU,GAAA,CAAC+C,IAAI,EAAA;AAACC,QAAAA,EAAE,EAAC,MAAM;AAAC5C,QAAAA,IAAI,EAAC,OAAO;AAACjB,QAAAA,KAAK,EAAC,iCAAiC;AAAAe,QAAAA,QAAA,EACjEZ,OAAAA;AAAO,OACJ,CACP,EACAQ,aAAa,IAAIC,YAAY,CAAA;AAAA,KAC3B,CAAC,eACN0B,IAAA,CAACxB,GAAG,EAAA;AAAC4C,MAAAA,SAAS,EAAC,OAAO;AAACI,MAAAA,UAAU,EAAC,MAAM;AAACb,MAAAA,OAAO,EAAC,MAAM;AAACC,MAAAA,GAAG,EAAC,WAAW;MAAAnC,QAAA,EAAA,CACpE,CAACJ,aAAa,IAAIC,YAAY,eAC/BC,GAAA,CAACkD,UAAU,EAAA;AACTC,QAAAA,QAAQ,EAAErD,aAAa,GAAG,SAAS,GAAG,QAAS;AAC/CsD,QAAAA,kBAAkB,EAAC,eAAe;AAClC9C,QAAAA,OAAO,EAAE,SAAAA,OAACC,CAAAA,KAA0C,EAAK;UACvDA,KAAK,CAACE,eAAe,EAAE,CAAA;AACvBlB,UAAAA,oBAAoB,KAApBA,IAAAA,IAAAA,oBAAoB,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAoB,CAAG;AAAEgB,YAAAA,KAAK,EAALA,KAAK;AAAEI,YAAAA,OAAO,EAAElB,EAAAA;AAAI,WAAC,CAAC,CAAA;AAC/C4D,UAAAA,KAAK,CAACC,OAAO,CAAC7D,EAAE,CAAC,CAAA;SACjB;AACF8D,QAAAA,IAAI,EAAEC,SAAAA;AAAU,OACjB,CAAC,CAAA;AAAA,KACC,CAAC,CAAA;AAAA,GAAA,CACM,CAAC,CAAA;AAEnB;;;;"}
@@ -0,0 +1,309 @@
1
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
+ import { useToaster, resolveValue } from 'react-hot-toast';
5
+ import React__default from 'react';
6
+ import styled from 'styled-components';
7
+ import { PEEKS, MAX_TOASTS, MIN_TOAST_MOBILE, MIN_TOAST_DESKTOP, CONTAINER_GUTTER_MOBILE, CONTAINER_GUTTER_DESKTOP, GUTTER, SCALE_FACTOR, PEEK_GUTTER, TOAST_Z_INDEX, TOAST_MAX_WIDTH } from './constants.js';
8
+ import '../../utils/index.js';
9
+ import '../Box/BaseBox/index.js';
10
+ import { useIsMobile } from '../../utils/useIsMobile.js';
11
+ import '../../utils/metaAttribute/index.js';
12
+ import { jsxs, jsx } from 'react/jsx-runtime';
13
+ import { BaseBox } from '../Box/BaseBox/BaseBox.web.js';
14
+ import { makeMotionTime } from '../../utils/makeMotionTime/makeMotionTime.web.js';
15
+ import useTheme from '../BladeProvider/useTheme.js';
16
+ import { makeSize } from '../../utils/makeSize/makeSize.js';
17
+ import { metaAttribute } from '../../utils/metaAttribute/metaAttribute.web.js';
18
+ import { MetaConstants } from '../../utils/metaAttribute/metaConstants.js';
19
+
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
22
+ var StyledToastWrapper = /*#__PURE__*/styled(BaseBox).withConfig({
23
+ displayName: "ToastContainerweb__StyledToastWrapper",
24
+ componentId: "mv9fjf-0"
25
+ })(function (_ref) {
26
+ var isVisible = _ref.isVisible,
27
+ index = _ref.index,
28
+ isExpanded = _ref.isExpanded,
29
+ isPromotional = _ref.isPromotional;
30
+ var opacity = isVisible ? 1 : 0;
31
+ // Only make the PEEKING and MAX_TOASTS toasts visible,
32
+ // Every other toasts should be hidden
33
+ if (index < PEEKS + MAX_TOASTS) {
34
+ opacity = 1;
35
+ } else if (isPromotional || isExpanded) {
36
+ opacity = 1;
37
+ } else {
38
+ opacity = 0;
39
+ }
40
+ return {
41
+ '& > *': {
42
+ pointerEvents: opacity === 1 ? 'auto' : 'none'
43
+ },
44
+ opacity: opacity
45
+ };
46
+ });
47
+ var getPositionStyle = function getPositionStyle(position, offset, scale, theme) {
48
+ var top = position.includes('top');
49
+ var verticalStyle = top ? {
50
+ top: 0
51
+ } : {
52
+ bottom: 0
53
+ };
54
+ var horizontalStyle = position.includes('center') ? {
55
+ justifyContent: 'center'
56
+ } : position.includes('right') ? {
57
+ justifyContent: 'flex-end'
58
+ } : {};
59
+ return _objectSpread(_objectSpread({
60
+ left: 0,
61
+ right: 0,
62
+ display: 'flex',
63
+ position: 'absolute',
64
+ transformOrigin: 'center',
65
+ transition: "".concat(makeMotionTime(theme.motion.duration.gentle), " ").concat(theme.motion.easing.standard.effective),
66
+ transitionProperty: 'transform, opacity, height',
67
+ transform: "translateY(".concat(offset * (top ? 1 : -1), "px) scale(").concat(scale, ")")
68
+ }, verticalStyle), horizontalStyle);
69
+ };
70
+ function isPromotionalToast(toast) {
71
+ // @ts-expect-error
72
+ return toast.type == 'promotional';
73
+ }
74
+ var Toaster = function Toaster(_ref2) {
75
+ var _promoToasts$, _promoToasts$0$height, _promoToasts$2;
76
+ var reverseOrder = _ref2.reverseOrder,
77
+ _ref2$position = _ref2.position,
78
+ position = _ref2$position === void 0 ? 'top-center' : _ref2$position,
79
+ toastOptions = _ref2.toastOptions,
80
+ containerClassName = _ref2.containerClassName;
81
+ var _useToaster = useToaster(toastOptions),
82
+ toasts = _useToaster.toasts,
83
+ handlers = _useToaster.handlers;
84
+ var _useTheme = useTheme(),
85
+ theme = _useTheme.theme;
86
+ var _React$useState = React__default.useState(0),
87
+ _React$useState2 = _slicedToArray(_React$useState, 2),
88
+ frontToastHeight = _React$useState2[0],
89
+ setFrontToastHeight = _React$useState2[1];
90
+ var _React$useState3 = React__default.useState(false),
91
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
92
+ hasManuallyExpanded = _React$useState4[0],
93
+ setHasManuallyExpanded = _React$useState4[1];
94
+ var isMobile = useIsMobile();
95
+ var minToasts = isMobile ? MIN_TOAST_MOBILE : MIN_TOAST_DESKTOP;
96
+ var containerGutter = isMobile ? CONTAINER_GUTTER_MOBILE : CONTAINER_GUTTER_DESKTOP;
97
+ var infoToasts = React__default.useMemo(function () {
98
+ return toasts.filter(function (toast) {
99
+ return !isPromotionalToast(toast);
100
+ });
101
+ }, [toasts]);
102
+ var promoToasts = React__default.useMemo(function () {
103
+ return toasts.filter(function (toast) {
104
+ return isPromotionalToast(toast);
105
+ });
106
+ }, [toasts]);
107
+
108
+ // always keep promo toasts at the bottom of the stack
109
+ var recomputedToasts = React__default.useMemo(function () {
110
+ return [].concat(_toConsumableArray(infoToasts), _toConsumableArray(promoToasts));
111
+ }, [infoToasts, promoToasts]);
112
+ var hasPromoToast = promoToasts.length > 0 && ((_promoToasts$ = promoToasts[0]) === null || _promoToasts$ === void 0 ? void 0 : _promoToasts$.visible);
113
+ var promoToastHeight = (_promoToasts$0$height = (_promoToasts$2 = promoToasts[0]) === null || _promoToasts$2 === void 0 ? void 0 : _promoToasts$2.height) !== null && _promoToasts$0$height !== void 0 ? _promoToasts$0$height : 0;
114
+ var isExpanded = hasManuallyExpanded || recomputedToasts.length <= minToasts;
115
+ React__default.useLayoutEffect(function () {
116
+ // find the first toast which is visible
117
+ var firstToast = infoToasts.find(function (t, index) {
118
+ return t.visible && index === 0;
119
+ });
120
+ if (firstToast) {
121
+ var _firstToast$height;
122
+ setFrontToastHeight((_firstToast$height = firstToast.height) !== null && _firstToast$height !== void 0 ? _firstToast$height : 0);
123
+ }
124
+ }, [infoToasts]);
125
+
126
+ // calculate total height of all toasts
127
+ var totalHeight = React__default.useMemo(function () {
128
+ return recomputedToasts
129
+ // only consider visible recomputedToasts
130
+ .filter(function (toast) {
131
+ return toast.visible;
132
+ }).reduce(function (prevHeight, toast) {
133
+ var _toast$height;
134
+ return prevHeight + ((_toast$height = toast.height) !== null && _toast$height !== void 0 ? _toast$height : 0);
135
+ }, 0) + recomputedToasts.length * GUTTER;
136
+ }, [recomputedToasts]);
137
+
138
+ // Stacking logic explained in detail:
139
+ // https://www.loom.com/share/522d9a445e2f41e1886cce4decb9ab9d?sid=4287acf6-8d44-431b-93e1-c1a0d40a0aba
140
+ //
141
+ // 1. 3 toasts can be stacked on top of each other
142
+ // 2. After 3 toasts, the toasts will be scaled down and peek from behind
143
+ // 3. There can be maximum of 3 toasts peeking from behind
144
+ // 4. After 3 peeking toasts, the toasts will be hidden
145
+ // 5. If there is a promo toast, all toasts will be lifted up
146
+ // 6. Promo toasts will always be on the bottom
147
+ var calculateYPosition = React__default.useCallback(function (_ref3) {
148
+ var toast = _ref3.toast,
149
+ index = _ref3.index;
150
+ // find the current toast index
151
+ var toastIndex = infoToasts.findIndex(function (t) {
152
+ return t.id === toast.id;
153
+ });
154
+ // number of toasts before this toast
155
+ var toastsBefore = infoToasts.filter(function (toast, i) {
156
+ return i < toastIndex && toast.visible;
157
+ }).length;
158
+ var scale = Math.max(0.7, 1 - toastsBefore * SCALE_FACTOR);
159
+ // first toast should always have a scale of 1
160
+ if (index < MAX_TOASTS) {
161
+ scale = 1;
162
+ }
163
+
164
+ // y position of toast,
165
+ var offset = infoToasts.filter(function (toast) {
166
+ return toast.visible;
167
+ }).slice(0, toastsBefore).reduce(function (y, toast) {
168
+ // if the toast is expanded, add the height of the toast + gutter
169
+ if (isExpanded) {
170
+ var _toast$height2;
171
+ return y + ((_toast$height2 = toast.height) !== null && _toast$height2 !== void 0 ? _toast$height2 : 0) + GUTTER;
172
+ }
173
+ // if the toast is not expanded, add only the peek gutter
174
+ return y + PEEK_GUTTER;
175
+ }, 0);
176
+
177
+ // lift all info toasts up if there is a promo toast
178
+ if (hasPromoToast) {
179
+ offset += GUTTER + promoToastHeight;
180
+ }
181
+
182
+ // if this is a promo toast, then put it at the bottom and force the scale to 1
183
+ if (isPromotionalToast(toast)) {
184
+ offset = 0;
185
+ scale = 1;
186
+ }
187
+ return {
188
+ offset: offset,
189
+ scale: isExpanded ? 1 : scale
190
+ };
191
+ }, [hasPromoToast, infoToasts, isExpanded, promoToastHeight]);
192
+ var handleMouseEnter = function handleMouseEnter() {
193
+ if (isMobile) return;
194
+ setHasManuallyExpanded(true);
195
+ handlers.startPause();
196
+ };
197
+ var handleMouseLeave = function handleMouseLeave() {
198
+ if (isMobile) return;
199
+ setHasManuallyExpanded(false);
200
+ handlers.endPause();
201
+ };
202
+ var handleToastClick = function handleToastClick() {
203
+ if (!isMobile) return;
204
+ setHasManuallyExpanded(function (prev) {
205
+ var next = !prev;
206
+ if (next) {
207
+ handlers.startPause();
208
+ } else {
209
+ handlers.endPause();
210
+ }
211
+ return next;
212
+ });
213
+ };
214
+ return /*#__PURE__*/jsxs(BaseBox, _objectSpread(_objectSpread({
215
+ position: "fixed",
216
+ zIndex: TOAST_Z_INDEX,
217
+ top: makeSize(containerGutter),
218
+ left: makeSize(containerGutter),
219
+ right: makeSize(containerGutter),
220
+ bottom: makeSize(containerGutter),
221
+ width: "calc(100% - ".concat(containerGutter * 2, "px)"),
222
+ maxWidth: makeSize(TOAST_MAX_WIDTH),
223
+ pointerEvents: "none",
224
+ className: containerClassName
225
+ }, metaAttribute({
226
+ name: MetaConstants.ToastContainer
227
+ })), {}, {
228
+ children: [/*#__PURE__*/jsx(BaseBox, _objectSpread({
229
+ position: "absolute",
230
+ bottom: "".concat(promoToastHeight, "px"),
231
+ left: "0px",
232
+ width: "100%",
233
+ pointerEvents: isExpanded ? 'all' : 'none',
234
+ height: makeSize(isExpanded ? totalHeight - promoToastHeight : frontToastHeight),
235
+ zIndex: -100,
236
+ onMouseEnter: handleMouseEnter,
237
+ onMouseLeave: handleMouseLeave,
238
+ onClick: handleToastClick
239
+ }, metaAttribute({
240
+ testID: 'toast-mouseover-container'
241
+ }))), recomputedToasts.map(function (toast, index) {
242
+ var _toast$position;
243
+ var toastPosition = (_toast$position = toast.position) !== null && _toast$position !== void 0 ? _toast$position : position;
244
+ var isPromotional = isPromotionalToast(toast);
245
+ var _calculateYPosition = calculateYPosition({
246
+ toast: toast,
247
+ isExpanded: isExpanded,
248
+ reverseOrder: reverseOrder,
249
+ index: index
250
+ }),
251
+ offset = _calculateYPosition.offset,
252
+ scale = _calculateYPosition.scale;
253
+ var positionStyle = getPositionStyle(toastPosition, offset, scale, theme);
254
+ // recalculate height of toast
255
+ var ref = function ref(el) {
256
+ if (el && typeof toast.height !== 'number') {
257
+ var height = el.getBoundingClientRect().height;
258
+ handlers.updateHeight(toast.id, height);
259
+ }
260
+ };
261
+ var toastHeight = toast.height;
262
+ if (index > MAX_TOASTS - 1 && !isPromotional) {
263
+ toastHeight = frontToastHeight;
264
+ }
265
+ if (isExpanded) {
266
+ toastHeight = toast.height;
267
+ }
268
+ return /*#__PURE__*/jsx(StyledToastWrapper, {
269
+ index: index,
270
+ ref: ref,
271
+ isExpanded: isExpanded,
272
+ isVisible: toast.visible,
273
+ isPromotional: isPromotional,
274
+ style: _objectSpread(_objectSpread({}, positionStyle), {}, {
275
+ zIndex: -1 * index,
276
+ height: toastHeight,
277
+ overflow: 'hidden'
278
+ }),
279
+ onMouseEnter: function onMouseEnter() {
280
+ if (isPromotional) return;
281
+ handleMouseEnter();
282
+ },
283
+ onMouseLeave: function onMouseLeave() {
284
+ if (isPromotional) return;
285
+ handleMouseLeave();
286
+ },
287
+ onClick: function onClick() {
288
+ if (isPromotional) return;
289
+ handleToastClick();
290
+ },
291
+ children: /*#__PURE__*/jsx(BaseBox, {
292
+ height: "fit-content",
293
+ width: "100%",
294
+ children: resolveValue(toast.message, _objectSpread(_objectSpread({}, toast), {}, {
295
+ index: index
296
+ }))
297
+ })
298
+ }, toast.id);
299
+ })]
300
+ }));
301
+ };
302
+ var ToastContainer = function ToastContainer() {
303
+ return /*#__PURE__*/jsx(Toaster, {
304
+ position: "bottom-left"
305
+ });
306
+ };
307
+
308
+ export { ToastContainer };
309
+ //# sourceMappingURL=ToastContainer.web.js.map