@transferwise/components 0.0.0-experimental-36d28a2 → 0.0.0-experimental-18e9dad

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 (72) hide show
  1. package/build/es/no-polyfill/common/closeButton/CloseButton.js +1 -1
  2. package/build/es/no-polyfill/display/Display.js +1 -1
  3. package/build/es/no-polyfill/image/Image.js +1 -1
  4. package/build/es/no-polyfill/index.js +1 -1
  5. package/build/es/no-polyfill/loader/Loader.js +1 -1
  6. package/build/es/no-polyfill/nudge/Nudge.js +1 -1
  7. package/build/es/no-polyfill/nudge/Nudge.spec.js +1 -1
  8. package/build/es/no-polyfill/nudge/Nudge.story.js +1 -1
  9. package/build/es/polyfill/common/closeButton/CloseButton.js +1 -1
  10. package/build/es/polyfill/display/Display.js +1 -1
  11. package/build/es/polyfill/image/Image.js +1 -1
  12. package/build/es/polyfill/index.js +1 -1
  13. package/build/es/polyfill/loader/Loader.js +1 -1
  14. package/build/es/polyfill/nudge/Nudge.js +1 -1
  15. package/build/es/polyfill/nudge/Nudge.spec.js +1 -1
  16. package/build/es/polyfill/nudge/Nudge.story.js +1 -1
  17. package/build/main.css +1 -1
  18. package/build/styles/main.css +1 -1
  19. package/build/types/avatar/index.d.ts +0 -1
  20. package/build/types/common/closeButton/CloseButton.d.ts +0 -4
  21. package/build/types/display/Display.d.ts +1 -1
  22. package/build/types/image/Image.d.ts +0 -1
  23. package/build/types/index.d.ts +0 -3
  24. package/build/types/nudge/Nudge.d.ts +8 -1
  25. package/build/types/nudge/Nudge.story.d.ts +1 -1
  26. package/build/umd/no-polyfill/main.js +1 -1
  27. package/build/umd/polyfill/main.js +1 -1
  28. package/package.json +1 -1
  29. package/build/es/no-polyfill/common/card/Card.js +0 -21
  30. package/build/es/no-polyfill/common/card/Card.spec.js +0 -6
  31. package/build/es/no-polyfill/common/card/Card.story.js +0 -1
  32. package/build/es/no-polyfill/common/card/index.js +0 -1
  33. package/build/es/no-polyfill/promoCard/PromoCard.js +0 -51
  34. package/build/es/no-polyfill/promoCard/PromoCard.spec.js +0 -13
  35. package/build/es/no-polyfill/promoCard/PromoCard.story.js +0 -1
  36. package/build/es/no-polyfill/promoCard/PromoCardContext.js +0 -19
  37. package/build/es/no-polyfill/promoCard/PromoCardContext.spec.js +0 -4
  38. package/build/es/no-polyfill/promoCard/PromoCardGroup.js +0 -20
  39. package/build/es/no-polyfill/promoCard/PromoCardGroup.spec.js +0 -5
  40. package/build/es/no-polyfill/promoCard/PromoCardGroup.story.js +0 -1
  41. package/build/es/no-polyfill/promoCard/PromoCardIndicator.js +0 -16
  42. package/build/es/no-polyfill/promoCard/index.js +0 -1
  43. package/build/es/polyfill/common/card/Card.js +0 -21
  44. package/build/es/polyfill/common/card/Card.spec.js +0 -6
  45. package/build/es/polyfill/common/card/Card.story.js +0 -1
  46. package/build/es/polyfill/common/card/index.js +0 -1
  47. package/build/es/polyfill/promoCard/PromoCard.js +0 -51
  48. package/build/es/polyfill/promoCard/PromoCard.spec.js +0 -13
  49. package/build/es/polyfill/promoCard/PromoCard.story.js +0 -1
  50. package/build/es/polyfill/promoCard/PromoCardContext.js +0 -19
  51. package/build/es/polyfill/promoCard/PromoCardContext.spec.js +0 -4
  52. package/build/es/polyfill/promoCard/PromoCardGroup.js +0 -20
  53. package/build/es/polyfill/promoCard/PromoCardGroup.spec.js +0 -5
  54. package/build/es/polyfill/promoCard/PromoCardGroup.story.js +0 -1
  55. package/build/es/polyfill/promoCard/PromoCardIndicator.js +0 -16
  56. package/build/es/polyfill/promoCard/index.js +0 -1
  57. package/build/styles/common/card/Card.css +0 -1
  58. package/build/styles/promoCard/PromoCard.css +0 -1
  59. package/build/types/common/card/Card.d.ts +0 -40
  60. package/build/types/common/card/Card.spec.d.ts +0 -1
  61. package/build/types/common/card/Card.story.d.ts +0 -6
  62. package/build/types/common/card/index.d.ts +0 -1
  63. package/build/types/promoCard/PromoCard.d.ts +0 -123
  64. package/build/types/promoCard/PromoCard.spec.d.ts +0 -1
  65. package/build/types/promoCard/PromoCard.story.d.ts +0 -10
  66. package/build/types/promoCard/PromoCardContext.d.ts +0 -45
  67. package/build/types/promoCard/PromoCardContext.spec.d.ts +0 -1
  68. package/build/types/promoCard/PromoCardGroup.d.ts +0 -55
  69. package/build/types/promoCard/PromoCardGroup.spec.d.ts +0 -1
  70. package/build/types/promoCard/PromoCardGroup.story.d.ts +0 -8
  71. package/build/types/promoCard/PromoCardIndicator.d.ts +0 -31
  72. package/build/types/promoCard/index.d.ts +0 -2
@@ -1 +1 @@
1
- import{Cross,CrossCircleFill}from"@transferwise/icons";import classNames from"classnames";import{forwardRef}from"react";import{useIntl}from"react-intl";import{Size}from"../propsValues/size";import messages from"./CloseButton.messages";import{jsx as _jsx}from"react/jsx-runtime";export var CloseButton=/*#__PURE__*/forwardRef(function(a,b){var c,d=a["aria-label"],e=a.size,f=void 0===e?Size.MEDIUM:e,g=a.filled,h=a.className,i=a.onClick,j=a.isDisabled,k=a.testId,l=useIntl();null!==(c=d)&&void 0!==c?c:d=l.formatMessage(messages.ariaLabel);var m=void 0!==g&&g?CrossCircleFill:Cross;return/*#__PURE__*/_jsx("button",{ref:b,type:"button",className:classNames("np-close-button","close btn-link","text-no-decoration",{"np-close-button--large":f===Size.MEDIUM,"np-close-button--x-large":f===Size.LARGE},h),"aria-label":d,"aria-disabled":j,disabled:j,"data-testid":k,onClick:i,children:/*#__PURE__*/_jsx(m,{size:f===Size.SMALL?16:24})})});
1
+ import{Cross,CrossCircleFill}from"@transferwise/icons";import classNames from"classnames";import{forwardRef}from"react";import{useIntl}from"react-intl";import{Size}from"../propsValues/size";import messages from"./CloseButton.messages";import{jsx as _jsx}from"react/jsx-runtime";export var CloseButton=/*#__PURE__*/forwardRef(function(a,b){var c,d=a["aria-label"],e=a.size,f=void 0===e?Size.MEDIUM:e,g=a.filled,h=a.className,i=a.onClick,j=useIntl();null!==(c=d)&&void 0!==c?c:d=j.formatMessage(messages.ariaLabel);var k=void 0!==g&&g?CrossCircleFill:Cross;return/*#__PURE__*/_jsx("button",{ref:b,type:"button",className:classNames("np-close-button","close btn-link","text-no-decoration",{"np-close-button--large":f===Size.MEDIUM,"np-close-button--x-large":f===Size.LARGE},h),"aria-label":d,onClick:i,children:/*#__PURE__*/_jsx(k,{size:f===Size.SMALL?16:24})})});
@@ -1 +1 @@
1
- import classNames from"classnames";import{Typography}from"../common";import{jsx as _jsx}from"react/jsx-runtime";function Display(a){var b=a.as,c=void 0===b?"h1":b,d=a.type,e=void 0===d?Typography.DISPLAY_LARGE:d,f=a.children,g=a.className,h=a.id;return/*#__PURE__*/_jsx(c,{id:h,className:classNames("np-text-".concat(e),"text-primary",g),children:f})}export default Display;
1
+ import classNames from"classnames";import{Typography}from"../common";import{jsx as _jsx}from"react/jsx-runtime";function Display(a){var b=a.as,c=void 0===b?"h1":b,d=a.type,e=void 0===d?Typography.DISPLAY_LARGE:d,f=a.children,g=a.className;return/*#__PURE__*/_jsx(c,{className:classNames("np-text-".concat(e),"text-primary",g),children:f})}export default Display;
@@ -9,4 +9,4 @@ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classnam
9
9
  * @param {Function} [onError=()=>{}] - function that contains error callback. Doesn't fire on SSR https://github.com/facebook/react/issues/15446
