@transferwise/components 38.3.1 → 39.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/build/es/no-polyfill/accordion/AccordionItem/AccordionItem.js +1 -1
- package/build/es/no-polyfill/alert/Alert.js +1 -1
- package/build/es/no-polyfill/checkbox/Checkbox.js +1 -1
- package/build/es/no-polyfill/common/Option/Option.js +1 -1
- package/build/es/no-polyfill/common/bottomSheet/BottomSheet.js +2 -2
- package/build/es/no-polyfill/common/direction.js +1 -0
- package/build/es/no-polyfill/common/domHelpers/index.js +1 -1
- package/build/es/no-polyfill/common/focusBoundary/FocusBoundary.js +1 -1
- package/build/es/no-polyfill/common/hocs/index.js +1 -0
- package/build/es/no-polyfill/common/hocs/theme/index.js +1 -0
- package/build/es/no-polyfill/common/hocs/theme/withTheme.js +2 -0
- package/build/es/no-polyfill/common/hocs/theme/withTheme.spec.js +1 -0
- package/build/es/no-polyfill/common/hooks/index.js +1 -1
- package/build/es/no-polyfill/common/hooks/useTheme/index.js +1 -0
- package/build/es/no-polyfill/common/hooks/useTheme/useTheme.js +1 -0
- package/build/es/no-polyfill/common/hooks/useTheme/useTheme.spec.js +1 -0
- package/build/es/no-polyfill/common/index.js +1 -1
- package/build/es/no-polyfill/common/locale/index.js +13 -3
- package/build/es/no-polyfill/common/theme.js +1 -1
- package/build/es/no-polyfill/dateInput/DateInput.js +2 -2
- package/build/es/no-polyfill/dateLookup/dateHeader/DateHeader.js +1 -1
- package/build/es/no-polyfill/decision/Decision.js +3 -3
- package/build/es/no-polyfill/dimmer/Dimmer.js +4 -3
- package/build/es/no-polyfill/dimmer/Dimmer.story.js +1 -0
- package/build/es/no-polyfill/drawer/Drawer.js +1 -1
- package/build/es/no-polyfill/dynamicFieldDefinitionList/DynamicFieldDefinitionList.js +1 -1
- package/build/es/no-polyfill/dynamicFieldDefinitionList/FormattedValue/FormattedValue.js +1 -1
- package/build/es/no-polyfill/index.js +4 -4
- package/build/es/no-polyfill/logo/Logo.js +1 -1
- package/build/es/no-polyfill/nudge/Nudge.js +1 -1
- package/build/es/no-polyfill/phoneNumberInput/PhoneNumberInput.js +1 -1
- package/build/es/no-polyfill/provider/Provider.js +1 -1
- package/build/es/no-polyfill/provider/Provider.spec.js +2 -0
- package/build/es/no-polyfill/provider/Provider.story.js +1 -0
- package/build/es/no-polyfill/provider/direction/DirectionProvider.js +1 -1
- package/build/es/no-polyfill/provider/direction/DirectionProvider.spec.js +1 -0
- package/build/es/no-polyfill/provider/index.js +1 -1
- package/build/es/no-polyfill/provider/theme/ThemeProvider.js +2 -0
- package/build/es/no-polyfill/provider/theme/ThemeProvider.spec.js +2 -0
- package/build/es/no-polyfill/provider/theme/index.js +1 -0
- package/build/es/no-polyfill/radio/Radio.js +1 -1
- package/build/es/no-polyfill/select/option/Option.js +1 -1
- package/build/es/no-polyfill/snackbar/Snackbar.js +1 -1
- package/build/es/no-polyfill/stepper/Stepper.js +1 -1
- package/build/es/no-polyfill/summary/Summary.js +1 -1
- package/build/es/no-polyfill/switch/Switch.js +1 -1
- package/build/es/no-polyfill/tabs/Tabs.js +1 -1
- package/build/es/no-polyfill/tooltip/Tooltip.js +8 -1
- package/build/es/no-polyfill/tooltip/Tooltip.spec.js +1 -0
- package/build/es/no-polyfill/tooltip/Tooltip.story.js +1 -0
- package/build/es/no-polyfill/upload/Upload.js +1 -1
- package/build/es/no-polyfill/upload/steps/completeStep/completeStep.js +1 -1
- package/build/es/no-polyfill/upload/steps/processingStep/processingStep.js +1 -1
- package/build/es/no-polyfill/uploadInput/UploadInput.js +5 -4
- package/build/es/no-polyfill/uploadInput/UploadInput.spec.js +1 -1
- package/build/es/no-polyfill/uploadInput/UploadInput.story.js +1 -1
- package/build/es/no-polyfill/uploadInput/uploadButton/UploadButton.js +1 -1
- package/build/es/no-polyfill/uploadInput/uploadItem/UploadItem.js +2 -2
- package/build/es/polyfill/accordion/AccordionItem/AccordionItem.js +1 -1
- package/build/es/polyfill/alert/Alert.js +1 -1
- package/build/es/polyfill/checkbox/Checkbox.js +1 -1
- package/build/es/polyfill/common/Option/Option.js +1 -1
- package/build/es/polyfill/common/bottomSheet/BottomSheet.js +2 -2
- package/build/es/polyfill/common/direction.js +1 -0
- package/build/es/polyfill/common/domHelpers/index.js +1 -1
- package/build/es/polyfill/common/focusBoundary/FocusBoundary.js +1 -1
- package/build/es/polyfill/common/hocs/index.js +1 -0
- package/build/es/polyfill/common/hocs/theme/index.js +1 -0
- package/build/es/polyfill/common/hocs/theme/withTheme.js +2 -0
- package/build/es/polyfill/common/hocs/theme/withTheme.spec.js +1 -0
- package/build/es/polyfill/common/hooks/index.js +1 -1
- package/build/es/polyfill/common/hooks/useTheme/index.js +1 -0
- package/build/es/polyfill/common/hooks/useTheme/useTheme.js +1 -0
- package/build/es/polyfill/common/hooks/useTheme/useTheme.spec.js +1 -0
- package/build/es/polyfill/common/index.js +1 -1
- package/build/es/polyfill/common/locale/index.js +13 -3
- package/build/es/polyfill/common/theme.js +1 -1
- package/build/es/polyfill/dateInput/DateInput.js +2 -2
- package/build/es/polyfill/dateLookup/dateHeader/DateHeader.js +1 -1
- package/build/es/polyfill/decision/Decision.js +3 -3
- package/build/es/polyfill/dimmer/Dimmer.js +4 -3
- package/build/es/polyfill/dimmer/Dimmer.story.js +1 -0
- package/build/es/polyfill/drawer/Drawer.js +1 -1
- package/build/es/polyfill/dynamicFieldDefinitionList/DynamicFieldDefinitionList.js +1 -1
- package/build/es/polyfill/dynamicFieldDefinitionList/FormattedValue/FormattedValue.js +1 -1
- package/build/es/polyfill/index.js +4 -4
- package/build/es/polyfill/logo/Logo.js +1 -1
- package/build/es/polyfill/nudge/Nudge.js +1 -1
- package/build/es/polyfill/phoneNumberInput/PhoneNumberInput.js +1 -1
- package/build/es/polyfill/provider/Provider.js +1 -1
- package/build/es/polyfill/provider/Provider.spec.js +2 -0
- package/build/es/polyfill/provider/Provider.story.js +1 -0
- package/build/es/polyfill/provider/direction/DirectionProvider.js +1 -1
- package/build/es/polyfill/provider/direction/DirectionProvider.spec.js +1 -0
- package/build/es/polyfill/provider/index.js +1 -1
- package/build/es/polyfill/provider/theme/ThemeProvider.js +2 -0
- package/build/es/polyfill/provider/theme/ThemeProvider.spec.js +2 -0
- package/build/es/polyfill/provider/theme/index.js +1 -0
- package/build/es/polyfill/radio/Radio.js +1 -1
- package/build/es/polyfill/select/option/Option.js +1 -1
- package/build/es/polyfill/snackbar/Snackbar.js +1 -1
- package/build/es/polyfill/stepper/Stepper.js +1 -1
- package/build/es/polyfill/summary/Summary.js +1 -1
- package/build/es/polyfill/switch/Switch.js +1 -1
- package/build/es/polyfill/tabs/Tabs.js +1 -1
- package/build/es/polyfill/tooltip/Tooltip.js +8 -1
- package/build/es/polyfill/tooltip/Tooltip.spec.js +1 -0
- package/build/es/polyfill/tooltip/Tooltip.story.js +1 -0
- package/build/es/polyfill/upload/Upload.js +1 -1
- package/build/es/polyfill/upload/steps/completeStep/completeStep.js +1 -1
- package/build/es/polyfill/upload/steps/processingStep/processingStep.js +1 -1
- package/build/es/polyfill/uploadInput/UploadInput.js +5 -4
- package/build/es/polyfill/uploadInput/UploadInput.spec.js +1 -1
- package/build/es/polyfill/uploadInput/UploadInput.story.js +1 -1
- package/build/es/polyfill/uploadInput/uploadButton/UploadButton.js +1 -1
- package/build/es/polyfill/uploadInput/uploadItem/UploadItem.js +2 -2
- package/build/main.css +1 -1
- package/build/styles/accordion/Accordion.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/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/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/flowNavigation/backButton/BackButton.css +1 -1
- package/build/styles/header/Header.css +1 -1
- package/build/styles/info/Info.css +1 -1
- package/build/styles/instructionsList/InstructionsList.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/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/UploadInput.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/direction.d.ts +6 -0
- package/build/types/common/domHelpers/index.d.ts +2 -1
- package/build/types/common/focusBoundary/FocusBoundary.d.ts +2 -2
- package/build/types/common/hocs/index.d.ts +1 -0
- package/build/types/common/hocs/theme/index.d.ts +1 -0
- package/build/types/common/hocs/theme/withTheme.d.ts +10 -0
- package/build/types/common/hocs/theme/withTheme.spec.d.ts +1 -0
- package/build/types/common/hooks/index.d.ts +3 -2
- package/build/types/common/hooks/useDirection/useDirection.d.ts +3 -2
- package/build/types/common/hooks/useTheme/index.d.ts +1 -0
- package/build/types/common/hooks/useTheme/useTheme.d.ts +1 -0
- package/build/types/common/hooks/useTheme/useTheme.spec.d.ts +1 -0
- package/build/types/common/index.d.ts +2 -0
- package/build/types/common/locale/index.d.ts +23 -2
- package/build/types/common/propsValues/position.d.ts +4 -0
- package/build/types/common/theme.d.ts +5 -2
- package/build/types/dimmer/Dimmer.d.ts +31 -19
- package/build/types/dimmer/Dimmer.story.d.ts +16 -0
- package/build/types/index.d.ts +5 -3
- package/build/types/provider/Provider.spec.d.ts +1 -0
- package/build/types/provider/Provider.story.d.ts +23 -0
- package/build/types/provider/direction/DirectionProvider.d.ts +8 -18
- package/build/types/provider/direction/DirectionProvider.spec.d.ts +1 -0
- package/build/types/provider/index.d.ts +2 -0
- package/build/types/provider/theme/ThemeProvider.d.ts +8 -0
- package/build/types/provider/theme/ThemeProvider.spec.d.ts +1 -0
- package/build/types/provider/theme/index.d.ts +1 -0
- package/build/types/test-utils/index.d.ts +0 -8
- package/build/types/tooltip/Tooltip.d.ts +9 -18
- package/build/types/tooltip/Tooltip.spec.d.ts +1 -0
- package/build/types/tooltip/Tooltip.story.d.ts +12 -0
- package/build/types/uploadInput/UploadInput.d.ts +7 -1
- package/build/types/uploadInput/UploadInput.story.d.ts +1 -0
- package/build/types/withNextPortal/withNextPortal.d.ts +2 -1
- package/build/umd/no-polyfill/main.js +1 -1
- package/build/umd/polyfill/main.js +1 -1
- package/package.json +13 -12
- package/scripts/generate-type-declarations.js +85 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,54 @@
|
|
|
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
|
+
## [39.0.1](https://github.com/transferwise/neptune-web/compare/@transferwise/components@39.0.0...@transferwise/components@39.0.1) (2021-12-07)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **PhoneNumberInput:** do not change prefix on phone number input change ([#1217](https://github.com/transferwise/neptune-web/issues/1217)) ([3cc332f](https://github.com/transferwise/neptune-web/commit/3cc332f21e236aaa916cb702a873e2a114d852bd))
|
|
12
|
+
* peer dependencies after major release ([#1251](https://github.com/transferwise/neptune-web/issues/1251)) ([5188626](https://github.com/transferwise/neptune-web/commit/518862672e3839e44d50ab4e91acab1da9dbc9d6))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
# [39.0.0](https://github.com/transferwise/neptune-web/compare/@transferwise/components@38.4.1...@transferwise/components@39.0.0) (2021-12-07)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
* feat!: Neptune November Release - Typography, Accessible Colors, Right to Left (#1169) ([af8906a](https://github.com/transferwise/neptune-web/commit/af8906a57dce1a585d8d475e32b6a02252c99c99)), closes [#1169](https://github.com/transferwise/neptune-web/issues/1169)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### BREAKING CHANGES
|
|
25
|
+
|
|
26
|
+
* https://transferwise.github.io/neptune-web/blog/2021-11-30-november-release
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
## [38.4.1](https://github.com/transferwise/neptune-web/compare/@transferwise/components@38.4.0...@transferwise/components@38.4.1) (2021-12-07)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Bug Fixes
|
|
36
|
+
|
|
37
|
+
* **Dimmer:** fade background color on open/close ([#1223](https://github.com/transferwise/neptune-web/issues/1223)) ([4053c77](https://github.com/transferwise/neptune-web/commit/4053c772b0b0655b2dc43e225a0e26da3f4995d7))
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# [38.4.0](https://github.com/transferwise/neptune-web/compare/@transferwise/components@38.3.1...@transferwise/components@38.4.0) (2021-12-02)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
### Features
|
|
47
|
+
|
|
48
|
+
* add onFilesChange callback to UploadInput ([#1244](https://github.com/transferwise/neptune-web/issues/1244)) ([a27effe](https://github.com/transferwise/neptune-web/commit/a27effe903e6ae454c761e6a08bf1f1ddfeef4cc))
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
6
54
|
## [38.3.1](https://github.com/transferwise/neptune-web/compare/@transferwise/components@38.3.0...@transferwise/components@38.3.1) (2021-12-01)
|
|
7
55
|
|
|
8
56
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import classNames from"classnames";import PropTypes from"prop-types";import{cloneElement}from"react";import Chevron from"../../chevron";import{Position,Theme}from"../../common";import Option from"../../common/Option";import{
|
|
1
|
+
import classNames from"classnames";import PropTypes from"prop-types";import{cloneElement}from"react";import Chevron from"../../chevron";import{Position,Theme}from"../../common";import Option from"../../common/Option";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var AccordionItem=function(a){var b=a["aria-label"],c=a.id,d=a.title,e=a.content,f=a.onClick,g=a.open,h=a.icon,i=a.theme,j=h?/*#__PURE__*/cloneElement(h,{size:24}):null;return/*#__PURE__*/_jsxs("div",{id:c,className:classNames("np-accordion-item","np-accordion-item--".concat(i),{"np-accordion-item--open":g}),children:[/*#__PURE__*/_jsx(Option,{"aria-label":b,as:"button",media:j,title:d,button:/*#__PURE__*/_jsx(Chevron,{orientation:g?Position.TOP:Position.DOWN}),inverseMediaCircle:!1,onClick:f}),g&&/*#__PURE__*/_jsx("div",{className:classNames("np-accordion-item__content",{"has-icon":h}),children:e})]})};AccordionItem.propTypes={"aria-label":PropTypes.string,content:PropTypes.node.isRequired,icon:PropTypes.node,id:PropTypes.string,open:PropTypes.bool.isRequired,onClick:PropTypes.func.isRequired,title:PropTypes.node.isRequired,theme:PropTypes.oneOf(["light","dark"])},AccordionItem.defaultProps={"aria-label":void 0,icon:null,id:null,theme:Theme.LIGHT};export default AccordionItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _deprecatedTypeMap,_iconTypeMap,_deprecatedTypeMapMes;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{InfoCircle,CheckCircle,Alert as AlertIcon,AlertCircle}from"@transferwise/icons";import classNames from"classnames";import PropTypes from"prop-types";import{cloneElement,useState,useRef}from"react";import requiredIf from"react-required-if";import{Sentiment}from"../common";import CloseButton from"../common/closeButton";import{
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";var _deprecatedTypeMap,_iconTypeMap,_deprecatedTypeMapMes;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{InfoCircle,CheckCircle,Alert as AlertIcon,AlertCircle}from"@transferwise/icons";import classNames from"classnames";import PropTypes from"prop-types";import{cloneElement,useState,useRef}from"react";import requiredIf from"react-required-if";import{Sentiment}from"../common";import CloseButton from"../common/closeButton";import{logActionRequiredIf,deprecated}from"../utilities";import InlineMarkdown from"./inlineMarkdown";import withArrow from"./withArrow";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var deprecatedTypeMap=(_deprecatedTypeMap={},_defineProperty(_deprecatedTypeMap,Sentiment.SUCCESS,Sentiment.POSITIVE),_defineProperty(_deprecatedTypeMap,Sentiment.INFO,Sentiment.NEUTRAL),_defineProperty(_deprecatedTypeMap,Sentiment.ERROR,Sentiment.NEGATIVE),_deprecatedTypeMap),iconTypeMap=(_iconTypeMap={},_defineProperty(_iconTypeMap,Sentiment.POSITIVE,CheckCircle),_defineProperty(_iconTypeMap,Sentiment.NEUTRAL,InfoCircle),_defineProperty(_iconTypeMap,Sentiment.WARNING,AlertIcon),_defineProperty(_iconTypeMap,Sentiment.NEGATIVE,AlertCircle),_iconTypeMap),Alert=function(a){var b=useState(!1),c=_slicedToArray(b,2),d=c[0],e=c[1],f=a.arrow,g=a.action,h=a.children,i=a.className,j=a.icon,k=a.onDismiss,l=a.message,m=a.type,n=useRef(null);if(f){var r=withArrow(Alert,f);return/*#__PURE__*/_jsx(r,_objectSpread({},a))}logActionRequired(a);var o=deprecatedTypeMap[m]||m,p=iconTypeMap[o],q=j?/*#__PURE__*/cloneElement(j,{size:24}):/*#__PURE__*/_jsx(p,{size:24});return/*#__PURE__*/_jsxs("div",{role:"alert",className:classNames("alert d-flex","alert-".concat(o),i),onTouchStart:function handleTouchStart(){return e(!0)},onTouchEnd:function handleTouchEnd(a){d&&g&&null!==n&&void 0!==n&&n.current&&!n.current.contains(a.target)&&("_blank"===(null===g||void 0===g?void 0:g.target)?window.top.open(g.href):window.top.location.assign(g.href)),e(!1)},onTouchMove:function handleTouchMove(){return e(!1)},children:[q,/*#__PURE__*/_jsxs("div",{className:"alert__message flex-grow-1 p-l-2",children:[/*#__PURE__*/_jsx("div",{children:h||/*#__PURE__*/_jsx(InlineMarkdown,{children:l})}),g&&/*#__PURE__*/_jsx("a",{href:g.href,className:"m-t-1 d-inline-block","aria-label":g["aria-label"],target:g.target,children:g.text})]}),k&&/*#__PURE__*/_jsx(CloseButton,{ref:n,size:16,className:"m-l-2",onClick:k})]})},deprecatedTypeMapMessage=(_deprecatedTypeMapMes={},_defineProperty(_deprecatedTypeMapMes,Sentiment.SUCCESS,"Sentiment.POSITIVE"),_defineProperty(_deprecatedTypeMapMes,Sentiment.INFO,"Sentiment.NEUTRAL"),_defineProperty(_deprecatedTypeMapMes,Sentiment.ERROR,"Sentiment.NEGATIVE"),_deprecatedTypeMapMes),deprecatedTypes=Object.keys(deprecatedTypeMap);function logActionRequired(a){var b=a.size,c=a.type;logActionRequiredIf("Alert no longer supports any possible variations in size. Please remove the `size` prop.",!!b),logActionRequiredIf("Alert has deprecated the ".concat(c," value for the `type` prop. Please update to ").concat(deprecatedTypeMapMessage[c],"."),deprecatedTypes.includes(c))}Alert.propTypes={/** An optional call to action to sit under the main body of the alert. If your label is short, use aria-label to provide more context */action:PropTypes.shape({"aria-label":PropTypes.string,href:PropTypes.string.isRequired,target:PropTypes.string,text:PropTypes.node.isRequired}),className:PropTypes.string,/** An optional icon. If not provided, we will default the icon to something appropriate for the type */icon:PropTypes.element,/** The main body of the alert. Accepts plain text and bold words specified with **double stars*/message:requiredIf(PropTypes.node,function(a){var b=a.children;return!b}),/** The presence of the onDismiss handler will trigger the visibility of the close button */onDismiss:PropTypes.func,/** The type dictates which icon and colour will be used */type:PropTypes.oneOf(["negative","neutral","positive","warning","info","error","success"]),/** @deprecated no arrow for `Alert` component anymore, consider to use [`InlineAlert`](https://transferwise.github.io/neptune-web/components/alerts/InlineAlert) component */arrow:deprecated(PropTypes.oneOf(["up-left","up-center","up-right","down-left","down-center","down-right"]),{component:"Alert",expiryDate:new Date("03-01-2021")}),/** @deprecated use `message` property instead */children:deprecated(requiredIf(PropTypes.node,function(a){var b=a.message;return!b}),{component:"Alert",message:"You should now use the `message` prop. Be aware `message` only accepts plain text or text with **bold** markdown.",expiryDate:new Date("03-01-2021")}),/** @deprecated use `onDismiss` instead */dismissible:deprecated(PropTypes.bool,{component:"Alert",message:"The Alert will now be considered dismissible if an `onDismiss` hander is present.",expiryDate:new Date("03-01-2021")})},Alert.defaultProps={action:void 0,arrow:void 0,className:void 0,dismissible:void 0,icon:void 0,type:Sentiment.NEUTRAL};export default Alert;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import classNames from"classnames";import PropTypes from"prop-types";import CheckboxButton from"../checkboxButton";import{
|
|
1
|
+
import classNames from"classnames";import PropTypes from"prop-types";import CheckboxButton from"../checkboxButton";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Checkbox=function(a){var b=a.id,c=a.checked,d=a.required,e=a.disabled,f=a.readOnly,g=a.label,h=a.secondary,i=a.onChange,j=a.onFocus,k=a.onBlur,l=d&&!e&&!f&&!c,m=classNames("np-checkbox",{checkbox:!0,"checkbox-lg":h,"has-error":l,disabled:e});return/*#__PURE__*/_jsx("div",{id:b,className:m,children:/*#__PURE__*/_jsxs("label",{children:[/*#__PURE__*/_jsx(CheckboxButton,{className:classNames("p-r-2",{"has-error":l}),checked:c,disabled:e||f,onFocus:j,onChange:function onChange(){return i(!c)},onBlur:k}),/*#__PURE__*/_jsxs("span",{className:"np-checkbox__text",children:[g,d&&"*",h&&/*#__PURE__*/_jsx("small",{children:h})]})]})})};Checkbox.propTypes={id:PropTypes.string,checked:PropTypes.bool,required:PropTypes.bool,disabled:PropTypes.bool,readOnly:PropTypes.bool,label:PropTypes.node.isRequired,secondary:PropTypes.string,onFocus:PropTypes.func,onChange:PropTypes.func.isRequired,onBlur:PropTypes.func},Checkbox.defaultProps={id:null,checked:!1,required:!1,disabled:!1,readOnly:!1,secondary:null,onFocus:null,onBlur:null};export default Checkbox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import classNames from"classnames";import PropTypes from"prop-types";import requiredIf from"react-required-if";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Option=function(a){var b=a["aria-label"],c=a.as,d=a.href,e=a.target,f=a.media,g=a.title,h=a.content,i=a.onClick,j=a.htmlFor,k=a.disabled,l=a.button,m=a.decision,n=a.complex,o=a.className,p=a.inverseMediaCircle,q=a.showMediaAtAllSizes,r=a.showMediaCircle;return/*#__PURE__*/_jsx(c,{className:classNames("np-option",o,{"decision-complex":n,decision:m,disabled:k,"np-option__sm-media":q}),href:d,htmlFor:j,target:e,disabled:k&&"button"===c,"aria-label":b,onClick:i,children:/*#__PURE__*/_jsxs("div",{className:"media",children:[f&&/*#__PURE__*/_jsx("div",{className:"media-left",children:r?/*#__PURE__*/_jsx("div",{className:classNames("circle circle-sm text-primary",{"circle-inverse":p}),children:f}):/*#__PURE__*/_jsx("div",{className:"np-option__no-media-circle",children:f})}),/*#__PURE__*/_jsxs("div",{className:"media-body",children:[/*#__PURE__*/_jsx("div",{className:"
|
|
1
|
+
import classNames from"classnames";import PropTypes from"prop-types";import requiredIf from"react-required-if";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Option=function(a){var b=a["aria-label"],c=a.as,d=a.href,e=a.target,f=a.media,g=a.title,h=a.content,i=a.onClick,j=a.htmlFor,k=a.disabled,l=a.button,m=a.decision,n=a.complex,o=a.className,p=a.inverseMediaCircle,q=a.showMediaAtAllSizes,r=a.showMediaCircle;return/*#__PURE__*/_jsx(c,{className:classNames("np-option",o,{"decision-complex":n,decision:m,disabled:k,"np-option__sm-media":q}),href:d,htmlFor:j,target:e,disabled:k&&"button"===c,"aria-label":b,onClick:i,children:/*#__PURE__*/_jsxs("div",{className:"media",children:[f&&/*#__PURE__*/_jsx("div",{className:"media-left",children:r?/*#__PURE__*/_jsx("div",{className:classNames("circle circle-sm text-primary",{"circle-inverse":p}),children:f}):/*#__PURE__*/_jsx("div",{className:"np-option__no-media-circle",children:f})}),/*#__PURE__*/_jsxs("div",{className:"media-body",children:[/*#__PURE__*/_jsx("div",{className:"decision__title",children:g}),h&&/*#__PURE__*/_jsx("div",{className:"decision__content",children:h})]}),/*#__PURE__*/_jsx("div",{className:"media-right",children:l})]})})};Option.propTypes={"aria-label":PropTypes.string,media:PropTypes.node,htmlFor:PropTypes.string,title:PropTypes.node.isRequired,content:PropTypes.node,onClick:PropTypes.func,href:requiredIf(PropTypes.string,function(a){return"a"===a.as}),target:PropTypes.oneOf(["_self","_blank","_parent","_top"]),as:PropTypes.string,disabled:PropTypes.bool,button:PropTypes.node,decision:PropTypes.bool,complex:PropTypes.bool,inverseMediaCircle:PropTypes.bool,className:PropTypes.string,showMediaAtAllSizes:PropTypes.bool,showMediaCircle:PropTypes.bool},Option.defaultProps={"aria-label":void 0,as:"label",media:"",content:null,htmlFor:null,disabled:!1,button:null,onClick:null,href:null,target:void 0,decision:!0,complex:!1,inverseMediaCircle:!0,className:null,showMediaAtAllSizes:!1,showMediaCircle:!0};export default Option;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classNames from"classnames";import{useRef,useState}from"react";import Dimmer from"../../dimmer";import SlidingPanel from"../../slidingPanel";import CloseButton from"../closeButton";import{
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classNames from"classnames";import{useRef,useState}from"react";import Dimmer from"../../dimmer";import SlidingPanel from"../../slidingPanel";import CloseButton from"../closeButton";import{isServerSide}from"../domHelpers";import{useConditionalListener}from"../hooks";import{Position}from"../propsValues/position";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var INITIAL_Y_POSITION=0,CONTENT_SCROLL_THRESHOLD=1,MOVE_OFFSET_THRESHOLD=50,BottomSheet=function(a){function b(a){null!==g.current&&(g.current.style.transform="translateY(".concat(a,"px)"))}function c(){m(!1),o.current=INITIAL_Y_POSITION,null!==g.current&&g.current.style.removeProperty("transform"),a.onClose&&a.onClose()}function d(){// stop moving component
|
|
2
2
|
cancelAnimationFrame(n.current),m(!1),o.current>MOVE_OFFSET_THRESHOLD&&e()?c():b(INITIAL_Y_POSITION),o.current=INITIAL_Y_POSITION}function e(){var a;return(null===i||void 0===i||null===(a=i.current)||void 0===a?void 0:a.scrollTop)!==void 0&&i.current.scrollTop<=CONTENT_SCROLL_THRESHOLD}/**
|
|
3
3
|
* Calculates how hard user moves component,
|
|
4
4
|
* result value used to determine whether to hide component or re-position to default state
|
|
@@ -7,4 +7,4 @@ cancelAnimationFrame(n.current),m(!1),o.current>MOVE_OFFSET_THRESHOLD&&e()?c():b
|
|
|
7
7
|
*/function f(a){return a-p.current}/**
|
|
8
8
|
* Set `max-height` for content part (in order to keep it scrollable for content overflow cases) of the component
|
|
9
9
|
* and ensures space for safe zone (32px) at the top.
|
|
10
|
-
*/var g=useRef(null),h=useRef(null),i=useRef(null),j=useState(!1),k=_slicedToArray(j,2),l=k[0],m=k[1],n=useRef(0),o=useRef(0),p=useRef(0);useConditionalListener({attachListener:a.open&&!
|
|
10
|
+
*/var g=useRef(null),h=useRef(null),i=useRef(null),j=useState(!1),k=_slicedToArray(j,2),l=k[0],m=k[1],n=useRef(0),o=useRef(0),p=useRef(0);useConditionalListener({attachListener:a.open&&!isServerSide(),callback:function callback(){if(null!==h.current){var a=h.current.classList;e()?a.remove("np-bottom-sheet--top-bar--shadow"):a.add("np-bottom-sheet--top-bar--shadow")}},eventType:"scroll",parent:isServerSide()?void 0:document});var q=function(a){return function(b){p.current=(a?b.touches[0]:b).clientY,m(!0)}},r=function(a){return function(c){if(l){var d=a?c.touches[0]:c,h=d.clientY,i=f(h);i>INITIAL_Y_POSITION&&e()&&(o.current=i,n.current=requestAnimationFrame(function(){n.current!==void 0&&null!==g.current&&b(i)}))}}};return/*#__PURE__*/_jsx(Dimmer,{open:a.open,fadeContentOnEnter:!0,fadeContentOnExit:!0,onClose:c,children:/*#__PURE__*/_jsxs(SlidingPanel,{ref:g,open:a.open,position:Position.BOTTOM,className:classNames("np-bottom-sheet",a.className),role:"dialog",onTouchStart:q(!0),onTouchMove:r(!0),onTouchEnd:d,onMouseDown:q(!1),onMouseMove:r(!1),onMouseUp:d,children:[/*#__PURE__*/_jsxs("div",{ref:h,className:"np-bottom-sheet--top-bar",children:[/*#__PURE__*/_jsx("div",{className:"np-bottom-sheet--handler"}),/*#__PURE__*/_jsx(CloseButton,{size:16,className:"sr-only np-bottom-sheet--close-btn",onClick:c})]}),/*#__PURE__*/_jsx("div",{ref:i,style:function(){var a=isServerSide()?0:window.innerHeight,b="".concat(100*(.01*a),"px");return{maxHeight:"calc(".concat(b," - ").concat("64px"," - ").concat("32px",")")}}(),className:"np-bottom-sheet--content",children:a.children})]})})};export default BottomSheet;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var Direction;(function(a){a.RTL="rtl",a.LTR="ltr",a.AUTO="auto"})(Direction||(Direction={}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export function
|
|
1
|
+
export function isServerSide(){return"undefined"==typeof window}export function isBrowser(){return!isServerSide()}export{addClickClassToDocumentOnIos,removeClickClassFromDocumentOnIos}from"./documentIosClick";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isKey,isUndefined}from"@transferwise/neptune-validation";import
|
|
1
|
+
import{isKey,isUndefined}from"@transferwise/neptune-validation";import PropTypes from"prop-types";import{useEffect,useRef}from"react";import{useConditionalListener}from"../hooks";import{Key}from"../key";import{getFocusableElements,resetFocus}from"./utils";import{jsx as _jsx}from"react/jsx-runtime";var TAB=Key.TAB,FocusBoundary=function(a){var b=a.children,c=useRef(),d=isUndefined(document)?void 0:document,e={};return useEffect(function(){c.current.focus(),e=getFocusableElements(c.current)},[]),useConditionalListener({eventType:"keydown",callback:function callback(a){return isKey({keyType:TAB,event:a})&&resetFocus({event:a,focusableEls:e})},attachListener:!0,parent:d}),/*#__PURE__*/_jsx("span",{ref:c,tabIndex:-1,className:"np-focus-boundary outline-none",children:b})};FocusBoundary.propTypes={children:PropTypes.node};export default FocusBoundary;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{default as withTheme}from"./theme";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{withTheme as default}from"./withTheme";
|
|
@@ -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{useTheme}from"../../hooks";// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
2
|
+
import{jsx as _jsx}from"react/jsx-runtime";function getDisplayName(a){return a.displayName||a.name||"Component"}export function withTheme(a){var b=function(b){var c=useTheme();return/*#__PURE__*/_jsx(a,_objectSpread({theme:c},b))};return b.displayName="withTheme(".concat(getDisplayName(a),")"),b.WrappedComponent=a,b}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{render,screen}from"@testing-library/react";import{Theme}from"../..";import{ThemeProvider}from"../../../provider";import{withTheme}from"./withTheme";import{jsx as _jsx}from"react/jsx-runtime";var Component=withTheme(function(a){var b=a.theme,c=a.className;return/*#__PURE__*/_jsx("div",{className:c,"data-testid":"themed","data-theme":b})});describe("withTheme",function(){it("returns default light theme",function(){render(/*#__PURE__*/_jsx(Component,{className:"test-class"}));var a=screen.getByTestId("themed");expect(a).toHaveClass("test-class"),expect(a).toHaveAttribute("data-theme",Theme.LIGHT)}),it("returns provided theme",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(Component,{})})),expect(screen.getByTestId("themed")).toHaveAttribute("data-theme",Theme.NAVY)}),it("returns closest theme provider value",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.DARK,children:/*#__PURE__*/_jsx(Component,{})})})),expect(screen.getByTestId("themed")).toHaveAttribute("data-theme",Theme.DARK)})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{default as
|
|
1
|
+
export{default as useClientWidth}from"./useClientWidth";export{default as useConditionalListener}from"./useConditionalListener";export{default as useDirection}from"./useDirection";export{default as useHasIntersected}from"./useHasIntersected";export{default as useTheme}from"./useTheme";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{useTheme as default}from"./useTheme";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useContext}from"react";import{ThemeContext}from"../../../provider/theme/ThemeProvider";export var useTheme=function(){return useContext(ThemeContext)};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{renderHook}from"@testing-library/react-hooks";import{Theme}from"../../../common/theme";import{ThemeProvider}from"../../../provider";import{useTheme}from"./useTheme";import{jsx as _jsx}from"react/jsx-runtime";describe("useTheme",function(){it("returns default light theme",function(){var a=renderHook(function(){return useTheme()}),b=a.result.current;expect(b).toStrictEqual(Theme.LIGHT)}),it("returns provided theme",function(){var a=renderHook(function(){return useTheme()},{wrapper:function wrapper(a){var b=a.children;return/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:b})}}),b=a.result.current;expect(b).toStrictEqual(Theme.NAVY)}),it("returns closest theme provider value",function(){var a=renderHook(function(){return useTheme()},{wrapper:function wrapper(a){var b=a.children;return/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.DARK,children:b})})}}),b=a.result.current;expect(b).toStrictEqual(Theme.DARK)})});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{default as HistoryNavigator}from"./historyNavigator";export{addNoScrollBodyClass,removeNoScrollBodyClass}from"./DOMOperations";export*from"./theme";// Props
|
|
1
|
+
export{default as HistoryNavigator}from"./historyNavigator";export{isServerSide,isBrowser}from"./domHelpers";export{addNoScrollBodyClass,removeNoScrollBodyClass}from"./DOMOperations";export*from"./theme";export*from"./direction";// Props
|
|
2
2
|
export{Priority,ControlType}from"./propsValues/control";export{Breakpoint}from"./propsValues/breakpoint";export*from"./propsValues/size";export*from"./propsValues/width";export{Type}from"./propsValues/type";export{DateMode}from"./propsValues/dateMode";export{MonthFormat}from"./propsValues/monthFormat";export{Position}from"./propsValues/position";export{Layout}from"./propsValues/layouts";export{Status}from"./propsValues/status";export{Sentiment}from"./propsValues/sentiment";export{ProfileType}from"./propsValues/profileType";export{Scroll}from"./propsValues/scroll";export{MarkdownNodeType}from"./propsValues/markdownNodeType";export{FileType}from"./fileType";export{Key}from"./key";export*from"./locale";export*from"./commonProps";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import{Direction}from"..";/**
|
|
2
2
|
* Default language
|
|
3
3
|
*
|
|
4
4
|
* @type {string}
|
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
* Default locale
|
|
7
7
|
*
|
|
8
8
|
* @type {string}
|
|
9
|
-
*/export var DEFAULT_LOCALE="en-GB"
|
|
9
|
+
*/export var DEFAULT_LOCALE="en-GB";/**
|
|
10
|
+
* Array of languages that are written from the right to the left
|
|
11
|
+
*
|
|
12
|
+
* @type {string[]}
|
|
13
|
+
*/export var RTL_LANGUAGES=["ar","he"];export var SUPPORTED_LANGUAGES=["en","de","es","fr","hu","id","it","ja","pl","pt","ro","ru","tr","uk","zh"];/**
|
|
10
14
|
* Verifies and adjusts locale (replace `_` with `-`)
|
|
11
15
|
* Returns null if locale is unrecognized by {Intl.Locale}
|
|
12
16
|
*
|
|
@@ -24,4 +28,10 @@
|
|
|
24
28
|
*
|
|
25
29
|
* @param {string} locale
|
|
26
30
|
* @returns {string|null}
|
|
27
|
-
*/export
|
|
31
|
+
*/export function getCountryFromLocale(a){var b=adjustLocale(a);if(null===b)return null;try{var c=new Intl.Locale(b),d=c.region;return null!==d&&void 0!==d?d:null}catch(a){return console.error(a),null}}/**
|
|
32
|
+
* Provides the layout direction for a given locale.
|
|
33
|
+
* If locale is invalid or language is unsupported returns Direction.LTR
|
|
34
|
+
*
|
|
35
|
+
* @param {string} locale (`es`, `es-ES`, `en-GB`, `en`, `ja`, `ja-JP` etc)
|
|
36
|
+
* @returns {Direction} The layout direction based on the locale
|
|
37
|
+
*/export function getDirectionFromLocale(a){try{var b=adjustLocale(a),c=new Intl.Locale(b),d=c.language;return RTL_LANGUAGES.includes(d)?Direction.RTL:Direction.LTR}catch(a){return console.error(a),Direction.LTR}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export var Theme;(function(a){a.LIGHT="light",a.DARK="dark"})(Theme||(Theme={}));
|
|
1
|
+
export var Theme;(function(a){a.LIGHT="light",a.DARK="dark",a.NAVY="navy"})(Theme||(Theme={}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classNames from"classnames";import PropTypes from"prop-types";import{useState}from"react";import{useIntl}from"react-intl";import{Size,DateMode,MonthFormat}from"../common";import{getMonthNames,isDateValid,isMonthAndYearFormat}from"../common/dateUtils";import
|
|
2
|
-
var d=
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classNames from"classnames";import PropTypes from"prop-types";import{useState}from"react";import{useIntl}from"react-intl";import{Size,DateMode,MonthFormat}from"../common";import{getMonthNames,isDateValid,isMonthAndYearFormat}from"../common/dateUtils";import Select from"../select";import messages from"./DateInput.messages";import{explodeDate,convertToLocalMidnight}from"./utils";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var MonthBeforeDay=new Set(["en-US","ja-JP"]),INITIAL_DEFAULT_STATE={year:null,month:null,day:null},DateInput=function(a){var b,c,d,e=a.disabled,f=a.size,g=a.value,h=a.dayLabel,i=a.monthLabel,j=a.yearLabel,k=a.monthFormat,l=a.mode,m=a.onChange,n=a.onFocus,o=a.onBlur,p=a.placeholders,q=a.id,r=useIntl(),s=r.locale,t=r.formatMessage,u=function(){return g&&isDateValid(g)?"string"==typeof g?convertToLocalMidnight(g):g:null},v=function(a){var b=INITIAL_DEFAULT_STATE;if(g&&isDateValid(g)){var c=u();b=explodeDate(c),isMonthAndYearFormat(g)&&(b.day=null)}return b[a]},w=useState(function(){return v("day")}),x=_slicedToArray(w,2),y=x[0],z=x[1],A=useState(function(){return v("month")}),B=_slicedToArray(A,2),C=B[0],D=B[1],E=useState(function(){return v("year")}),F=_slicedToArray(E,2),G=F[0],H=F[1],I=useState(u),J=_slicedToArray(I,2),K=J[0],L=J[1];h=h||t(messages.dayLabel),i=i||t(messages.monthLabel),j=j||t(messages.yearLabel),p={day:(null===(b=p)||void 0===b?void 0:b.day)||"DD",month:(null===(c=p)||void 0===c?void 0:c.month)||t(messages.monthLabel),year:(null===(d=p)||void 0===d?void 0:d.year)||"YYYY"};var M=function(a){if(!isDateValid(a))return"";switch(l){case DateMode.MONTH_YEAR:return[a.getFullYear(),"0".concat(a.getMonth()+1).slice(-2)].join("-");case DateMode.DAY_MONTH_YEAR:default:return[a.getFullYear(),"0".concat(a.getMonth()+1).slice(-2),"0".concat(a.getDate()).slice(-2)].join("-");}},N=function(){var a=getMonthNames(s,k);return/*#__PURE__*/_jsxs("label",{children:[/*#__PURE__*/_jsx("span",{className:"sr-only",children:i}),/*#__PURE__*/_jsx(Select,{name:"month",className:"form-control",disabled:e,placeholder:p.month,options:O(),size:f,selected:null===C?null:{value:C,label:a[C]},onChange:function(a){return R(a)}})]})},O=function(){var a=[],b=getMonthNames(s,k);return b.forEach(function(b,c){a.push({value:c,label:b})}),a},P=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:y,b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:C,c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:G,d=null!=a&&null!=b&&null!=c?new Date(c,b,a):null,e=isDateValid(d)?d:null;e||T(INITIAL_DEFAULT_STATE),l===DateMode.MONTH_YEAR?0<=b&&c&&(b!==C||c!==G)&&T(e):a&&0<=b&&c&&(a!==y||b!==C||c!==G)&&T(e)},Q=function(a){var b=U(a.target.value,C,G),c=b.checkedDay;z(c),P(c,C,G)},R=function(a){if(!a)return D(null),void P(y,null,G);var b=a?a.value:0,c=U(y,b,G),d=c.checkedDay;D(b),y&&d!==y&&z(d),P(d,b,G)},S=function(a){var b=a.target.value,c=4<b.length?b.slice(0,4):b;if(4===c.toString().length){// Correct day based on year and month.
|
|
2
|
+
var d=U(y,C,b),e=d.checkedDay;y&&e!==y&&z(e),H(c),P(e,C,c)}else H(c),P(y,C,null)},T=function(a){a!==K&&(L(a),m(M(a)||null))},U=function(){var a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,d=a,e=new Date(c||2e3,b+1,0).getDate();return a||(d=null),(a&&0>a||"00"===a)&&(d=1),(a&&b||31<a)&&(d=a>e?e:a),{checkedDay:d,checkedMonth:b,checkedYear:c}},V=l===DateMode.MONTH_YEAR,W=classNames({"col-sm-8":V,"col-sm-5":!V}),X=MonthBeforeDay.has(s);return/*#__PURE__*/_jsx("div",{className:"tw-date",id:q,onFocus:function onFocus(a){return shouldPropagateOnFocus(a)?n&&n():a.stopPropagation()},onBlur:function onBlur(a){return shouldPropagateOnBlur(a)?o&&o():a.stopPropagation()},children:/*#__PURE__*/_jsxs("div",{className:"row",children:[X&&/*#__PURE__*/_jsx("div",{className:W,children:N()}),!V&&/*#__PURE__*/_jsx("div",{className:"col-sm-3",children:/*#__PURE__*/_jsx("div",{className:"input-group-".concat(f),children:/*#__PURE__*/_jsxs("label",{children:[/*#__PURE__*/_jsx("span",{className:"sr-only",children:h}),/*#__PURE__*/_jsx("input",{type:"number",name:"day",className:"form-control",value:y||"",placeholder:p.day,disabled:e,onChange:function(a){return Q(a)}})]})})}),!X&&/*#__PURE__*/_jsx("div",{className:W,children:N()}),/*#__PURE__*/_jsx("div",{className:"col-sm-4",children:/*#__PURE__*/_jsx("div",{className:"input-group-".concat(f),children:/*#__PURE__*/_jsxs("label",{children:[/*#__PURE__*/_jsx("span",{className:"sr-only",children:j}),/*#__PURE__*/_jsx("input",{type:"number",name:"year",className:"form-control",placeholder:p.year,value:G||"",disabled:e,onChange:function(a){return S(a)}})]})})})]})})};// Should only propagate if the relatedTarget is not part of this DateInput component.
|
|
3
3
|
function shouldPropagateOnFocus(a){var b=a.target,c=a.relatedTarget,d=b.closest(".tw-date"),e=c&&c.closest(".tw-date");return d!==e}// Should only propagate if the relatedTarget or the activeElement is not part of this DateInput component.
|
|
4
4
|
function shouldPropagateOnBlur(a){var b=a.target,c=a.relatedTarget,d=b.closest(".tw-date"),e=c||(document.activeElement===b?null:document.activeElement),f=e&&e.closest(".tw-date");return d!==f}DateInput.propTypes={disabled:PropTypes.bool,size:PropTypes.oneOf(["sm","md","lg"]),value:PropTypes.oneOfType([PropTypes.string,PropTypes.instanceOf(Date)]),onChange:PropTypes.func.isRequired,onFocus:PropTypes.func,onBlur:PropTypes.func,dayLabel:PropTypes.string,monthLabel:PropTypes.string,yearLabel:PropTypes.string,monthFormat:PropTypes.oneOf(["long","short"]),mode:PropTypes.oneOf(["day-month-year","month-year"]),placeholders:PropTypes.shape({day:PropTypes.node,month:PropTypes.node,year:PropTypes.node}),id:PropTypes.string},DateInput.defaultProps={disabled:!1,size:Size.MEDIUM,value:null,onFocus:null,onBlur:null,monthFormat:MonthFormat.LONG,mode:DateMode.DAY_MONTH_YEAR,id:""};export default DateInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import PropTypes from"prop-types";import Chevron from"../../chevron";import{Position,Size}from"../../common";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var buttonClasses="btn-link p-a-0 text-no-decoration font-weight-bold",DateHeader=function(a){var b=a.label,c=a.onLabelClick,d=a.onPreviousClick,e=a.onNextClick;return/*#__PURE__*/_jsxs("div",{className:"text-xs-center p-t-1 p-b-2 clearfix",children:[/*#__PURE__*/_jsx("div",{className:"pull-
|
|
1
|
+
import PropTypes from"prop-types";import Chevron from"../../chevron";import{Position,Size}from"../../common";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var buttonClasses="btn-link p-a-0 text-no-decoration font-weight-bold",DateHeader=function(a){var b=a.label,c=a.onLabelClick,d=a.onPreviousClick,e=a.onNextClick;return/*#__PURE__*/_jsxs("div",{className:"text-xs-center p-t-1 p-b-2 clearfix",children:[/*#__PURE__*/_jsx("div",{className:"pull-left-single-direction",children:/*#__PURE__*/_jsx("button",{type:"button",className:buttonClasses,onClick:d,children:/*#__PURE__*/_jsx(Chevron,{orientation:Position.LEFT,className:"left-single-direction",size:Size.MEDIUM})})}),b&&/*#__PURE__*/_jsx("button",{type:"button",className:"tw-date-lookup-header-current ".concat(buttonClasses),onClick:c,children:b}),/*#__PURE__*/_jsx("div",{className:"pull-right-single-direction",children:/*#__PURE__*/_jsx("button",{type:"button",className:buttonClasses,onClick:e,children:/*#__PURE__*/_jsx(Chevron,{orientation:Position.RIGHT,className:"right-single-direction",size:Size.MEDIUM})})})]})};DateHeader.propTypes={label:PropTypes.string,onLabelClick:PropTypes.func,onPreviousClick:PropTypes.func.isRequired,onNextClick:PropTypes.func.isRequired},DateHeader.defaultProps={label:null,onLabelClick:function onLabelClick(){}};export default DateHeader;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import classNames from"classnames";import PropTypes from"prop-types";import requiredIf from"react-required-if";import{Size,Breakpoint}from"../common";import
|
|
2
|
-
,{complex:!1,content:c,disabled:d,href:e,target:f,media:
|
|
3
|
-
,{className:classNames("np-decision__tile".concat(
|
|
1
|
+
import classNames from"classnames";import PropTypes from"prop-types";import requiredIf from"react-required-if";import{Size,Breakpoint}from"../common";import NavigationOption from"../navigationOption";import SizeSwapper from"../sizeSwapper";import Tile from"../tile";import{Presentation,Type}from"./decisionEnums";import{jsx as _jsx}from"react/jsx-runtime";import{Fragment as _Fragment}from"react/jsx-runtime";var Decision=function(a){var b=a.options,c=a.presentation,d=a.type,e=a.size;if(d===Type.NAVIGATION){var f=Presentation.LIST_BLOCK,g=Presentation.LIST_BLOCK_GRID;if(c===f||c===g){var h=e===Size.SMALL,i=c===g,j=[{items:[],layout:SizeSwapper.Layout.COLUMN},{items:[],breakpoint:h?Breakpoint.EXTRA_SMALL:Breakpoint.SMALL,wrap:i}];return b.forEach(function(a,b){var c=a.description,d=a.disabled,e=a.href,f=a.target,g=a.media,k=g.block,l=g.list,m=a.onClick,n=a.title;j[0].items.push(/*#__PURE__*/_jsx(NavigationOption// eslint-disable-next-line react/no-array-index-key
|
|
2
|
+
,{complex:!1,content:c,disabled:d,href:e,target:f,media:l,showMediaAtAllSizes:!0,title:n,onClick:m},"nav-".concat(b))),j[1].items.push(/*#__PURE__*/_jsx(Tile// eslint-disable-next-line react/no-array-index-key
|
|
3
|
+
,{className:classNames("np-decision__tile".concat(h?"--small":""),{"np-decision__tile--fixed-width":i}),description:c,disabled:d,href:e,target:f,media:k,size:h?Size.SMALL:Size.MEDIUM,title:n,onClick:m},"tile-".concat(b)))}),/*#__PURE__*/_jsx("div",{className:classNames("np-decision",{"np-decision--small":h,"np-decision--grid":i}),children:/*#__PURE__*/_jsx(SizeSwapper,{items:j})})}// LIST
|
|
4
4
|
return b.map(function(a,b){var c=a.title,d=a.description,e=a.disabled,f=a.href,g=a.target,h=a.media.list,i=a.onClick;return/*#__PURE__*/_jsx(NavigationOption// eslint-disable-next-line react/no-array-index-key
|
|
5
5
|
,{complex:!1,content:d,disabled:e,href:f,target:g,media:h,showMediaAtAllSizes:!0,title:c,onClick:i},"nav-".concat(b))})}return/*#__PURE__*/_jsx(_Fragment,{})};Decision.propTypes={/** A list of elements to be rendered */options:PropTypes.arrayOf(PropTypes.shape({description:PropTypes.node,disabled:PropTypes.bool,href:requiredIf(PropTypes.string,function(a){return a.type===Type.NAVIGATION}),target:PropTypes.oneOf(["_self","_blank","_parent","_top"]),media:PropTypes.shape({block:PropTypes.node.isRequired,list:PropTypes.node.isRequired}),onClick:PropTypes.func.isRequired,title:PropTypes.node.isRequired})).isRequired,/** Handles the display mode of the component */presentation:PropTypes.oneOf(["LIST","LIST_BLOCK","LIST_BLOCK_GRID"]),/** Size currently affects only Tile dimension */size:PropTypes.oneOf(["sm","md"]),/** Decide which kind of element type needs to be rendered ex: Navigation Options or in the future Radio or Checkbox Options */type:PropTypes.oneOf(["NAVIGATION"])},Decision.defaultProps={presentation:Presentation.LIST,size:Size.MEDIUM,type:Type.NAVIGATION};export default Decision;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import classNames from"classnames";import
|
|
1
|
+
import classNames from"classnames";import{useCallback,useEffect,useRef}from"react";import CSSTransition from"react-transition-group/CSSTransition";import{addNoScrollBodyClass,removeNoScrollBodyClass}from"../common";import{isIosDevice}from"../common/deviceDetection";import FocusBoundary from"../common/focusBoundary";import withNextPortal from"../withNextPortal/withNextPortal";import DimmerManager from"./dimmerManager";import{jsx as _jsx}from"react/jsx-runtime";export var EXIT_ANIMATION=350;var dimmerManager=new DimmerManager;export var handleTouchMove=function(a){var b=a.target.classList.contains("dimmer");// disable scroll on iOS devices for Dimmer area
|
|
2
2
|
// this is because of bug in WebKit https://bugs.webkit.org/show_bug.cgi?id=220908
|
|
3
3
|
// note: scrolling still works for children(s) as expected
|
|
4
|
-
isIosDevice()&&b&&(a.stopPropagation(),a.preventDefault())};var Dimmer=function(a){var b=a.children,c=a.className,d=a.disableClickToClose,e=a.fadeContentOnEnter,f=
|
|
5
|
-
,timeout:{enter:0,exit:EXIT_ANIMATION},classNames:{enter:classNames({"dimmer--enter-fade":
|
|
4
|
+
isIosDevice()&&b&&(a.stopPropagation(),a.preventDefault())};var Dimmer=function(a){var b=a.children,c=a.className,d=a.disableClickToClose,e=a.fadeContentOnEnter,f=void 0!==e&&e,g=a.fadeContentOnExit,h=a.open,i=void 0!==h&&h,j=a.scrollable,k=a.transparent,l=void 0!==k&&k,m=a.onClose,n=useRef(null),o=function(a){a.target===n.current&&(null===m||void 0===m?void 0:m(a))},p=useCallback(function(a){"Escape"!==a.key||(a.stopPropagation(),m&&n.current&&dimmerManager.isTop(n.current)&&m(a))},[m]);return useEffect(function(){var a=n.current;return i&&(document.addEventListener("keydown",p),null===a||void 0===a?void 0:a.addEventListener("touchmove",handleTouchMove)),function(){document.removeEventListener("keydown",p),null===a||void 0===a?void 0:a.removeEventListener("touchmove",handleTouchMove)}},[p,i]),/*#__PURE__*/_jsx(CSSTransition,{in:i,appear:!0// Wait for animation to finish before unmount.
|
|
5
|
+
,timeout:{enter:0,exit:EXIT_ANIMATION},classNames:{enter:classNames({"dimmer--enter-fade":f}),enterDone:classNames("dimmer--enter-done",{"dimmer--enter-fade":f}),exit:classNames("dimmer--exit",{"dimmer--exit-fade":void 0!==g&&g})},unmountOnExit:!0,onEnter:function onEnter(){n.current&&dimmerManager.add(n.current)},onExited:function onExited(){n.current&&dimmerManager.remove(n.current)},children:/*#__PURE__*/_jsx(DimmerContentWrapper,{scrollBody:!l,children:/*#__PURE__*/_jsx("div",{ref:n,className:classNames("dimmer",{"dimmer--scrollable":void 0!==j&&j,"dimmer--transparent":l},c),role:"presentation",onClick:function handleClick(a){void 0!==d&&d||!m||o(a)},children:/*#__PURE__*/_jsx(FocusBoundary,{children:b})})})})};export var DimmerContentWrapper=function(a){var b=a.children,c=a.scrollBody;return useEffect(function(){return c&&addNoScrollBodyClass(),function(){c&&removeNoScrollBodyClass()}},[c]),b};// Export without the Portal for tests only
|
|
6
|
+
export{Dimmer};export default withNextPortal(Dimmer);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{action}from"@storybook/addon-actions";import{boolean}from"@storybook/addon-knobs";import{useState}from"react";import{Button,Dimmer}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";export default{component:Dimmer,title:"Dimmer"};export var Basic=function(){var a=useState(!1),b=_slicedToArray(a,2),c=b[0],d=b[1],e=boolean("fadeContentOnExit",!1),f=boolean("fadeContentOnEnter",!1);return/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Button,{onClick:function onClick(){return d(function(a){return!a})},children:"Toggle dimmer"}),/*#__PURE__*/_jsx(Dimmer,{open:c,fadeContentOnExit:e,fadeContentOnEnter:f,onClose:function handleClose(){d(!1),action("closed")}})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import classNames from"classnames";import PropTypes from"prop-types";import CloseButton from"../common/closeButton";import{Position}from"../common/propsValues/position";import Dimmer from"../dimmer";import SlidingPanel from"../slidingPanel";import{logActionRequiredIf}from"../utilities";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Drawer=function(a){var b=a.children,c=a.className,d=a.footerContent,e=a.headerTitle,f=a.onClose,g=a.open,h=a.position;return logActionRequiredIf("Drawer now expects `onClose`, and will soon make this prop required. Please update your usage to provide it.",!f),/*#__PURE__*/_jsx(Dimmer,{open:g,onClose:f,children:/*#__PURE__*/_jsx(SlidingPanel,{open:g,position:h,children:/*#__PURE__*/_jsxs("div",{className:classNames("np-drawer",c),children:[/*#__PURE__*/_jsxs("div",{className:classNames("np-drawer-header",{"np-drawer-header--withborder":e}),children:[/*#__PURE__*/_jsx(CloseButton,{onClick:f}),e&&/*#__PURE__*/_jsx("div",{className:"np-drawer-header--title
|
|
1
|
+
import classNames from"classnames";import PropTypes from"prop-types";import CloseButton from"../common/closeButton";import{Position}from"../common/propsValues/position";import Dimmer from"../dimmer";import SlidingPanel from"../slidingPanel";import{logActionRequiredIf}from"../utilities";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Drawer=function(a){var b=a.children,c=a.className,d=a.footerContent,e=a.headerTitle,f=a.onClose,g=a.open,h=a.position;return logActionRequiredIf("Drawer now expects `onClose`, and will soon make this prop required. Please update your usage to provide it.",!f),/*#__PURE__*/_jsx(Dimmer,{open:g,onClose:f,children:/*#__PURE__*/_jsx(SlidingPanel,{open:g,position:h,children:/*#__PURE__*/_jsxs("div",{className:classNames("np-drawer",c),children:[/*#__PURE__*/_jsxs("div",{className:classNames("np-drawer-header",{"np-drawer-header--withborder":e}),children:[/*#__PURE__*/_jsx(CloseButton,{onClick:f}),e&&/*#__PURE__*/_jsx("div",{className:"np-drawer-header--title title-3",children:e})]}),b&&/*#__PURE__*/_jsx("div",{className:classNames("np-drawer-content"),children:b}),d&&/*#__PURE__*/_jsx("div",{className:classNames("np-drawer-footer"),children:d})]})})})};Drawer.propTypes={/** The content to appear in the drawer body. */children:PropTypes.node,className:PropTypes.string,/** The content to appear in the drawer footer. */footerContent:PropTypes.node,/** The content to appear in the drawer header. */headerTitle:PropTypes.string,/** The action to perform on close click. */onClose:PropTypes.func,/** The status of Drawer either open or not. */open:PropTypes.bool,/** The placement of Drawer on the screen either left or right. */position:PropTypes.oneOf(["left","right"])},Drawer.defaultProps={children:null,className:void 0,footerContent:null,headerTitle:null,onClose:null,open:!1,position:Position.RIGHT};export default Drawer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import PropTypes from"prop-types";import{Layout}from"../common";import{prepFields}from"../common/requirements";import DefinitionList from"../definitionList";import createDefinitions from"./utils/createDefinitions";import{jsx as _jsx}from"react/jsx-runtime";import{Fragment as _Fragment}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var DynamicFieldDefinitionList=function(a){var b=a.model,c=a.title,d=a.layout,e=a.fields;return/*#__PURE__*/_jsxs(_Fragment,{children:[c&&/*#__PURE__*/_jsx("div",{className:"m-t-1",children:/*#__PURE__*/_jsx("div",{className:"p-t-3
|
|
1
|
+
import PropTypes from"prop-types";import{Layout}from"../common";import{prepFields}from"../common/requirements";import DefinitionList from"../definitionList";import createDefinitions from"./utils/createDefinitions";import{jsx as _jsx}from"react/jsx-runtime";import{Fragment as _Fragment}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var DynamicFieldDefinitionList=function(a){var b=a.model,c=a.title,d=a.layout,e=a.fields;return/*#__PURE__*/_jsxs(_Fragment,{children:[c&&/*#__PURE__*/_jsx("div",{className:"m-t-1",children:/*#__PURE__*/_jsx("div",{className:"p-t-3 title-4",children:c})}),/*#__PURE__*/_jsx(DefinitionList,{layout:d,definitions:createDefinitions(prepFields(e),b)})]})};DynamicFieldDefinitionList.propTypes={model:PropTypes.shape({}).isRequired,fields:PropTypes.shape({}).isRequired,title:PropTypes.string,layout:PropTypes.oneOf(["VERTICAL_TWO_COLUMN","VERTICAL_ONE_COLUMN","HORIZONTAL_JUSTIFIED","HORIZONTAL_LEFT_ALIGNED"])},DynamicFieldDefinitionList.defaultProps={title:null,layout:Layout.VERTICAL_TWO_COLUMN};export default DynamicFieldDefinitionList;
|
|
@@ -2,7 +2,7 @@ import{formatDate,formatNumber}from"@transferwise/formatting";import classNames
|
|
|
2
2
|
*
|
|
3
3
|
* @param {Array} options
|
|
4
4
|
* @param {string|number} value
|
|
5
|
-
*/import{jsx as _jsx}from"react/jsx-runtime";var getValueLabel=function(a,b){var c=a.find(function(a){return a.value===b});return c&&c.label?c.label:b},mask=function(a){return Array(a.length+1).join("*")},FormattedValue=function(a){var b=a.field,c=a.value,d=useIntl(),e=d.locale,f=[];switch(b.tagClassName&&b.tagClassName.h3&&(f.push("
|
|
5
|
+
*/import{jsx as _jsx}from"react/jsx-runtime";var getValueLabel=function(a,b){var c=a.find(function(a){return a.value===b});return c&&c.label?c.label:b},mask=function(a){return Array(a.length+1).join("*")},FormattedValue=function(a){var b=a.field,c=a.value,d=useIntl(),e=d.locale,f=[];switch(b.tagClassName&&b.tagClassName.h3&&(f.push("title-3"),f.push("formatted-value__h3-custom-alignment")),b.control){case"select":case"radio":return/*#__PURE__*/_jsx("span",{children:getValueLabel(b.values,c)});case"date":return/*#__PURE__*/_jsx("span",{children:formatDate(c instanceof Date?c:new Date(c),e)});case"number":return/*#__PURE__*/_jsx("span",{children:formatNumber(c,e)});case"password":return/*#__PURE__*/_jsx("span",{children:mask(c)});case"file":return/*#__PURE__*/_jsx("div",{className:"thumbnail",children:/*#__PURE__*/_jsx("img",{alt:b.title,src:c})});case"checkbox":return/*#__PURE__*/_jsx("span",{children:JSON.stringify(c)});default:return/*#__PURE__*/_jsx("span",{className:classNames(f),children:formatUsingPattern(c,b.displayFormat)});}};/**
|
|
6
6
|
*
|
|
7
7
|
* @param {string} value
|
|
8
8
|
*/FormattedValue.propTypes={field:PropTypes.shape({control:PropTypes.string.isRequired,displayFormat:PropTypes.string,refreshRequirementsOnChange:PropTypes.bool,title:PropTypes.string.isRequired,type:PropTypes.string.isRequired,width:PropTypes.string,tagClassName:PropTypes.shape({h3:PropTypes.bool}),values:PropTypes.arrayOf(PropTypes.shape({value:PropTypes.any}))}).isRequired,value:PropTypes.any.isRequired};export default FormattedValue;
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* Types
|
|
3
3
|
*/ /**
|
|
4
4
|
* Components
|
|
5
|
-
*/export{default as Accordion}from"./accordion";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 OverlayHeader}from"./overlayHeader";export{default as PhoneNumberInput}from"./phoneNumberInput";export{default as Popover}from"./popover";export{default as ProcessIndicator}from"./processIndicator";export{default as Provider}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 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 OverlayHeader}from"./overlayHeader";export{default as PhoneNumberInput}from"./phoneNumberInput";export{default as Popover}from"./popover";export{default as ProcessIndicator}from"./processIndicator";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
|
-
*/export{default as useSnackbar}from"./snackbar/useSnackbar";/**
|
|
7
|
+
*/export{default as useSnackbar}from"./snackbar/useSnackbar";export{useDirection}from"./common/hooks";/**
|
|
8
8
|
* Enums
|
|
9
|
-
*/export{Size,Width,Sentiment,Priority,ControlType,Type,Theme,DateMode,MonthFormat,Position,Scroll,ProfileType,Breakpoint,Layout,Status,MarkdownNodeType}from"./common";export{AvatarType}from"./avatar";export{InfoPresentation}from"./info";export{UploadStep}from"./upload";export{DecisionPresentation,DecisionType}from"./decision";export{AlertArrowPosition}from"./alert/withArrow";export{LogoType}from"./logo";export{FileType}from"./common";/**
|
|
9
|
+
*/export{Direction,Size,Width,Sentiment,Priority,ControlType,Type,Theme,DateMode,MonthFormat,Position,Scroll,ProfileType,Breakpoint,Layout,Status,MarkdownNodeType}from"./common";export{AvatarType}from"./avatar";export{InfoPresentation}from"./info";export{UploadStep}from"./upload";export{DecisionPresentation,DecisionType}from"./decision";export{AlertArrowPosition}from"./alert/withArrow";export{LogoType}from"./logo";export{FileType}from"./common";/**
|
|
10
10
|
* Utils
|
|
11
|
-
*/export{SUPPORTED_LANGUAGES,DEFAULT_LANG,DEFAULT_LOCALE,adjustLocale,getLangFromLocale,getCountryFromLocale}from"./common";/**
|
|
11
|
+
*/export{SUPPORTED_LANGUAGES,RTL_LANGUAGES,DEFAULT_LANG,DEFAULT_LOCALE,adjustLocale,getLangFromLocale,getCountryFromLocale,getDirectionFromLocale,isServerSide,isBrowser}from"./common";/**
|
|
12
12
|
* Translations
|
|
13
13
|
*/export{default as translations}from"./i18n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classNames from"classnames";import PropTypes from"prop-types";import{Breakpoint}from"../common";import{
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classNames from"classnames";import PropTypes from"prop-types";import{Breakpoint}from"../common";import{isServerSide}from"../common/domHelpers";import{useClientWidth}from"../common/hooks";import{LogoType}from"./logoTypes";import{jsx as _jsx}from"react/jsx-runtime";var baseUrl="https://wise.com/public-resources/assets/logos/wise/",logoPaths={WISE:"brand_logo.svg",WISE_BUSINESS:"brand_logo_business.svg",WISE_INVERSE:"brand_logo_inverse.svg",WISE_BUSINESS_INVERSE:"brand_logo_business_inverse.svg",WISE_FLAG:"brand_flag.svg"},Logo=function(a){var b=a.className,c=a.inverse,d=a.type,e=useClientWidth({ref:isServerSide()?void 0:window}),f=_slicedToArray(e,1),g=f[0],h=g<Breakpoint.SMALL,i=h?logoPaths.WISE_FLAG:logoPaths["".concat(d).concat(c?"_INVERSE":"")];return/*#__PURE__*/_jsx("img",{className:classNames("np-logo",b),alt:d===LogoType.WISE?"Wise":"Wise business",src:"".concat(baseUrl).concat(i)})};Logo.propTypes={/** Extra classes applied to Logo */className:PropTypes.string,/** If true, will use dark colours for dark on light theme */inverse:PropTypes.bool,/** What type of logo to display */type:PropTypes.oneOf(["WISE","WISE_BUSINESS"])},Logo.defaultProps={className:void 0,inverse:!1,type:LogoType.WISE};export default Logo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import classNames from"classnames";import PropTypes from"prop-types";import CloseButton from"../common/closeButton";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Nudge=function(a){var b=a.media,c=a.title,d=a.link,e=a.href,f=a.onClick,g=a.onDismiss,h=a.id,i=a.className;return/*#__PURE__*/_jsxs("div",{className:classNames("tw-nudge media",i),id:h,children:[/*#__PURE__*/_jsx("div",{className:"align-self-start media-left",children:b}),/*#__PURE__*/_jsxs("div",{className:"media-body",children:[/*#__PURE__*/_jsx("div",{className:"tw-nudge__title media-heading title-4",children:c}),/*#__PURE__*/_jsx("a",{href:e,className:"tw-nudge__link",onClick:f,children:d})]}),/*#__PURE__*/_jsx("div",{className:"align-self-start media-right",children:/*#__PURE__*/_jsx(CloseButton,{size:16,onClick:g})})]})};Nudge.propTypes={media:PropTypes.node.isRequired,title:PropTypes.node.isRequired,link:PropTypes.node.isRequired,href:PropTypes.string.isRequired,onClick:PropTypes.func,onDismiss:PropTypes.func.isRequired,id:PropTypes.string,className:PropTypes.string},Nudge.defaultProps={id:null,className:null,onClick:void 0};export default Nudge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{isArray}from"@transferwise/neptune-validation";import
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{isArray}from"@transferwise/neptune-validation";import PropTypes from"prop-types";import{useState,useEffect}from"react";import{useIntl}from"react-intl";import{Size}from"../common";import Select from"../select";import countries from"./data/countries";import{explodeNumberModel,filterOptionsForQuery,isValidPhoneNumber,cleanNumber,setDefaultPrefix,isStringNumeric,sortArrayByProperty,groupCountriesByPrefix}from"./utils";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var ALLOWED_PHONE_CHARS=/^$|^[\d-\s]+$/,PhoneNumberInput=function(a){var b=a.onChange,c=a.searchPlaceholder,d=a.disabled,e=a.required,f=a.size,g=a.placeholder,h=a.onFocus,i=a.onBlur,j=a.countryCode,k=useIntl(),l=k.locale,m=useState(function getInitialValue(){var b=a.initialValue,c=b?cleanNumber(b):null;return c&&isValidPhoneNumber(c)?explodeNumberModel(c):{prefix:setDefaultPrefix(l,j),suffix:""}}()),n=_slicedToArray(m,2),o=n[0],p=n[1],q=useState(null),r=_slicedToArray(q,2),s=r[0],t=r[1],u=useState(""),v=_slicedToArray(u,2),w=v[0],x=v[1],y=groupCountriesByPrefix(sortArrayByProperty(countries,"iso3")),z=groupCountriesByPrefix(sortArrayByProperty(countries,"phone")),A=function getSelectOptions(){var a=filterOptionsForQuery(isStringNumeric(w)?z:y,w);return a.map(function(a){var b=a.phone,c=a.iso3,d=a.iso2,e="";return c?e=isArray(c)?c.join(", "):c:d&&(e=isArray(d)?d.join(", "):d),{value:b,label:b,note:e}})}();return useEffect(function(){if(null===s)return t(o);var a=o.prefix+o.suffix,c=s.prefix+s.suffix;if(a!==c){var d=isValidPhoneNumber(a)?cleanNumber(a):null;b(d),t(o)}},[b,s,o]),/*#__PURE__*/_jsxs("div",{className:"tw-telephone",children:[/*#__PURE__*/_jsx("div",{className:"tw-telephone__country-select",children:/*#__PURE__*/_jsx(Select,{options:A,selected:{value:o.prefix,label:o.prefix},placeholder:"Select an option...",searchPlaceholder:c,searchValue:w,required:e,disabled:d,size:f,onChange:function onPrefixChange(a){var b=a.value;x(""),p({prefix:b,suffix:o.suffix})},onSearchChange:function onSearchChange(a){return x(a)}})}),/*#__PURE__*/_jsx("div",{className:"tw-telephone__number-input",children:/*#__PURE__*/_jsx("div",{className:"input-group input-group-".concat(f),children:/*#__PURE__*/_jsx("input",{name:"phoneNumber",inputMode:"numeric",value:o.suffix,type:"text",className:"form-control",disabled:d,required:e,placeholder:g,onChange:function onSuffixChange(a){var b=a.target.value,c=void 0===b?"":b;ALLOWED_PHONE_CHARS.test(c)&&p({prefix:o.prefix,suffix:c})},onPaste:function onPaste(a){if(a.nativeEvent.clipboardData){var b=(a.nativeEvent.clipboardData.getData("text/plain")||"").replace(/(\s|-)+/g,""),c=explodeNumberModel(b),d=c.prefix,e=c.suffix,f=A.find(function(a){var b=a.value;return b===d});f&&ALLOWED_PHONE_CHARS.test(e)&&p({prefix:d,suffix:e})}},onFocus:h,onBlur:i})})})]})};PhoneNumberInput.propTypes={required:PropTypes.bool,disabled:PropTypes.bool,initialValue:PropTypes.string,onChange:PropTypes.func.isRequired,onFocus:PropTypes.func,onBlur:PropTypes.func,countryCode:PropTypes.string,searchPlaceholder:PropTypes.string,size:PropTypes.oneOf(["sm","md","lg"]),placeholder:PropTypes.string},PhoneNumberInput.defaultProps={required:!1,disabled:!1,initialValue:null,onFocus:function onFocus(){},onBlur:function onBlur(){},countryCode:null,searchPlaceholder:"Prefix",size:Size.MEDIUM,placeholder:""};export default PhoneNumberInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import PropTypes from"prop-types";import{IntlProvider}from"react-intl";import{DEFAULT_LOCALE,
|
|
1
|
+
import PropTypes from"prop-types";import{IntlProvider}from"react-intl";import{adjustLocale,DEFAULT_LOCALE,getDirectionFromLocale}from"../common";import en from"../i18n/en.json";import{DirectionProvider}from"./direction";import{jsx as _jsx}from"react/jsx-runtime";var Provider=function(a){var b,c=a.i18n,d=a.children,e=c.locale,f=c.messages,g=c.defaultRichTextElements,h=adjustLocale(e);return null===h?(console.warn("Unsupported locale value was provided: '".concat(e,"', defaulting to '").concat(DEFAULT_LOCALE,"'")),b={locale:DEFAULT_LOCALE,messages:en}):b={locale:h,messages:f},/*#__PURE__*/_jsx(DirectionProvider,{direction:getDirectionFromLocale(e),children:/*#__PURE__*/_jsx(IntlProvider,{defaultLocale:DEFAULT_LOCALE,locale:b.locale,messages:b.messages,defaultRichTextElements:g,children:d})})};Provider.propTypes={i18n:PropTypes.shape({locale:PropTypes.string.isRequired,messages:PropTypes.shape({}).isRequired,defaultRichTextElements:PropTypes.shape({})}).isRequired,children:PropTypes.node},Provider.defaultProps={children:void 0};export default Provider;
|
|
@@ -0,0 +1,2 @@
|
|
|
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(b,c){var d;return _regeneratorRuntime.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return expect(document.body).toBeEmptyDOMElement(),a.next=3,import("../i18n/".concat(b,".json"));case 3:return d=a.sent,render(/*#__PURE__*/_jsx(Provider,{i18n:{locale:b,messages:d},children:/*#__PURE__*/_jsx(FormattedMessage,_objectSpread({},closeButtonMessages.ariaLabel))})),a.next=7,waitFor(function(){expect(screen.getByText(c)).toBeInTheDocument()});case 7:case"end":return a.stop();}},a)}));return function(){return a.apply(this,arguments)}}())});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{FormattedMessage}from"react-intl";import{Provider,Money}from"..";import closeButtonMessages from"../common/closeButton/CloseButton.messages";import{jsx as _jsx}from"react/jsx-runtime";import{Fragment as _Fragment}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";export default{component:Provider,title:"Provider"};export var Basic=function(){return/*#__PURE__*/_jsxs(_Fragment,{children:["Translated message: ",/*#__PURE__*/_jsx(FormattedMessage,_objectSpread({},closeButtonMessages.ariaLabel)),/*#__PURE__*/_jsx("br",{}),/*#__PURE__*/_jsx("br",{}),"Formatting example: ",/*#__PURE__*/_jsx(Money,{amount:1234.5678,currency:"GBP"})]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{createContext}from"react";import{Direction}from"../../common/direction";import{jsx as _jsx}from"react/jsx-runtime";export var DirectionContext=/*#__PURE__*/createContext(Direction.LTR);export var DirectionProvider=function(a){var b=a.direction,c=a.children;return/*#__PURE__*/_jsx(DirectionContext.Provider,{value:b,children:c})};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Direction}from"../../common";import{useDirection}from"../../common/hooks";import{render}from"../../test-utils";import{DirectionProvider}from".";import{Fragment as _Fragment}from"react/jsx-runtime";import{jsx as _jsx}from"react/jsx-runtime";describe("DirectionProvider",function(){beforeEach(function(){document.documentElement.removeAttribute("dir")}),it.each([[Direction.LTR,!1],[Direction.RTL,!0]])("store direction %s in React Context",function(a,b){var c=null;render(/*#__PURE__*/_jsx(DirectionProvider,{direction:a,children:/*#__PURE__*/_jsx(function TestComponent(){return c=useDirection(),/*#__PURE__*/_jsx(_Fragment,{})},{})})),expect(c).not.toBeNull(),expect(c).toHaveProperty("direction",a),expect(c).toHaveProperty("isRTL",b)})});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{default}from"./Provider";
|
|
1
|
+
export{DirectionProvider}from"./direction";export{ThemeProvider}from"./theme";export{default}from"./Provider";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Children,cloneElement,createContext,isValidElement}from"react";import{Theme}from"../../common/theme";import{jsx as _jsx}from"react/jsx-runtime";export var ThemeContext=/*#__PURE__*/createContext(Theme.LIGHT);export var ThemeProvider=function(a){var b=a.theme,c=a.children,d=Children.map(c,function(a){var c;if(!/*#__PURE__*/isValidElement(a))return"production"!==process.env.NODE_ENV&&console.warn("[ThemeProvider] Trying to inject `className` to an invalid React element, this will be skipped!"),a;// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
2
|
+
var d=["np-theme-".concat(b),null===a||void 0===a||null===(c=a.props)||void 0===c?void 0:c.className].filter(Boolean).join(" ");return/*#__PURE__*/cloneElement(a,{className:d})});return/*#__PURE__*/_jsx(ThemeContext.Provider,{value:b,children:d})};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{render,screen}from"@testing-library/react";import{DirectionProvider}from"..";import{Button}from"../..";import{Direction}from"../../common/direction";import{Theme}from"../../common/theme";import{ThemeProvider}from"./ThemeProvider";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";describe("ThemeProvider",function(){it("appends theme to children",function(){render(/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.LIGHT,children:[/*#__PURE__*/_jsx("div",{children:"children 1"}),/*#__PURE__*/_jsx("div",{children:"children 2"})]})),expect(screen.getByText("children 1")).toHaveClass("np-theme-light"),expect(screen.getByText("children 2")).toHaveClass("np-theme-light")}),it("concatenate className with children",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.LIGHT,children:/*#__PURE__*/_jsx("div",{className:"other class names",children:"children"})})),expect(screen.getByText("children")).toHaveClass("np-theme-light other class names")}),it("can nest theme providers",function(){render(/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.LIGHT,children:[/*#__PURE__*/_jsx("div",{children:"light"}),/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.NAVY,children:[/*#__PURE__*/_jsx("div",{children:"navy"}),/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.DARK,children:/*#__PURE__*/_jsx("div",{children:"dark"})})]})]})),expect(screen.getByText("light")).toHaveClass("np-theme-light"),expect(screen.getByText("navy")).toHaveClass("np-theme-navy"),expect(screen.getByText("dark")).toHaveClass("np-theme-dark")}),it("can append className to a component",function(){render(/*#__PURE__*/_jsx(ThemeProvider,{theme:Theme.NAVY,children:/*#__PURE__*/_jsx(Button,{"data-testid":"button",onClick:function onClick(){/** */},children:"Click me!"})})),expect(screen.getByTestId("button")).toHaveClass("np-theme-navy")}),it("displays console warning when children is not a valid React element",function(){// eslint-disable-next-line no-console
|
|
2
|
+
jest.spyOn(console,"warn").mockImplementation(function(){return jest.fn()}),render(/*#__PURE__*/_jsxs(ThemeProvider,{theme:Theme.NAVY,children:[/*#__PURE__*/_jsx(DirectionProvider,{direction:Direction.LTR,children:/*#__PURE__*/_jsx(Button,{"data-testid":"button",onClick:function onClick(){/** */},children:"Click me!"})}),","]})),expect(screen.getByTestId("button")).not.toHaveClass("np-theme-navy"),expect(console.warn).toHaveBeenCalledWith("[ThemeProvider] Trying to inject `className` to an invalid React element, this will be skipped!")})});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{ThemeContext,ThemeProvider}from"./ThemeProvider";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","id","disabled","avatar","secondary"];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 PropTypes from"prop-types";import RadioButton from"../common/RadioButton";import{
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","id","disabled","avatar","secondary"];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 PropTypes from"prop-types";import RadioButton from"../common/RadioButton";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Radio=function(a){var b=a.label,c=a.id,d=a.disabled,e=a.avatar,f=a.secondary,g=_objectWithoutProperties(a,_excluded);return/*#__PURE__*/_jsx("div",{className:classNames("radio np-radio",{"radio-lg":f,disabled:d}),disabled:d,children:/*#__PURE__*/_jsxs("label",{htmlFor:c,children:[/*#__PURE__*/_jsx("span",{className:"np-radio-button p-r-2",children:/*#__PURE__*/_jsx(RadioButton,_objectSpread({id:c,disabled:d},g))}),/*#__PURE__*/_jsxs("span",{className:"np-radio__text",children:[b,f&&/*#__PURE__*/_jsx("small",{children:f})]}),e&&/*#__PURE__*/_jsx("span",{className:"np-radio__avatar m-l-auto",children:e})]})})};Radio.propTypes={avatar:PropTypes.element,checked:PropTypes.bool,disabled:PropTypes.bool,id:PropTypes.string,label:PropTypes.string.isRequired,name:PropTypes.string.isRequired,onChange:PropTypes.func.isRequired,secondary:PropTypes.string,value:PropTypes.oneOfType([PropTypes.number,PropTypes.string])},Radio.defaultProps={avatar:void 0,checked:!1,disabled:!1,id:null,secondary:null,value:""};export default Radio;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import PropTypes from"prop-types";import{cloneElement}from"react";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Option=function(a){var b=a.currency,c=a.label,d=a.note,e=a.secondary,f=a.icon,g=a.classNames,h=a.selected,i=function(a){return a.map(function(a){return g[a]||a}).join(" ")},j=b?"".concat(i(["currency-flag","currency-flag-".concat(b.toLowerCase()),"".concat(h?"hidden-xs":"")])):null;return/*#__PURE__*/_jsxs("span",{children:[b?/*#__PURE__*/_jsx("i",{className:j}):f&&/*#__PURE__*/cloneElement(f,{size:24,className:"".concat(i(["tw-icon"]))}),c,d&&/*#__PURE__*/_jsx("span",{className:"
|
|
1
|
+
import PropTypes from"prop-types";import{cloneElement}from"react";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Option=function(a){var b=a.currency,c=a.label,d=a.note,e=a.secondary,f=a.icon,g=a.classNames,h=a.selected,i=function(a){return a.map(function(a){return g[a]||a}).join(" ")},j=b?"".concat(i(["currency-flag","currency-flag-".concat(b.toLowerCase()),"".concat(h?"hidden-xs":"")])):null,k=e?"".concat(i(["d-flex align-items-start","".concat(e?"flex-column":"")])):"d-flex align-items-start";return/*#__PURE__*/_jsxs("span",{className:k,children:[b?/*#__PURE__*/_jsx("i",{className:j}):f&&/*#__PURE__*/cloneElement(f,{size:24,className:"".concat(i(["tw-icon"]))}),c,d&&/*#__PURE__*/_jsx("span",{className:"body-2 m-l-1",children:d}),e&&/*#__PURE__*/_jsx("span",{className:"body-2 text-ellipsis",children:e})]})};Option.propTypes={label:PropTypes.node.isRequired,currency:PropTypes.string,note:PropTypes.node,secondary:PropTypes.node,icon:PropTypes.node,classNames:PropTypes.objectOf(PropTypes.string),selected:PropTypes.bool},Option.defaultProps={currency:"",note:"",secondary:"",icon:null,classNames:{},selected:!1};export default Option;
|