@transferwise/components 40.8.0 → 40.8.2-beta-4d2bb4277a.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/CHANGELOG.md +13 -0
- package/build/es/no-polyfill/container/Container.js +12 -0
- package/build/es/no-polyfill/container/Container.spec.js +4 -0
- package/build/es/no-polyfill/container/Container.story.js +2 -0
- package/build/es/no-polyfill/container/index.js +1 -0
- package/build/es/no-polyfill/dimmer/dimmerManager/DimmerManager.js +2 -2
- package/build/es/no-polyfill/emphasis/EmphasisHtmlTransformer.js +1 -1
- package/build/es/no-polyfill/grid/Grid.js +25 -0
- package/build/es/no-polyfill/grid/Grid.spec.js +9 -0
- package/build/es/no-polyfill/grid/Grid.story.js +2 -0
- package/build/es/no-polyfill/grid/index.js +1 -0
- package/build/es/no-polyfill/index.js +1 -1
- package/build/es/no-polyfill/navigationOption/NavigationOption.js +1 -1
- package/build/es/no-polyfill/provider/Provider.spec.js +1 -1
- package/build/es/no-polyfill/upload/Upload.js +1 -1
- package/build/es/polyfill/container/Container.js +12 -0
- package/build/es/polyfill/container/Container.spec.js +4 -0
- package/build/es/polyfill/container/Container.story.js +2 -0
- package/build/es/polyfill/container/index.js +1 -0
- package/build/es/polyfill/dimmer/dimmerManager/DimmerManager.js +2 -2
- package/build/es/polyfill/emphasis/EmphasisHtmlTransformer.js +1 -1
- package/build/es/polyfill/grid/Grid.js +25 -0
- package/build/es/polyfill/grid/Grid.spec.js +9 -0
- package/build/es/polyfill/grid/Grid.story.js +2 -0
- package/build/es/polyfill/grid/index.js +1 -0
- package/build/es/polyfill/index.js +1 -1
- package/build/es/polyfill/navigationOption/NavigationOption.js +1 -1
- package/build/es/polyfill/provider/Provider.spec.js +1 -1
- package/build/es/polyfill/upload/Upload.js +1 -1
- package/build/main.css +1 -1
- package/build/styles/accordion/Accordion.css +1 -1
- package/build/styles/actionButton/ActionButton.css +1 -1
- package/build/styles/avatar/Avatar.css +1 -1
- package/build/styles/badge/Badge.css +1 -1
- package/build/styles/button/Button.css +1 -1
- package/build/styles/card/Card.css +1 -1
- package/build/styles/checkboxButton/CheckboxButton.css +1 -1
- package/build/styles/chips/Chip.css +1 -1
- package/build/styles/circularButton/CircularButton.css +1 -1
- package/build/styles/common/Option/Option.css +1 -1
- package/build/styles/common/RadioButton/RadioButton.css +1 -1
- package/build/styles/common/bottomSheet/BottomSheet.css +1 -1
- package/build/styles/common/closeButton/CloseButton.css +1 -1
- package/build/styles/common/panel/Panel.css +1 -1
- package/build/styles/container/Container.css +1 -0
- package/build/styles/dateLookup/DateLookup.css +1 -1
- package/build/styles/dateLookup/dateTrigger/DateTrigger.css +1 -1
- package/build/styles/decision/Decision.css +1 -1
- package/build/styles/definitionList/DefinitionList.css +1 -1
- package/build/styles/dimmer/Dimmer.css +1 -1
- package/build/styles/drawer/Drawer.css +1 -1
- package/build/styles/dropFade/DropFade.css +1 -1
- package/build/styles/dynamicFieldDefinitionList/FormattedValue/FormattedValue.css +1 -1
- package/build/styles/emphasis/Emphasis.css +1 -1
- package/build/styles/flowNavigation/FlowNavigation.css +1 -1
- package/build/styles/flowNavigation/animatedLabel/AnimatedLabel.css +1 -1
- package/build/styles/grid/Grid.css +1 -0
- package/build/styles/header/Header.css +1 -1
- package/build/styles/image/Image.css +1 -1
- package/build/styles/info/Info.css +1 -1
- package/build/styles/lab/mobileNav/MobileNav.css +1 -1
- package/build/styles/lab/pagination/Pagination.css +1 -1
- package/build/styles/link/Link.css +1 -1
- package/build/styles/loader/Loader.css +1 -1
- package/build/styles/main.css +1 -1
- package/build/styles/modal/Modal.css +1 -1
- package/build/styles/moneyInput/MoneyInput.css +1 -1
- package/build/styles/navigationOption/NavigationOption.css +1 -1
- package/build/styles/navigationOptionsList/NavigationOptionsList.css +1 -1
- package/build/styles/nudge/Nudge.css +1 -1
- package/build/styles/overlayHeader/OverlayHeader.css +1 -1
- package/build/styles/phoneNumberInput/PhoneNumberInput.css +1 -1
- package/build/styles/popover/Popover.css +1 -1
- package/build/styles/progress/Progress.css +1 -1
- package/build/styles/progressBar/ProgressBar.css +1 -1
- package/build/styles/section/Section.css +1 -1
- package/build/styles/slidingPanel/SlidingPanel.css +1 -1
- package/build/styles/snackbar/Snackbar.css +1 -1
- package/build/styles/stepper/Stepper.css +1 -1
- package/build/styles/summary/Summary.css +1 -1
- package/build/styles/switch/Switch.css +1 -1
- package/build/styles/tabs/Tabs.css +1 -1
- package/build/styles/tile/Tile.css +1 -1
- package/build/styles/tooltip/Tooltip.css +1 -1
- package/build/styles/typeahead/Typeahead.css +1 -1
- package/build/styles/typeahead/typeaheadOption/TypeaheadOption.css +1 -1
- package/build/styles/uploadInput/uploadButton/UploadButton.css +1 -1
- package/build/styles/uploadInput/uploadItem/UploadItem.css +1 -1
- package/build/types/common/historyNavigator/historyNavigator.d.ts +2 -2
- package/build/types/common/hooks/useConditionalListener/useConditionalListener.d.ts +1 -1
- package/build/types/container/Container.d.ts +28 -0
- package/build/types/container/Container.spec.d.ts +1 -0
- package/build/types/container/Container.story.d.ts +11 -0
- package/build/types/container/index.d.ts +1 -0
- package/build/types/dateLookup/tableLink/TableLink.d.ts +1 -0
- package/build/types/dateLookup/yearCalendar/YearCalendar.d.ts +1 -0
- package/build/types/grid/Grid.d.ts +93 -0
- package/build/types/grid/Grid.spec.d.ts +1 -0
- package/build/types/grid/Grid.story.d.ts +22 -0
- package/build/types/grid/index.d.ts +2 -0
- package/build/types/index.d.ts +2 -0
- package/build/types/modal/Modal.story.d.ts +1 -1
- package/build/types/tooltip/Tooltip.story.d.ts +1 -1
- package/build/types/typeahead/typeaheadInput/TypeaheadInput.d.ts +6 -0
- package/build/types/upload/steps/uploadImageStep/uploadImageStep.d.ts +1 -0
- package/build/types/utilities/deprecatedProperty/deprecatedProperty.d.ts +2 -2
- package/build/types/withDisplayFormat/WithDisplayFormat.d.ts +9 -0
- package/build/umd/no-polyfill/main.js +1 -1
- package/build/umd/polyfill/main.js +1 -1
- package/package.json +9 -12
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,19 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [40.8.1](https://github.com/transferwise/neptune-web/compare/@transferwise/components@40.8.0...@transferwise/components@40.8.1) (2022-04-26)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **NavigationOption:** check for href to be truthy ([#1408](https://github.com/transferwise/neptune-web/issues/1408)) ([73232c5](https://github.com/transferwise/neptune-web/commit/73232c54e92e577b44c72fc56b053dcf35a0fb28))
|
|
12
|
+
* `TypeError: opts.node.rangeBy is not a function` at linting ([#1403](https://github.com/transferwise/neptune-web/issues/1403)) ([f908e4e](https://github.com/transferwise/neptune-web/commit/f908e4ec40bad17d3dedc39021a89fe48735ecaf))
|
|
13
|
+
* Storybook setup ([#1406](https://github.com/transferwise/neptune-web/issues/1406)) ([32aebd3](https://github.com/transferwise/neptune-web/commit/32aebd35fc3a9efa61bd6eae3ffa34f4a74c8f90))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
6
19
|
# [40.8.0](https://github.com/transferwise/neptune-web/compare/@transferwise/components@40.7.0...@transferwise/components@40.8.0) (2022-04-21)
|
|
7
20
|
|
|
8
21
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["children","as","isFullWidth","testId"];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 classNames from"classnames";import React from"react";import{jsx as _jsx}from"react/jsx-runtime";/**
|
|
2
|
+
* Use `Container` as the root component of the Neptune design system.
|
|
3
|
+
*
|
|
4
|
+
* @component
|
|
5
|
+
* @example
|
|
6
|
+
* const isFullWidth = true
|
|
7
|
+
* return (
|
|
8
|
+
* <Container isFullWidth={isFullWidth}>
|
|
9
|
+
* <div>Hello World!</div>
|
|
10
|
+
* </Container>
|
|
11
|
+
* )
|
|
12
|
+
*/var Container=function(a){var b=a.children,c=a.as,d=void 0===c?"div":c,e=a.isFullWidth,f=a.testId,g=_objectWithoutProperties(a,_excluded),h=classNames({"np-container":!0,"np-container--fullWidth":!!e});return/*#__PURE__*/_jsx(d,_objectSpread(_objectSpread(_objectSpread({},{className:h,"data-testid":f}),g),{},{children:b}))};export default Container;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _regeneratorRuntime from"@babel/runtime/regenerator";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{axe,toHaveNoViolations}from"jest-axe";import React from"react";import{renderToString}from"react-dom/server";import{render,screen}from"../test-utils";import Container from".";import{jsx as _jsx}from"react/jsx-runtime";describe("<Container />",function(){var a={children:"Hello World!",testId:"test-container"};it(": matches snapshot",function(){var b=render(/*#__PURE__*/_jsx(Container,_objectSpread({},a))),c=b.container;expect(c.firstChild).toMatchSnapshot()}),it(": matches snapshot as an `<main>` element",function(){var b=_objectSpread(_objectSpread({},a),{},{as:"main"}),c=render(/*#__PURE__*/_jsx(Container,_objectSpread({},b))),d=c.container;expect(d.firstChild).toMatchSnapshot()}),it(": renders",function(){var b=_objectSpread(_objectSpread({},a),{},{children:"Hello World! Hello World!"}),c=render(/*#__PURE__*/_jsx(Container,_objectSpread({},a))),d=c.rerender;// Change props
|
|
2
|
+
expect(screen.getByTestId("test-container")).toBeInTheDocument(),expect(screen.getByTestId("test-container")).toHaveClass("np-container"),d(/*#__PURE__*/_jsx(Container,_objectSpread({},b))),expect(screen.getByText("Hello World! Hello World!")).toBeInTheDocument()}),it(": is set to `max-width: inherit;`` by the isFullWidth prop",function(){var b=_objectSpread(_objectSpread({},a),{},{isFullWidth:!0}),c=render(/*#__PURE__*/_jsx(Container,_objectSpread({},a))),d=c.rerender;// Change props
|
|
3
|
+
expect(screen.getByTestId("test-container")).not.toHaveClass("np-container--fullWidth"),d(/*#__PURE__*/_jsx(Container,_objectSpread({},b))),expect(screen.getByTestId("test-container")).toHaveClass("np-container--fullWidth")})}),describe("<Container /> Server-side rendering>",function(){it(": renders on a server wtesthout crashing",function(){expect(function renderOnServer(){return renderToString(/*#__PURE__*/_jsx("main",{children:/*#__PURE__*/_jsx(Container,{children:"Text"})}))}).not.toThrow()}),it(": renders with the class attribute",function(){// eslint-disable-next-line testing-library/render-result-naming-convention
|
|
4
|
+
var a=renderToString(/*#__PURE__*/_jsx(Container,{children:"Text"}));expect(a).toContain("class=\"np-container\"")})}),expect.extend(toHaveNoViolations),describe("<Container /> a11y testing",function(){var a={children:"text",testId:"test-container"};it(": should not have basic accessibility issues",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function b(){var c,d,e;return _regeneratorRuntime.wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=render(/*#__PURE__*/_jsx(Container,_objectSpread({},a))),d=c.container,b.next=3,axe(d);case 3:e=b.sent,expect(e).toHaveNoViolations();case 5:case"end":return b.stop();}},b)})))});
|
|
@@ -0,0 +1,2 @@
|
|
|
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 Container from"./Container";import{jsx as _jsx}from"react/jsx-runtime";export default{component:Container,title:"Container"};var boxStyle={color:"#333",display:"flex",background:"rgba(255, 105, 180, .5)",width:"100%",outline:"1px dashed rgba(255, 105, 180, .8)",outlineOffset:"-1px",padding:"24px"},Box=function(a){var b=a.children;return/*#__PURE__*/_jsx("div",{style:boxStyle,children:b})};// eslint-disable-next-line react/forbid-dom-props
|
|
2
|
+
export var Default=function(a){return/*#__PURE__*/_jsx(Container,_objectSpread(_objectSpread({},a),{},{children:/*#__PURE__*/_jsx(Box,{})}))};export var FullWidth=function(a){return/*#__PURE__*/_jsx(Container,_objectSpread(_objectSpread({},a),{},{isFullWidth:!0,children:/*#__PURE__*/_jsx(Box,{})}))};export var Tag=function(a){return/*#__PURE__*/_jsx(Container,_objectSpread(_objectSpread({},a),{},{as:"main",children:/*#__PURE__*/_jsx(Box,{})}))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{default}from"./Container";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass"
|
|
1
|
+
import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";/**
|
|
2
2
|
* Dimmer state management inspired by Material UI's ModalManager (https://github.com/mui-org/material-ui)
|
|
3
3
|
*/var DimmerManager=/*#__PURE__*/function(){/**
|
|
4
4
|
* Dimmer refs
|
|
5
|
-
*/function a(){_classCallCheck(this,a),
|
|
5
|
+
*/function a(){_classCallCheck(this,a),this.dimmers=[]}return _createClass(a,[{key:"add",value:function add(a){var b=this.dimmers.indexOf(a);return-1===b?(b=this.dimmers.length,this.dimmers.push(a),b):b}},{key:"remove",value:function remove(a){var b=this.dimmers.indexOf(a);return-1!==b&&this.dimmers.splice(b,1),b}},{key:"isTop",value:function isTop(a){return 0<this.dimmers.length&&this.dimmers[this.dimmers.length-1]===a}}]),a}();export{DimmerManager as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";
|
|
1
|
+
import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";var ESCAPED_OPENING_CHEVRON="<",ESCAPED_CLOSING_CHEVRON=">",EmphasisHtmlTransformer=/*#__PURE__*/function(){function a(b){_classCallCheck(this,a),this.tags=(b||[]).map(function(a){return{transformed:{opening:"<em class=\"emphasis emphasis--".concat(a,"\">"),closing:"</em>"},escapedRegex:{opening:new RegExp("".concat(ESCAPED_OPENING_CHEVRON).concat(a).concat(ESCAPED_CLOSING_CHEVRON),"g"),closing:new RegExp("".concat(ESCAPED_OPENING_CHEVRON,"/").concat(a).concat(ESCAPED_CLOSING_CHEVRON),"g")}}})}// Algorithm:
|
|
2
2
|
// 1) Escape all dangerous characters (<,>,&)
|
|
3
3
|
// 2) Replace all escaped, whitelisted tags with styled spans.
|
|
4
4
|
// 3) Transform new line characters to `<br />`s
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["align","children","className","id","noGutter","testId"],_excluded2=["align","children","className","span","spanXs","spanSm","spanMd","spanLg","spanXl","offset","offsetXs","offsetSm","offsetMd","offsetLg","offsetXl","testId"];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}/* eslint-disable @typescript-eslint/restrict-template-expressions */import classNames from"classnames";import React,{useEffect}from"react";import{jsx as _jsx}from"react/jsx-runtime";/**
|
|
2
|
+
* Grid component.
|
|
3
|
+
*
|
|
4
|
+
* @component
|
|
5
|
+
* @example
|
|
6
|
+
* const align = 'center'
|
|
7
|
+
* const equalHeight = true
|
|
8
|
+
* return (
|
|
9
|
+
* <Grid align={align} equalHeight={equalHeight}>
|
|
10
|
+
* <div>...</div>
|
|
11
|
+
* <div>...</div>
|
|
12
|
+
* </Grid>
|
|
13
|
+
* )
|
|
14
|
+
*/var Grid=function(a){var b=a.align,c=a.children,d=a.className,e=a.id,f=a.noGutter,g=a.testId,h=_objectWithoutProperties(a,_excluded);useEffect(function(){React.Children.map(c,function(a){a&&a.type!==GridCol&&console.warn("Illegal child passed to <Grid />. Ensure to only use <Grid.Col />.")})},[c]);var i=classNames(_defineProperty({"np-grid":!0,"np-grid--alignLeft":"left"===b,"np-grid--alignRight":"right"===b,"np-grid--alignCenter":"center"===b,"np-grid--alignMiddle":"middle"===b,"np-grid--noGutter":!!f},"".concat(d),d));return/*#__PURE__*/_jsx("div",_objectSpread(_objectSpread(_objectSpread({},{className:i,"data-testid":g,id:e}),h),{},{children:c}))},GridCol=function(a){var b,c=a.align,d=a.children,e=a.className,f=a.span,g=a.spanXs,h=a.spanSm,i=a.spanMd,j=a.spanLg,k=a.spanXl,l=a.offset,m=a.offsetXs,n=a.offsetSm,o=a.offsetMd,p=a.offsetLg,q=a.offsetXl,r=a.testId,s=_objectWithoutProperties(a,_excluded2),t=classNames((b={"np-grid-col":!0},_defineProperty(b,"np-grid-col--".concat(f),"undefined"!=typeof f),_defineProperty(b,"np-xs-grid-col--".concat(g),"undefined"!=typeof g),_defineProperty(b,"np-sm-grid-col--".concat(h),"undefined"!=typeof h),_defineProperty(b,"np-md-grid-col--".concat(i),"undefined"!=typeof i),_defineProperty(b,"np-lg-grid-col--".concat(j),"undefined"!=typeof j),_defineProperty(b,"np-xl-grid-col--".concat(k),"undefined"!=typeof k),_defineProperty(b,"np-grid-col--offset-".concat(l),"undefined"!=typeof l),_defineProperty(b,"np-xs-grid-col--offset-".concat(m),"undefined"!=typeof m),_defineProperty(b,"np-sm-grid-col--offset-".concat(n),"undefined"!=typeof n),_defineProperty(b,"np-md-grid-col--offset-".concat(o),"undefined"!=typeof o),_defineProperty(b,"np-lg-grid-col--offset-".concat(p),"undefined"!=typeof p),_defineProperty(b,"np-xl-grid-col--offset-".concat(q),"undefined"!=typeof q),_defineProperty(b,"np-grid-col--alignLeft","left"===c),_defineProperty(b,"np-grid-col--alignRight","right"===c),_defineProperty(b,"np-grid-col--alignCenter","center"===c),_defineProperty(b,"np-grid-col--alignMiddle","middle"===c),_defineProperty(b,"".concat(e),e),b));return/*#__PURE__*/_jsx("div",_objectSpread(_objectSpread(_objectSpread({},{className:t,"data-testid":r}),s),{},{children:d}))};/**
|
|
15
|
+
* Grid column component.
|
|
16
|
+
*
|
|
17
|
+
* @component
|
|
18
|
+
* @example
|
|
19
|
+
* return (
|
|
20
|
+
* <Grid>
|
|
21
|
+
* <Grid.Col>...</Grid.Col>
|
|
22
|
+
* <Grid.Col>...</Grid.Col>
|
|
23
|
+
* </Grid>
|
|
24
|
+
* )
|
|
25
|
+
*/GridCol.displayName="Grid.Col",Grid.Col=GridCol;export default Grid;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _defineProperty from"@babel/runtime/helpers/defineProperty";import _regeneratorRuntime from"@babel/runtime/regenerator";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}/* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-call */import{render,screen}from"@testing-library/react";import{axe,toHaveNoViolations}from"jest-axe";import{renderToString}from"react-dom/server";import Grid from".";import{jsx as _jsx}from"react/jsx-runtime";describe("<Grid />",function(){var a={children:/*#__PURE__*/_jsx(Grid.Col,{}),testId:"test-grid"};it(": matches snapshot",function(){var b=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),c=b.container;// eslint-disable-next-line testing-library/no-node-access
|
|
2
|
+
expect(c.firstChild).toMatchSnapshot()}),it(": renders",function(){var b=_objectSpread(_objectSpread({},a),{},{children:/*#__PURE__*/_jsx(Grid.Col,{children:"Column"})}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
3
|
+
expect(screen.getByTestId("test-grid")).toBeInTheDocument(),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByText("Column")).toBeInTheDocument(),expect(screen.queryByText("Column")).toHaveClass("np-grid-col"),expect(screen.getByText("Column").parentElement).toHaveClass("np-grid")}),it(": renders with various spans",function(){var b=_objectSpread(_objectSpread({},a),{},{children:/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanMd:4,spanLg:3,children:"Column"})}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
4
|
+
expect(screen.getByTestId("test-grid")).toBeInTheDocument(),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByText("Column")).toBeInTheDocument(),expect(screen.queryByText("Column")).toHaveClass("np-grid-col"),expect(screen.queryByText("Column")).toHaveClass("np-grid-col--12"),expect(screen.queryByText("Column")).toHaveClass("np-sm-grid-col--6"),expect(screen.queryByText("Column")).toHaveClass("np-md-grid-col--4"),expect(screen.queryByText("Column")).toHaveClass("np-lg-grid-col--3")}),it(": is set with class by the `className` prop",function(){var b=_objectSpread(_objectSpread({},a),{},{className:"np-grid--modifier"}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
5
|
+
expect(screen.getByTestId("test-grid")).not.toHaveClass("np-grid--modifier"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid--modifier")}),it(": renders with modifier classes",function(){var b=_objectSpread(_objectSpread({},a),{},{// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
6
|
+
align:"center",noGutter:!0,children:/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanMd:4,spanLg:3,children:"Column"})}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
7
|
+
expect(screen.getByTestId("test-grid")).toBeInTheDocument(),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid--alignCenter"),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid--noGutter")}),it(": renders with column modifier classes",function(){var b=_objectSpread(_objectSpread({},a),{},{children:/*#__PURE__*/_jsx(Grid.Col,{align:"center",span:12,spanSm:6,spanMd:4,spanLg:3,children:"Column"})}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
8
|
+
expect(screen.getByTestId("test-grid")).toBeInTheDocument(),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByText("Column")).toBeInTheDocument(),expect(screen.queryByText("Column")).toHaveClass("np-grid-col--alignCenter")})}),describe("<Grid /> Server-side rendering>",function(){var a={children:/*#__PURE__*/_jsx(Grid.Col,{}),testId:"test-grid"};it(": renders on a server wtesthout crashing",function(){expect(function renderOnServer(){return renderToString(/*#__PURE__*/_jsx("main",{children:/*#__PURE__*/_jsx(Grid,_objectSpread({},a))}))}).not.toThrow()}),it(": renders with the class attribute",function(){// eslint-disable-next-line testing-library/render-result-naming-convention
|
|
9
|
+
var b=renderToString(/*#__PURE__*/_jsx(Grid,_objectSpread({},a)));expect(b).toContain("class=\"np-grid\"")})}),expect.extend(toHaveNoViolations),describe("<Grid /> a11y testing",function(){var a={children:/*#__PURE__*/_jsx(Grid.Col,{}),testId:"test-grid"};it(": should not have basic accessibility issues",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function b(){var c,d,e;return _regeneratorRuntime.wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.container,b.next=3,axe(d);case 3:e=b.sent,expect(e).toHaveNoViolations();case 5:case"end":return b.stop();}},b)})))});
|
|
@@ -0,0 +1,2 @@
|
|
|
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 Grid from"./Grid";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";export default{component:Grid,title:"Grid"};var boxStyle={color:"#333",display:"flex",background:"rgba(255, 105, 180, .5)",width:"100%",outline:"1px dashed rgba(255, 105, 180, .8)",outlineOffset:"-1px",padding:"24px"},Box=function(a){var b=a.children;return/*#__PURE__*/_jsx("div",{style:boxStyle,children:b})};// eslint-disable-next-line react/forbid-dom-props
|
|
2
|
+
export var Default=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{children:/*#__PURE__*/_jsx(Box,{})})]}))};export var Responsive=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})})]}))};export var NoGutter=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({},a),{},{noGutter:!0,children:[/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})})]}))};export var Offset=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:1,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,offset:0,spanMd:2,offsetMd:9,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:8,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:4,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:6,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:6,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:4,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:8,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:2,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:1,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:9,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:9,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:1,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})})]}))};export var AlignLeft=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({align:"left"},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})})]}))};export var AlignRight=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({align:"right"},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})})]}))};export var AlignCenter=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({align:"center"},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})})]}))};export var AlignMiddle=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({align:"middle"},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{children:/*#__PURE__*/_jsx("p",{children:"Lorem ipsum dolor, sit amet consectetur adipisicing elit. Consequuntur tempore numquam quo doloremque tempora hic nam, explicabo voluptatem consectetur assumenda iure culpa perspiciatis ipsa sit."})})}),/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{children:/*#__PURE__*/_jsx("p",{children:"Lorem ipsum dolor sit amet consectetur adipisicing elit. Veritatis, aliquam."})})})]}))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{default}from"./Grid";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Types
|
|
3
3
|
*/ /**
|
|
4
4
|
* Components
|
|
5
|
-
*/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 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";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{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}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 Stepper}from"./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";/**
|
|
5
|
+
*/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 Container}from"./container";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 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";export{default as Grid}from"./grid";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{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}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 Stepper}from"./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";/**
|
|
6
6
|
* Hooks
|
|
7
7
|
*/export{default as useSnackbar}from"./snackbar/useSnackbar";export{useDirection,useLayout}from"./common/hooks";/**
|
|
8
8
|
* Enums
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","disabled","onClick","className"];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 classNames from"classnames";import{forwardRef}from"react";import Chevron from"../chevron";import{Position}from"../common";import Option from"../common/Option";import{jsx as _jsx}from"react/jsx-runtime";var NavigationOption=/*#__PURE__*/forwardRef(function(a,b){var c=a.as,d=void 0===c?"button":c,e=a.disabled,f=void 0!==e&&e,g=a.onClick,h=a.className,i=_objectWithoutProperties(a,_excluded);return"href"in i&&(d="a"),/*#__PURE__*/_jsx(Option,_objectSpread(_objectSpread({},i),{},{ref:b,as:d,className:classNames("np-navigation-option",h),button:/*#__PURE__*/_jsx(Chevron,{orientation:Position.RIGHT,disabled:f,className:"d-block"}),disabled:f,onClick:function onClick(a){return f?void a.preventDefault():void(g&&g(a))}}))});export default NavigationOption;
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","disabled","onClick","className"];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 classNames from"classnames";import{forwardRef}from"react";import Chevron from"../chevron";import{Position}from"../common";import Option from"../common/Option";import{jsx as _jsx}from"react/jsx-runtime";var NavigationOption=/*#__PURE__*/forwardRef(function(a,b){var c=a.as,d=void 0===c?"button":c,e=a.disabled,f=void 0!==e&&e,g=a.onClick,h=a.className,i=_objectWithoutProperties(a,_excluded);return"href"in i&&i.href&&(d="a"),/*#__PURE__*/_jsx(Option,_objectSpread(_objectSpread({},i),{},{ref:b,as:d,className:classNames("np-navigation-option",h),button:/*#__PURE__*/_jsx(Chevron,{orientation:Position.RIGHT,disabled:f,className:"d-block"}),disabled:f,onClick:function onClick(a){return f?void a.preventDefault():void(g&&g(a))}}))});export default NavigationOption;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";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 _regeneratorRuntime from"@babel/runtime/regenerator";import{render,waitFor,screen}from"@testing-library/react";import{FormattedMessage,useIntl}from"react-intl";import closeButtonMessages from"../common/closeButton/CloseButton.messages";import Provider from".";import{jsx as _jsx}from"react/jsx-runtime";import{Fragment as _Fragment}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";describe("Provider",function(){beforeAll(function(){jest.spyOn(console,"error").mockImplementation(function(){return jest.fn()}),jest.spyOn(console,"error").mockImplementation(function(){return jest.fn()}),jest.spyOn(console,"warn").mockImplementation(function(){return jest.fn()})}),afterAll(function(){jest.restoreAllMocks()}),it("does not add any elements in the DOM",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function a(){var b,c,d,e;return _regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return b="en",a.next=3,import("../i18n/".concat(b,".json"));case 3:c=a.sent,d=render(/*#__PURE__*/_jsx(Provider,{i18n:{locale:b,messages:c}})),e=d.container,expect(e).toBeEmptyDOMElement();case 6:case"end":return a.stop();}},a)}))),it.each([["zh-HK","zh-HK"],["ru","ru"],["en-GB","en-GB"],["en-US","en-US"],["en_US","en-US"],["en_GB","en-GB"],["ja","ja"],["ja-JP","ja-JP"],["","en-GB"],[" ","en-GB"],[null,"en-GB"],[void 0,"en-GB"]])("check locale value \"%s\"",function(a,b){var c=render(/*#__PURE__*/ // @ts-expect-error 2322
|
|
2
|
-
_jsx(Provider,{i18n:{locale:a,messages:{}},children:/*#__PURE__*/_jsx(function TestComponent(){var a=useIntl();return/*#__PURE__*/_jsxs(_Fragment,{children:["locale: ",a.locale]})},{})})),d=c.container;expect(d).toHaveTextContent("locale: ".concat(b))}),it.each([["ru","\u0417\u0430\u043A\u0440\u044B\u0442\u044C"],["en","Close"]])("switching locale (%s)",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function a
|
|
2
|
+
_jsx(Provider,{i18n:{locale:a,messages:{}},children:/*#__PURE__*/_jsx(function TestComponent(){var a=useIntl();return/*#__PURE__*/_jsxs(_Fragment,{children:["locale: ",a.locale]})},{})})),d=c.container;expect(d).toHaveTextContent("locale: ".concat(b))}),it.each([["ru","\u0417\u0430\u043A\u0440\u044B\u0442\u044C"],["en","Close"]])("switching locale (%s)",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function c(a,b){var d;return _regeneratorRuntime.wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return expect(document.body).toBeEmptyDOMElement(),c.next=3,import("../i18n/".concat(a,".json"));case 3:return d=c.sent,render(/*#__PURE__*/_jsx(Provider,{i18n:{locale:a,messages:d},children:/*#__PURE__*/_jsx(FormattedMessage,_objectSpread({},closeButtonMessages.ariaLabel))})),c.next=7,waitFor(function(){expect(screen.getByText(b)).toBeInTheDocument()});case 7:case"end":return c.stop();}},c)}));return function(){return a.apply(this,arguments)}}())});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _UPLOAD_STEP_COMPONEN;import _regeneratorRuntime from"@babel/runtime/regenerator";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import{Plus as PlusIcon}from"@transferwise/icons";import classNames from"classnames";import PropTypes from"prop-types";import{Component}from"react";import{injectIntl}from"react-intl";import{Status}from"../common";import messages from"./Upload.messages";import{UploadImageStep,MediaUploadStep,ProcessingStep,CompleteStep}from"./steps";import{UploadStep}from"./uploadSteps";import{postData,asyncFileRead,isSizeValid,isTypeValid,getFileType}from"./utils";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var PROCESS_STATE=["error","success"],ANIMATION_FIX=10,MAX_SIZE_DEFAULT=5e6,UPLOAD_STEP_COMPONENTS=(_UPLOAD_STEP_COMPONEN={},_defineProperty(_UPLOAD_STEP_COMPONEN,UploadStep.UPLOAD_IMAGE_STEP,UploadImageStep),_defineProperty(_UPLOAD_STEP_COMPONEN,UploadStep.MEDIA_UPLOAD_STEP,MediaUploadStep),_UPLOAD_STEP_COMPONEN),Upload=/*#__PURE__*/function(a){function b(a){var d;return _classCallCheck(this,b),d=c.call(this,a),_defineProperty(_assertThisInitialized(d),"onAnimationCompleted",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function a
|
|
1
|
+
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _UPLOAD_STEP_COMPONEN;import _regeneratorRuntime from"@babel/runtime/regenerator";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import{Plus as PlusIcon}from"@transferwise/icons";import classNames from"classnames";import PropTypes from"prop-types";import{Component}from"react";import{injectIntl}from"react-intl";import{Status}from"../common";import messages from"./Upload.messages";import{UploadImageStep,MediaUploadStep,ProcessingStep,CompleteStep}from"./steps";import{UploadStep}from"./uploadSteps";import{postData,asyncFileRead,isSizeValid,isTypeValid,getFileType}from"./utils";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var PROCESS_STATE=["error","success"],ANIMATION_FIX=10,MAX_SIZE_DEFAULT=5e6,UPLOAD_STEP_COMPONENTS=(_UPLOAD_STEP_COMPONEN={},_defineProperty(_UPLOAD_STEP_COMPONEN,UploadStep.UPLOAD_IMAGE_STEP,UploadImageStep),_defineProperty(_UPLOAD_STEP_COMPONEN,UploadStep.MEDIA_UPLOAD_STEP,MediaUploadStep),_UPLOAD_STEP_COMPONEN),Upload=/*#__PURE__*/function(a){function b(a){var d;return _classCallCheck(this,b),d=c.call(this,a),_defineProperty(_assertThisInitialized(d),"onAnimationCompleted",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function b(a){var c,e,f,g,h,i,j;return _regeneratorRuntime.wrap(function(b){for(;;)switch(b.prev=b.next){case 0:c=d.state,e=c.response,f=c.isProcessing,g=c.fileName,h=d.props.animationDelay,f&&a===Status.SUCCEEDED&&(i=d.props.onSuccess,d.timeouts=setTimeout(function(){d.setState({isProcessing:!1,isComplete:!0},function(){return i?i(e,g):{}})},h)),f&&a===Status.FAILED&&(j=d.props.onFailure,d.timeouts=setTimeout(function(){d.setState({isProcessing:!1,isComplete:!0},function(){return j?j(e):{}})},h));case 4:case"end":return b.stop();}},b)}));return function(){return a.apply(this,arguments)}}()),_defineProperty(_assertThisInitialized(d),"asyncPost",function(a){var b=d.props,c=b.httpOptions,e=b.fetcher,f=c||{},g=f.fileInputName,h=void 0===g?a.name:g,i=f.data,j=void 0===i?{}:i,k=new FormData;return k.append(h,a),Object.keys(j).forEach(function(a){return k.append(a,j[a])}),postData(d.prepareHttpOptions(c),k,e)}),_defineProperty(_assertThisInitialized(d),"asyncResponse",function(a,b){d.timeouts=setTimeout(function(){d.setState({response:a,isError:b===PROCESS_STATE[0],isSuccess:b===PROCESS_STATE[1]})},ANIMATION_FIX)}),_defineProperty(_assertThisInitialized(d),"prepareHttpOptions",function(a){if(!a.url)throw new Error("You must supply a URL to post image data asynchronously");return a}),_defineProperty(_assertThisInitialized(d),"handleOnClear",function(a){a.preventDefault();var b=d.props.onCancel;b&&b(),d.reset()}),_defineProperty(_assertThisInitialized(d),"reset",function(){d.dragCounter=0,clearTimeout(d.timeouts),d.setState({isComplete:!1,isError:!1,isProcessing:!1,isSuccess:!1})}),_defineProperty(_assertThisInitialized(d),"showDataImage",function(a){var b=d.state.isImage;b&&d.setState({uploadedImage:a})}),_defineProperty(_assertThisInitialized(d),"fileDropped",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function b(a){var c,e,f,g,h,i,j,k,l,m;return _regeneratorRuntime.wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(c=d.props,e=c.httpOptions,f=c.maxSize,g=c.onStart,h=c.usDisabled,i=c.usAccept,j=d.state.isProcessing,!(h||j)){b.next=4;break}return b.abrupt("return",!1);case 4:if(a){b.next=6;break}throw new Error("Could not retrieve file");case 6:return d.setState({fileName:a.name,isDroppable:!1,isProcessing:!0}),g&&g(a),k=null,b.prev=9,b.next=12,asyncFileRead(a);case 12:k=b.sent,b.next=18;break;case 15:b.prev=15,b.t0=b["catch"](9),d.asyncResponse(b.t0,PROCESS_STATE[0]);case 18:if(k){b.next=20;break}return b.abrupt("return",!1);case 20:if(d.setState({isImage:getFileType(a,k).includes("image")}),isTypeValid(a,i,k)){b.next=25;break}return l={status:415,statusText:"Unsupported Media Type"},d.asyncResponse(l,PROCESS_STATE[0]),b.abrupt("return",!1);case 25:if(isSizeValid(a,f)){b.next=29;break}return m={status:413,statusText:"Request Entity Too Large"},d.asyncResponse(m,PROCESS_STATE[0]),b.abrupt("return",!1);case 29:if(!e){b.next=33;break}return b.next=32,d.asyncPost(a).then(function(a){return d.asyncResponse(a,"success")}).then(function(){return d.showDataImage(k),!0}).catch(function(a){return d.asyncResponse(a,PROCESS_STATE[0]),!1});case 32:return b.abrupt("return",b.sent);case 33:return d.showDataImage(k),d.asyncResponse(k,"success"),b.abrupt("return",!0);case 36:case"end":return b.stop();}},b,null,[[9,15]])}));return function(){return a.apply(this,arguments)}}()),d.dragCounter=0,d.timeouts=null,d.state={fileName:"",isComplete:!1,isError:!1,isImage:!1,isProcessing:!1,isSuccess:!1,response:null,uploadedImage:null},d}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"getErrorMessage",value:function getErrorMessage(a){return 413===a?this.props.csTooLargeMessage||this.props.intl.formatMessage(messages.csTooLargeMessage):415===a?this.props.csWrongTypeMessage||this.props.intl.formatMessage(messages.csWrongTypeMessage):this.props.csFailureText||this.props.intl.formatMessage(messages.csFailureText)}},{key:"onDragLeave",value:function onDragLeave(a){a.preventDefault(),this.dragCounter-=1,0===this.dragCounter&&this.setState({isDroppable:!1})}},{key:"onDragEnter",value:function onDragEnter(a){a.preventDefault(),this.dragCounter+=1;var b=this.props.usDisabled,c=this.state.isProcessing;1!==this.dragCounter||b||c||this.setState({isDroppable:!0})}},{key:"onDrop",value:function onDrop(a){var b=this.state.isProcessing;a.preventDefault(),b||this.reset(),a.dataTransfer&&a.dataTransfer.files&&a.dataTransfer.files[0]&&this.fileDropped(a.dataTransfer.files[0])}},{key:"render",value:function render(){var a=this,b=this.props,c=b.usDropMessage,d=b.usAccept,e=b.usButtonText,f=b.usDisabled,g=b.usHelpImage,h=b.usLabel,i=b.usPlaceholder,j=b.psButtonText,k=b.psProcessingText,l=b.csButtonText,m=b.csSuccessText,n=b.size,o=b.uploadStep,p=b.intl,q=this.state,r=q.response,s=q.fileName,t=q.isComplete,u=q.isDroppable,v=q.isError,w=q.isImage,x=q.isProcessing,y=q.isSuccess,z=q.uploadedImage,A=UPLOAD_STEP_COMPONENTS[o]||UploadImageStep;return/*#__PURE__*/_jsxs("div",{className:classNames({droppable:!0,"tw-droppable-sm droppable-sm":"sm"===n,"tw-droppable-md droppable-md":"md"===n||!n,"tw-droppable-lg droppable-lg":"lg"===n,"droppable-dropping":u,"droppable-processing":x,"droppable-complete":t}),onDragEnter:function onDragEnter(b){return a.onDragEnter(b)},onDragLeave:function onDragLeave(b){return a.onDragLeave(b)},onDrop:function onDrop(b){return a.onDrop(b)},onDragOver:function onDragOver(a){return a.preventDefault()},children:[!x&&!t&&/*#__PURE__*/_jsx(A,{fileDropped:function fileDropped(b){return a.fileDropped(b)},isComplete:t,usAccept:d,usButtonText:e||p.formatMessage(messages.usButtonText),usDisabled:f,usHelpImage:g,usLabel:h,usPlaceholder:i||p.formatMessage(messages.usPlaceholder)}),x&&/*#__PURE__*/_jsx(ProcessingStep,{isComplete:t,isError:v,isSuccess:y,psButtonText:j||p.formatMessage(messages.psButtonText),psProcessingText:k||p.formatMessage(messages.psProcessingText),onAnimationCompleted:function onAnimationCompleted(b){return a.onAnimationCompleted(b)},onClear:function onClear(b){return a.handleOnClear(b)}}),(y||v||t)&&/*#__PURE__*/_jsx(CompleteStep,{fileName:s,isComplete:t,isError:v,isImage:w,csButtonText:l||p.formatMessage(messages.csButtonText),csFailureText:this.getErrorMessage(null===r||void 0===r?void 0:r.status),csSuccessText:m||p.formatMessage(messages.csSuccessText),uploadedImage:z,onClear:function onClear(b){return a.handleOnClear(b)}}),!x&&/*#__PURE__*/_jsx("div",{className:"droppable-dropping-card droppable-card",children:/*#__PURE__*/_jsxs("div",{className:"droppable-card-content",children:[/*#__PURE__*/_jsx("div",{className:"circle circle-sm p-t-1 text-primary",children:/*#__PURE__*/_jsx(PlusIcon,{})}),/*#__PURE__*/_jsx("h4",{className:"m-t-3",children:c||p.formatMessage(messages.usDropMessage)})]})})]})}}]),b}(Component);/*
|
|
2
2
|
* This delay is required for the isError/isSuccess to be fired after isProcessing so the processIndicator, will be
|
|
3
3
|
* rendered first and then updated with the right status.
|
|
4
4
|
*/Upload.propTypes={animationDelay:PropTypes.number,csButtonText:PropTypes.string,csFailureText:PropTypes.string,csSuccessText:PropTypes.string,csTooLargeMessage:PropTypes.string,csWrongTypeMessage:PropTypes.string,httpOptions:PropTypes.shape({url:PropTypes.string.isRequired,method:PropTypes.oneOf(["POST","PUT","PATCH"]),fileInputName:PropTypes.string,data:PropTypes.object,headers:PropTypes.object}),/**
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["children","as","isFullWidth","testId"];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.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 classNames from"classnames";import React from"react";import{jsx as _jsx}from"react/jsx-runtime";/**
|
|
2
|
+
* Use `Container` as the root component of the Neptune design system.
|
|
3
|
+
*
|
|
4
|
+
* @component
|
|
5
|
+
* @example
|
|
6
|
+
* const isFullWidth = true
|
|
7
|
+
* return (
|
|
8
|
+
* <Container isFullWidth={isFullWidth}>
|
|
9
|
+
* <div>Hello World!</div>
|
|
10
|
+
* </Container>
|
|
11
|
+
* )
|
|
12
|
+
*/var Container=function(a){var b=a.children,c=a.as,d=void 0===c?"div":c,e=a.isFullWidth,f=a.testId,g=_objectWithoutProperties(a,_excluded),h=classNames({"np-container":!0,"np-container--fullWidth":!!e});return/*#__PURE__*/_jsx(d,_objectSpread(_objectSpread(_objectSpread({},{className:h,"data-testid":f}),g),{},{children:b}))};export default Container;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";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.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";import _regeneratorRuntime from"@babel/runtime/regenerator";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{axe,toHaveNoViolations}from"jest-axe";import React from"react";import{renderToString}from"react-dom/server";import{render,screen}from"../test-utils";import Container from".";import{jsx as _jsx}from"react/jsx-runtime";describe("<Container />",function(){var a={children:"Hello World!",testId:"test-container"};it(": matches snapshot",function(){var b=render(/*#__PURE__*/_jsx(Container,_objectSpread({},a))),c=b.container;expect(c.firstChild).toMatchSnapshot()}),it(": matches snapshot as an `<main>` element",function(){var b=_objectSpread(_objectSpread({},a),{},{as:"main"}),c=render(/*#__PURE__*/_jsx(Container,_objectSpread({},b))),d=c.container;expect(d.firstChild).toMatchSnapshot()}),it(": renders",function(){var b=_objectSpread(_objectSpread({},a),{},{children:"Hello World! Hello World!"}),c=render(/*#__PURE__*/_jsx(Container,_objectSpread({},a))),d=c.rerender;// Change props
|
|
2
|
+
expect(screen.getByTestId("test-container")).toBeInTheDocument(),expect(screen.getByTestId("test-container")).toHaveClass("np-container"),d(/*#__PURE__*/_jsx(Container,_objectSpread({},b))),expect(screen.getByText("Hello World! Hello World!")).toBeInTheDocument()}),it(": is set to `max-width: inherit;`` by the isFullWidth prop",function(){var b=_objectSpread(_objectSpread({},a),{},{isFullWidth:!0}),c=render(/*#__PURE__*/_jsx(Container,_objectSpread({},a))),d=c.rerender;// Change props
|
|
3
|
+
expect(screen.getByTestId("test-container")).not.toHaveClass("np-container--fullWidth"),d(/*#__PURE__*/_jsx(Container,_objectSpread({},b))),expect(screen.getByTestId("test-container")).toHaveClass("np-container--fullWidth")})}),describe("<Container /> Server-side rendering>",function(){it(": renders on a server wtesthout crashing",function(){expect(function renderOnServer(){return renderToString(/*#__PURE__*/_jsx("main",{children:/*#__PURE__*/_jsx(Container,{children:"Text"})}))}).not.toThrow()}),it(": renders with the class attribute",function(){// eslint-disable-next-line testing-library/render-result-naming-convention
|
|
4
|
+
var a=renderToString(/*#__PURE__*/_jsx(Container,{children:"Text"}));expect(a).toContain("class=\"np-container\"")})}),expect.extend(toHaveNoViolations),describe("<Container /> a11y testing",function(){var a={children:"text",testId:"test-container"};it(": should not have basic accessibility issues",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function b(){var c,d,e;return _regeneratorRuntime.wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=render(/*#__PURE__*/_jsx(Container,_objectSpread({},a))),d=c.container,b.next=3,axe(d);case 3:e=b.sent,expect(e).toHaveNoViolations();case 5:case"end":return b.stop();}},b)})))});
|
|
@@ -0,0 +1,2 @@
|
|
|
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.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 Container from"./Container";import{jsx as _jsx}from"react/jsx-runtime";export default{component:Container,title:"Container"};var boxStyle={color:"#333",display:"flex",background:"rgba(255, 105, 180, .5)",width:"100%",outline:"1px dashed rgba(255, 105, 180, .8)",outlineOffset:"-1px",padding:"24px"},Box=function(a){var b=a.children;return/*#__PURE__*/_jsx("div",{style:boxStyle,children:b})};// eslint-disable-next-line react/forbid-dom-props
|
|
2
|
+
export var Default=function(a){return/*#__PURE__*/_jsx(Container,_objectSpread(_objectSpread({},a),{},{children:/*#__PURE__*/_jsx(Box,{})}))};export var FullWidth=function(a){return/*#__PURE__*/_jsx(Container,_objectSpread(_objectSpread({},a),{},{isFullWidth:!0,children:/*#__PURE__*/_jsx(Box,{})}))};export var Tag=function(a){return/*#__PURE__*/_jsx(Container,_objectSpread(_objectSpread({},a),{},{as:"main",children:/*#__PURE__*/_jsx(Box,{})}))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{default}from"./Container";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import
|
|
1
|
+
import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import"core-js/modules/es.array.splice.js";/**
|
|
2
2
|
* Dimmer state management inspired by Material UI's ModalManager (https://github.com/mui-org/material-ui)
|
|
3
3
|
*/var DimmerManager=/*#__PURE__*/function(){/**
|
|
4
4
|
* Dimmer refs
|
|
5
|
-
*/function a(){_classCallCheck(this,a),
|
|
5
|
+
*/function a(){_classCallCheck(this,a),this.dimmers=[]}return _createClass(a,[{key:"add",value:function add(a){var b=this.dimmers.indexOf(a);return-1===b?(b=this.dimmers.length,this.dimmers.push(a),b):b}},{key:"remove",value:function remove(a){var b=this.dimmers.indexOf(a);return-1!==b&&this.dimmers.splice(b,1),b}},{key:"isTop",value:function isTop(a){return 0<this.dimmers.length&&this.dimmers[this.dimmers.length-1]===a}}]),a}();export{DimmerManager as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import
|
|
1
|
+
import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import"core-js/modules/es.array.map.js";import"core-js/modules/es.regexp.constructor.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/es.regexp.to-string.js";import"core-js/modules/es.array.concat.js";import"core-js/modules/es.string.replace.js";import"core-js/modules/es.array.reduce.js";var ESCAPED_OPENING_CHEVRON="<",ESCAPED_CLOSING_CHEVRON=">",EmphasisHtmlTransformer=/*#__PURE__*/function(){function a(b){_classCallCheck(this,a),this.tags=(b||[]).map(function(a){return{transformed:{opening:"<em class=\"emphasis emphasis--".concat(a,"\">"),closing:"</em>"},escapedRegex:{opening:new RegExp("".concat(ESCAPED_OPENING_CHEVRON).concat(a).concat(ESCAPED_CLOSING_CHEVRON),"g"),closing:new RegExp("".concat(ESCAPED_OPENING_CHEVRON,"/").concat(a).concat(ESCAPED_CLOSING_CHEVRON),"g")}}})}// Algorithm:
|
|
2
2
|
// 1) Escape all dangerous characters (<,>,&)
|
|
3
3
|
// 2) Replace all escaped, whitelisted tags with styled spans.
|
|
4
4
|
// 3) Transform new line characters to `<br />`s
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["align","children","className","id","noGutter","testId"],_excluded2=["align","children","className","span","spanXs","spanSm","spanMd","spanLg","spanXl","offset","offsetXs","offsetSm","offsetMd","offsetLg","offsetXl","testId"];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"core-js/modules/es.array.map.js";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.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";/* eslint-disable @typescript-eslint/restrict-template-expressions */import classNames from"classnames";import React,{useEffect}from"react";import{jsx as _jsx}from"react/jsx-runtime";/**
|
|
2
|
+
* Grid component.
|
|
3
|
+
*
|
|
4
|
+
* @component
|
|
5
|
+
* @example
|
|
6
|
+
* const align = 'center'
|
|
7
|
+
* const equalHeight = true
|
|
8
|
+
* return (
|
|
9
|
+
* <Grid align={align} equalHeight={equalHeight}>
|
|
10
|
+
* <div>...</div>
|
|
11
|
+
* <div>...</div>
|
|
12
|
+
* </Grid>
|
|
13
|
+
* )
|
|
14
|
+
*/var Grid=function(a){var b=a.align,c=a.children,d=a.className,e=a.id,f=a.noGutter,g=a.testId,h=_objectWithoutProperties(a,_excluded);useEffect(function(){React.Children.map(c,function(a){a&&a.type!==GridCol&&console.warn("Illegal child passed to <Grid />. Ensure to only use <Grid.Col />.")})},[c]);var i=classNames(_defineProperty({"np-grid":!0,"np-grid--alignLeft":"left"===b,"np-grid--alignRight":"right"===b,"np-grid--alignCenter":"center"===b,"np-grid--alignMiddle":"middle"===b,"np-grid--noGutter":!!f},"".concat(d),d));return/*#__PURE__*/_jsx("div",_objectSpread(_objectSpread(_objectSpread({},{className:i,"data-testid":g,id:e}),h),{},{children:c}))},GridCol=function(a){var b,c=a.align,d=a.children,e=a.className,f=a.span,g=a.spanXs,h=a.spanSm,i=a.spanMd,j=a.spanLg,k=a.spanXl,l=a.offset,m=a.offsetXs,n=a.offsetSm,o=a.offsetMd,p=a.offsetLg,q=a.offsetXl,r=a.testId,s=_objectWithoutProperties(a,_excluded2),t=classNames((b={"np-grid-col":!0},_defineProperty(b,"np-grid-col--".concat(f),"undefined"!=typeof f),_defineProperty(b,"np-xs-grid-col--".concat(g),"undefined"!=typeof g),_defineProperty(b,"np-sm-grid-col--".concat(h),"undefined"!=typeof h),_defineProperty(b,"np-md-grid-col--".concat(i),"undefined"!=typeof i),_defineProperty(b,"np-lg-grid-col--".concat(j),"undefined"!=typeof j),_defineProperty(b,"np-xl-grid-col--".concat(k),"undefined"!=typeof k),_defineProperty(b,"np-grid-col--offset-".concat(l),"undefined"!=typeof l),_defineProperty(b,"np-xs-grid-col--offset-".concat(m),"undefined"!=typeof m),_defineProperty(b,"np-sm-grid-col--offset-".concat(n),"undefined"!=typeof n),_defineProperty(b,"np-md-grid-col--offset-".concat(o),"undefined"!=typeof o),_defineProperty(b,"np-lg-grid-col--offset-".concat(p),"undefined"!=typeof p),_defineProperty(b,"np-xl-grid-col--offset-".concat(q),"undefined"!=typeof q),_defineProperty(b,"np-grid-col--alignLeft","left"===c),_defineProperty(b,"np-grid-col--alignRight","right"===c),_defineProperty(b,"np-grid-col--alignCenter","center"===c),_defineProperty(b,"np-grid-col--alignMiddle","middle"===c),_defineProperty(b,"".concat(e),e),b));return/*#__PURE__*/_jsx("div",_objectSpread(_objectSpread(_objectSpread({},{className:t,"data-testid":r}),s),{},{children:d}))};/**
|
|
15
|
+
* Grid column component.
|
|
16
|
+
*
|
|
17
|
+
* @component
|
|
18
|
+
* @example
|
|
19
|
+
* return (
|
|
20
|
+
* <Grid>
|
|
21
|
+
* <Grid.Col>...</Grid.Col>
|
|
22
|
+
* <Grid.Col>...</Grid.Col>
|
|
23
|
+
* </Grid>
|
|
24
|
+
* )
|
|
25
|
+
*/GridCol.displayName="Grid.Col",Grid.Col=GridCol;export default Grid;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";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.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";import _regeneratorRuntime from"@babel/runtime/regenerator";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}/* eslint-disable @typescript-eslint/no-unsafe-assignment */ /* eslint-disable @typescript-eslint/no-unsafe-call */import{render,screen}from"@testing-library/react";import{axe,toHaveNoViolations}from"jest-axe";import{renderToString}from"react-dom/server";import Grid from".";import{jsx as _jsx}from"react/jsx-runtime";describe("<Grid />",function(){var a={children:/*#__PURE__*/_jsx(Grid.Col,{}),testId:"test-grid"};it(": matches snapshot",function(){var b=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),c=b.container;// eslint-disable-next-line testing-library/no-node-access
|
|
2
|
+
expect(c.firstChild).toMatchSnapshot()}),it(": renders",function(){var b=_objectSpread(_objectSpread({},a),{},{children:/*#__PURE__*/_jsx(Grid.Col,{children:"Column"})}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
3
|
+
expect(screen.getByTestId("test-grid")).toBeInTheDocument(),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByText("Column")).toBeInTheDocument(),expect(screen.queryByText("Column")).toHaveClass("np-grid-col"),expect(screen.getByText("Column").parentElement).toHaveClass("np-grid")}),it(": renders with various spans",function(){var b=_objectSpread(_objectSpread({},a),{},{children:/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanMd:4,spanLg:3,children:"Column"})}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
4
|
+
expect(screen.getByTestId("test-grid")).toBeInTheDocument(),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByText("Column")).toBeInTheDocument(),expect(screen.queryByText("Column")).toHaveClass("np-grid-col"),expect(screen.queryByText("Column")).toHaveClass("np-grid-col--12"),expect(screen.queryByText("Column")).toHaveClass("np-sm-grid-col--6"),expect(screen.queryByText("Column")).toHaveClass("np-md-grid-col--4"),expect(screen.queryByText("Column")).toHaveClass("np-lg-grid-col--3")}),it(": is set with class by the `className` prop",function(){var b=_objectSpread(_objectSpread({},a),{},{className:"np-grid--modifier"}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
5
|
+
expect(screen.getByTestId("test-grid")).not.toHaveClass("np-grid--modifier"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid--modifier")}),it(": renders with modifier classes",function(){var b=_objectSpread(_objectSpread({},a),{},{// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
6
|
+
align:"center",noGutter:!0,children:/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanMd:4,spanLg:3,children:"Column"})}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
7
|
+
expect(screen.getByTestId("test-grid")).toBeInTheDocument(),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid--alignCenter"),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid--noGutter")}),it(": renders with column modifier classes",function(){var b=_objectSpread(_objectSpread({},a),{},{children:/*#__PURE__*/_jsx(Grid.Col,{align:"center",span:12,spanSm:6,spanMd:4,spanLg:3,children:"Column"})}),c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.rerender;// Change props
|
|
8
|
+
expect(screen.getByTestId("test-grid")).toBeInTheDocument(),expect(screen.getByTestId("test-grid")).toHaveClass("np-grid"),d(/*#__PURE__*/_jsx(Grid,_objectSpread({},b))),expect(screen.getByText("Column")).toBeInTheDocument(),expect(screen.queryByText("Column")).toHaveClass("np-grid-col--alignCenter")})}),describe("<Grid /> Server-side rendering>",function(){var a={children:/*#__PURE__*/_jsx(Grid.Col,{}),testId:"test-grid"};it(": renders on a server wtesthout crashing",function(){expect(function renderOnServer(){return renderToString(/*#__PURE__*/_jsx("main",{children:/*#__PURE__*/_jsx(Grid,_objectSpread({},a))}))}).not.toThrow()}),it(": renders with the class attribute",function(){// eslint-disable-next-line testing-library/render-result-naming-convention
|
|
9
|
+
var b=renderToString(/*#__PURE__*/_jsx(Grid,_objectSpread({},a)));expect(b).toContain("class=\"np-grid\"")})}),expect.extend(toHaveNoViolations),describe("<Grid /> a11y testing",function(){var a={children:/*#__PURE__*/_jsx(Grid.Col,{}),testId:"test-grid"};it(": should not have basic accessibility issues",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function b(){var c,d,e;return _regeneratorRuntime.wrap(function(b){for(;;)switch(b.prev=b.next){case 0:return c=render(/*#__PURE__*/_jsx(Grid,_objectSpread({},a))),d=c.container,b.next=3,axe(d);case 3:e=b.sent,expect(e).toHaveNoViolations();case 5:case"end":return b.stop();}},b)})))});
|
|
@@ -0,0 +1,2 @@
|
|
|
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.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 Grid from"./Grid";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";export default{component:Grid,title:"Grid"};var boxStyle={color:"#333",display:"flex",background:"rgba(255, 105, 180, .5)",width:"100%",outline:"1px dashed rgba(255, 105, 180, .8)",outlineOffset:"-1px",padding:"24px"},Box=function(a){var b=a.children;return/*#__PURE__*/_jsx("div",{style:boxStyle,children:b})};// eslint-disable-next-line react/forbid-dom-props
|
|
2
|
+
export var Default=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{children:/*#__PURE__*/_jsx(Box,{})})]}))};export var Responsive=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})})]}))};export var NoGutter=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({},a),{},{noGutter:!0,children:[/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanSm:6,spanLg:3,children:/*#__PURE__*/_jsx(Box,{children:"Span 3"})})]}))};export var Offset=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:1,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,offset:0,spanMd:2,offsetMd:9,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:8,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:4,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:6,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:6,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:4,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:8,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:2,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:1,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:9,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:9,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:12,spanMd:1,offset:0,offsetMd:2,children:/*#__PURE__*/_jsx(Box,{})})]}))};export var AlignLeft=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({align:"left"},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})})]}))};export var AlignRight=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({align:"right"},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})})]}))};export var AlignCenter=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({align:"center"},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})}),/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{})})]}))};export var AlignMiddle=function(a){return/*#__PURE__*/_jsxs(Grid,_objectSpread(_objectSpread({align:"middle"},a),{},{children:[/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{children:/*#__PURE__*/_jsx("p",{children:"Lorem ipsum dolor, sit amet consectetur adipisicing elit. Consequuntur tempore numquam quo doloremque tempora hic nam, explicabo voluptatem consectetur assumenda iure culpa perspiciatis ipsa sit."})})}),/*#__PURE__*/_jsx(Grid.Col,{span:3,children:/*#__PURE__*/_jsx(Box,{children:/*#__PURE__*/_jsx("p",{children:"Lorem ipsum dolor sit amet consectetur adipisicing elit. Veritatis, aliquam."})})})]}))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{default}from"./Grid";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Types
|
|
3
3
|
*/ /**
|
|
4
4
|
* Components
|
|
5
|
-
*/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 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";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{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}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 Stepper}from"./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";/**
|
|
5
|
+
*/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 Container}from"./container";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 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";export{default as Grid}from"./grid";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{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}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 Stepper}from"./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";/**
|
|
6
6
|
* Hooks
|
|
7
7
|
*/export{default as useSnackbar}from"./snackbar/useSnackbar";export{useDirection,useLayout}from"./common/hooks";/**
|
|
8
8
|
* Enums
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","disabled","onClick","className"];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.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 classNames from"classnames";import{forwardRef}from"react";import Chevron from"../chevron";import{Position}from"../common";import Option from"../common/Option";import{jsx as _jsx}from"react/jsx-runtime";var NavigationOption=/*#__PURE__*/forwardRef(function(a,b){var c=a.as,d=void 0===c?"button":c,e=a.disabled,f=void 0!==e&&e,g=a.onClick,h=a.className,i=_objectWithoutProperties(a,_excluded);return"href"in i&&(d="a"),/*#__PURE__*/_jsx(Option,_objectSpread(_objectSpread({},i),{},{ref:b,as:d,className:classNames("np-navigation-option",h),button:/*#__PURE__*/_jsx(Chevron,{orientation:Position.RIGHT,disabled:f,className:"d-block"}),disabled:f,onClick:function onClick(a){return f?void a.preventDefault():void(g&&g(a))}}))});export default NavigationOption;
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","disabled","onClick","className"];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.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 classNames from"classnames";import{forwardRef}from"react";import Chevron from"../chevron";import{Position}from"../common";import Option from"../common/Option";import{jsx as _jsx}from"react/jsx-runtime";var NavigationOption=/*#__PURE__*/forwardRef(function(a,b){var c=a.as,d=void 0===c?"button":c,e=a.disabled,f=void 0!==e&&e,g=a.onClick,h=a.className,i=_objectWithoutProperties(a,_excluded);return"href"in i&&i.href&&(d="a"),/*#__PURE__*/_jsx(Option,_objectSpread(_objectSpread({},i),{},{ref:b,as:d,className:classNames("np-navigation-option",h),button:/*#__PURE__*/_jsx(Chevron,{orientation:Position.RIGHT,disabled:f,className:"d-block"}),disabled:f,onClick:function onClick(a){return f?void a.preventDefault():void(g&&g(a))}}))});export default NavigationOption;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";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 _regeneratorRuntime from"@babel/runtime/regenerator";import"core-js/modules/es.object.to-string.js";import"core-js/modules/es.promise.js";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.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";import{render,waitFor,screen}from"@testing-library/react";import{FormattedMessage,useIntl}from"react-intl";import closeButtonMessages from"../common/closeButton/CloseButton.messages";import Provider from".";import{jsx as _jsx}from"react/jsx-runtime";import{Fragment as _Fragment}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";describe("Provider",function(){beforeAll(function(){jest.spyOn(console,"error").mockImplementation(function(){return jest.fn()}),jest.spyOn(console,"error").mockImplementation(function(){return jest.fn()}),jest.spyOn(console,"warn").mockImplementation(function(){return jest.fn()})}),afterAll(function(){jest.restoreAllMocks()}),it("does not add any elements in the DOM",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function a(){var b,c,d,e;return _regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return b="en",a.next=3,import("../i18n/".concat(b,".json"));case 3:c=a.sent,d=render(/*#__PURE__*/_jsx(Provider,{i18n:{locale:b,messages:c}})),e=d.container,expect(e).toBeEmptyDOMElement();case 6:case"end":return a.stop();}},a)}))),it.each([["zh-HK","zh-HK"],["ru","ru"],["en-GB","en-GB"],["en-US","en-US"],["en_US","en-US"],["en_GB","en-GB"],["ja","ja"],["ja-JP","ja-JP"],["","en-GB"],[" ","en-GB"],[null,"en-GB"],[void 0,"en-GB"]])("check locale value \"%s\"",function(a,b){var c=render(/*#__PURE__*/ // @ts-expect-error 2322
|
|
2
|
-
_jsx(Provider,{i18n:{locale:a,messages:{}},children:/*#__PURE__*/_jsx(function TestComponent(){var a=useIntl();return/*#__PURE__*/_jsxs(_Fragment,{children:["locale: ",a.locale]})},{})})),d=c.container;expect(d).toHaveTextContent("locale: ".concat(b))}),it.each([["ru","\u0417\u0430\u043A\u0440\u044B\u0442\u044C"],["en","Close"]])("switching locale (%s)",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function a
|
|
2
|
+
_jsx(Provider,{i18n:{locale:a,messages:{}},children:/*#__PURE__*/_jsx(function TestComponent(){var a=useIntl();return/*#__PURE__*/_jsxs(_Fragment,{children:["locale: ",a.locale]})},{})})),d=c.container;expect(d).toHaveTextContent("locale: ".concat(b))}),it.each([["ru","\u0417\u0430\u043A\u0440\u044B\u0442\u044C"],["en","Close"]])("switching locale (%s)",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function c(a,b){var d;return _regeneratorRuntime.wrap(function(c){for(;;)switch(c.prev=c.next){case 0:return expect(document.body).toBeEmptyDOMElement(),c.next=3,import("../i18n/".concat(a,".json"));case 3:return d=c.sent,render(/*#__PURE__*/_jsx(Provider,{i18n:{locale:a,messages:d},children:/*#__PURE__*/_jsx(FormattedMessage,_objectSpread({},closeButtonMessages.ariaLabel))})),c.next=7,waitFor(function(){expect(screen.getByText(b)).toBeInTheDocument()});case 7:case"end":return c.stop();}},c)}));return function(){return a.apply(this,arguments)}}())});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _UPLOAD_STEP_COMPONEN;import"core-js/modules/es.reflect.construct.js";import"core-js/modules/es.function.name.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.object.keys.js";import"core-js/modules/es.array.includes.js";import"core-js/modules/es.string.includes.js";import _regeneratorRuntime from"@babel/runtime/regenerator";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import{Plus as PlusIcon}from"@transferwise/icons";import classNames from"classnames";import PropTypes from"prop-types";import{Component}from"react";import{injectIntl}from"react-intl";import{Status}from"../common";import messages from"./Upload.messages";import{UploadImageStep,MediaUploadStep,ProcessingStep,CompleteStep}from"./steps";import{UploadStep}from"./uploadSteps";import{postData,asyncFileRead,isSizeValid,isTypeValid,getFileType}from"./utils";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var PROCESS_STATE=["error","success"],ANIMATION_FIX=10,MAX_SIZE_DEFAULT=5e6,UPLOAD_STEP_COMPONENTS=(_UPLOAD_STEP_COMPONEN={},_defineProperty(_UPLOAD_STEP_COMPONEN,UploadStep.UPLOAD_IMAGE_STEP,UploadImageStep),_defineProperty(_UPLOAD_STEP_COMPONEN,UploadStep.MEDIA_UPLOAD_STEP,MediaUploadStep),_UPLOAD_STEP_COMPONEN),Upload=/*#__PURE__*/function(a){function b(a){var d;return _classCallCheck(this,b),d=c.call(this,a),_defineProperty(_assertThisInitialized(d),"onAnimationCompleted",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function a
|
|
1
|
+
import _asyncToGenerator from"@babel/runtime/helpers/asyncToGenerator";import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _UPLOAD_STEP_COMPONEN;import"core-js/modules/es.reflect.construct.js";import"core-js/modules/es.function.name.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.object.keys.js";import"core-js/modules/es.array.includes.js";import"core-js/modules/es.string.includes.js";import _regeneratorRuntime from"@babel/runtime/regenerator";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import{Plus as PlusIcon}from"@transferwise/icons";import classNames from"classnames";import PropTypes from"prop-types";import{Component}from"react";import{injectIntl}from"react-intl";import{Status}from"../common";import messages from"./Upload.messages";import{UploadImageStep,MediaUploadStep,ProcessingStep,CompleteStep}from"./steps";import{UploadStep}from"./uploadSteps";import{postData,asyncFileRead,isSizeValid,isTypeValid,getFileType}from"./utils";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var PROCESS_STATE=["error","success"],ANIMATION_FIX=10,MAX_SIZE_DEFAULT=5e6,UPLOAD_STEP_COMPONENTS=(_UPLOAD_STEP_COMPONEN={},_defineProperty(_UPLOAD_STEP_COMPONEN,UploadStep.UPLOAD_IMAGE_STEP,UploadImageStep),_defineProperty(_UPLOAD_STEP_COMPONEN,UploadStep.MEDIA_UPLOAD_STEP,MediaUploadStep),_UPLOAD_STEP_COMPONEN),Upload=/*#__PURE__*/function(a){function b(a){var d;return _classCallCheck(this,b),d=c.call(this,a),_defineProperty(_assertThisInitialized(d),"onAnimationCompleted",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function b(a){var c,e,f,g,h,i,j;return _regeneratorRuntime.wrap(function(b){for(;;)switch(b.prev=b.next){case 0:c=d.state,e=c.response,f=c.isProcessing,g=c.fileName,h=d.props.animationDelay,f&&a===Status.SUCCEEDED&&(i=d.props.onSuccess,d.timeouts=setTimeout(function(){d.setState({isProcessing:!1,isComplete:!0},function(){return i?i(e,g):{}})},h)),f&&a===Status.FAILED&&(j=d.props.onFailure,d.timeouts=setTimeout(function(){d.setState({isProcessing:!1,isComplete:!0},function(){return j?j(e):{}})},h));case 4:case"end":return b.stop();}},b)}));return function(){return a.apply(this,arguments)}}()),_defineProperty(_assertThisInitialized(d),"asyncPost",function(a){var b=d.props,c=b.httpOptions,e=b.fetcher,f=c||{},g=f.fileInputName,h=void 0===g?a.name:g,i=f.data,j=void 0===i?{}:i,k=new FormData;return k.append(h,a),Object.keys(j).forEach(function(a){return k.append(a,j[a])}),postData(d.prepareHttpOptions(c),k,e)}),_defineProperty(_assertThisInitialized(d),"asyncResponse",function(a,b){d.timeouts=setTimeout(function(){d.setState({response:a,isError:b===PROCESS_STATE[0],isSuccess:b===PROCESS_STATE[1]})},ANIMATION_FIX)}),_defineProperty(_assertThisInitialized(d),"prepareHttpOptions",function(a){if(!a.url)throw new Error("You must supply a URL to post image data asynchronously");return a}),_defineProperty(_assertThisInitialized(d),"handleOnClear",function(a){a.preventDefault();var b=d.props.onCancel;b&&b(),d.reset()}),_defineProperty(_assertThisInitialized(d),"reset",function(){d.dragCounter=0,clearTimeout(d.timeouts),d.setState({isComplete:!1,isError:!1,isProcessing:!1,isSuccess:!1})}),_defineProperty(_assertThisInitialized(d),"showDataImage",function(a){var b=d.state.isImage;b&&d.setState({uploadedImage:a})}),_defineProperty(_assertThisInitialized(d),"fileDropped",/*#__PURE__*/function(){var a=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function b(a){var c,e,f,g,h,i,j,k,l,m;return _regeneratorRuntime.wrap(function(b){for(;;)switch(b.prev=b.next){case 0:if(c=d.props,e=c.httpOptions,f=c.maxSize,g=c.onStart,h=c.usDisabled,i=c.usAccept,j=d.state.isProcessing,!(h||j)){b.next=4;break}return b.abrupt("return",!1);case 4:if(a){b.next=6;break}throw new Error("Could not retrieve file");case 6:return d.setState({fileName:a.name,isDroppable:!1,isProcessing:!0}),g&&g(a),k=null,b.prev=9,b.next=12,asyncFileRead(a);case 12:k=b.sent,b.next=18;break;case 15:b.prev=15,b.t0=b["catch"](9),d.asyncResponse(b.t0,PROCESS_STATE[0]);case 18:if(k){b.next=20;break}return b.abrupt("return",!1);case 20:if(d.setState({isImage:getFileType(a,k).includes("image")}),isTypeValid(a,i,k)){b.next=25;break}return l={status:415,statusText:"Unsupported Media Type"},d.asyncResponse(l,PROCESS_STATE[0]),b.abrupt("return",!1);case 25:if(isSizeValid(a,f)){b.next=29;break}return m={status:413,statusText:"Request Entity Too Large"},d.asyncResponse(m,PROCESS_STATE[0]),b.abrupt("return",!1);case 29:if(!e){b.next=33;break}return b.next=32,d.asyncPost(a).then(function(a){return d.asyncResponse(a,"success")}).then(function(){return d.showDataImage(k),!0}).catch(function(a){return d.asyncResponse(a,PROCESS_STATE[0]),!1});case 32:return b.abrupt("return",b.sent);case 33:return d.showDataImage(k),d.asyncResponse(k,"success"),b.abrupt("return",!0);case 36:case"end":return b.stop();}},b,null,[[9,15]])}));return function(){return a.apply(this,arguments)}}()),d.dragCounter=0,d.timeouts=null,d.state={fileName:"",isComplete:!1,isError:!1,isImage:!1,isProcessing:!1,isSuccess:!1,response:null,uploadedImage:null},d}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"getErrorMessage",value:function getErrorMessage(a){return 413===a?this.props.csTooLargeMessage||this.props.intl.formatMessage(messages.csTooLargeMessage):415===a?this.props.csWrongTypeMessage||this.props.intl.formatMessage(messages.csWrongTypeMessage):this.props.csFailureText||this.props.intl.formatMessage(messages.csFailureText)}},{key:"onDragLeave",value:function onDragLeave(a){a.preventDefault(),this.dragCounter-=1,0===this.dragCounter&&this.setState({isDroppable:!1})}},{key:"onDragEnter",value:function onDragEnter(a){a.preventDefault(),this.dragCounter+=1;var b=this.props.usDisabled,c=this.state.isProcessing;1!==this.dragCounter||b||c||this.setState({isDroppable:!0})}},{key:"onDrop",value:function onDrop(a){var b=this.state.isProcessing;a.preventDefault(),b||this.reset(),a.dataTransfer&&a.dataTransfer.files&&a.dataTransfer.files[0]&&this.fileDropped(a.dataTransfer.files[0])}},{key:"render",value:function render(){var a=this,b=this.props,c=b.usDropMessage,d=b.usAccept,e=b.usButtonText,f=b.usDisabled,g=b.usHelpImage,h=b.usLabel,i=b.usPlaceholder,j=b.psButtonText,k=b.psProcessingText,l=b.csButtonText,m=b.csSuccessText,n=b.size,o=b.uploadStep,p=b.intl,q=this.state,r=q.response,s=q.fileName,t=q.isComplete,u=q.isDroppable,v=q.isError,w=q.isImage,x=q.isProcessing,y=q.isSuccess,z=q.uploadedImage,A=UPLOAD_STEP_COMPONENTS[o]||UploadImageStep;return/*#__PURE__*/_jsxs("div",{className:classNames({droppable:!0,"tw-droppable-sm droppable-sm":"sm"===n,"tw-droppable-md droppable-md":"md"===n||!n,"tw-droppable-lg droppable-lg":"lg"===n,"droppable-dropping":u,"droppable-processing":x,"droppable-complete":t}),onDragEnter:function onDragEnter(b){return a.onDragEnter(b)},onDragLeave:function onDragLeave(b){return a.onDragLeave(b)},onDrop:function onDrop(b){return a.onDrop(b)},onDragOver:function onDragOver(a){return a.preventDefault()},children:[!x&&!t&&/*#__PURE__*/_jsx(A,{fileDropped:function fileDropped(b){return a.fileDropped(b)},isComplete:t,usAccept:d,usButtonText:e||p.formatMessage(messages.usButtonText),usDisabled:f,usHelpImage:g,usLabel:h,usPlaceholder:i||p.formatMessage(messages.usPlaceholder)}),x&&/*#__PURE__*/_jsx(ProcessingStep,{isComplete:t,isError:v,isSuccess:y,psButtonText:j||p.formatMessage(messages.psButtonText),psProcessingText:k||p.formatMessage(messages.psProcessingText),onAnimationCompleted:function onAnimationCompleted(b){return a.onAnimationCompleted(b)},onClear:function onClear(b){return a.handleOnClear(b)}}),(y||v||t)&&/*#__PURE__*/_jsx(CompleteStep,{fileName:s,isComplete:t,isError:v,isImage:w,csButtonText:l||p.formatMessage(messages.csButtonText),csFailureText:this.getErrorMessage(null===r||void 0===r?void 0:r.status),csSuccessText:m||p.formatMessage(messages.csSuccessText),uploadedImage:z,onClear:function onClear(b){return a.handleOnClear(b)}}),!x&&/*#__PURE__*/_jsx("div",{className:"droppable-dropping-card droppable-card",children:/*#__PURE__*/_jsxs("div",{className:"droppable-card-content",children:[/*#__PURE__*/_jsx("div",{className:"circle circle-sm p-t-1 text-primary",children:/*#__PURE__*/_jsx(PlusIcon,{})}),/*#__PURE__*/_jsx("h4",{className:"m-t-3",children:c||p.formatMessage(messages.usDropMessage)})]})})]})}}]),b}(Component);/*
|
|
2
2
|
* This delay is required for the isError/isSuccess to be fired after isProcessing so the processIndicator, will be
|
|
3
3
|
* rendered first and then updated with the right status.
|
|
4
4
|
*/Upload.propTypes={animationDelay:PropTypes.number,csButtonText:PropTypes.string,csFailureText:PropTypes.string,csSuccessText:PropTypes.string,csTooLargeMessage:PropTypes.string,csWrongTypeMessage:PropTypes.string,httpOptions:PropTypes.shape({url:PropTypes.string.isRequired,method:PropTypes.oneOf(["POST","PUT","PATCH"]),fileInputName:PropTypes.string,data:PropTypes.object,headers:PropTypes.object}),/**
|