10
10
  * @param {boolean} [loading="lazy"] - This attribute follows the loading API attribute. If set to eager image will load immediately just like a normal image tag otherwise it will lazy load.
11
11
  * @usage `<Image alt="alt" src="src" id="id1" onLoad={()=>{}} onError={())=>{}} loading="lazy" />`
12
- */import{jsx as _jsx}from"react/jsx-runtime";export var EmptyTransparentImage="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";var Image=function(a){var b=a.id,c=a.src,d=a.alt,e=a.onLoad,f=a.onError,g=a.className,h=a.loading,i=a.stretch,j=a.role,k=a.shrink,l=useRef(),m=useHasIntersected({elRef:l,loading:h}),n=_slicedToArray(m,1),o=n[0],p=c,q=e;return"lazy"!==h||o||(p=EmptyTransparentImage,q=null),/*#__PURE__*/_jsx("img",{ref:l,id:b,alt:d,src:p,className:classnames(["tw-image",{"tw-image__stretch":i,"tw-image__shrink":k},g]),role:j,onLoad:q,onError:f})};Image.propTypes={id:PropTypes.string,src:PropTypes.string.isRequired,alt:PropTypes.string.isRequired,onLoad:PropTypes.func,onError:PropTypes.func,className:PropTypes.string,loading:PropTypes.oneOf(["lazy","eager"]),stretch:PropTypes.bool,shrink:PropTypes.bool,role:PropTypes.string},Image.defaultProps={id:null,className:"",onLoad:function onLoad(){},onError:function onError(){},loading:"eager",stretch:!0,shrink:!0};export default Image;
12
+ */import{jsx as _jsx}from"react/jsx-runtime";export var EmptyTransparentImage="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";var Image=function(a){var b=a.id,c=a.src,d=a.alt,e=a.onLoad,f=a.onError,g=a.className,h=a.loading,i=a.stretch,j=a.shrink,k=useRef(),l=useHasIntersected({elRef:k,loading:h}),m=_slicedToArray(l,1),n=m[0],o=c,p=e;return"lazy"!==h||n||(o=EmptyTransparentImage,p=null),/*#__PURE__*/_jsx("img",{ref:k,id:b,alt:d,src:o,className:classnames(["tw-image",{"tw-image__stretch":i,"tw-image__shrink":j},g]),onLoad:p,onError:f})};Image.propTypes={id:PropTypes.string,src:PropTypes.string.isRequired,alt:PropTypes.string.isRequired,onLoad:PropTypes.func,onError:PropTypes.func,className:PropTypes.string,loading:PropTypes.oneOf(["lazy","eager"]),stretch:PropTypes.bool,shrink:PropTypes.bool},Image.defaultProps={id:null,className:"",onLoad:function onLoad(){},onError:function onError(){},loading:"eager",stretch:!0,shrink:!0};export default Image;
@@ -2,7 +2,7 @@
2
2
  * Types
