@transferwise/components 45.9.5 → 45.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es/no-polyfill/avatar/Avatar.js +1 -1
- package/build/es/no-polyfill/i18n/ja.json +3 -3
- package/build/es/no-polyfill/i18n/pl.json +1 -1
- package/build/es/no-polyfill/i18n/zh_CN.json +44 -0
- package/build/es/no-polyfill/nudge/Nudge.js +1 -1
- package/build/es/no-polyfill/nudge/Nudge.spec.js +1 -1
- package/build/es/no-polyfill/nudge/Nudge.story.js +1 -1
- package/build/es/polyfill/avatar/Avatar.js +1 -1
- package/build/es/polyfill/i18n/ja.json +3 -3
- package/build/es/polyfill/i18n/pl.json +1 -1
- package/build/es/polyfill/i18n/zh_CN.json +44 -0
- package/build/es/polyfill/nudge/Nudge.js +1 -1
- package/build/es/polyfill/nudge/Nudge.spec.js +1 -1
- package/build/es/polyfill/nudge/Nudge.story.js +1 -1
- package/build/i18n/ja.json +3 -3
- package/build/i18n/pl.json +1 -1
- package/build/i18n/zh_CN.json +44 -0
- package/build/main.css +1 -1
- package/build/styles/avatar/Avatar.css +1 -1
- package/build/styles/main.css +1 -1
- package/build/types/nudge/Nudge.d.ts +8 -1
- package/build/types/nudge/Nudge.story.d.ts +1 -1
- package/build/umd/no-polyfill/main.js +1 -1
- package/build/umd/polyfill/main.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import classnames from"classnames";import{useMemo}from"react";import{Theme}from"../common";import{getAvatarColorFromSeed}from"./colors";import{jsx as _jsx}from"react/jsx-runtime";var backwardsCompatibleSize=function(a){return"sm"===a?24:"md"===a?48:"lg"===a?72:a},Avatar=function(a){var b=a.backgroundColor,c=void 0===b?null:b,d=a.backgroundColorSeed,e=void 0===d?null:d,f=a.children,g=void 0===f?null:f,h=a.className,i=void 0===h?null:h,j=a.outlined,k=a.size,l=void 0===k?48:k,m=a.theme,n=void 0===m?Theme.LIGHT:m,o=a.type,p=void 0===o?"thumbnail":o,q=useMemo(function(){return!c&&e?"var(".concat(getAvatarColorFromSeed(e),")"):void 0},[c,e]),r=backwardsCompatibleSize(l);return/*#__PURE__*/_jsx("div",{className:classnames("tw-avatar",i,"tw-avatar--".concat(r),"tw-avatar--".concat(p),{"tw-avatar--outlined":void 0!==j&&j,"tw-avatar--
|
|
1
|
+
import classnames from"classnames";import{useMemo}from"react";import{Theme}from"../common";import{getAvatarColorFromSeed}from"./colors";import{jsx as _jsx}from"react/jsx-runtime";var backwardsCompatibleSize=function(a){return"sm"===a?24:"md"===a?48:"lg"===a?72:a},Avatar=function(a){var b=a.backgroundColor,c=void 0===b?null:b,d=a.backgroundColorSeed,e=void 0===d?null:d,f=a.children,g=void 0===f?null:f,h=a.className,i=void 0===h?null:h,j=a.outlined,k=a.size,l=void 0===k?48:k,m=a.theme,n=void 0===m?Theme.LIGHT:m,o=a.type,p=void 0===o?"thumbnail":o,q=useMemo(function(){return!c&&e?"var(".concat(getAvatarColorFromSeed(e),")"):void 0},[c,e]),r=backwardsCompatibleSize(l);return/*#__PURE__*/_jsx("div",{className:classnames("tw-avatar",i,"tw-avatar--".concat(r),"tw-avatar--".concat(p),{"tw-avatar--outlined":void 0!==j&&j,"tw-avatar--branded":!!q,"np-text-title-body":"initials"===p}),children:/*#__PURE__*/_jsx("div",{className:"tw-avatar__content",style:{backgroundColor:c||q},children:g})})};export default Avatar;
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"neptune.Upload.usPlaceholder": "5MB以下のファイルのみドラッグ&ドロップが可能です",
|
|
26
26
|
"neptune.UploadButton.allFileTypes": "すべてのファイル種類",
|
|
27
27
|
"neptune.UploadButton.dropFiles": "ファイルをドロップしてアップロードする",
|
|
28
|
-
"neptune.UploadButton.instructions": "{fileTypes}、{size}
|
|
29
|
-
"neptune.UploadButton.uploadFile": "
|
|
30
|
-
"neptune.UploadButton.uploadFiles": "
|
|
28
|
+
"neptune.UploadButton.instructions": "{fileTypes}、{size}MB以下",
|
|
29
|
+
"neptune.UploadButton.uploadFile": "ファイルをアップロードする",
|
|
30
|
+
"neptune.UploadButton.uploadFiles": "ファイルをアップロードする",
|
|
31
31
|
"neptune.UploadInput.deleteModalBody": "このファイルを削除すると、当社のシステムからも削除されます。",
|
|
32
32
|
"neptune.UploadInput.deleteModalCancelButtonText": "キャンセル",
|
|
33
33
|
"neptune.UploadInput.deleteModalConfirmButtonText": "削除",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"neptune.UploadInput.deleteModalTitle": "Czy na pewno chcesz usunąć ten plik?",
|
|
35
35
|
"neptune.UploadInput.fileIsTooLarge": "Plik jest za duży",
|
|
36
36
|
"neptune.UploadInput.fileTypeNotSupported": "Nieobsługiwany typ pliku",
|
|
37
|
-
"neptune.UploadInput.maximumFilesAlreadyUploaded": "
|
|
37
|
+
"neptune.UploadInput.maximumFilesAlreadyUploaded": "Przepraszamy, przesłanie nie powiodło się, ponieważ możemy zaakceptować wyłącznie {maxFilesAllowed} pliki/plików naraz.",
|
|
38
38
|
"neptune.UploadItem.deleting": "Usuwanie...",
|
|
39
39
|
"neptune.UploadItem.removeFile": "Usuń plik {filename}",
|
|
40
40
|
"neptune.UploadItem.uploaded": "Przesłano",
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neptune.Chips.ariaLabel": "清除 {choice}",
|
|
3
|
+
"neptune.ClearButton.ariaLabel": "清晰",
|
|
4
|
+
"neptune.CloseButton.ariaLabel": "关闭",
|
|
5
|
+
"neptune.DateInput.day.label": "日",
|
|
6
|
+
"neptune.DateInput.month.label": "月",
|
|
7
|
+
"neptune.DateInput.year.label": "年",
|
|
8
|
+
"neptune.MoneyInput.Select.placeholder": "请选择...",
|
|
9
|
+
"neptune.Pagination.ariaLabel": "分页导航",
|
|
10
|
+
"neptune.PaginationLink.ariaLabel.active": "转到第 {pageNumber} 页",
|
|
11
|
+
"neptune.PaginationLink.ariaLabel.inactive": "当前页面,第 {pageNumber} 页",
|
|
12
|
+
"neptune.Select.searchPlaceholder": "搜索",
|
|
13
|
+
"neptune.Summary.statusDone": "已完成",
|
|
14
|
+
"neptune.Summary.statusNotDone": "未完成",
|
|
15
|
+
"neptune.Summary.statusPending": "待处理",
|
|
16
|
+
"neptune.Upload.csButtonText": "上传另一个文件?",
|
|
17
|
+
"neptune.Upload.csFailureText": "上传失败。请重试",
|
|
18
|
+
"neptune.Upload.csSuccessText": "上传完毕!",
|
|
19
|
+
"neptune.Upload.csTooLargeMessage": "请提供小于 5MB 的文件",
|
|
20
|
+
"neptune.Upload.csWrongTypeMessage": "不支持该文件类型,请试试其他文件",
|
|
21
|
+
"neptune.Upload.psButtonText": "取消",
|
|
22
|
+
"neptune.Upload.psProcessingText": "正在上传…",
|
|
23
|
+
"neptune.Upload.usButtonText": "或选择文件",
|
|
24
|
+
"neptune.Upload.usDropMessage": "拖放文件开始上传",
|
|
25
|
+
"neptune.Upload.usPlaceholder": "拖放小于 5MB 的文件",
|
|
26
|
+
"neptune.UploadButton.allFileTypes": "所有文件类型",
|
|
27
|
+
"neptune.UploadButton.dropFiles": "拖放文件开始上传",
|
|
28
|
+
"neptune.UploadButton.instructions": "{fileTypes},小于 {size}MB",
|
|
29
|
+
"neptune.UploadButton.uploadFile": "上传文件",
|
|
30
|
+
"neptune.UploadButton.uploadFiles": "上传文件",
|
|
31
|
+
"neptune.UploadInput.deleteModalBody": "删除此文件会将其从我们的系统中删除",
|
|
32
|
+
"neptune.UploadInput.deleteModalCancelButtonText": "取消",
|
|
33
|
+
"neptune.UploadInput.deleteModalConfirmButtonText": "删除",
|
|
34
|
+
"neptune.UploadInput.deleteModalTitle": "确定要删除此文件吗?",
|
|
35
|
+
"neptune.UploadInput.fileIsTooLarge": "文件太大",
|
|
36
|
+
"neptune.UploadInput.fileTypeNotSupported": "文件类型不受支持",
|
|
37
|
+
"neptune.UploadInput.maximumFilesAlreadyUploaded": "抱歉,此上传失败,因为我们一次只能接受 {maxFilesAllowed} 个文件。",
|
|
38
|
+
"neptune.UploadItem.deleting": "正在删除…",
|
|
39
|
+
"neptune.UploadItem.removeFile": "删除文件 {filename}",
|
|
40
|
+
"neptune.UploadItem.uploaded": "已上传",
|
|
41
|
+
"neptune.UploadItem.uploadedFile": "上传的文件",
|
|
42
|
+
"neptune.UploadItem.uploading": "正在上传…",
|
|
43
|
+
"neptune.UploadItem.uploadingFailed": "上传失败"
|
|
44
|
+
}
|
|
@@ -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.
|
|
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.isPreviouslyDismissed,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\"]")
|
|
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,isPreviouslyDismissed: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,isPreviouslyDismissed: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,isPreviouslyDismissed:action("is previously dismissed first alert"),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,isPreviouslyDismissed:action("is previously dismissed second alert"),onClick:action("action clicked"),onDismiss:action("dismissed")})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import classnames from"classnames";import{useMemo}from"react";import{Theme}from"../common";import{getAvatarColorFromSeed}from"./colors";import{jsx as _jsx}from"react/jsx-runtime";var backwardsCompatibleSize=function(a){return"sm"===a?24:"md"===a?48:"lg"===a?72:a},Avatar=function(a){var b=a.backgroundColor,c=void 0===b?null:b,d=a.backgroundColorSeed,e=void 0===d?null:d,f=a.children,g=void 0===f?null:f,h=a.className,i=void 0===h?null:h,j=a.outlined,k=a.size,l=void 0===k?48:k,m=a.theme,n=void 0===m?Theme.LIGHT:m,o=a.type,p=void 0===o?"thumbnail":o,q=useMemo(function(){return!c&&e?"var(".concat(getAvatarColorFromSeed(e),")"):void 0},[c,e]),r=backwardsCompatibleSize(l);return/*#__PURE__*/_jsx("div",{className:classnames("tw-avatar",i,"tw-avatar--".concat(r),"tw-avatar--".concat(p),{"tw-avatar--outlined":void 0!==j&&j,"tw-avatar--
|
|
1
|
+
import classnames from"classnames";import{useMemo}from"react";import{Theme}from"../common";import{getAvatarColorFromSeed}from"./colors";import{jsx as _jsx}from"react/jsx-runtime";var backwardsCompatibleSize=function(a){return"sm"===a?24:"md"===a?48:"lg"===a?72:a},Avatar=function(a){var b=a.backgroundColor,c=void 0===b?null:b,d=a.backgroundColorSeed,e=void 0===d?null:d,f=a.children,g=void 0===f?null:f,h=a.className,i=void 0===h?null:h,j=a.outlined,k=a.size,l=void 0===k?48:k,m=a.theme,n=void 0===m?Theme.LIGHT:m,o=a.type,p=void 0===o?"thumbnail":o,q=useMemo(function(){return!c&&e?"var(".concat(getAvatarColorFromSeed(e),")"):void 0},[c,e]),r=backwardsCompatibleSize(l);return/*#__PURE__*/_jsx("div",{className:classnames("tw-avatar",i,"tw-avatar--".concat(r),"tw-avatar--".concat(p),{"tw-avatar--outlined":void 0!==j&&j,"tw-avatar--branded":!!q,"np-text-title-body":"initials"===p}),children:/*#__PURE__*/_jsx("div",{className:"tw-avatar__content",style:{backgroundColor:c||q},children:g})})};export default Avatar;
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"neptune.Upload.usPlaceholder": "5MB以下のファイルのみドラッグ&ドロップが可能です",
|
|
26
26
|
"neptune.UploadButton.allFileTypes": "すべてのファイル種類",
|
|
27
27
|
"neptune.UploadButton.dropFiles": "ファイルをドロップしてアップロードする",
|
|
28
|
-
"neptune.UploadButton.instructions": "{fileTypes}、{size}
|
|
29
|
-
"neptune.UploadButton.uploadFile": "
|
|
30
|
-
"neptune.UploadButton.uploadFiles": "
|
|
28
|
+
"neptune.UploadButton.instructions": "{fileTypes}、{size}MB以下",
|
|
29
|
+
"neptune.UploadButton.uploadFile": "ファイルをアップロードする",
|
|
30
|
+
"neptune.UploadButton.uploadFiles": "ファイルをアップロードする",
|
|
31
31
|
"neptune.UploadInput.deleteModalBody": "このファイルを削除すると、当社のシステムからも削除されます。",
|
|
32
32
|
"neptune.UploadInput.deleteModalCancelButtonText": "キャンセル",
|
|
33
33
|
"neptune.UploadInput.deleteModalConfirmButtonText": "削除",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"neptune.UploadInput.deleteModalTitle": "Czy na pewno chcesz usunąć ten plik?",
|
|
35
35
|
"neptune.UploadInput.fileIsTooLarge": "Plik jest za duży",
|
|
36
36
|
"neptune.UploadInput.fileTypeNotSupported": "Nieobsługiwany typ pliku",
|
|
37
|
-
"neptune.UploadInput.maximumFilesAlreadyUploaded": "
|
|
37
|
+
"neptune.UploadInput.maximumFilesAlreadyUploaded": "Przepraszamy, przesłanie nie powiodło się, ponieważ możemy zaakceptować wyłącznie {maxFilesAllowed} pliki/plików naraz.",
|
|
38
38
|
"neptune.UploadItem.deleting": "Usuwanie...",
|
|
39
39
|
"neptune.UploadItem.removeFile": "Usuń plik {filename}",
|
|
40
40
|
"neptune.UploadItem.uploaded": "Przesłano",
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neptune.Chips.ariaLabel": "清除 {choice}",
|
|
3
|
+
"neptune.ClearButton.ariaLabel": "清晰",
|
|
4
|
+
"neptune.CloseButton.ariaLabel": "关闭",
|
|
5
|
+
"neptune.DateInput.day.label": "日",
|
|
6
|
+
"neptune.DateInput.month.label": "月",
|
|
7
|
+
"neptune.DateInput.year.label": "年",
|
|
8
|
+
"neptune.MoneyInput.Select.placeholder": "请选择...",
|
|
9
|
+
"neptune.Pagination.ariaLabel": "分页导航",
|
|
10
|
+
"neptune.PaginationLink.ariaLabel.active": "转到第 {pageNumber} 页",
|
|
11
|
+
"neptune.PaginationLink.ariaLabel.inactive": "当前页面,第 {pageNumber} 页",
|
|
12
|
+
"neptune.Select.searchPlaceholder": "搜索",
|
|
13
|
+
"neptune.Summary.statusDone": "已完成",
|
|
14
|
+
"neptune.Summary.statusNotDone": "未完成",
|
|
15
|
+
"neptune.Summary.statusPending": "待处理",
|
|
16
|
+
"neptune.Upload.csButtonText": "上传另一个文件?",
|
|
17
|
+
"neptune.Upload.csFailureText": "上传失败。请重试",
|
|
18
|
+
"neptune.Upload.csSuccessText": "上传完毕!",
|
|
19
|
+
"neptune.Upload.csTooLargeMessage": "请提供小于 5MB 的文件",
|
|
20
|
+
"neptune.Upload.csWrongTypeMessage": "不支持该文件类型,请试试其他文件",
|
|
21
|
+
"neptune.Upload.psButtonText": "取消",
|
|
22
|
+
"neptune.Upload.psProcessingText": "正在上传…",
|
|
23
|
+
"neptune.Upload.usButtonText": "或选择文件",
|
|
24
|
+
"neptune.Upload.usDropMessage": "拖放文件开始上传",
|
|
25
|
+
"neptune.Upload.usPlaceholder": "拖放小于 5MB 的文件",
|
|
26
|
+
"neptune.UploadButton.allFileTypes": "所有文件类型",
|
|
27
|
+
"neptune.UploadButton.dropFiles": "拖放文件开始上传",
|
|
28
|
+
"neptune.UploadButton.instructions": "{fileTypes},小于 {size}MB",
|
|
29
|
+
"neptune.UploadButton.uploadFile": "上传文件",
|
|
30
|
+
"neptune.UploadButton.uploadFiles": "上传文件",
|
|
31
|
+
"neptune.UploadInput.deleteModalBody": "删除此文件会将其从我们的系统中删除",
|
|
32
|
+
"neptune.UploadInput.deleteModalCancelButtonText": "取消",
|
|
33
|
+
"neptune.UploadInput.deleteModalConfirmButtonText": "删除",
|
|
34
|
+
"neptune.UploadInput.deleteModalTitle": "确定要删除此文件吗?",
|
|
35
|
+
"neptune.UploadInput.fileIsTooLarge": "文件太大",
|
|
36
|
+
"neptune.UploadInput.fileTypeNotSupported": "文件类型不受支持",
|
|
37
|
+
"neptune.UploadInput.maximumFilesAlreadyUploaded": "抱歉,此上传失败,因为我们一次只能接受 {maxFilesAllowed} 个文件。",
|
|
38
|
+
"neptune.UploadItem.deleting": "正在删除…",
|
|
39
|
+
"neptune.UploadItem.removeFile": "删除文件 {filename}",
|
|
40
|
+
"neptune.UploadItem.uploaded": "已上传",
|
|
41
|
+
"neptune.UploadItem.uploadedFile": "上传的文件",
|
|
42
|
+
"neptune.UploadItem.uploading": "正在上传…",
|
|
43
|
+
"neptune.UploadItem.uploadingFailed": "上传失败"
|
|
44
|
+
}
|
|
@@ -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.
|
|
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.isPreviouslyDismissed,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\"]")
|
|
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,isPreviouslyDismissed: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,isPreviouslyDismissed: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,isPreviouslyDismissed:action("is previously dismissed first alert"),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,isPreviouslyDismissed:action("is previously dismissed second alert"),onClick:action("action clicked"),onDismiss:action("dismissed")})]})};
|
package/build/i18n/ja.json
CHANGED
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"neptune.Upload.usPlaceholder": "5MB以下のファイルのみドラッグ&ドロップが可能です",
|
|
26
26
|
"neptune.UploadButton.allFileTypes": "すべてのファイル種類",
|
|
27
27
|
"neptune.UploadButton.dropFiles": "ファイルをドロップしてアップロードする",
|
|
28
|
-
"neptune.UploadButton.instructions": "{fileTypes}、{size}
|
|
29
|
-
"neptune.UploadButton.uploadFile": "
|
|
30
|
-
"neptune.UploadButton.uploadFiles": "
|
|
28
|
+
"neptune.UploadButton.instructions": "{fileTypes}、{size}MB以下",
|
|
29
|
+
"neptune.UploadButton.uploadFile": "ファイルをアップロードする",
|
|
30
|
+
"neptune.UploadButton.uploadFiles": "ファイルをアップロードする",
|
|
31
31
|
"neptune.UploadInput.deleteModalBody": "このファイルを削除すると、当社のシステムからも削除されます。",
|
|
32
32
|
"neptune.UploadInput.deleteModalCancelButtonText": "キャンセル",
|
|
33
33
|
"neptune.UploadInput.deleteModalConfirmButtonText": "削除",
|
package/build/i18n/pl.json
CHANGED
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"neptune.UploadInput.deleteModalTitle": "Czy na pewno chcesz usunąć ten plik?",
|
|
35
35
|
"neptune.UploadInput.fileIsTooLarge": "Plik jest za duży",
|
|
36
36
|
"neptune.UploadInput.fileTypeNotSupported": "Nieobsługiwany typ pliku",
|
|
37
|
-
"neptune.UploadInput.maximumFilesAlreadyUploaded": "
|
|
37
|
+
"neptune.UploadInput.maximumFilesAlreadyUploaded": "Przepraszamy, przesłanie nie powiodło się, ponieważ możemy zaakceptować wyłącznie {maxFilesAllowed} pliki/plików naraz.",
|
|
38
38
|
"neptune.UploadItem.deleting": "Usuwanie...",
|
|
39
39
|
"neptune.UploadItem.removeFile": "Usuń plik {filename}",
|
|
40
40
|
"neptune.UploadItem.uploaded": "Przesłano",
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"neptune.Chips.ariaLabel": "清除 {choice}",
|
|
3
|
+
"neptune.ClearButton.ariaLabel": "清晰",
|
|
4
|
+
"neptune.CloseButton.ariaLabel": "关闭",
|
|
5
|
+
"neptune.DateInput.day.label": "日",
|
|
6
|
+
"neptune.DateInput.month.label": "月",
|
|
7
|
+
"neptune.DateInput.year.label": "年",
|
|
8
|
+
"neptune.MoneyInput.Select.placeholder": "请选择...",
|
|
9
|
+
"neptune.Pagination.ariaLabel": "分页导航",
|
|
10
|
+
"neptune.PaginationLink.ariaLabel.active": "转到第 {pageNumber} 页",
|
|
11
|
+
"neptune.PaginationLink.ariaLabel.inactive": "当前页面,第 {pageNumber} 页",
|
|
12
|
+
"neptune.Select.searchPlaceholder": "搜索",
|
|
13
|
+
"neptune.Summary.statusDone": "已完成",
|
|
14
|
+
"neptune.Summary.statusNotDone": "未完成",
|
|
15
|
+
"neptune.Summary.statusPending": "待处理",
|
|
16
|
+
"neptune.Upload.csButtonText": "上传另一个文件?",
|
|
17
|
+
"neptune.Upload.csFailureText": "上传失败。请重试",
|
|
18
|
+
"neptune.Upload.csSuccessText": "上传完毕!",
|
|
19
|
+
"neptune.Upload.csTooLargeMessage": "请提供小于 5MB 的文件",
|
|
20
|
+
"neptune.Upload.csWrongTypeMessage": "不支持该文件类型,请试试其他文件",
|
|
21
|
+
"neptune.Upload.psButtonText": "取消",
|
|
22
|
+
"neptune.Upload.psProcessingText": "正在上传…",
|
|
23
|
+
"neptune.Upload.usButtonText": "或选择文件",
|
|
24
|
+
"neptune.Upload.usDropMessage": "拖放文件开始上传",
|
|
25
|
+
"neptune.Upload.usPlaceholder": "拖放小于 5MB 的文件",
|
|
26
|
+
"neptune.UploadButton.allFileTypes": "所有文件类型",
|
|
27
|
+
"neptune.UploadButton.dropFiles": "拖放文件开始上传",
|
|
28
|
+
"neptune.UploadButton.instructions": "{fileTypes},小于 {size}MB",
|
|
29
|
+
"neptune.UploadButton.uploadFile": "上传文件",
|
|
30
|
+
"neptune.UploadButton.uploadFiles": "上传文件",
|
|
31
|
+
"neptune.UploadInput.deleteModalBody": "删除此文件会将其从我们的系统中删除",
|
|
32
|
+
"neptune.UploadInput.deleteModalCancelButtonText": "取消",
|
|
33
|
+
"neptune.UploadInput.deleteModalConfirmButtonText": "删除",
|
|
34
|
+
"neptune.UploadInput.deleteModalTitle": "确定要删除此文件吗?",
|
|
35
|
+
"neptune.UploadInput.fileIsTooLarge": "文件太大",
|
|
36
|
+
"neptune.UploadInput.fileTypeNotSupported": "文件类型不受支持",
|
|
37
|
+
"neptune.UploadInput.maximumFilesAlreadyUploaded": "抱歉,此上传失败,因为我们一次只能接受 {maxFilesAllowed} 个文件。",
|
|
38
|
+
"neptune.UploadItem.deleting": "正在删除…",
|
|
39
|
+
"neptune.UploadItem.removeFile": "删除文件 {filename}",
|
|
40
|
+
"neptune.UploadItem.uploaded": "已上传",
|
|
41
|
+
"neptune.UploadItem.uploadedFile": "上传的文件",
|
|
42
|
+
"neptune.UploadItem.uploading": "正在上传…",
|
|
43
|
+
"neptune.UploadItem.uploadingFailed": "上传失败"
|
|
44
|
+
}
|