3
3
  */ /**
4
4
  * Components
5
- */export{default as Title}from"./title";export{default as Body}from"./body";export{default as Accordion}from"./accordion";export{default as ActionButton}from"./actionButton";export{default as ActionOption}from"./actionOption";export{default as Alert}from"./alert";export{default as Avatar}from"./avatar";export{default as AvatarWrapper}from"./avatarWrapper";export{default as Badge}from"./badge";export{default as BottomSheet}from"./common/bottomSheet";export{default as Button}from"./button";export{default as Card}from"./card";export{default as BaseCard}from"./common/card";export{default as Checkbox}from"./checkbox";export{default as CheckboxButton}from"./checkboxButton";export{default as CheckboxOption}from"./checkboxOption";export{default as Chevron}from"./chevron";export{default as Chips,Chip}from"./chips";export{default as CircularButton}from"./circularButton";export{default as DateInput}from"./dateInput";export{default as DateLookup}from"./dateLookup";export{default as Decision}from"./decision";export{default as DefinitionList}from"./definitionList";export{default as Dimmer}from"./dimmer";export{default as Display}from"./display";export{default as Drawer}from"./drawer";export{default as DropFade}from"./dropFade";export{default as DynamicFieldDefinitionList}from"./dynamicFieldDefinitionList";export{default as Emphasis}from"./emphasis";export{default as FlowNavigation}from"./flowNavigation/FlowNavigation";export{default as Header}from"./header";export{default as Image}from"./image";export{default as Info}from"./info";export{default as InlineAlert}from"./inlineAlert";export{Input}from"./inputs/Input";export{TextArea}from"./inputs/TextArea";export{default as InputWithDisplayFormat}from"./inputWithDisplayFormat";export{default as InstructionsList}from"./instructionsList";export{default as Link}from"./link";export{default as Loader}from"./loader";export{default as Logo}from"./logo";export{default as Markdown}from"./markdown";export{default as Modal}from"./modal";export{default as Money}from"./money";export{default as MoneyInput}from"./moneyInput";export{default as NavigationOption}from"./navigationOption";export{default as NavigationOptionsList}from"./navigationOptionsList";export{default as Nudge}from"./nudge";export{default as Option}from"./common/Option";export{default as OverlayHeader}from"./overlayHeader";export{default as PhoneNumberInput}from"./phoneNumberInput";export{default as Popover}from"./popover";export{default as ProcessIndicator}from"./processIndicator";export{default as ProgressBar}from"./progressBar";export{default as Progress}from"./progress";export{default as PromoCard}from"./promoCard";export{default as PromoCardGroup}from"./promoCard";export{default as Provider,DirectionProvider,LanguageProvider}from"./provider";export{default as Radio}from"./radio";export{default as RadioGroup}from"./radioGroup";export{default as RadioOption}from"./radioOption";export{default as Section}from"./section";export{default as Select}from"./select";export{default as SlidingPanel}from"./slidingPanel";export{default as SnackbarPortal}from"./snackbar/Snackbar";export{default as SnackbarProvider}from"./snackbar/SnackbarProvider";export{default as StatusIcon}from"./statusIcon/StatusIcon";export{default as Stepper}from"./stepper/Stepper";export{default as Sticky}from"./sticky";export{default as Summary}from"./summary";export{default as Switch}from"./switch";export{default as SwitchOption}from"./switchOption";export{default as Tabs}from"./tabs";export{default as TextareaWithDisplayFormat}from"./textareaWithDisplayFormat";export{default as Tooltip}from"./tooltip";export{default as Typeahead}from"./typeahead";export{default as Upload}from"./upload";export{default as UploadInput}from"./uploadInput";export{SnackbarConsumer,SnackbarContext}from"./snackbar/SnackbarContext";export{default as CriticalCommsBanner}from"./criticalBanner";export{default as ListItem}from"./listItem";/**
5
+ */export{default as Title}from"./title";export{default as Body}from"./body";export{default as Accordion}from"./accordion";export{default as ActionButton}from"./actionButton";export{default as ActionOption}from"./actionOption";export{default as Alert}from"./alert";export{default as Avatar}from"./avatar";export{default as AvatarWrapper}from"./avatarWrapper";export{default as Badge}from"./badge";export{default as BottomSheet}from"./common/bottomSheet";export{default as Button}from"./button";export{default as Card}from"./card";export{default as Checkbox}from"./checkbox";export{default as CheckboxButton}from"./checkboxButton";export{default as CheckboxOption}from"./checkboxOption";export{default as Chevron}from"./chevron";export{default as Chips,Chip}from"./chips";export{default as CircularButton}from"./circularButton";export{default as DateInput}from"./dateInput";export{default as DateLookup}from"./dateLookup";export{default as Decision}from"./decision";export{default as DefinitionList}from"./definitionList";export{default as Dimmer}from"./dimmer";export{default as Display}from"./display";export{default as Drawer}from"./drawer";export{default as DropFade}from"./dropFade";export{default as DynamicFieldDefinitionList}from"./dynamicFieldDefinitionList";export{default as Emphasis}from"./emphasis";export{default as FlowNavigation}from"./flowNavigation/FlowNavigation";export{default as Header}from"./header";export{default as Image}from"./image";export{default as Info}from"./info";export{default as InlineAlert}from"./inlineAlert";export{Input}from"./inputs/Input";export{TextArea}from"./inputs/TextArea";export{default as InputWithDisplayFormat}from"./inputWithDisplayFormat";export{default as InstructionsList}from"./instructionsList";export{default as Link}from"./link";export{default as Loader}from"./loader";export{default as Logo}from"./logo";export{default as Markdown}from"./markdown";export{default as Modal}from"./modal";export{default as Money}from"./money";export{default as MoneyInput}from"./moneyInput";export{default as NavigationOption}from"./navigationOption";export{default as NavigationOptionsList}from"./navigationOptionsList";export{default as Nudge}from"./nudge";export{default as Option}from"./common/Option";export{default as OverlayHeader}from"./overlayHeader";export{default as PhoneNumberInput}from"./phoneNumberInput";export{default as Popover}from"./popover";export{default as ProcessIndicator}from"./processIndicator";export{default as ProgressBar}from"./progressBar";export{default as Progress}from"./progress";export{default as Provider,DirectionProvider,LanguageProvider}from"./provider";export{default as Radio}from"./radio";export{default as RadioGroup}from"./radioGroup";export{default as RadioOption}from"./radioOption";export{default as Section}from"./section";export{default as Select}from"./select";export{default as SlidingPanel}from"./slidingPanel";export{default as SnackbarPortal}from"./snackbar/Snackbar";export{default as SnackbarProvider}from"./snackbar/SnackbarProvider";export{default as StatusIcon}from"./statusIcon/StatusIcon";export{default as Stepper}from"./stepper/Stepper";export{default as Sticky}from"./sticky";export{default as Summary}from"./summary";export{default as Switch}from"./switch";export{default as SwitchOption}from"./switchOption";export{default as Tabs}from"./tabs";export{default as TextareaWithDisplayFormat}from"./textareaWithDisplayFormat";export{default as Tooltip}from"./tooltip";export{default as Typeahead}from"./typeahead";export{default as Upload}from"./upload";export{default as UploadInput}from"./uploadInput";export{SnackbarConsumer,SnackbarContext}from"./snackbar/SnackbarContext";export{default as CriticalCommsBanner}from"./criticalBanner";export{default as ListItem}from"./listItem";/**
6
6
  * Hooks
7
7
  */export{default as useSnackbar}from"./snackbar/useSnackbar";export{useDirection,useLayout}from"./common/hooks";/**
8
8
  * Enums
@@ -8,4 +8,4 @@ import{Fragment as _Fragment}from"react/jsx-runtime";import{jsx as _jsx}from"rea
8
8
  * @param root0.small
9
9
  * @param root0.size
10
10
  * @param root0.classNames
11
- */var Loader=function(a){var b=a.small,c=a.size,d=void 0===c?Size.MEDIUM:c,e=a.displayInstantly,f=void 0!==e&&e,g=a.classNames,h=void 0===g?{}:g,i=_objectWithoutProperties(a,_excluded),j=useTheme(),k=j.theme,l=useState(f),m=_slicedToArray(l,2),n=m[0],o=m[1];useEffect(function(){var a,b;return f||(b=setTimeout(function(){a||o(!0)},1e3)),function(){a=!0,clearTimeout(b)}},[]);var p=function(a){return h[a]||a},q=void 0!==b&&b?Size.SMALL:d,r=getSupportedSize(q);return"forest-green"===k?(console.warn("Loader is forbidden to use with Forest Green theme. Check the https://wise.design/components/screen-loader for more info."),/*#__PURE__*/_jsx(_Fragment,{})):/*#__PURE__*/_jsx("div",{className:classnames(p("tw-loader"),p("tw-loader--".concat(r)),{"tw-loader--visible":n}),"data-testid":i["data-testid"]})},getSupportedSize=function(a){switch(a){case Size.SMALL:case Size.EXTRA_SMALL:return Size.SMALL;case Size.EXTRA_LARGE:case Size.LARGE:case Size.MEDIUM:default:return Size.MEDIUM;}};export default Loader;
11
+ */var Loader=function(a){var b=a.small,c=a.size,d=void 0===c?Size.MEDIUM:c,e=a.displayInstantly,f=void 0!==e&&e,g=a.classNames,h=void 0===g?{}:g,i=_objectWithoutProperties(a,_excluded),j=useTheme(),k=j.isForestGreenTheme,l=useState(f),m=_slicedToArray(l,2),n=m[0],o=m[1];useEffect(function(){var a,b;return f||(b=setTimeout(function(){a||o(!0)},1e3)),function(){a=!0,clearTimeout(b)}},[]);var p=function(a){return h[a]||a},q=void 0!==b&&b?Size.SMALL:d,r=getSupportedSize(q);return k?(console.warn("Loader is forbidden to use with Forest Green theme. Check the https://wise.design/components/screen-loader for more info."),/*#__PURE__*/_jsx(_Fragment,{})):/*#__PURE__*/_jsx("div",{className:classnames(p("tw-loader"),p("tw-loader--".concat(r)),{"tw-loader--visible":n}),"data-testid":i["data-testid"]})},getSupportedSize=function(a){switch(a){case Size.SMALL:case Size.EXTRA_SMALL:return Size.SMALL;case Size.EXTRA_LARGE:case Size.LARGE:case Size.MEDIUM:default:return Size.MEDIUM;}};export default Loader;
@@ -1,3 +1,3 @@
1
1
  import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{Illustration}from"@wise/art";import{useTheme}from"@wise/components-theming";import classNames from"classnames";import{useEffect,useState}from"react";import Body from"../body";import{Typography}from"../common";import{CloseButton}from"../common/closeButton";import Link from"../link";// WARNING: Changing this will cause nudges to reappear wherever persist nudge is used and privacy team will need to be updated too
2
2
  import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";export var STORAGE_NAME="dismissedNudges";export var Media={GLOBE:"globe",LOCK:"lock",WALLET:"wallet",GEAR:"gear","INVITE-LETTER":"invite-letter","PERSONAL-CARD":"personal-card","BUSINESS-CARD":"business-card"};var getLocalStorage=function(){try{var a=localStorage.getItem(STORAGE_NAME);if(a){var b=JSON.parse(a);if(Array.isArray(b))return b}// eslint-disable-next-line unicorn/prefer-optional-catch-binding, no-empty
3
- }catch(a){}return[]},Nudge=function(a){var b=a.media,c=a.mediaName,d=a.title,e=a.link,f=a.href,g=a.onClick,h=a.onDismiss,i=a.persistDismissal,j=a.id,k=a.className,l=useTheme(),m=l.isModern,n=useState(!1),o=_slicedToArray(n,2),p=o[0],q=o[1],r=useState(!1),s=_slicedToArray(r,2),t=s[0],u=s[1];return useEffect(function(){if(i&&j){var a=getLocalStorage();a&&a.find(function(a){return a===j})&&q(!0)}u(!0)},[j,i]),i&&(p||!t)?null:/*#__PURE__*/_jsxs("div",{className:classNames("wds-nudge",k),id:j,children:[m?!!c&&/*#__PURE__*/_jsx("div",{className:"wds-nudge-media",children:/*#__PURE__*/_jsx(Illustration,{name:c,className:classNames("wds-nudge-media-".concat(c)),size:"small",disablePadding:!0,alt:""})}):/*#__PURE__*/_jsx("div",{className:"wds-nudge-media",children:b}),/*#__PURE__*/_jsxs("div",{className:"wds-nudge-container",children:[/*#__PURE__*/_jsxs("div",{className:"wds-nudge-content",children:[m?/*#__PURE__*/_jsx(Body,{type:Typography.BODY_LARGE,className:classNames("wds-nudge-body"),children:d}):/*#__PURE__*/_jsx("div",{className:"wds-nudge-title",children:d}),e&&/*#__PURE__*/_jsx(Link,{href:f,type:Typography.LINK_LARGE,className:"wds-nudge-link",onClick:g,children:e})]}),h||i?/*#__PURE__*/_jsx(CloseButton,{className:"wds-nudge-control",size:"sm",onClick:function handleOnDismiss(){var a=getLocalStorage();if(i&&j){try{localStorage.setItem(STORAGE_NAME,JSON.stringify([].concat(_toConsumableArray(a?a:[]),[j])))}catch(a){}q(!0)}h&&h()}}):null]})]})};export default Nudge;
3
+ }catch(a){}return[]},Nudge=function(a){var b=a.media,c=a.mediaName,d=a.title,e=a.link,f=a.href,g=a.onClick,h=a.onDismiss,i=a.persistDismissal,j=a.onIsPreviouslyDismissed,k=a.id,l=a.className,m=useTheme(),n=m.isModern,o=useState(!1),p=_slicedToArray(o,2),q=p[0],r=p[1],s=useState(!1),t=_slicedToArray(s,2),u=t[0],v=t[1];return useEffect(function(){if(i&&k){var a=getLocalStorage(),b=!1;a&&a.find(function(a){return a===k})&&(r(!0),b=!0),j&&j(b)}v(!0)},[k,i]),i&&(q||!u)?null:/*#__PURE__*/_jsxs("div",{className:classNames("wds-nudge",l),id:k,children:[n?!!c&&/*#__PURE__*/_jsx("div",{className:"wds-nudge-media",children:/*#__PURE__*/_jsx(Illustration,{name:c,className:classNames("wds-nudge-media-".concat(c)),size:"small",disablePadding:!0,alt:""})}):/*#__PURE__*/_jsx("div",{className:"wds-nudge-media",children:b}),/*#__PURE__*/_jsxs("div",{className:"wds-nudge-container",children:[/*#__PURE__*/_jsxs("div",{className:"wds-nudge-content",children:[n?/*#__PURE__*/_jsx(Body,{type:Typography.BODY_LARGE,className:classNames("wds-nudge-body"),children:d}):/*#__PURE__*/_jsx("div",{className:"wds-nudge-title",children:d}),e&&/*#__PURE__*/_jsx(Link,{href:f,type:Typography.LINK_LARGE,className:"wds-nudge-link",onClick:g,children:e})]}),h||i?/*#__PURE__*/_jsx(CloseButton,{className:"wds-nudge-control",size:"sm",onClick:function handleOnDismiss(){var a=getLocalStorage();if(i&&k){try{localStorage.setItem(STORAGE_NAME,JSON.stringify([].concat(_toConsumableArray(a?a:[]),[k])))}catch(a){}r(!0)}h&&h()}}):null]})]})};export default Nudge;
@@ -1 +1 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{render,fireEvent,cleanup,screen}from"../test-utils";import Nudge from".";import{jsx as _jsx}from"react/jsx-runtime";describe("Nudge",function(){var a={media:/*#__PURE__*/_jsx("span",{role:"img","aria-label":"Party popper emoji",children:"\uD83C\uDF89"}),title:"A nudge title",link:"CTA",href:"#",onClick:jest.fn(),onDismiss:jest.fn()};afterEach(cleanup),it("renders a media element",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByRole("img");expect(b).toBeInTheDocument()}),it("renders a title",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("A nudge title");expect(b).toBeInTheDocument()}),it("renders a link to the passed href",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("CTA");expect(b).toBeInTheDocument(),expect(b).toHaveAttribute("href",a.href)}),it("calls onClick prop when the link is clicked",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("CTA");fireEvent.click(b),expect(a.onClick).toHaveBeenCalledTimes(1)}),it("calls onDismiss prop when close button is clicked",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByLabelText("Close");fireEvent.click(b),expect(a.onDismiss).toHaveBeenCalledTimes(1)}),it("adds the passed id to the parent container",function(){var b;render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"nudge-id"})));var c=null===(b=screen.getByRole("img").parentElement)||void 0===b?void 0:b.parentElement;expect(null===c||void 0===c?void 0:c.id).toBe("nudge-id")}),it("adds the passed className to the parent container's className",function(){var b;render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{className:"happy-nudge"})));var c=null===(b=screen.getByRole("img").parentElement)||void 0===b?void 0:b.parentElement;expect(c).toHaveClass("happy-nudge")}),describe("Nudge persistance",function(){beforeEach(function(){jest.resetAllMocks()}),it("does NOT render a nudge if localStorage has been set with the id of the nudge",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"CAKE\",\"TEST\"]"),render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.queryByText("A nudge title")).not.toBeInTheDocument()}),it("shows a nudge if localStorage has been set with a different id for a different nudge",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"BANANA\"]"),render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.getByText("A nudge title")).toBeInTheDocument()}),it("calls local storage with updated dismissed nudges value",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"BANANA\"]");var b=jest.spyOn(window.localStorage.__proto__,"setItem");render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.getByText("A nudge title")).toBeInTheDocument();var c=screen.getByLabelText("Close");fireEvent.click(c),expect(a.onDismiss).toHaveBeenCalledTimes(1),expect(b).toHaveBeenCalledWith("dismissedNudges","[\"BANANA\",\"TEST\"]")})})});
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{render,fireEvent,cleanup,screen}from"../test-utils";import Nudge from".";import{jsx as _jsx}from"react/jsx-runtime";describe("Nudge",function(){var a={media:/*#__PURE__*/_jsx("span",{role:"img","aria-label":"Party popper emoji",children:"\uD83C\uDF89"}),title:"A nudge title",link:"CTA",href:"#",onClick:jest.fn(),onDismiss:jest.fn()};afterEach(cleanup),it("renders a media element",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByRole("img");expect(b).toBeInTheDocument()}),it("renders a title",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("A nudge title");expect(b).toBeInTheDocument()}),it("renders a link to the passed href",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("CTA");expect(b).toBeInTheDocument(),expect(b).toHaveAttribute("href",a.href)}),it("calls onClick prop when the link is clicked",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("CTA");fireEvent.click(b),expect(a.onClick).toHaveBeenCalledTimes(1)}),it("calls onDismiss prop when close button is clicked",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByLabelText("Close");fireEvent.click(b),expect(a.onDismiss).toHaveBeenCalledTimes(1)}),it("adds the passed id to the parent container",function(){var b;render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"nudge-id"})));var c=null===(b=screen.getByRole("img").parentElement)||void 0===b?void 0:b.parentElement;expect(null===c||void 0===c?void 0:c.id).toBe("nudge-id")}),it("adds the passed className to the parent container's className",function(){var b;render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{className:"happy-nudge"})));var c=null===(b=screen.getByRole("img").parentElement)||void 0===b?void 0:b.parentElement;expect(c).toHaveClass("happy-nudge")}),describe("Nudge persistance",function(){beforeEach(function(){jest.resetAllMocks()}),it("does NOT render a nudge if localStorage has been set with the id of the nudge",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"CAKE\",\"TEST\"]"),render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.queryByText("A nudge title")).not.toBeInTheDocument()}),it("does NOT render a nudge if localStorage has been set with the id of the nudge AND calls is previously dismissed with TRUE",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"CAKE\",\"TEST\"]");var b=jest.fn();render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0,onIsPreviouslyDismissed:b}))),expect(screen.queryByText("A nudge title")).not.toBeInTheDocument(),expect(b).toHaveBeenCalledWith(!0)}),it("shows a nudge if localStorage has been set with a different id for a different nudge and calls is previously dismissed with FALSE",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"BANANA\"]");var b=jest.fn();render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0,onIsPreviouslyDismissed:b}))),expect(screen.getByText("A nudge title")).toBeInTheDocument(),expect(b).toHaveBeenCalledWith(!1)}),it("calls local storage with updated dismissed nudges value",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"BANANA\"]");var b=jest.spyOn(window.localStorage.__proto__,"setItem");render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.getByText("A nudge title")).toBeInTheDocument();var c=screen.getByLabelText("Close");fireEvent.click(c),expect(a.onDismiss).toHaveBeenCalledTimes(1),expect(b).toHaveBeenCalledWith("dismissedNudges","[\"BANANA\",\"TEST\"]")})})});
@@ -1 +1 @@
1
- import{action}from"@storybook/addon-actions";import{Nudge}from"..";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";export default{component:Nudge,title:"Feedback/Nudge"};export var Default=function(){return/*#__PURE__*/_jsxs("div",{className:"d-flex flex-column",children:[/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"lock",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"wallet",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"gear",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"invite-letter",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"personal-card",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"business-card",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")})]})};export var DefaultWithPersist=function(){return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",title:"Text that is no longer than two lines.",id:"NEPTUNE_TEST_COMPONENT",className:"m-y-2",persistDismissal:!0,onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",title:"Text that is no longer than two lines2.",id:"NEPTUNE_TEST_COMPONENT_2",className:"m-y-2",persistDismissal:!0,onClick:action("action clicked"),onDismiss:action("dismissed")})]})};
1
+ import{action}from"@storybook/addon-actions";import{Nudge}from"..";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";export default{component:Nudge,title:"Feedback/Nudge"};export var Default=function(){return/*#__PURE__*/_jsxs("div",{className:"d-flex flex-column",children:[/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"lock",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"wallet",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"gear",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"invite-letter",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"personal-card",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"business-card",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")})]})};export var DefaultWithPersist=function(){return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",title:"Text that is no longer than two lines.",id:"NEPTUNE_TEST_COMPONENT",className:"m-y-2",persistDismissal:!0,onClick:action("action clicked"),onDismiss:action("dismissed"),onIsPreviouslyDismissed:action("is previously dismissed first alert")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",title:"Text that is no longer than two lines2.",id:"NEPTUNE_TEST_COMPONENT_2",className:"m-y-2",persistDismissal:!0,onClick:action("action clicked"),onDismiss:action("dismissed"),onIsPreviouslyDismissed:action("is previously dismissed second alert")})]})};
@@ -1 +1 @@
1
- import{Cross,CrossCircleFill}from"@transferwise/icons";import classNames from"classnames";import{forwardRef}from"react";import{useIntl}from"react-intl";import{Size}from"../propsValues/size";import messages from"./CloseButton.messages";import{jsx as _jsx}from"react/jsx-runtime";export var CloseButton=/*#__PURE__*/forwardRef(function(a,b){var c,d=a["aria-label"],e=a.size,f=void 0===e?Size.MEDIUM:e,g=a.filled,h=a.className,i=a.onClick,j=a.isDisabled,k=a.testId,l=useIntl();null!==(c=d)&&void 0!==c?c:d=l.formatMessage(messages.ariaLabel);var m=void 0!==g&&g?CrossCircleFill:Cross;return/*#__PURE__*/_jsx("button",{ref:b,type:"button",className:classNames("np-close-button","close btn-link","text-no-decoration",{"np-close-button--large":f===Size.MEDIUM,"np-close-button--x-large":f===Size.LARGE},h),"aria-label":d,"aria-disabled":j,disabled:j,"data-testid":k,onClick:i,children:/*#__PURE__*/_jsx(m,{size:f===Size.SMALL?16:24})})});
1
+ import{Cross,CrossCircleFill}from"@transferwise/icons";import classNames from"classnames";import{forwardRef}from"react";import{useIntl}from"react-intl";import{Size}from"../propsValues/size";import messages from"./CloseButton.messages";import{jsx as _jsx}from"react/jsx-runtime";export var CloseButton=/*#__PURE__*/forwardRef(function(a,b){var c,d=a["aria-label"],e=a.size,f=void 0===e?Size.MEDIUM:e,g=a.filled,h=a.className,i=a.onClick,j=useIntl();null!==(c=d)&&void 0!==c?c:d=j.formatMessage(messages.ariaLabel);var k=void 0!==g&&g?CrossCircleFill:Cross;return/*#__PURE__*/_jsx("button",{ref:b,type:"button",className:classNames("np-close-button","close btn-link","text-no-decoration",{"np-close-button--large":f===Size.MEDIUM,"np-close-button--x-large":f===Size.LARGE},h),"aria-label":d,onClick:i,children:/*#__PURE__*/_jsx(k,{size:f===Size.SMALL?16:24})})});
@@ -1 +1 @@
1
- import classNames from"classnames";import{Typography}from"../common";import{jsx as _jsx}from"react/jsx-runtime";function Display(a){var b=a.as,c=void 0===b?"h1":b,d=a.type,e=void 0===d?Typography.DISPLAY_LARGE:d,f=a.children,g=a.className,h=a.id;return/*#__PURE__*/_jsx(c,{id:h,className:classNames("np-text-".concat(e),"text-primary",g),children:f})}export default Display;
1
+ import classNames from"classnames";import{Typography}from"../common";import{jsx as _jsx}from"react/jsx-runtime";function Display(a){var b=a.as,c=void 0===b?"h1":b,d=a.type,e=void 0===d?Typography.DISPLAY_LARGE:d,f=a.children,g=a.className;return/*#__PURE__*/_jsx(c,{className:classNames("np-text-".concat(e),"text-primary",g),children:f})}export default Display;
@@ -9,4 +9,4 @@ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classnam
9
9
  * @param {Function} [onError=()=>{}] - function that contains error callback. Doesn't fire on SSR https://github.com/facebook/react/issues/15446
10
10
  * @param {boolean} [loading="lazy"] - This attribute follows the loading API attribute. If set to eager image will load immediately just like a normal image tag otherwise it will lazy load.
11
11
  * @usage `<Image alt="alt" src="src" id="id1" onLoad={()=>{}} onError={())=>{}} loading="lazy" />`
12
- */import{jsx as _jsx}from"react/jsx-runtime";export var EmptyTransparentImage="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";var Image=function(a){var b=a.id,c=a.src,d=a.alt,e=a.onLoad,f=a.onError,g=a.className,h=a.loading,i=a.stretch,j=a.role,k=a.shrink,l=useRef(),m=useHasIntersected({elRef:l,loading:h}),n=_slicedToArray(m,1),o=n[0],p=c,q=e;return"lazy"!==h||o||(p=EmptyTransparentImage,q=null),/*#__PURE__*/_jsx("img",{ref:l,id:b,alt:d,src:p,className:classnames(["tw-image",{"tw-image__stretch":i,"tw-image__shrink":k},g]),role:j,onLoad:q,onError:f})};Image.propTypes={id:PropTypes.string,src:PropTypes.string.isRequired,alt:PropTypes.string.isRequired,onLoad:PropTypes.func,onError:PropTypes.func,className:PropTypes.string,loading:PropTypes.oneOf(["lazy","eager"]),stretch:PropTypes.bool,shrink:PropTypes.bool,role:PropTypes.string},Image.defaultProps={id:null,className:"",onLoad:function onLoad(){},onError:function onError(){},loading:"eager",stretch:!0,shrink:!0};export default Image;
12
+ */import{jsx as _jsx}from"react/jsx-runtime";export var EmptyTransparentImage="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";var Image=function(a){var b=a.id,c=a.src,d=a.alt,e=a.onLoad,f=a.onError,g=a.className,h=a.loading,i=a.stretch,j=a.shrink,k=useRef(),l=useHasIntersected({elRef:k,loading:h}),m=_slicedToArray(l,1),n=m[0],o=c,p=e;return"lazy"!==h||n||(o=EmptyTransparentImage,p=null),/*#__PURE__*/_jsx("img",{ref:k,id:b,alt:d,src:o,className:classnames(["tw-image",{"tw-image__stretch":i,"tw-image__shrink":j},g]),onLoad:p,onError:f})};Image.propTypes={id:PropTypes.string,src:PropTypes.string.isRequired,alt:PropTypes.string.isRequired,onLoad:PropTypes.func,onError:PropTypes.func,className:PropTypes.string,loading:PropTypes.oneOf(["lazy","eager"]),stretch:PropTypes.bool,shrink:PropTypes.bool},Image.defaultProps={id:null,className:"",onLoad:function onLoad(){},onError:function onError(){},loading:"eager",stretch:!0,shrink:!0};export default Image;
@@ -2,7 +2,7 @@
2
2
  * Types
3
3
  */ /**
4
4
  * Components
5
- */export{default as Title}from"./title";export{default as Body}from"./body";export{default as Accordion}from"./accordion";export{default as ActionButton}from"./actionButton";export{default as ActionOption}from"./actionOption";export{default as Alert}from"./alert";export{default as Avatar}from"./avatar";export{default as AvatarWrapper}from"./avatarWrapper";export{default as Badge}from"./badge";export{default as BottomSheet}from"./common/bottomSheet";export{default as Button}from"./button";export{default as Card}from"./card";export{default as BaseCard}from"./common/card";export{default as Checkbox}from"./checkbox";export{default as CheckboxButton}from"./checkboxButton";export{default as CheckboxOption}from"./checkboxOption";export{default as Chevron}from"./chevron";export{default as Chips,Chip}from"./chips";export{default as CircularButton}from"./circularButton";export{default as DateInput}from"./dateInput";export{default as DateLookup}from"./dateLookup";export{default as Decision}from"./decision";export{default as DefinitionList}from"./definitionList";export{default as Dimmer}from"./dimmer";export{default as Display}from"./display";export{default as Drawer}from"./drawer";export{default as DropFade}from"./dropFade";export{default as DynamicFieldDefinitionList}from"./dynamicFieldDefinitionList";export{default as Emphasis}from"./emphasis";export{default as FlowNavigation}from"./flowNavigation/FlowNavigation";export{default as Header}from"./header";export{default as Image}from"./image";export{default as Info}from"./info";export{default as InlineAlert}from"./inlineAlert";export{Input}from"./inputs/Input";export{TextArea}from"./inputs/TextArea";export{default as InputWithDisplayFormat}from"./inputWithDisplayFormat";export{default as InstructionsList}from"./instructionsList";export{default as Link}from"./link";export{default as Loader}from"./loader";export{default as Logo}from"./logo";export{default as Markdown}from"./markdown";export{default as Modal}from"./modal";export{default as Money}from"./money";export{default as MoneyInput}from"./moneyInput";export{default as NavigationOption}from"./navigationOption";export{default as NavigationOptionsList}from"./navigationOptionsList";export{default as Nudge}from"./nudge";export{default as Option}from"./common/Option";export{default as OverlayHeader}from"./overlayHeader";export{default as PhoneNumberInput}from"./phoneNumberInput";export{default as Popover}from"./popover";export{default as ProcessIndicator}from"./processIndicator";export{default as ProgressBar}from"./progressBar";export{default as Progress}from"./progress";export{default as PromoCard}from"./promoCard";export{default as PromoCardGroup}from"./promoCard";export{default as Provider,DirectionProvider,LanguageProvider}from"./provider";export{default as Radio}from"./radio";export{default as RadioGroup}from"./radioGroup";export{default as RadioOption}from"./radioOption";export{default as Section}from"./section";export{default as Select}from"./select";export{default as SlidingPanel}from"./slidingPanel";export{default as SnackbarPortal}from"./snackbar/Snackbar";export{default as SnackbarProvider}from"./snackbar/SnackbarProvider";export{default as StatusIcon}from"./statusIcon/StatusIcon";export{default as Stepper}from"./stepper/Stepper";export{default as Sticky}from"./sticky";export{default as Summary}from"./summary";export{default as Switch}from"./switch";export{default as SwitchOption}from"./switchOption";export{default as Tabs}from"./tabs";export{default as TextareaWithDisplayFormat}from"./textareaWithDisplayFormat";export{default as Tooltip}from"./tooltip";export{default as Typeahead}from"./typeahead";export{default as Upload}from"./upload";export{default as UploadInput}from"./uploadInput";export{SnackbarConsumer,SnackbarContext}from"./snackbar/SnackbarContext";export{default as CriticalCommsBanner}from"./criticalBanner";export{default as ListItem}from"./listItem";/**
5
+ */export{default as Title}from"./title";export{default as Body}from"./body";export{default as Accordion}from"./accordion";export{default as ActionButton}from"./actionButton";export{default as ActionOption}from"./actionOption";export{default as Alert}from"./alert";export{default as Avatar}from"./avatar";export{default as AvatarWrapper}from"./avatarWrapper";export{default as Badge}from"./badge";export{default as BottomSheet}from"./common/bottomSheet";export{default as Button}from"./button";export{default as Card}from"./card";export{default as Checkbox}from"./checkbox";export{default as CheckboxButton}from"./checkboxButton";export{default as CheckboxOption}from"./checkboxOption";export{default as Chevron}from"./chevron";export{default as Chips,Chip}from"./chips";export{default as CircularButton}from"./circularButton";export{default as DateInput}from"./dateInput";export{default as DateLookup}from"./dateLookup";export{default as Decision}from"./decision";export{default as DefinitionList}from"./definitionList";export{default as Dimmer}from"./dimmer";export{default as Display}from"./display";export{default as Drawer}from"./drawer";export{default as DropFade}from"./dropFade";export{default as DynamicFieldDefinitionList}from"./dynamicFieldDefinitionList";export{default as Emphasis}from"./emphasis";export{default as FlowNavigation}from"./flowNavigation/FlowNavigation";export{default as Header}from"./header";export{default as Image}from"./image";export{default as Info}from"./info";export{default as InlineAlert}from"./inlineAlert";export{Input}from"./inputs/Input";export{TextArea}from"./inputs/TextArea";export{default as InputWithDisplayFormat}from"./inputWithDisplayFormat";export{default as InstructionsList}from"./instructionsList";export{default as Link}from"./link";export{default as Loader}from"./loader";export{default as Logo}from"./logo";export{default as Markdown}from"./markdown";export{default as Modal}from"./modal";export{default as Money}from"./money";export{default as MoneyInput}from"./moneyInput";export{default as NavigationOption}from"./navigationOption";export{default as NavigationOptionsList}from"./navigationOptionsList";export{default as Nudge}from"./nudge";export{default as Option}from"./common/Option";export{default as OverlayHeader}from"./overlayHeader";export{default as PhoneNumberInput}from"./phoneNumberInput";export{default as Popover}from"./popover";export{default as ProcessIndicator}from"./processIndicator";export{default as ProgressBar}from"./progressBar";export{default as Progress}from"./progress";export{default as Provider,DirectionProvider,LanguageProvider}from"./provider";export{default as Radio}from"./radio";export{default as RadioGroup}from"./radioGroup";export{default as RadioOption}from"./radioOption";export{default as Section}from"./section";export{default as Select}from"./select";export{default as SlidingPanel}from"./slidingPanel";export{default as SnackbarPortal}from"./snackbar/Snackbar";export{default as SnackbarProvider}from"./snackbar/SnackbarProvider";export{default as StatusIcon}from"./statusIcon/StatusIcon";export{default as Stepper}from"./stepper/Stepper";export{default as Sticky}from"./sticky";export{default as Summary}from"./summary";export{default as Switch}from"./switch";export{default as SwitchOption}from"./switchOption";export{default as Tabs}from"./tabs";export{default as TextareaWithDisplayFormat}from"./textareaWithDisplayFormat";export{default as Tooltip}from"./tooltip";export{default as Typeahead}from"./typeahead";export{default as Upload}from"./upload";export{default as UploadInput}from"./uploadInput";export{SnackbarConsumer,SnackbarContext}from"./snackbar/SnackbarContext";export{default as CriticalCommsBanner}from"./criticalBanner";export{default as ListItem}from"./listItem";/**
6
6
  * Hooks
7
7
  */export{default as useSnackbar}from"./snackbar/useSnackbar";export{useDirection,useLayout}from"./common/hooks";/**
8
8
  * Enums
@@ -8,4 +8,4 @@ import{Fragment as _Fragment}from"react/jsx-runtime";import{jsx as _jsx}from"rea
8
8
  * @param root0.small
9
9
  * @param root0.size
10
10
  * @param root0.classNames
11
- */var Loader=function(a){var b=a.small,c=a.size,d=void 0===c?Size.MEDIUM:c,e=a.displayInstantly,f=void 0!==e&&e,g=a.classNames,h=void 0===g?{}:g,i=_objectWithoutProperties(a,_excluded),j=useTheme(),k=j.theme,l=useState(f),m=_slicedToArray(l,2),n=m[0],o=m[1];useEffect(function(){var a,b;return f||(b=setTimeout(function(){a||o(!0)},1e3)),function(){a=!0,clearTimeout(b)}},[]);var p=function(a){return h[a]||a},q=void 0!==b&&b?Size.SMALL:d,r=getSupportedSize(q);return"forest-green"===k?(console.warn("Loader is forbidden to use with Forest Green theme. Check the https://wise.design/components/screen-loader for more info."),/*#__PURE__*/_jsx(_Fragment,{})):/*#__PURE__*/_jsx("div",{className:classnames(p("tw-loader"),p("tw-loader--".concat(r)),{"tw-loader--visible":n}),"data-testid":i["data-testid"]})},getSupportedSize=function(a){switch(a){case Size.SMALL:case Size.EXTRA_SMALL:return Size.SMALL;case Size.EXTRA_LARGE:case Size.LARGE:case Size.MEDIUM:default:return Size.MEDIUM;}};export default Loader;
11
+ */var Loader=function(a){var b=a.small,c=a.size,d=void 0===c?Size.MEDIUM:c,e=a.displayInstantly,f=void 0!==e&&e,g=a.classNames,h=void 0===g?{}:g,i=_objectWithoutProperties(a,_excluded),j=useTheme(),k=j.isForestGreenTheme,l=useState(f),m=_slicedToArray(l,2),n=m[0],o=m[1];useEffect(function(){var a,b;return f||(b=setTimeout(function(){a||o(!0)},1e3)),function(){a=!0,clearTimeout(b)}},[]);var p=function(a){return h[a]||a},q=void 0!==b&&b?Size.SMALL:d,r=getSupportedSize(q);return k?(console.warn("Loader is forbidden to use with Forest Green theme. Check the https://wise.design/components/screen-loader for more info."),/*#__PURE__*/_jsx(_Fragment,{})):/*#__PURE__*/_jsx("div",{className:classnames(p("tw-loader"),p("tw-loader--".concat(r)),{"tw-loader--visible":n}),"data-testid":i["data-testid"]})},getSupportedSize=function(a){switch(a){case Size.SMALL:case Size.EXTRA_SMALL:return Size.SMALL;case Size.EXTRA_LARGE:case Size.LARGE:case Size.MEDIUM:default:return Size.MEDIUM;}};export default Loader;
@@ -1,3 +1,3 @@
1
1
  import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import"core-js/modules/es.string.link.js";import"core-js/modules/es.array.concat.js";import"core-js/modules/es.array.find.js";import"core-js/modules/es.object.to-string.js";import{Illustration}from"@wise/art";import{useTheme}from"@wise/components-theming";import classNames from"classnames";import{useEffect,useState}from"react";import Body from"../body";import{Typography}from"../common";import{CloseButton}from"../common/closeButton";import Link from"../link";// WARNING: Changing this will cause nudges to reappear wherever persist nudge is used and privacy team will need to be updated too
2
2
  import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";export var STORAGE_NAME="dismissedNudges";export var Media={GLOBE:"globe",LOCK:"lock",WALLET:"wallet",GEAR:"gear","INVITE-LETTER":"invite-letter","PERSONAL-CARD":"personal-card","BUSINESS-CARD":"business-card"};var getLocalStorage=function(){try{var a=localStorage.getItem(STORAGE_NAME);if(a){var b=JSON.parse(a);if(Array.isArray(b))return b}// eslint-disable-next-line unicorn/prefer-optional-catch-binding, no-empty
3
- }catch(a){}return[]},Nudge=function(a){var b=a.media,c=a.mediaName,d=a.title,e=a.link,f=a.href,g=a.onClick,h=a.onDismiss,i=a.persistDismissal,j=a.id,k=a.className,l=useTheme(),m=l.isModern,n=useState(!1),o=_slicedToArray(n,2),p=o[0],q=o[1],r=useState(!1),s=_slicedToArray(r,2),t=s[0],u=s[1];return useEffect(function(){if(i&&j){var a=getLocalStorage();a&&a.find(function(a){return a===j})&&q(!0)}u(!0)},[j,i]),i&&(p||!t)?null:/*#__PURE__*/_jsxs("div",{className:classNames("wds-nudge",k),id:j,children:[m?!!c&&/*#__PURE__*/_jsx("div",{className:"wds-nudge-media",children:/*#__PURE__*/_jsx(Illustration,{name:c,className:classNames("wds-nudge-media-".concat(c)),size:"small",disablePadding:!0,alt:""})}):/*#__PURE__*/_jsx("div",{className:"wds-nudge-media",children:b}),/*#__PURE__*/_jsxs("div",{className:"wds-nudge-container",children:[/*#__PURE__*/_jsxs("div",{className:"wds-nudge-content",children:[m?/*#__PURE__*/_jsx(Body,{type:Typography.BODY_LARGE,className:classNames("wds-nudge-body"),children:d}):/*#__PURE__*/_jsx("div",{className:"wds-nudge-title",children:d}),e&&/*#__PURE__*/_jsx(Link,{href:f,type:Typography.LINK_LARGE,className:"wds-nudge-link",onClick:g,children:e})]}),h||i?/*#__PURE__*/_jsx(CloseButton,{className:"wds-nudge-control",size:"sm",onClick:function handleOnDismiss(){var a=getLocalStorage();if(i&&j){try{localStorage.setItem(STORAGE_NAME,JSON.stringify([].concat(_toConsumableArray(a?a:[]),[j])))}catch(a){}q(!0)}h&&h()}}):null]})]})};export default Nudge;
3
+ }catch(a){}return[]},Nudge=function(a){var b=a.media,c=a.mediaName,d=a.title,e=a.link,f=a.href,g=a.onClick,h=a.onDismiss,i=a.persistDismissal,j=a.onIsPreviouslyDismissed,k=a.id,l=a.className,m=useTheme(),n=m.isModern,o=useState(!1),p=_slicedToArray(o,2),q=p[0],r=p[1],s=useState(!1),t=_slicedToArray(s,2),u=t[0],v=t[1];return useEffect(function(){if(i&&k){var a=getLocalStorage(),b=!1;a&&a.find(function(a){return a===k})&&(r(!0),b=!0),j&&j(b)}v(!0)},[k,i]),i&&(q||!u)?null:/*#__PURE__*/_jsxs("div",{className:classNames("wds-nudge",l),id:k,children:[n?!!c&&/*#__PURE__*/_jsx("div",{className:"wds-nudge-media",children:/*#__PURE__*/_jsx(Illustration,{name:c,className:classNames("wds-nudge-media-".concat(c)),size:"small",disablePadding:!0,alt:""})}):/*#__PURE__*/_jsx("div",{className:"wds-nudge-media",children:b}),/*#__PURE__*/_jsxs("div",{className:"wds-nudge-container",children:[/*#__PURE__*/_jsxs("div",{className:"wds-nudge-content",children:[n?/*#__PURE__*/_jsx(Body,{type:Typography.BODY_LARGE,className:classNames("wds-nudge-body"),children:d}):/*#__PURE__*/_jsx("div",{className:"wds-nudge-title",children:d}),e&&/*#__PURE__*/_jsx(Link,{href:f,type:Typography.LINK_LARGE,className:"wds-nudge-link",onClick:g,children:e})]}),h||i?/*#__PURE__*/_jsx(CloseButton,{className:"wds-nudge-control",size:"sm",onClick:function handleOnDismiss(){var a=getLocalStorage();if(i&&k){try{localStorage.setItem(STORAGE_NAME,JSON.stringify([].concat(_toConsumableArray(a?a:[]),[k])))}catch(a){}r(!0)}h&&h()}}):null]})]})};export default Nudge;
@@ -1 +1 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import"core-js/modules/es.object.keys.js";import"core-js/modules/es.symbol.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/es.object.to-string.js";import"core-js/modules/es.object.get-own-property-descriptor.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.object.get-own-property-descriptors.js";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{render,fireEvent,cleanup,screen}from"../test-utils";import Nudge from".";import{jsx as _jsx}from"react/jsx-runtime";describe("Nudge",function(){var a={media:/*#__PURE__*/_jsx("span",{role:"img","aria-label":"Party popper emoji",children:"\uD83C\uDF89"}),title:"A nudge title",link:"CTA",href:"#",onClick:jest.fn(),onDismiss:jest.fn()};afterEach(cleanup),it("renders a media element",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByRole("img");expect(b).toBeInTheDocument()}),it("renders a title",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("A nudge title");expect(b).toBeInTheDocument()}),it("renders a link to the passed href",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("CTA");expect(b).toBeInTheDocument(),expect(b).toHaveAttribute("href",a.href)}),it("calls onClick prop when the link is clicked",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("CTA");fireEvent.click(b),expect(a.onClick).toHaveBeenCalledTimes(1)}),it("calls onDismiss prop when close button is clicked",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByLabelText("Close");fireEvent.click(b),expect(a.onDismiss).toHaveBeenCalledTimes(1)}),it("adds the passed id to the parent container",function(){var b;render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"nudge-id"})));var c=null===(b=screen.getByRole("img").parentElement)||void 0===b?void 0:b.parentElement;expect(null===c||void 0===c?void 0:c.id).toBe("nudge-id")}),it("adds the passed className to the parent container's className",function(){var b;render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{className:"happy-nudge"})));var c=null===(b=screen.getByRole("img").parentElement)||void 0===b?void 0:b.parentElement;expect(c).toHaveClass("happy-nudge")}),describe("Nudge persistance",function(){beforeEach(function(){jest.resetAllMocks()}),it("does NOT render a nudge if localStorage has been set with the id of the nudge",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"CAKE\",\"TEST\"]"),render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.queryByText("A nudge title")).not.toBeInTheDocument()}),it("shows a nudge if localStorage has been set with a different id for a different nudge",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"BANANA\"]"),render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.getByText("A nudge title")).toBeInTheDocument()}),it("calls local storage with updated dismissed nudges value",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"BANANA\"]");var b=jest.spyOn(window.localStorage.__proto__,"setItem");render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.getByText("A nudge title")).toBeInTheDocument();var c=screen.getByLabelText("Close");fireEvent.click(c),expect(a.onDismiss).toHaveBeenCalledTimes(1),expect(b).toHaveBeenCalledWith("dismissedNudges","[\"BANANA\",\"TEST\"]")})})});
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import"core-js/modules/es.object.keys.js";import"core-js/modules/es.symbol.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/es.object.to-string.js";import"core-js/modules/es.object.get-own-property-descriptor.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.object.get-own-property-descriptors.js";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{render,fireEvent,cleanup,screen}from"../test-utils";import Nudge from".";import{jsx as _jsx}from"react/jsx-runtime";describe("Nudge",function(){var a={media:/*#__PURE__*/_jsx("span",{role:"img","aria-label":"Party popper emoji",children:"\uD83C\uDF89"}),title:"A nudge title",link:"CTA",href:"#",onClick:jest.fn(),onDismiss:jest.fn()};afterEach(cleanup),it("renders a media element",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByRole("img");expect(b).toBeInTheDocument()}),it("renders a title",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("A nudge title");expect(b).toBeInTheDocument()}),it("renders a link to the passed href",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("CTA");expect(b).toBeInTheDocument(),expect(b).toHaveAttribute("href",a.href)}),it("calls onClick prop when the link is clicked",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByText("CTA");fireEvent.click(b),expect(a.onClick).toHaveBeenCalledTimes(1)}),it("calls onDismiss prop when close button is clicked",function(){render(/*#__PURE__*/_jsx(Nudge,_objectSpread({},a)));var b=screen.getByLabelText("Close");fireEvent.click(b),expect(a.onDismiss).toHaveBeenCalledTimes(1)}),it("adds the passed id to the parent container",function(){var b;render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"nudge-id"})));var c=null===(b=screen.getByRole("img").parentElement)||void 0===b?void 0:b.parentElement;expect(null===c||void 0===c?void 0:c.id).toBe("nudge-id")}),it("adds the passed className to the parent container's className",function(){var b;render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{className:"happy-nudge"})));var c=null===(b=screen.getByRole("img").parentElement)||void 0===b?void 0:b.parentElement;expect(c).toHaveClass("happy-nudge")}),describe("Nudge persistance",function(){beforeEach(function(){jest.resetAllMocks()}),it("does NOT render a nudge if localStorage has been set with the id of the nudge",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"CAKE\",\"TEST\"]"),render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.queryByText("A nudge title")).not.toBeInTheDocument()}),it("does NOT render a nudge if localStorage has been set with the id of the nudge AND calls is previously dismissed with TRUE",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"CAKE\",\"TEST\"]");var b=jest.fn();render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0,onIsPreviouslyDismissed:b}))),expect(screen.queryByText("A nudge title")).not.toBeInTheDocument(),expect(b).toHaveBeenCalledWith(!0)}),it("shows a nudge if localStorage has been set with a different id for a different nudge and calls is previously dismissed with FALSE",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"BANANA\"]");var b=jest.fn();render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0,onIsPreviouslyDismissed:b}))),expect(screen.getByText("A nudge title")).toBeInTheDocument(),expect(b).toHaveBeenCalledWith(!1)}),it("calls local storage with updated dismissed nudges value",function(){jest.spyOn(window.localStorage.__proto__,"getItem").mockReturnValue("[\"BANANA\"]");var b=jest.spyOn(window.localStorage.__proto__,"setItem");render(/*#__PURE__*/_jsx(Nudge,_objectSpread(_objectSpread({},a),{},{id:"TEST",persistDismissal:!0}))),expect(screen.getByText("A nudge title")).toBeInTheDocument();var c=screen.getByLabelText("Close");fireEvent.click(c),expect(a.onDismiss).toHaveBeenCalledTimes(1),expect(b).toHaveBeenCalledWith("dismissedNudges","[\"BANANA\",\"TEST\"]")})})});
@@ -1 +1 @@
1
- import{action}from"@storybook/addon-actions";import{Nudge}from"..";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";export default{component:Nudge,title:"Feedback/Nudge"};export var Default=function(){return/*#__PURE__*/_jsxs("div",{className:"d-flex flex-column",children:[/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"lock",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"wallet",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"gear",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"invite-letter",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"personal-card",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"business-card",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")})]})};export var DefaultWithPersist=function(){return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",title:"Text that is no longer than two lines.",id:"NEPTUNE_TEST_COMPONENT",className:"m-y-2",persistDismissal:!0,onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",title:"Text that is no longer than two lines2.",id:"NEPTUNE_TEST_COMPONENT_2",className:"m-y-2",persistDismissal:!0,onClick:action("action clicked"),onDismiss:action("dismissed")})]})};
1
+ import{action}from"@storybook/addon-actions";import{Nudge}from"..";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";export default{component:Nudge,title:"Feedback/Nudge"};export var Default=function(){return/*#__PURE__*/_jsxs("div",{className:"d-flex flex-column",children:[/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"lock",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"wallet",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"gear",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"invite-letter",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"personal-card",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"business-card",className:"m-b-2",title:"Text that is no longer than two lines.",link:"Link",href:"#",onClick:action("action clicked"),onDismiss:action("dismissed")})]})};export var DefaultWithPersist=function(){return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",title:"Text that is no longer than two lines.",id:"NEPTUNE_TEST_COMPONENT",className:"m-y-2",persistDismissal:!0,onClick:action("action clicked"),onDismiss:action("dismissed"),onIsPreviouslyDismissed:action("is previously dismissed first alert")}),/*#__PURE__*/_jsx(Nudge,{mediaName:"globe",title:"Text that is no longer than two lines2.",id:"NEPTUNE_TEST_COMPONENT_2",className:"m-y-2",persistDismissal:!0,onClick:action("action clicked"),onDismiss:action("dismissed"),onIsPreviouslyDismissed:action("is previously dismissed second alert")})]})};