@transferwise/components 37.7.2-beta-c75d06aaa9.7 → 37.7.3-beta-ebc198ec00.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/build/es/no-polyfill/accordion/AccordionItem/AccordionItem.js +1 -1
  3. package/build/es/no-polyfill/actionOption/ActionOption.story.js +1 -1
  4. package/build/es/no-polyfill/alert/Alert.js +1 -1
  5. package/build/es/no-polyfill/card/Card.js +1 -2
  6. package/build/es/no-polyfill/checkbox/Checkbox.js +1 -1
  7. package/build/es/no-polyfill/common/Option/Option.js +1 -1
  8. package/build/es/no-polyfill/common/bottomSheet/BottomSheet.js +2 -2
  9. package/build/es/no-polyfill/common/domHelpers/index.js +1 -1
  10. package/build/es/no-polyfill/common/flowHeader/FlowHeader.js +1 -0
  11. package/build/es/no-polyfill/common/flowHeader/index.js +1 -0
  12. package/build/es/no-polyfill/common/index.js +1 -1
  13. package/build/es/no-polyfill/common/locale/index.js +1 -5
  14. package/build/es/no-polyfill/dateInput/DateInput.js +2 -2
  15. package/build/es/no-polyfill/dateLookup/dateHeader/DateHeader.js +1 -0
  16. package/build/es/no-polyfill/dateLookup/dateHeader/index.js +1 -0
  17. package/build/es/no-polyfill/dateLookup/dayCalendar/DayCalendar.js +1 -1
  18. package/build/es/no-polyfill/dateLookup/monthCalendar/MonthCalendar.js +1 -1
  19. package/build/es/no-polyfill/dateLookup/yearCalendar/YearCalendar.js +1 -1
  20. package/build/es/no-polyfill/decision/Decision.js +3 -3
  21. package/build/es/no-polyfill/drawer/Drawer.js +1 -1
  22. package/build/es/no-polyfill/dynamicFieldDefinitionList/DynamicFieldDefinitionList.js +1 -1
  23. package/build/es/no-polyfill/dynamicFieldDefinitionList/FormattedValue/FormattedValue.js +1 -1
  24. package/build/es/no-polyfill/flowNavigation/FlowNavigation.js +2 -2
  25. package/build/es/no-polyfill/header/Header.js +5 -1
  26. package/build/es/no-polyfill/header/Header.spec.js +1 -0
  27. package/build/es/no-polyfill/header/Header.story.js +1 -0
  28. package/build/es/no-polyfill/index.js +3 -3
  29. package/build/es/no-polyfill/logo/Logo.js +1 -1
  30. package/build/es/no-polyfill/navigationOption/NavigationOption.js +1 -1
  31. package/build/es/no-polyfill/navigationOptionsList/NavigationOptionsList.js +1 -1
  32. package/build/es/no-polyfill/nudge/Nudge.js +1 -1
  33. package/build/es/no-polyfill/overlayHeader/OverlayHeader.js +1 -1
  34. package/build/es/no-polyfill/phoneNumberInput/PhoneNumberInput.js +1 -1
  35. package/build/es/no-polyfill/provider/Provider.js +1 -1
  36. package/build/es/no-polyfill/provider/direction/DirectionProvider.js +1 -1
  37. package/build/es/no-polyfill/provider/index.js +1 -1
  38. package/build/es/no-polyfill/radio/Radio.js +1 -1
  39. package/build/es/no-polyfill/section/Section.js +5 -0
  40. package/build/es/no-polyfill/section/Section.spec.js +1 -0
  41. package/build/es/no-polyfill/section/Section.story.js +1 -0
  42. package/build/es/no-polyfill/section/index.js +1 -0
  43. package/build/es/no-polyfill/select/option/Option.js +1 -1
  44. package/build/es/no-polyfill/snackbar/Snackbar.js +1 -1
  45. package/build/es/no-polyfill/stepper/Stepper.js +1 -1
  46. package/build/es/no-polyfill/summary/Summary.js +1 -1
  47. package/build/es/no-polyfill/switch/Switch.js +1 -1
  48. package/build/es/no-polyfill/switchOption/SwitchOption.story.js +1 -1
  49. package/build/es/no-polyfill/tooltip/Tooltip.js +1 -8
  50. package/build/es/no-polyfill/upload/Upload.js +1 -1
  51. package/build/es/no-polyfill/upload/steps/completeStep/completeStep.js +1 -1
  52. package/build/es/no-polyfill/upload/steps/processingStep/processingStep.js +1 -1
  53. package/build/es/no-polyfill/uploadInput/uploadButton/UploadButton.js +1 -1
  54. package/build/es/no-polyfill/uploadInput/uploadItem/UploadItem.js +2 -2
  55. package/build/es/polyfill/accordion/AccordionItem/AccordionItem.js +1 -1
  56. package/build/es/polyfill/actionOption/ActionOption.story.js +1 -1
  57. package/build/es/polyfill/alert/Alert.js +1 -1
  58. package/build/es/polyfill/card/Card.js +1 -2
  59. package/build/es/polyfill/checkbox/Checkbox.js +1 -1
  60. package/build/es/polyfill/common/Option/Option.js +1 -1
  61. package/build/es/polyfill/common/bottomSheet/BottomSheet.js +2 -2
  62. package/build/es/polyfill/common/domHelpers/index.js +1 -1
  63. package/build/es/polyfill/common/flowHeader/FlowHeader.js +1 -0
  64. package/build/es/polyfill/common/flowHeader/index.js +1 -0
  65. package/build/es/polyfill/common/index.js +1 -1
  66. package/build/es/polyfill/common/locale/index.js +1 -5
  67. package/build/es/polyfill/dateInput/DateInput.js +2 -2
  68. package/build/es/polyfill/dateLookup/dateHeader/DateHeader.js +1 -0
  69. package/build/es/polyfill/dateLookup/dateHeader/index.js +1 -0
  70. package/build/es/polyfill/dateLookup/dayCalendar/DayCalendar.js +1 -1
  71. package/build/es/polyfill/dateLookup/monthCalendar/MonthCalendar.js +1 -1
  72. package/build/es/polyfill/dateLookup/yearCalendar/YearCalendar.js +1 -1
  73. package/build/es/polyfill/decision/Decision.js +3 -3
  74. package/build/es/polyfill/drawer/Drawer.js +1 -1
  75. package/build/es/polyfill/dynamicFieldDefinitionList/DynamicFieldDefinitionList.js +1 -1
  76. package/build/es/polyfill/dynamicFieldDefinitionList/FormattedValue/FormattedValue.js +1 -1
  77. package/build/es/polyfill/flowNavigation/FlowNavigation.js +2 -2
  78. package/build/es/polyfill/header/Header.js +5 -1
  79. package/build/es/polyfill/header/Header.spec.js +1 -0
  80. package/build/es/polyfill/header/Header.story.js +1 -0
  81. package/build/es/polyfill/index.js +3 -3
  82. package/build/es/polyfill/logo/Logo.js +1 -1
  83. package/build/es/polyfill/navigationOption/NavigationOption.js +1 -1
  84. package/build/es/polyfill/navigationOptionsList/NavigationOptionsList.js +1 -1
  85. package/build/es/polyfill/nudge/Nudge.js +1 -1
  86. package/build/es/polyfill/overlayHeader/OverlayHeader.js +1 -1
  87. package/build/es/polyfill/phoneNumberInput/PhoneNumberInput.js +1 -1
  88. package/build/es/polyfill/provider/Provider.js +1 -1
  89. package/build/es/polyfill/provider/direction/DirectionProvider.js +1 -1
  90. package/build/es/polyfill/provider/index.js +1 -1
  91. package/build/es/polyfill/radio/Radio.js +1 -1
  92. package/build/es/polyfill/section/Section.js +5 -0
  93. package/build/es/polyfill/section/Section.spec.js +1 -0
  94. package/build/es/polyfill/section/Section.story.js +1 -0
  95. package/build/es/polyfill/section/index.js +1 -0
  96. package/build/es/polyfill/select/option/Option.js +1 -1
  97. package/build/es/polyfill/snackbar/Snackbar.js +1 -1
  98. package/build/es/polyfill/stepper/Stepper.js +1 -1
  99. package/build/es/polyfill/summary/Summary.js +1 -1
  100. package/build/es/polyfill/switch/Switch.js +1 -1
  101. package/build/es/polyfill/switchOption/SwitchOption.story.js +1 -1
  102. package/build/es/polyfill/tooltip/Tooltip.js +1 -8
  103. package/build/es/polyfill/upload/Upload.js +1 -1
  104. package/build/es/polyfill/upload/steps/completeStep/completeStep.js +1 -1
  105. package/build/es/polyfill/upload/steps/processingStep/processingStep.js +1 -1
  106. package/build/es/polyfill/uploadInput/uploadButton/UploadButton.js +1 -1
  107. package/build/es/polyfill/uploadInput/uploadItem/UploadItem.js +2 -2
  108. package/build/main.css +1 -1
  109. package/build/styles/accordion/Accordion.css +1 -1
  110. package/build/styles/avatar/Avatar.css +1 -1
  111. package/build/styles/badge/Badge.css +1 -1
  112. package/build/styles/button/Button.css +1 -1
  113. package/build/styles/card/Card.css +1 -1
  114. package/build/styles/checkboxButton/CheckboxButton.css +1 -1
  115. package/build/styles/chips/Chip.css +1 -1
  116. package/build/styles/circularButton/CircularButton.css +1 -1
  117. package/build/styles/common/Option/Option.css +1 -1
  118. package/build/styles/common/RadioButton/RadioButton.css +1 -1
  119. package/build/styles/common/bottomSheet/BottomSheet.css +1 -1
  120. package/build/styles/common/closeButton/CloseButton.css +1 -1
  121. package/build/styles/dateLookup/DateLookup.css +1 -1
  122. package/build/styles/dateLookup/dateTrigger/DateTrigger.css +1 -1
  123. package/build/styles/decision/Decision.css +1 -1
  124. package/build/styles/definitionList/DefinitionList.css +1 -1
  125. package/build/styles/dimmer/Dimmer.css +1 -1
  126. package/build/styles/drawer/Drawer.css +1 -1
  127. package/build/styles/emphasis/Emphasis.css +1 -1
  128. package/build/styles/flowNavigation/FlowNavigation.css +1 -1
  129. package/build/styles/flowNavigation/backButton/BackButton.css +1 -1
  130. package/build/styles/header/Header.css +1 -0
  131. package/build/styles/info/Info.css +1 -1
  132. package/build/styles/instructionsList/InstructionsList.css +1 -1
  133. package/build/styles/lab/mobileNav/MobileNav.css +1 -1
  134. package/build/styles/lab/pagination/Pagination.css +1 -1
  135. package/build/styles/loader/Loader.css +1 -1
  136. package/build/styles/main.css +1 -1
  137. package/build/styles/moneyInput/MoneyInput.css +1 -1
  138. package/build/styles/navigationOption/NavigationOption.css +1 -1
  139. package/build/styles/navigationOptionsList/NavigationOptionsList.css +1 -1
  140. package/build/styles/nudge/Nudge.css +1 -1
  141. package/build/styles/overlayHeader/OverlayHeader.css +1 -1
  142. package/build/styles/phoneNumberInput/PhoneNumberInput.css +1 -1
  143. package/build/styles/popover/Popover.css +1 -1
  144. package/build/styles/section/Section.css +1 -0
  145. package/build/styles/slidingPanel/SlidingPanel.css +1 -1
  146. package/build/styles/snackbar/Snackbar.css +1 -1
  147. package/build/styles/stepper/Stepper.css +1 -1
  148. package/build/styles/summary/Summary.css +1 -1
  149. package/build/styles/switch/Switch.css +1 -1
  150. package/build/styles/tabs/Tabs.css +1 -1
  151. package/build/styles/tile/Tile.css +1 -1
  152. package/build/styles/tooltip/Tooltip.css +1 -1
  153. package/build/styles/typeahead/Typeahead.css +1 -1
  154. package/build/styles/typeahead/typeaheadOption/TypeaheadOption.css +1 -1
  155. package/build/styles/uploadInput/UploadInput.css +1 -1
  156. package/build/styles/uploadInput/uploadButton/UploadButton.css +1 -1
  157. package/build/styles/uploadInput/uploadItem/UploadItem.css +1 -1
  158. package/build/types/actionOption/ActionOption.story.d.ts +1 -0
  159. package/build/types/common/bottomSheet/BottomSheet.d.ts +0 -1
  160. package/build/types/common/commonProps.d.ts +4 -0
  161. package/build/types/common/domHelpers/index.d.ts +1 -2
  162. package/build/types/common/flowHeader/FlowHeader.d.ts +2 -0
  163. package/build/types/common/flowHeader/index.d.ts +1 -0
  164. package/build/types/common/hooks/useDirection/useDirection.d.ts +1 -1
  165. package/build/types/common/index.d.ts +0 -2
  166. package/build/types/common/locale/index.d.ts +1 -6
  167. package/build/types/common/propsValues/position.d.ts +0 -4
  168. package/build/types/dateLookup/{header/Header.d.ts → dateHeader/DateHeader.d.ts} +3 -3
  169. package/build/types/dateLookup/dateHeader/index.d.ts +1 -0
  170. package/build/types/header/Header.d.ts +27 -1
  171. package/build/types/{provider/direction/DirectionProvider.spec.d.ts → header/Header.spec.d.ts} +0 -0
  172. package/build/types/header/Header.story.d.ts +9 -0
  173. package/build/types/header/index.d.ts +1 -1
  174. package/build/types/index.d.ts +49 -48
  175. package/build/types/provider/direction/DirectionProvider.d.ts +18 -8
  176. package/build/types/provider/index.d.ts +0 -1
  177. package/build/types/section/Section.d.ts +10 -0
  178. package/build/types/{tooltip/Tooltip.spec.d.ts → section/Section.spec.d.ts} +0 -0
  179. package/build/types/section/Section.story.d.ts +14 -0
  180. package/build/types/section/index.d.ts +1 -0
  181. package/build/types/switchOption/SwitchOption.story.d.ts +1 -0
  182. package/build/types/tooltip/Tooltip.d.ts +18 -9
  183. package/build/umd/no-polyfill/main.js +1 -1
  184. package/build/umd/polyfill/main.js +1 -1
  185. package/package.json +7 -7
  186. package/build/es/no-polyfill/common/Option/OptionDocumentation.js +0 -1
  187. package/build/es/no-polyfill/common/direction.js +0 -1
  188. package/build/es/no-polyfill/dateLookup/header/Header.js +0 -1
  189. package/build/es/no-polyfill/dateLookup/header/index.js +0 -1
  190. package/build/es/no-polyfill/provider/direction/DirectionProvider.spec.js +0 -1
  191. package/build/es/no-polyfill/tooltip/Tooltip.spec.js +0 -1
  192. package/build/es/no-polyfill/tooltip/Tooltip.story.js +0 -1
  193. package/build/es/polyfill/common/Option/OptionDocumentation.js +0 -1
  194. package/build/es/polyfill/common/direction.js +0 -1
  195. package/build/es/polyfill/dateLookup/header/Header.js +0 -1
  196. package/build/es/polyfill/dateLookup/header/index.js +0 -1
  197. package/build/es/polyfill/provider/direction/DirectionProvider.spec.js +0 -1
  198. package/build/es/polyfill/tooltip/Tooltip.spec.js +0 -1
  199. package/build/es/polyfill/tooltip/Tooltip.story.js +0 -1
  200. package/build/types/common/direction.d.ts +0 -6
  201. package/build/types/dateLookup/header/index.d.ts +0 -1
  202. package/build/types/tooltip/Tooltip.story.d.ts +0 -12
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
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
+ ## [37.7.2](https://github.com/transferwise/neptune-web/compare/@transferwise/components@37.7.1...@transferwise/components@37.7.2) (2021-10-08)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **components:** break long file names on UploadInput ([#1181](https://github.com/transferwise/neptune-web/issues/1181)) ([c0f4ff9](https://github.com/transferwise/neptune-web/commit/c0f4ff99621960cb4643bd3d54c9700b0dbcbeff))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [37.7.1](https://github.com/transferwise/neptune-web/compare/@transferwise/components@37.7.0...@transferwise/components@37.7.1) (2021-09-30)
7
18
 
8
19
  **Note:** Version bump only for package @transferwise/components
@@ -1 +1 @@
1
- import{isString}from"@transferwise/neptune-validation";import classNames from"classnames";import PropTypes from"prop-types";import{cloneElement}from"react";import Chevron from"../../chevron";import{Position,Theme}from"../../common";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var AccordionItem=function(a){var b=a.id,c=a.title,d=a.content,e=a.onClick,f=a.open,g=a.icon,h=a.theme,i=g?/*#__PURE__*/cloneElement(g,{size:24}):null;return/*#__PURE__*/_jsxs("div",{id:b,className:classNames("tw-accordion-item decision p-a-0","tw-accordion-item--".concat(h),{closed:!f}),children:[/*#__PURE__*/_jsx("button",{type:"button","aria-expanded":f,className:classNames("tw-accordion-item btn btn-link p-x-0 text-no-decoration p-t-3",{"p-b-3":!f,"p-b-2":f}),onClick:e,children:/*#__PURE__*/_jsxs("div",{className:"media",children:[g&&/*#__PURE__*/_jsx("div",{className:classNames("hidden-xs hidden-sm media-left p-r-2"),children:i}),/*#__PURE__*/_jsx("div",{className:classNames("media-body title text-xs-left"),children:isString(c)?/*#__PURE__*/_jsx("span",{className:"title-4 tw-accordion-item__title",children:c}):c}),/*#__PURE__*/_jsx("div",{className:classNames("d-flex align-items-center media-right"),children:/*#__PURE__*/_jsx(Chevron,{orientation:f?Position.TOP:Position.BOTTOM})})]})}),/*#__PURE__*/_jsx("div",{className:"accordion-content media",children:/*#__PURE__*/_jsx("div",{className:classNames("media-body m-r-5 p-b-3",{"m-l-5":g}),"aria-hidden":!f,children:d})})]})};AccordionItem.propTypes={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={icon:null,id:null,theme:Theme.LIGHT};export default AccordionItem;
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{useDirection}from"../../common/hooks";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var AccordionItem=function(a){var b=a.id,c=a.title,d=a.content,e=a.onClick,f=a.open,g=a.icon,h=a.theme,i=g?/*#__PURE__*/cloneElement(g,{size:24}):null,j=useDirection(),k=j.isRTL;return/*#__PURE__*/_jsxs("div",{id:b,className:classNames("np-accordion-item","np-accordion-item--".concat(h),{"np-accordion-item--open":f}),children:[/*#__PURE__*/_jsx(Option,{as:"button",media:i,title:c,button:/*#__PURE__*/_jsx(Chevron,{orientation:f?Position.TOP:Position.DOWN}),inverseMediaCircle:!1,onClick:e}),f&&/*#__PURE__*/_jsx("div",{className:classNames("np-accordion-item__content",{"icon-right":g&&k,"icon-left":g}),children:d})]})};AccordionItem.propTypes={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={icon:null,id:null,theme:Theme.LIGHT};export default AccordionItem;
@@ -1 +1 @@
1
- import{action}from"@storybook/addon-actions";import{text,boolean}from"@storybook/addon-knobs";import{FastFlag as FastFlagIcon}from"@transferwise/icons";import ActionOption from"./ActionOption";import{jsx as _jsx}from"react/jsx-runtime";export default{component:ActionOption,title:"ActionOption"};export var Basic=function(){var a=text("title","Action option"),b=text("content","Normally, the button and icon are vertically centered."),c=text("action","Action"),d=boolean("disabled",!1),e=boolean("showMediaAtAllSizes",!1);return/*#__PURE__*/_jsx(ActionOption,{action:c,media:/*#__PURE__*/_jsx(FastFlagIcon,{}),title:a,content:b,complex:!1,disabled:d,showMediaAtAllSizes:e,onClick:action("Button Clicked")})};
1
+ import{action}from"@storybook/addon-actions";import{text,boolean}from"@storybook/addon-knobs";import{FastFlag as FastFlagIcon}from"@transferwise/icons";import ActionOption from"./ActionOption";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:ActionOption,title:"ActionOption"};var Template=function(){var a=text("title","Action option"),b=text("content","Normally, the button and icon are vertically centered."),c=text("action","Action"),d=boolean("disabled",!1),e=boolean("showMediaAtAllSizes",!1);return/*#__PURE__*/_jsx(ActionOption,{action:c,media:/*#__PURE__*/_jsx(FastFlagIcon,{}),title:a,content:b,complex:!1,disabled:d,showMediaAtAllSizes:e,onClick:action("Button Clicked")})};export var Basic=function(){return/*#__PURE__*/_jsx(Template,{})};export var Multiple=function(){return/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Template,{}),/*#__PURE__*/_jsx(Template,{}),/*#__PURE__*/_jsx(Template,{})]})};
@@ -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{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
+ 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{useDirection}from"../common/hooks";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),o=useDirection(),p=o.isRTL;if(f){var t=withArrow(Alert,f);return/*#__PURE__*/_jsx(t,_objectSpread({},a))}logActionRequired(a);var q=deprecatedTypeMap[m]||m,r=iconTypeMap[q],s=j?/*#__PURE__*/cloneElement(j,{size:24}):/*#__PURE__*/_jsx(r,{size:24});return/*#__PURE__*/_jsxs("div",{role:"alert",className:classNames("alert d-flex","alert-".concat(q),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:[s,/*#__PURE__*/_jsxs("div",{className:classNames("alert__message flex-grow-1",{"p-l-2":!p,"p-r-2":p}),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:classNames({"m-l-2":!p,"m-r-2":p}),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,2 +1 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","isExpanded","title","details","children","onClick","icon","id","className"];import classNames from"classnames";import PropTypes from"prop-types";import{forwardRef}from"react";import requiredIf from"react-required-if";import Chevron from"../chevron";import{Position,Key}from"../common";import Option from"../common/Option";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Card=/*#__PURE__*/forwardRef(function(a,b){var c=a.as,d=a.isExpanded,e=a.title,f=a.details,g=a.children,h=a.onClick,i=a.icon,j=a.id,k=a.className,l=_objectWithoutProperties(a,_excluded),m=!!(d&&g),n=new Set([Key.ENTER].concat(_toConsumableArray(Key.SPACE)));return/*#__PURE__*/_jsxs(c,{ref:b,className:classNames("tw-card list-group-item p-a-0",k,{active:m}),id:j,"data-testid":l["data-testid"],children:[/*#__PURE__*/_jsx("div",{"aria-expanded":d,className:classNames("p-a-panel tw-card__panel",{"tw-card__panel--inactive":!g}),role:g?"button":null,tabIndex:g?0:void 0,onClick:function onClick(){return g&&h(!d)}// TODO: Consider renaming to onExpand as Card can be expanded with keyboard
2
- ,onKeyDown:function onKeyDown(a){n.has(a.key)&&g&&(a.preventDefault(),h(!d))},children:/*#__PURE__*/_jsx(Option,{as:"div",media:i,title:e,content:f,decision:!1,button:g&&/*#__PURE__*/_jsx(Chevron,{orientation:m?Position.TOP:Position.DOWN}),inverseMediaCircle:m})}),m&&/*#__PURE__*/_jsx("div",{className:"p-l-panel p-r-panel p-b-panel tw-card__content",children:/*#__PURE__*/_jsxs("div",{className:"media",children:[/*#__PURE__*/_jsx("div",{className:"media-left",children:/*#__PURE__*/_jsx("div",{className:"circle circle-sm circle-inverse circle-responsive invisible"})}),/*#__PURE__*/_jsxs("div",{className:"media-body",children:[/*#__PURE__*/_jsx("hr",{className:"m-t-0 hidden-xs hidden-sm"}),/*#__PURE__*/_jsx("div",{children:g})]})]})})]})}),hasChildren=function(a){var b=a.children;return b};Card.propTypes={as:PropTypes.string,isExpanded:requiredIf(PropTypes.bool,hasChildren),title:PropTypes.node.isRequired,details:PropTypes.node.isRequired,onClick:requiredIf(PropTypes.func,hasChildren),icon:PropTypes.node.isRequired,children:PropTypes.node,id:PropTypes.string,className:PropTypes.string,"data-testid":PropTypes.string},Card.defaultProps={as:"div",children:null,id:null,className:null,"data-testid":null};export default Card;
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","isExpanded","title","details","children","onClick","icon","id","className"];import classNames from"classnames";import PropTypes from"prop-types";import{forwardRef}from"react";import requiredIf from"react-required-if";import Chevron from"../chevron";import{Position}from"../common";import Option from"../common/Option";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Card=/*#__PURE__*/forwardRef(function(a,b){var c=a.as,d=a.isExpanded,e=a.title,f=a.details,g=a.children,h=a.onClick,i=a.icon,j=a.id,k=a.className,l=_objectWithoutProperties(a,_excluded),m=!!(d&&g);return/*#__PURE__*/_jsxs(c,{ref:b,className:classNames("np-card",k,{"np-card--open":m,"np-card--inactive":!g}),id:j,"data-testid":l["data-testid"],children:[/*#__PURE__*/_jsx("div",{className:classNames("np-card__panel",{"np-card__panel--expanded":m})}),/*#__PURE__*/_jsx(Option,{as:g?"button":"div",className:classNames("np-card__button"),media:i,title:e,content:f,button:g&&/*#__PURE__*/_jsx(Chevron,{orientation:m?Position.TOP:Position.BOTTOM}),onClick:function onClick(){return g&&h(!d)}}),/*#__PURE__*/_jsx("div",{className:classNames("np-card__divider",{"np-card__divider--expanded":m})}),m&&/*#__PURE__*/_jsx("div",{className:"np-card__content",children:g})]})}),hasChildren=function(a){var b=a.children;return b};Card.propTypes={as:PropTypes.string,isExpanded:requiredIf(PropTypes.bool,hasChildren),title:PropTypes.node.isRequired,details:PropTypes.node.isRequired,onClick:requiredIf(PropTypes.func,hasChildren),icon:PropTypes.node.isRequired,children:PropTypes.node,id:PropTypes.string,className:PropTypes.string,"data-testid":PropTypes.string},Card.defaultProps={as:"div",children:null,id:null,className:null,"data-testid":null};export default Card;
@@ -1 +1 @@
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
+ import classNames from"classnames";import PropTypes from"prop-types";import CheckboxButton from"../checkboxButton";import{useDirection}from"../common/hooks";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=useDirection(),m=l.isRTL,n=d&&!e&&!f&&!c,o=classNames("np-checkbox",{checkbox:!0,"checkbox-lg":h,"has-error":n,disabled:e});return/*#__PURE__*/_jsx("div",{id:b,className:o,children:/*#__PURE__*/_jsxs("label",{children:[/*#__PURE__*/_jsx(CheckboxButton,{className:classNames({"has-error":n,"p-r-2":!m,"p-l-2":m}),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.as,c=a.href,d=a.target,e=a.media,f=a.title,g=a.content,h=a.onClick,i=a.htmlFor,j=a.disabled,k=a.button,l=a.decision,m=a.complex,n=a.className,o=a.inverseMediaCircle,p=a.showMediaAtAllSizes,q=a.showMediaCircle;return/*#__PURE__*/_jsxs(b,{className:classNames(n,"media",{"decision-complex":m,decision:l,disabled:j,"tw-option__sm-media":p}),href:c,htmlFor:i,target:d,disabled:j&&"button"===b,onClick:h,children:[e&&/*#__PURE__*/_jsx("div",{className:"media-left",children:q?/*#__PURE__*/_jsx("div",{className:classNames("circle circle-sm text-primary",{"circle-inverse":o}),children:e}):/*#__PURE__*/_jsx("div",{className:"tw-option__no-media-circle",children:e})}),/*#__PURE__*/_jsxs("div",{className:"media-body",children:[/*#__PURE__*/_jsx("div",{className:"title-4",children:f}),g&&/*#__PURE__*/_jsx("div",{className:"decision__content",children:g})]}),/*#__PURE__*/_jsx("div",{className:"media-right",children:k})]})};Option.propTypes={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={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
+ 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.as,c=a.href,d=a.target,e=a.media,f=a.title,g=a.content,h=a.onClick,i=a.htmlFor,j=a.disabled,k=a.button,l=a.decision,m=a.complex,n=a.className,o=a.inverseMediaCircle,p=a.showMediaAtAllSizes,q=a.showMediaCircle;return/*#__PURE__*/_jsx(b,{className:classNames("np-option",n,{"decision-complex":m,decision:l,disabled:j,"np-option__sm-media":p}),href:c,htmlFor:i,target:d,disabled:j&&"button"===b,"aria-label":f,onClick:h,children:/*#__PURE__*/_jsxs("div",{className:"media",children:[e&&/*#__PURE__*/_jsx("div",{className:"media-left",children:q?/*#__PURE__*/_jsx("div",{className:classNames("circle circle-sm text-primary",{"circle-inverse":o}),children:e}):/*#__PURE__*/_jsx("div",{className:"np-option__no-media-circle",children:e})}),/*#__PURE__*/_jsxs("div",{className:"media-body",children:[/*#__PURE__*/_jsx("div",{className:"h5",children:f}),g]}),/*#__PURE__*/_jsx("div",{className:"media-right",children:k})]})})};Option.propTypes={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={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{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
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{isServerSideRendering}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&&!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;
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&&!isServerSideRendering(),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:isServerSideRendering()?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=isServerSideRendering()?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;
@@ -1 +1 @@
1
- export function isServerSide(){return"undefined"==typeof window}export function isBrowser(){return!isServerSide()}export{addClickClassToDocumentOnIos,removeClickClassFromDocumentOnIos}from"./documentIosClick";
1
+ export function isServerSideRendering(){return"undefined"==typeof window}export{addClickClassToDocumentOnIos,removeClickClassFromDocumentOnIos}from"./documentIosClick";
@@ -0,0 +1 @@
1
+ import classNames from"classnames";import PropTypes from"prop-types";import{forwardRef}from"react";import{Layout}from"../propsValues/layouts";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var FlowHeader=/*#__PURE__*/forwardRef(function(a,b){var c=a.bottomContent,d=a.className,e=a.layout,f=a.leftContent,g=a.rightContent,h=e===Layout.VERTICAL;return/*#__PURE__*/_jsxs("div",{ref:b,className:classNames("np-flow-header","d-flex","flex-wrap",d),children:[/*#__PURE__*/_jsx("div",{className:classNames("align-items-center","np-flow-header__left","d-flex",{"flex__item--8":h}),children:f}),/*#__PURE__*/_jsx("div",{className:classNames("align-items-center","d-flex","np-flow-header__right","justify-content-end",{"flex__item--4 ":h,"order-2":!h}),children:g}),/*#__PURE__*/_jsx("div",{className:classNames("align-items-center","d-flex","justify-content-center",{"flex__item--12":h,"order-1 flex-grow-1":!h}),children:c})]})});FlowHeader.defaultProps={bottomContent:void 0,className:void 0,layout:Layout.HORIZONTAL,leftContent:void 0,rightContent:void 0},FlowHeader.propTypes={bottomContent:PropTypes.node,className:PropTypes.string,layout:PropTypes.oneOf(["HORIZONTAL","VERTICAL"]),leftContent:PropTypes.node,rightContent:PropTypes.node};export default FlowHeader;
@@ -0,0 +1 @@
1
+ export{default}from"./FlowHeader";
@@ -1,2 +1,2 @@
1
- export{default as HistoryNavigator}from"./historyNavigator";export{isServerSide,isBrowser}from"./domHelpers";export{addNoScrollBodyClass,removeNoScrollBodyClass}from"./DOMOperations";export*from"./theme";export*from"./direction";// Props
1
+ export{default as HistoryNavigator}from"./historyNavigator";export{addNoScrollBodyClass,removeNoScrollBodyClass}from"./DOMOperations";export*from"./theme";// 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";
@@ -6,11 +6,7 @@
6
6
  * Default locale
7
7
  *
8
8
  * @type {string}
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","iw"];export var SUPPORTED_LANGUAGES=["en","ja","de","es","fr","hu","id","it","pl","pt","ro","ru","tr","uk","zh"];/**
9
+ */export var DEFAULT_LOCALE="en-GB";export var SUPPORTED_RTL=["he-IL"];export var SUPPORTED_LANGUAGES=["en","ja","de","es","fr","hu","id","it","pl","pt","ro","ru","tr","uk","zh"];/**
14
10
  * Verifies and adjusts locale (replace `_` with `-`)
15
11
  * Returns null if locale is unrecognized by {Intl.Locale}
16
12
  *
@@ -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 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.
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{useDirection}from"../common/hooks";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=useDirection(),s=r.isRTL,t=useIntl(),u=t.locale,v=t.formatMessage,w=function(){return g&&isDateValid(g)?"string"==typeof g?convertToLocalMidnight(g):g:null},x=function(a){var b=INITIAL_DEFAULT_STATE;if(g&&isDateValid(g)){var c=w();b=explodeDate(c),isMonthAndYearFormat(g)&&(b.day=null)}return b[a]},y=useState(function(){return x("day")}),z=_slicedToArray(y,2),A=z[0],B=z[1],C=useState(function(){return x("month")}),D=_slicedToArray(C,2),E=D[0],F=D[1],G=useState(function(){return x("year")}),H=_slicedToArray(G,2),I=H[0],J=H[1],K=useState(w),L=_slicedToArray(K,2),M=L[0],N=L[1];h=h||v(messages.dayLabel),i=i||v(messages.monthLabel),j=j||v(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)||v(messages.monthLabel),year:(null===(d=p)||void 0===d?void 0:d.year)||"YYYY"};var O=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("-");}},P=function(){var a=getMonthNames(u,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:Q(),size:f,selected:null===E?null:{value:E,label:a[E]},onChange:function(a){return T(a)}})]})},Q=function(){var a=[],b=getMonthNames(u,k);return b.forEach(function(b,c){a.push({value:c,label:b})}),a},R=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:A,b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:E,c=2<arguments.length&&arguments[2]!==void 0?arguments[2]:I,d=null!=a&&null!=b&&null!=c?new Date(c,b,a):null,e=isDateValid(d)?d:null;e||V(INITIAL_DEFAULT_STATE),l===DateMode.MONTH_YEAR?0<=b&&c&&(b!==E||c!==I)&&V(e):a&&0<=b&&c&&(a!==A||b!==E||c!==I)&&V(e)},S=function(a){var b=W(a.target.value,E,I),c=b.checkedDay;B(c),R(c,E,I)},T=function(a){if(!a)return F(null),void R(A,null,I);var b=a?a.value:0,c=W(A,b,I),d=c.checkedDay;F(b),A&&d!==A&&B(d),R(d,b,I)},U=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=W(A,E,b),e=d.checkedDay;A&&e!==A&&B(e),J(c),R(e,E,c)}else J(c),R(A,E,null)},V=function(a){a!==M&&(N(a),m(O(a)||null))},W=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}},X=l===DateMode.MONTH_YEAR,Y=classNames({"col-sm-8":X,"col-sm-5":!X,"pull-right":s}),Z=MonthBeforeDay.has(u);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:[Z&&/*#__PURE__*/_jsx("div",{className:Y,children:P()}),!X&&/*#__PURE__*/_jsx("div",{className:classNames("col-sm-3",{"pull-right":s}),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:A||"",placeholder:p.day,disabled:e,onChange:function(a){return S(a)}})]})})}),!Z&&/*#__PURE__*/_jsx("div",{className:Y,children:P()}),/*#__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:I||"",disabled:e,onChange:function(a){return U(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;
@@ -0,0 +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-xs-left",children:/*#__PURE__*/_jsx("button",{type:"button",className:buttonClasses,onClick:d,children:/*#__PURE__*/_jsx(Chevron,{orientation:Position.LEFT,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-xs-right",children:/*#__PURE__*/_jsx("button",{type:"button",className:buttonClasses,onClick:e,children:/*#__PURE__*/_jsx(Chevron,{orientation:Position.RIGHT,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;
@@ -0,0 +1 @@
1
+ export{default}from"./DateHeader";
@@ -1 +1 @@
1
- import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import{formatDate}from"@transferwise/formatting";import PropTypes from"prop-types";import{PureComponent}from"react";import{injectIntl}from"react-intl";import{MonthFormat}from"../../common";import Header from"../header";import DayCalendarTable from"./table";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var DayCalendar=/*#__PURE__*/function(a){function b(){var a;_classCallCheck(this,b);for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return a=c.call.apply(c,[this].concat(e)),_defineProperty(_assertThisInitialized(a),"selectPreviousMonth",function(){var b=a.props,c=b.viewMonth,d=b.viewYear;a.props.onViewDateUpdate({month:0>=c?11:c-1,year:0>=c?d-1:d})}),_defineProperty(_assertThisInitialized(a),"selectNextMonth",function(){var b=a.props,c=b.viewMonth,d=b.viewYear;a.props.onViewDateUpdate({month:11<=c?0:c+1,year:11<=c?d+1:d})}),a}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"render",value:function render(){var a=this.props,b=a.selectedDate,c=a.min,d=a.max,e=a.viewMonth,f=a.viewYear,g=a.intl.locale,h=a.monthFormat,i=a.onLabelClick,j=a.onSelect;return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(Header,{label:formatDate(new Date(f,e),g,{month:h,year:"numeric"}),onLabelClick:i,onPreviousClick:this.selectPreviousMonth,onNextClick:this.selectNextMonth}),/*#__PURE__*/_jsx(DayCalendarTable,{selectedDate:b,min:c,max:d,viewMonth:e,viewYear:f,onSelect:j})]})}}]),b}(PureComponent);DayCalendar.propTypes={selectedDate:PropTypes.instanceOf(Date),min:PropTypes.instanceOf(Date),max:PropTypes.instanceOf(Date),viewMonth:PropTypes.number.isRequired,viewYear:PropTypes.number.isRequired,monthFormat:PropTypes.oneOf([MonthFormat.LONG,MonthFormat.SHORT]).isRequired,onSelect:PropTypes.func.isRequired,onLabelClick:PropTypes.func.isRequired,onViewDateUpdate:PropTypes.func.isRequired},DayCalendar.defaultProps={selectedDate:null,min:null,max:null};export default injectIntl(DayCalendar);
1
+ import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import{formatDate}from"@transferwise/formatting";import PropTypes from"prop-types";import{PureComponent}from"react";import{injectIntl}from"react-intl";import{MonthFormat}from"../../common";import DateHeader from"../dateHeader";import DayCalendarTable from"./table";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var DayCalendar=/*#__PURE__*/function(a){function b(){var a;_classCallCheck(this,b);for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return a=c.call.apply(c,[this].concat(e)),_defineProperty(_assertThisInitialized(a),"selectPreviousMonth",function(){var b=a.props,c=b.viewMonth,d=b.viewYear;a.props.onViewDateUpdate({month:0>=c?11:c-1,year:0>=c?d-1:d})}),_defineProperty(_assertThisInitialized(a),"selectNextMonth",function(){var b=a.props,c=b.viewMonth,d=b.viewYear;a.props.onViewDateUpdate({month:11<=c?0:c+1,year:11<=c?d+1:d})}),a}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"render",value:function render(){var a=this.props,b=a.selectedDate,c=a.min,d=a.max,e=a.viewMonth,f=a.viewYear,g=a.intl.locale,h=a.monthFormat,i=a.onLabelClick,j=a.onSelect;return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(DateHeader,{label:formatDate(new Date(f,e),g,{month:h,year:"numeric"}),onLabelClick:i,onPreviousClick:this.selectPreviousMonth,onNextClick:this.selectNextMonth}),/*#__PURE__*/_jsx(DayCalendarTable,{selectedDate:b,min:c,max:d,viewMonth:e,viewYear:f,onSelect:j})]})}}]),b}(PureComponent);DayCalendar.propTypes={selectedDate:PropTypes.instanceOf(Date),min:PropTypes.instanceOf(Date),max:PropTypes.instanceOf(Date),viewMonth:PropTypes.number.isRequired,viewYear:PropTypes.number.isRequired,monthFormat:PropTypes.oneOf([MonthFormat.LONG,MonthFormat.SHORT]).isRequired,onSelect:PropTypes.func.isRequired,onLabelClick:PropTypes.func.isRequired,onViewDateUpdate:PropTypes.func.isRequired},DayCalendar.defaultProps={selectedDate:null,min:null,max:null};export default injectIntl(DayCalendar);
@@ -1 +1 @@
1
- import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import{formatDate}from"@transferwise/formatting";import PropTypes from"prop-types";import{PureComponent}from"react";import{injectIntl}from"react-intl";import Header from"../header";import MonthCalendarTable from"./table";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var MonthCalendar=/*#__PURE__*/function(a){function b(){var a;_classCallCheck(this,b);for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return a=c.call.apply(c,[this].concat(e)),_defineProperty(_assertThisInitialized(a),"onMonthSelect",function(b){a.props.onViewDateUpdate({month:b}),a.props.onSelect()}),_defineProperty(_assertThisInitialized(a),"selectPreviousYear",function(){a.props.onViewDateUpdate({year:a.props.viewYear-1})}),_defineProperty(_assertThisInitialized(a),"selectNextYear",function(){a.props.onViewDateUpdate({year:a.props.viewYear+1})}),a}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"render",value:function render(){var a=this.props,b=a.selectedDate,c=a.min,d=a.max,e=a.viewYear,f=a.intl.locale,g=a.placeholder,h=a.onLabelClick;return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(Header,{label:formatDate(new Date(e,0),f,{year:"numeric"}),onLabelClick:h,onPreviousClick:this.selectPreviousYear,onNextClick:this.selectNextYear}),/*#__PURE__*/_jsx(MonthCalendarTable,{selectedDate:b,min:c,max:d,viewYear:e,placeholder:g,onSelect:this.onMonthSelect})]})}}]),b}(PureComponent);MonthCalendar.propTypes={selectedDate:PropTypes.instanceOf(Date),min:PropTypes.instanceOf(Date),max:PropTypes.instanceOf(Date),viewYear:PropTypes.number.isRequired,placeholder:PropTypes.string.isRequired,onSelect:PropTypes.func.isRequired,onLabelClick:PropTypes.func.isRequired,onViewDateUpdate:PropTypes.func.isRequired},MonthCalendar.defaultProps={selectedDate:null,min:null,max:null};export default injectIntl(MonthCalendar);
1
+ import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import{formatDate}from"@transferwise/formatting";import PropTypes from"prop-types";import{PureComponent}from"react";import{injectIntl}from"react-intl";import DateHeader from"../dateHeader";import MonthCalendarTable from"./table";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var MonthCalendar=/*#__PURE__*/function(a){function b(){var a;_classCallCheck(this,b);for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return a=c.call.apply(c,[this].concat(e)),_defineProperty(_assertThisInitialized(a),"onMonthSelect",function(b){a.props.onViewDateUpdate({month:b}),a.props.onSelect()}),_defineProperty(_assertThisInitialized(a),"selectPreviousYear",function(){a.props.onViewDateUpdate({year:a.props.viewYear-1})}),_defineProperty(_assertThisInitialized(a),"selectNextYear",function(){a.props.onViewDateUpdate({year:a.props.viewYear+1})}),a}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"render",value:function render(){var a=this.props,b=a.selectedDate,c=a.min,d=a.max,e=a.viewYear,f=a.intl.locale,g=a.placeholder,h=a.onLabelClick;return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(DateHeader,{label:formatDate(new Date(e,0),f,{year:"numeric"}),onLabelClick:h,onPreviousClick:this.selectPreviousYear,onNextClick:this.selectNextYear}),/*#__PURE__*/_jsx(MonthCalendarTable,{selectedDate:b,min:c,max:d,viewYear:e,placeholder:g,onSelect:this.onMonthSelect})]})}}]),b}(PureComponent);MonthCalendar.propTypes={selectedDate:PropTypes.instanceOf(Date),min:PropTypes.instanceOf(Date),max:PropTypes.instanceOf(Date),viewYear:PropTypes.number.isRequired,placeholder:PropTypes.string.isRequired,onSelect:PropTypes.func.isRequired,onLabelClick:PropTypes.func.isRequired,onViewDateUpdate:PropTypes.func.isRequired},MonthCalendar.defaultProps={selectedDate:null,min:null,max:null};export default injectIntl(MonthCalendar);
@@ -1 +1 @@
1
- import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import PropTypes from"prop-types";import{PureComponent}from"react";import Header from"../header";import YearCalendarTable from"./table";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var YearCalendar=/*#__PURE__*/function(a){function b(){var a;_classCallCheck(this,b);for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return a=c.call.apply(c,[this].concat(e)),_defineProperty(_assertThisInitialized(a),"onYearSelect",function(b){a.props.onViewDateUpdate({year:b}),a.props.onSelect()}),_defineProperty(_assertThisInitialized(a),"selectPreviousYears",function(){a.props.onViewDateUpdate({year:a.props.viewYear-20})}),_defineProperty(_assertThisInitialized(a),"selectNextYears",function(){a.props.onViewDateUpdate({year:a.props.viewYear+20})}),a}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"render",value:function render(){var a=this.props,b=a.selectedDate,c=a.min,d=a.max,e=a.viewYear,f=a.placeholder;return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(Header,{onPreviousClick:this.selectPreviousYears,onNextClick:this.selectNextYears}),/*#__PURE__*/_jsx(YearCalendarTable,{selectedDate:b,min:c,max:d,viewYear:e,placeholder:f,onSelect:this.onYearSelect})]})}}]),b}(PureComponent);YearCalendar.propTypes={selectedDate:PropTypes.instanceOf(Date),min:PropTypes.instanceOf(Date),max:PropTypes.instanceOf(Date),viewYear:PropTypes.number.isRequired,placeholder:PropTypes.string.isRequired,onSelect:PropTypes.func.isRequired,onViewDateUpdate:PropTypes.func.isRequired},YearCalendar.defaultProps={selectedDate:null,min:null,max:null};export default YearCalendar;
1
+ import _classCallCheck from"@babel/runtime/helpers/classCallCheck";import _createClass from"@babel/runtime/helpers/createClass";import _assertThisInitialized from"@babel/runtime/helpers/assertThisInitialized";import _inherits from"@babel/runtime/helpers/inherits";import _possibleConstructorReturn from"@babel/runtime/helpers/possibleConstructorReturn";import _getPrototypeOf from"@babel/runtime/helpers/getPrototypeOf";import _defineProperty from"@babel/runtime/helpers/defineProperty";function _createSuper(a){var b=_isNativeReflectConstruct();return function(){var c,d=_getPrototypeOf(a);if(b){var e=_getPrototypeOf(this).constructor;c=Reflect.construct(d,arguments,e)}else c=d.apply(this,arguments);return _possibleConstructorReturn(this,c)}}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(a){return!1}}import PropTypes from"prop-types";import{PureComponent}from"react";import DateHeader from"../dateHeader";import YearCalendarTable from"./table";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var YearCalendar=/*#__PURE__*/function(a){function b(){var a;_classCallCheck(this,b);for(var d=arguments.length,e=Array(d),f=0;f<d;f++)e[f]=arguments[f];return a=c.call.apply(c,[this].concat(e)),_defineProperty(_assertThisInitialized(a),"onYearSelect",function(b){a.props.onViewDateUpdate({year:b}),a.props.onSelect()}),_defineProperty(_assertThisInitialized(a),"selectPreviousYears",function(){a.props.onViewDateUpdate({year:a.props.viewYear-20})}),_defineProperty(_assertThisInitialized(a),"selectNextYears",function(){a.props.onViewDateUpdate({year:a.props.viewYear+20})}),a}_inherits(b,a);var c=_createSuper(b);return _createClass(b,[{key:"render",value:function render(){var a=this.props,b=a.selectedDate,c=a.min,d=a.max,e=a.viewYear,f=a.placeholder;return/*#__PURE__*/_jsxs("div",{children:[/*#__PURE__*/_jsx(DateHeader,{onPreviousClick:this.selectPreviousYears,onNextClick:this.selectNextYears}),/*#__PURE__*/_jsx(YearCalendarTable,{selectedDate:b,min:c,max:d,viewYear:e,placeholder:f,onSelect:this.onYearSelect})]})}}]),b}(PureComponent);YearCalendar.propTypes={selectedDate:PropTypes.instanceOf(Date),min:PropTypes.instanceOf(Date),max:PropTypes.instanceOf(Date),viewYear:PropTypes.number.isRequired,placeholder:PropTypes.string.isRequired,onSelect:PropTypes.func.isRequired,onViewDateUpdate:PropTypes.func.isRequired},YearCalendar.defaultProps={selectedDate:null,min:null,max:null};export default YearCalendar;
@@ -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 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
1
+ import classNames from"classnames";import PropTypes from"prop-types";import requiredIf from"react-required-if";import{Size,Breakpoint}from"../common";import{useDirection}from"../common/hooks";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,f=useDirection(),g=f.isRTL;if(d===Type.NAVIGATION){var h=Presentation.LIST_BLOCK,i=Presentation.LIST_BLOCK_GRID;if(c===h||c===i){var j=e===Size.SMALL,k=c===i,l=[{items:[],layout:SizeSwapper.Layout.COLUMN},{items:[],breakpoint:j?Breakpoint.EXTRA_SMALL:Breakpoint.SMALL,wrap:k}];return b.forEach(function(a,b){var c=a.description,d=a.disabled,e=a.href,f=a.target,g=a.media,h=g.block,i=g.list,m=a.onClick,n=a.title;l[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:i,showMediaAtAllSizes:!0,title:n,onClick:m},"nav-".concat(b))),l[1].items.push(/*#__PURE__*/_jsx(Tile// eslint-disable-next-line react/no-array-index-key
3
+ ,{className:classNames("np-decision__tile".concat(j?"--small":""),{"np-decision__tile--fixed-width":k}),description:c,disabled:d,href:e,target:f,media:h,size:j?Size.SMALL:Size.MEDIUM,title:n,onClick:m},"tile-".concat(b)))}),/*#__PURE__*/_jsx("div",{className:classNames("np-decision",{"np-decision--small":j,"np-decision--grid":k,"np-decision--rtl":g}),children:/*#__PURE__*/_jsx(SizeSwapper,{items:l})})}// 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 +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.footerContent,d=a.headerTitle,e=a.onClose,f=a.open,g=a.position;return logActionRequiredIf("Drawer now expects `onClose`, and will soon make this prop required. Please update your usage to provide it.",!e),/*#__PURE__*/_jsx(Dimmer,{open:f,onClose:e,children:/*#__PURE__*/_jsx(SlidingPanel,{open:f,position:g,children:/*#__PURE__*/_jsxs("div",{className:"np-drawer",children:[/*#__PURE__*/_jsxs("div",{className:classNames("np-drawer-header",{"np-drawer-header--withborder":d}),children:[/*#__PURE__*/_jsx(CloseButton,{onClick:e}),d&&/*#__PURE__*/_jsx("div",{className:"np-drawer-header--title title-3",children:d})]}),b&&/*#__PURE__*/_jsx("div",{className:classNames("np-drawer-content"),children:b}),c&&/*#__PURE__*/_jsx("div",{className:classNames("np-drawer-footer"),children:c})]})})})};Drawer.propTypes={/** The content to appear in the drawer body. */children:PropTypes.node,/** 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,footerContent:null,headerTitle:null,onClose:null,open:!1,position:Position.RIGHT};export default Drawer;
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.footerContent,d=a.headerTitle,e=a.onClose,f=a.open,g=a.position;return logActionRequiredIf("Drawer now expects `onClose`, and will soon make this prop required. Please update your usage to provide it.",!e),/*#__PURE__*/_jsx(Dimmer,{open:f,onClose:e,children:/*#__PURE__*/_jsx(SlidingPanel,{open:f,position:g,children:/*#__PURE__*/_jsxs("div",{className:"np-drawer",children:[/*#__PURE__*/_jsxs("div",{className:classNames("np-drawer-header",{"np-drawer-header--withborder":d}),children:[/*#__PURE__*/_jsx(CloseButton,{onClick:e}),d&&/*#__PURE__*/_jsx("div",{className:"np-drawer-header--title h3",children:d})]}),b&&/*#__PURE__*/_jsx("div",{className:classNames("np-drawer-content"),children:b}),c&&/*#__PURE__*/_jsx("div",{className:classNames("np-drawer-footer"),children:c})]})})})};Drawer.propTypes={/** The content to appear in the drawer body. */children:PropTypes.node,/** 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,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 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;
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 h4",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("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)});}};/**
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("h3"),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;
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classNames from"classnames";import PropTypes from"prop-types";import{useRef}from"react";import{Breakpoint,Layout}from"../common";import CloseButton from"../common/closeButton";import{useClientWidth}from"../common/hooks";import Header from"../header";import Logo from"../logo";import Stepper from"../stepper";import AnimatedLabel from"./animatedLabel";import BackButton from"./backButton";// Size switches on parent container which may or may not have the same size as the window.
2
- 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 containerBreakpoints={"np-flow-navigation--sm":Breakpoint.SMALL,"np-flow-navigation--lg":Breakpoint.LARGE},FlowNavigation=function(a){var b=a.activeStep,c=a.avatar,d=a.logo,e=a.onClose,f=a.onGoBack,g=a.done,h=a.steps,i=useRef(null),j=useClientWidth({ref:i}),k=_slicedToArray(j,1),l=k[0],m=e&&/*#__PURE__*/_jsx(CloseButton,{onClick:e}),n=l<Breakpoint.SMALL,o=g?null:c;return/*#__PURE__*/_jsx("div",{ref:i,className:classNames("np-flow-navigation d-flex align-items-center justify-content-center p-y-3",{"np-flow-navigation--border-bottom":!g}),children:/*#__PURE__*/_jsx(Header,{className:classNames("np-flow-navigation__content p-x-3",{"np-flow-navigation--hidden":!l,"np-flow-navigation--xs-max":n},Object.keys(containerBreakpoints).filter(function(a){return l>=containerBreakpoints[a]})),leftContent:n?function getLeftContentSmall(){return/*#__PURE__*/_jsx(_Fragment,{children:f&&0<b?/*#__PURE__*/_jsx(BackButton,{label:/*#__PURE__*/_jsx(AnimatedLabel,{className:"m-x-1",labels:h.map(function(a){return a.label}),activeLabel:b-1}),onClick:f}):d})}():d,rightContent:/*#__PURE__*/_jsxs(_Fragment,{children:[o,o&&m&&/*#__PURE__*/_jsx("span",{className:"separator"}),m]}),bottomContent:!g&&/*#__PURE__*/_jsx(Stepper,{activeStep:b,steps:h,className:classNames("np-flow-navigation__stepper")}),layout:l<Breakpoint.LARGE?Layout.VERTICAL:Layout.HORIZONTAL})})};FlowNavigation.defaultProps={activeStep:0,avatar:void 0,logo:/*#__PURE__*/_jsx(Logo,{}),onGoBack:void 0,onClose:void 0,done:!1},FlowNavigation.propTypes={activeStep:PropTypes.number,/** An Avatar */avatar:PropTypes.element,logo:PropTypes.node,/** Called when the close button is clicked. If not provided the close button won't show */onClose:PropTypes.func,/** Called when the back button is clicked. If not provided the back button won't show. The back button only shows on small screens */onGoBack:PropTypes.func,done:PropTypes.bool,/** Steps to be displayed in stepper. If you don't need the stepper, please use OverlayHeader instead */steps:PropTypes.arrayOf(PropTypes.shape({label:PropTypes.node.isRequired,onClick:PropTypes.func,hoverLabel:PropTypes.node})).isRequired};export default FlowNavigation;
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classNames from"classnames";import PropTypes from"prop-types";import{useRef}from"react";import{Breakpoint,Layout}from"../common";import CloseButton from"../common/closeButton";import FlowHeader from"../common/flowHeader";import{useClientWidth}from"../common/hooks";import Logo from"../logo";import Stepper from"../stepper";import AnimatedLabel from"./animatedLabel";import BackButton from"./backButton";// Size switches on parent container which may or may not have the same size as the window.
2
+ 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 containerBreakpoints={"np-flow-navigation--sm":Breakpoint.SMALL,"np-flow-navigation--lg":Breakpoint.LARGE},FlowNavigation=function(a){var b=a.activeStep,c=a.avatar,d=a.logo,e=a.onClose,f=a.onGoBack,g=a.done,h=a.steps,i=useRef(null),j=useClientWidth({ref:i}),k=_slicedToArray(j,1),l=k[0],m=e&&/*#__PURE__*/_jsx(CloseButton,{onClick:e}),n=l<Breakpoint.SMALL,o=g?null:c;return/*#__PURE__*/_jsx("div",{ref:i,className:classNames("np-flow-navigation d-flex align-items-center justify-content-center p-y-3",{"np-flow-navigation--border-bottom":!g}),children:/*#__PURE__*/_jsx(FlowHeader,{className:classNames("np-flow-navigation__content p-x-3",{"np-flow-navigation--hidden":!l,"np-flow-navigation--xs-max":n},Object.keys(containerBreakpoints).filter(function(a){return l>=containerBreakpoints[a]})),leftContent:n?function getLeftContentSmall(){return/*#__PURE__*/_jsx(_Fragment,{children:f&&0<b?/*#__PURE__*/_jsx(BackButton,{label:/*#__PURE__*/_jsx(AnimatedLabel,{className:"m-x-1",labels:h.map(function(a){return a.label}),activeLabel:b-1}),onClick:f}):d})}():d,rightContent:/*#__PURE__*/_jsxs(_Fragment,{children:[o,o&&m&&/*#__PURE__*/_jsx("span",{className:"separator"}),m]}),bottomContent:!g&&/*#__PURE__*/_jsx(Stepper,{activeStep:b,steps:h,className:classNames("np-flow-navigation__stepper")}),layout:l<Breakpoint.LARGE?Layout.VERTICAL:Layout.HORIZONTAL})})};FlowNavigation.defaultProps={activeStep:0,avatar:void 0,logo:/*#__PURE__*/_jsx(Logo,{}),onGoBack:void 0,onClose:void 0,done:!1},FlowNavigation.propTypes={activeStep:PropTypes.number,/** An Avatar */avatar:PropTypes.element,logo:PropTypes.node,/** Called when the close button is clicked. If not provided the close button won't show */onClose:PropTypes.func,/** Called when the back button is clicked. If not provided the back button won't show. The back button only shows on small screens */onGoBack:PropTypes.func,done:PropTypes.bool,/** Steps to be displayed in stepper. If you don't need the stepper, please use OverlayHeader instead */steps:PropTypes.arrayOf(PropTypes.shape({label:PropTypes.node.isRequired,onClick:PropTypes.func,hoverLabel:PropTypes.node})).isRequired};export default FlowNavigation;
@@ -1 +1,5 @@
1
- import classNames from"classnames";import PropTypes from"prop-types";import{forwardRef}from"react";import{Layout}from"../common";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var Header=/*#__PURE__*/forwardRef(function(a,b){var c=a.bottomContent,d=a.className,e=a.layout,f=a.leftContent,g=a.rightContent,h=e===Layout.VERTICAL;return/*#__PURE__*/_jsxs("div",{ref:b,className:classNames("np-header","d-flex","flex-wrap",d),children:[/*#__PURE__*/_jsx("div",{className:classNames("align-items-center","np-header__left","d-flex",{"flex__item--8":h}),children:f}),/*#__PURE__*/_jsx("div",{className:classNames("align-items-center","d-flex","np-header__right","justify-content-end",{"flex__item--4 ":h,"order-2":!h}),children:g}),/*#__PURE__*/_jsx("div",{className:classNames("align-items-center","d-flex","justify-content-center",{"flex__item--12":h,"order-1 flex-grow-1":!h}),children:c})]})});Header.defaultProps={bottomContent:void 0,className:void 0,layout:Layout.HORIZONTAL,leftContent:void 0,rightContent:void 0},Header.propTypes={bottomContent:PropTypes.node,className:PropTypes.string,layout:PropTypes.oneOf(["HORIZONTAL","VERTICAL"]),leftContent:PropTypes.node,rightContent:PropTypes.node};export default Header;
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 classNames from"classnames";import{Link}from"..";import Button from"../button";import{Priority}from"../common";import{jsx as _jsx}from"react/jsx-runtime";import{jsxs as _jsxs}from"react/jsx-runtime";var HeaderAction=function(a){var b=a.action,c={"aria-label":b["aria-label"],className:"np-header__action"};return"href"in b?/*#__PURE__*/_jsx(Link,_objectSpread(_objectSpread({href:b.href,target:b.target},c),{},{children:b.text})):/*#__PURE__*/_jsx(Button,_objectSpread(_objectSpread({priority:Priority.TERTIARY,onClick:b.onClick},c),{},{children:b.text}))};/**
2
+ *
3
+ * Neptune Web: https://transferwise.github.io/neptune-web/components/content/Header
4
+ *
5
+ */export var Header=function(a){var b=a.action,c=a.as,d=void 0===c?"span":c,e=a.title,f=a.className;return/*#__PURE__*/_jsxs("div",{className:classNames("np-header",f),children:[/*#__PURE__*/_jsx(d,{className:"h5 np-header__title",children:e}),b&&/*#__PURE__*/_jsx(HeaderAction,{action:b})]})};export default Header;
@@ -0,0 +1 @@
1
+ import{render,screen,userEvent}from"../test-utils";import Header from".";import{jsx as _jsx}from"react/jsx-runtime";describe("Header",function(){it("can set header title",function(){render(/*#__PURE__*/_jsx(Header,{title:"Header title"})),expect(screen.getByText("Header title")).toBeInTheDocument()}),it("can trigger header action",function(){var a=jest.fn();render(/*#__PURE__*/_jsx(Header,{title:"Header title",action:{text:"Click me!",onClick:a}})),userEvent.click(screen.getByRole("button",{name:"Click me!"})),expect(a).toHaveBeenCalledTimes(1)}),it("can set aria-label property for header action",function(){var a=jest.fn();render(/*#__PURE__*/_jsx(Header,{title:"Header title",action:{"aria-label":"Magic",text:"Click me!",onClick:a}})),userEvent.click(screen.getByRole("button",{name:"Magic"})),expect(a).toHaveBeenCalledTimes(1)}),it("renders header action as a link when href is provided",function(){render(/*#__PURE__*/_jsx(Header,{title:"Header title",action:{"aria-label":"Click me!",text:"I am a link",href:"https://wise.com"}}));var a=screen.getByRole("link",{name:"Click me!"});expect(a).toHaveAttribute("href","https://wise.com")}),it("can render header with specific heading tag",function(){render(/*#__PURE__*/_jsx(Header,{as:"h3",title:"Header title"})),expect(screen.getByRole("heading",{name:"Header title",level:3})).toBeInTheDocument()})});
@@ -0,0 +1 @@
1
+ import Header from"./Header";import{jsx as _jsx}from"react/jsx-runtime";export default{component:Header,title:"Header"};export var Basic=function(){return/*#__PURE__*/_jsx(Header,{as:"h3",title:"Header title"})};export var WithAction=function(){return/*#__PURE__*/_jsx(Header,{title:"Header title",action:{"aria-label":"Magic",text:"Click me!",onClick:function onClick(){return alert("Action!")}}})};export var WithActionAsLink=function(){return/*#__PURE__*/_jsx(Header,{title:"Header title",action:{text:"This is a link",href:"https://wise.com",target:"_blank"}})};
@@ -2,12 +2,12 @@
2
2
  * Types
3
3
  */ /**
4
4
  * Components
5
- */export{default as Provider,DirectionProvider}from"./provider";export{default as Badge}from"./badge";export{default as Checkbox}from"./checkbox";export{default as CheckboxButton}from"./checkboxButton";export{default as Chips,Chip}from"./chips";export{default as Loader}from"./loader";export{default as Radio}from"./radio";export{default as Select}from"./select";export{default as MoneyInput}from"./moneyInput";export{default as Tooltip}from"./tooltip";export{default as Stepper}from"./stepper";export{default as FlowNavigation}from"./flowNavigation";export{default as Popover}from"./popover";export{default as Money}from"./money";export{default as Modal}from"./modal";export{default as RadioOption}from"./radioOption";export{default as CheckboxOption}from"./checkboxOption";export{default as NavigationOption}from"./navigationOption";export{default as NavigationOptionsList}from"./navigationOptionsList";export{default as DateLookup}from"./dateLookup";export{default as PhoneNumberInput}from"./phoneNumberInput";export{default as DateInput}from"./dateInput";export{default as InstructionsList}from"./instructionsList";export{default as ProcessIndicator}from"./processIndicator";export{default as Upload}from"./upload";export{default as DefinitionList}from"./definitionList";export{default as DynamicFieldDefinitionList}from"./dynamicFieldDefinitionList";export{default as Emphasis}from"./emphasis";export{default as Avatar}from"./avatar";export{default as Button}from"./button";export{default as CircularButton}from"./circularButton";export{default as RadioGroup}from"./radioGroup";export{default as Alert}from"./alert";export{default as InputWithDisplayFormat}from"./inputWithDisplayFormat";export{default as TextareaWithDisplayFormat}from"./textareaWithDisplayFormat";export{default as Chevron}from"./chevron";export{default as Accordion}from"./accordion";export{default as Dimmer}from"./dimmer";export{default as SlidingPanel}from"./slidingPanel";export{default as Drawer}from"./drawer";export{default as Sticky}from"./sticky";export{default as Typeahead}from"./typeahead";export{default as SnackbarPortal}from"./snackbar/Snackbar";export{default as SnackbarProvider}from"./snackbar/SnackbarProvider";export{SnackbarConsumer,SnackbarContext}from"./snackbar/SnackbarContext";export{default as Tabs}from"./tabs";export{default as OverlayHeader}from"./overlayHeader";export{default as Image}from"./image";export{default as Markdown}from"./markdown";export{default as Card}from"./card";export{default as Summary}from"./summary";export{default as Switch}from"./switch";export{default as SwitchOption}from"./switchOption";export{default as Decision}from"./decision";export{default as Nudge}from"./nudge";export{default as InlineAlert}from"./inlineAlert";export{default as AvatarWrapper}from"./avatarWrapper";export{default as Info}from"./info";export{default as Logo}from"./logo";export{default as BottomSheet}from"./common/bottomSheet";export{default as ActionOption}from"./actionOption";export{default as Link}from"./link";export{default as UploadInput}from"./uploadInput";/**
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 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";/**
6
6
  * Hooks
7
7
  */export{default as useSnackbar}from"./snackbar/useSnackbar";/**
8
8
  * Enums
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";/**
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";/**
10
10
  * Utils
11
- */export{SUPPORTED_LANGUAGES,RTL_LANGUAGES,DEFAULT_LANG,DEFAULT_LOCALE,adjustLocale,getLangFromLocale,getCountryFromLocale,isServerSide,isBrowser}from"./common";/**
11
+ */export{SUPPORTED_LANGUAGES,DEFAULT_LANG,DEFAULT_LOCALE,adjustLocale,getLangFromLocale,getCountryFromLocale}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{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
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import classNames from"classnames";import PropTypes from"prop-types";import{Breakpoint}from"../common";import{isServerSideRendering}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:isServerSideRendering()?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 _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}/* eslint-disable jsx-a11y/control-has-associated-label */import classNames from"classnames";import PropTypes from"prop-types";import requiredIf from"react-required-if";import Chevron from"../chevron";import{Position}from"../common";import Option from"../common/Option";import{jsx as _jsx}from"react/jsx-runtime";var NavigationOption=function(a){var b=a.as,c=a.media,d=a.href,e=a.target,f=a.title,g=a.content,h=a.onClick,i=a.complex,j=a.disabled,k=a.showMediaAtAllSizes,l=a.showMediaCircle,m=a.className,n={as:b,media:c,href:d,target:e,title:f,content:g,complex:i,disabled:j,showMediaAtAllSizes:k,showMediaCircle:l,className:classNames("tw-navigation-option",m)};return d&&(n.as="a"),/*#__PURE__*/_jsx(Option,_objectSpread(_objectSpread({},n),{},{button:/*#__PURE__*/_jsx(Chevron,{orientation:Position.RIGHT,disabled:j,className:"d-block"}),onClick:function onClick(a){j||h(a)}}))};NavigationOption.propTypes={as:PropTypes.string,media:PropTypes.node,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"]),complex:PropTypes.bool,disabled:PropTypes.bool,showMediaAtAllSizes:PropTypes.bool,showMediaCircle:PropTypes.bool,className:PropTypes.string},NavigationOption.defaultProps={as:"button",media:null,content:null,complex:!1,onClick:null,href:void 0,target:void 0,disabled:!1,showMediaAtAllSizes:!1,showMediaCircle:!0,className:null};export default NavigationOption;
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}/* eslint-disable jsx-a11y/control-has-associated-label */import classNames from"classnames";import PropTypes from"prop-types";import requiredIf from"react-required-if";import Chevron from"../chevron";import{Position}from"../common";import Option from"../common/Option";import{jsx as _jsx}from"react/jsx-runtime";var NavigationOption=function(a){var b=a.as,c=a.media,d=a.href,e=a.target,f=a.title,g=a.content,h=a.onClick,i=a.complex,j=a.disabled,k=a.showMediaAtAllSizes,l=a.showMediaCircle,m=a.className,n={as:b,media:c,href:d,target:e,title:f,content:g,complex:i,disabled:j,showMediaAtAllSizes:k,showMediaCircle:l,className:classNames("np-navigation-option",m)};return d&&(n.as="a"),/*#__PURE__*/_jsx(Option,_objectSpread(_objectSpread({},n),{},{button:/*#__PURE__*/_jsx(Chevron,{orientation:Position.RIGHT,disabled:j,className:"d-block"}),onClick:function onClick(a){return j?void a.preventDefault():void h(a)}}))};NavigationOption.propTypes={as:PropTypes.string,media:PropTypes.node,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"]),complex:PropTypes.bool,disabled:PropTypes.bool,showMediaAtAllSizes:PropTypes.bool,showMediaCircle:PropTypes.bool,className:PropTypes.string},NavigationOption.defaultProps={as:"button",media:null,content:null,complex:!1,onClick:null,href:void 0,target:void 0,disabled:!1,showMediaAtAllSizes:!1,showMediaCircle:!0,className:null};export default NavigationOption;
@@ -1 +1 @@
1
- import PropTypes from"prop-types";import{Children}from"react";import{jsx as _jsx}from"react/jsx-runtime";var NavigationOptionList=function(a){var b=a.children;return/*#__PURE__*/_jsx("ul",{className:"tw-navigation-options-list",children:Children.map(b,function(a){return/*#__PURE__*/_jsx("li",{className:"tw-navigation-options-list__item",children:a},a.key)})})};NavigationOptionList.propTypes={children:PropTypes.node.isRequired};export default NavigationOptionList;
1
+ import PropTypes from"prop-types";import{Children}from"react";import{jsx as _jsx}from"react/jsx-runtime";var NavigationOptionList=function(a){var b=a.children;return/*#__PURE__*/_jsx("ul",{className:"np-navigation-options-list",children:Children.map(b,function(a){return/*#__PURE__*/_jsx("li",{className:"np-navigation-options-list__item",children:a},a.key)})})};NavigationOptionList.propTypes={children:PropTypes.node.isRequired};export default NavigationOptionList;
@@ -1 +1 @@
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:"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:"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
+ import{Cross as CrossIcon}from"@transferwise/icons";import classNames from"classnames";import PropTypes from"prop-types";import{useDirection}from"../common/hooks";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,j=useDirection(),k=j.isRTL;return/*#__PURE__*/_jsxs("div",{className:classNames("tw-nudge media",i),id:h,children:[/*#__PURE__*/_jsx("div",{className:classNames({"media-left":!k,"media-right":k}),children:b}),/*#__PURE__*/_jsxs("div",{className:"media-body",children:[/*#__PURE__*/_jsx("div",{className:"tw-nudge__title media-heading h5",children:c}),/*#__PURE__*/_jsx("a",{href:e,className:"tw-nudge__link",onClick:f,children:d})]}),/*#__PURE__*/_jsx("div",{className:classNames("align-self-start",{"media-right":!k,"media-left":k}),children:/*#__PURE__*/_jsx("button",{type:"button",className:"close","aria-label":"close",onClick:g,children:/*#__PURE__*/_jsx(CrossIcon,{})})})]})};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 PropTypes from"prop-types";import CloseButton from"../common/closeButton";import Header from"../header";import Logo from"../logo";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 OverlayHeader=function(a){var b=a.avatar,c=a.onClose,d=a.logo,e=c&&/*#__PURE__*/_jsx(CloseButton,{onClick:c});return/*#__PURE__*/_jsx(Header,{className:"np-overlay-header p-a-3",leftContent:d,rightContent:/*#__PURE__*/_jsxs(_Fragment,{children:[b,b&&e&&/*#__PURE__*/_jsx("span",{className:"separator"}),e]})})};OverlayHeader.defaultProps={avatar:null,logo:/*#__PURE__*/_jsx(Logo,{}),onClose:null},OverlayHeader.propTypes={/** An Avatar */avatar:PropTypes.element,logo:PropTypes.node,/** Function called when the close is clicked */onClose:PropTypes.func};export default OverlayHeader;
1
+ import PropTypes from"prop-types";import CloseButton from"../common/closeButton";import FlowHeader from"../common/flowHeader";import Logo from"../logo";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 OverlayHeader=function(a){var b=a.avatar,c=a.onClose,d=a.logo,e=c&&/*#__PURE__*/_jsx(CloseButton,{onClick:c});return/*#__PURE__*/_jsx(FlowHeader,{className:"np-overlay-header p-a-3",leftContent:d,rightContent:/*#__PURE__*/_jsxs(_Fragment,{children:[b,b&&e&&/*#__PURE__*/_jsx("span",{className:"separator"}),e]})})};OverlayHeader.defaultProps={avatar:null,logo:/*#__PURE__*/_jsx(Logo,{}),onClose:null},OverlayHeader.propTypes={/** An Avatar */avatar:PropTypes.element,logo:PropTypes.node,/** Function called when the close is clicked */onClose:PropTypes.func};export default OverlayHeader;
@@ -1 +1 @@
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=function(){var b=a.initialValue,c=b?cleanNumber(b):null;return c&&isValidPhoneNumber(c)?c:null},n=useState(m()),o=_slicedToArray(n,2),p=o[0],q=o[1],r=useState(m()),s=_slicedToArray(r,2),t=s[0],u=s[1],v=useState(""),w=_slicedToArray(v,2),x=w[0],y=w[1],z=groupCountriesByPrefix(sortArrayByProperty(countries,"iso3")),A=groupCountriesByPrefix(sortArrayByProperty(countries,"phone")),B=function(a){var b=setDefaultPrefix(l,j),c="";if(a){var d=explodeNumberModel(a);b=d.prefix,c=d.suffix}return{prefix:b,suffix:c}},C=function getSelectOptions(){var a=filterOptionsForQuery(isStringNumeric(x)?A:z,x);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}})}();useEffect(function(){var a=isValidPhoneNumber(p)?cleanNumber(p):null;a!==t&&(b(a),u({newbroadcastValue:a}))},[p]);var D=B(p),E=D.prefix,F=D.suffix;return/*#__PURE__*/_jsxs("div",{className:"tw-telephone",children:[/*#__PURE__*/_jsx("div",{className:"tw-telephone__country-select",children:/*#__PURE__*/_jsx(Select,{options:C,selected:{value:E,label:E},placeholder:"Select an option...",searchPlaceholder:c,searchValue:x,required:e,disabled:d,size:f,onChange:function handleChangeSelect(a){var b=B(p),c=b.suffix,d=a.value;y(""),q(d+c)},onSearchChange:function onSearchChange(a){return y(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:F,type:"text",className:"form-control",disabled:d,required:e,placeholder:g,onChange:function handleInputChange(a){var b=a.target.value;if(ALLOWED_PHONE_CHARS.test(b)){var c=B(p),d=c.prefix;q(d+b)}},onPaste:function handlePaste(a){if(a.nativeEvent.clipboardData){var b=(a.nativeEvent.clipboardData.getData("text/plain")||"").replace(/(\s|-)+/g,""),c=C.find(function(a){var c=a.value;return new RegExp("^\\".concat(c)).test(b)});c&&ALLOWED_PHONE_CHARS.test(b.replace(c.value,""))&&q(b)}},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
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{isArray}from"@transferwise/neptune-validation";import classNames from"classnames";import PropTypes from"prop-types";import{useState,useEffect}from"react";import{useIntl}from"react-intl";import{Size}from"../common";import{useDirection}from"../common/hooks";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=useDirection(),n=m.isRTL,o=function(){var b=a.initialValue,c=b?cleanNumber(b):null;return c&&isValidPhoneNumber(c)?c:null},p=useState(o()),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useState(o()),u=_slicedToArray(t,2),v=u[0],w=u[1],x=useState(""),y=_slicedToArray(x,2),z=y[0],A=y[1],B=groupCountriesByPrefix(sortArrayByProperty(countries,"iso3")),C=groupCountriesByPrefix(sortArrayByProperty(countries,"phone")),D=function(a){var b=setDefaultPrefix(l,j),c="";if(a){var d=explodeNumberModel(a);b=d.prefix,c=d.suffix}return{prefix:b,suffix:c}},E=function getSelectOptions(){var a=filterOptionsForQuery(isStringNumeric(z)?C:B,z);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}})}();useEffect(function(){var a=isValidPhoneNumber(r)?cleanNumber(r):null;a!==v&&(b(a),w({newbroadcastValue:a}))},[r]);var F=D(r),G=F.prefix,H=F.suffix;return/*#__PURE__*/_jsxs("div",{className:classNames("tw-telephone",{"tw-telephone--rtl":n}),children:[/*#__PURE__*/_jsx("div",{className:"tw-telephone__country-select",children:/*#__PURE__*/_jsx(Select,{options:E,selected:{value:G,label:G},placeholder:"Select an option...",searchPlaceholder:c,searchValue:z,required:e,disabled:d,size:f,onChange:function handleChangeSelect(a){var b=D(r),c=b.suffix,d=a.value;A(""),s(d+c)},onSearchChange:function onSearchChange(a){return A(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:H,type:"text",className:"form-control",disabled:d,required:e,placeholder:g,onChange:function handleInputChange(a){var b=a.target.value;if(ALLOWED_PHONE_CHARS.test(b)){var c=D(r),d=c.prefix;s(d+b)}},onPaste:function handlePaste(a){if(a.nativeEvent.clipboardData){var b=(a.nativeEvent.clipboardData.getData("text/plain")||"").replace(/(\s|-)+/g,""),c=E.find(function(a){var c=a.value;return new RegExp("^\\".concat(c)).test(b)});c&&ALLOWED_PHONE_CHARS.test(b.replace(c.value,""))&&s(b)}},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,RTL_LANGUAGES,adjustLocale,Direction}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);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};var i=RTL_LANGUAGES.includes(b.locale)?Direction.RTL:Direction.LTR;return/*#__PURE__*/_jsx(DirectionProvider,{direction:i,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;
1
+ import PropTypes from"prop-types";import{IntlProvider}from"react-intl";import{DEFAULT_LOCALE,adjustLocale}from"../common/locale";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,{locale:b.locale,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;
@@ -1 +1 @@
1
- import{createContext}from"react";import{isBrowser,Direction}from"../../common";import{jsx as _jsx}from"react/jsx-runtime";var DEFAULT_DIRECTION=Direction.LTR;export var DirectionContext=/*#__PURE__*/createContext(DEFAULT_DIRECTION);export var DirectionProvider=function(a){var b=a.direction,c=void 0===b?DEFAULT_DIRECTION:b,d=a.children,e=void 0===d?void 0:d;return isBrowser()&&(document.documentElement.dir=c),/*#__PURE__*/_jsx(DirectionContext.Provider,{value:c,children:e})};
1
+ import PropTypes from"prop-types";import{createContext}from"react";import{DEFAULT_LOCALE,SUPPORTED_RTL}from"../../common/locale";import{jsx as _jsx}from"react/jsx-runtime";export var DirectionContext=/*#__PURE__*/createContext("ltr");export var DirectionProvider=function(a){var b=a.locale,c=a.children;return/*#__PURE__*/_jsx(DirectionContext.Provider,{value:SUPPORTED_RTL.includes(b)?"rtl":"ltr",children:c})};DirectionProvider.propTypes={children:PropTypes.node,locale:PropTypes.string},DirectionProvider.defaultProps={children:null,locale:DEFAULT_LOCALE};
@@ -1 +1 @@
1
- export{DirectionProvider}from"./direction/DirectionProvider";export{default}from"./Provider";
1
+ export{default}from"./Provider";
@@ -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{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
+ 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{useDirection}from"../common/hooks";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),h=useDirection(),i=h.isRTL;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:classNames("np-radio-button",{"p-r-2":!i,"p-l-2":i}),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:classNames("np-radio__avatar",{"m-l-auto":!i,"m-r-auto":i}),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;
@@ -0,0 +1,5 @@
1
+ import classNames from"classnames";import{jsx as _jsx}from"react/jsx-runtime";/**
2
+ *
3
+ * Neptune Web: https://transferwise.github.io/neptune-web/components/content/Section
4
+ *
5
+ */var Section=function(a){var b=a.children,c=a.className;return/*#__PURE__*/_jsx("div",{className:classNames("np-section",c),children:b})};export default Section;
@@ -0,0 +1 @@
1
+ import{render,screen}from"../test-utils";import Section from".";import{jsx as _jsx}from"react/jsx-runtime";describe("Section",function(){it("can render children",function(){render(/*#__PURE__*/_jsx(Section,{children:"Children here"})),expect(screen.getByText("Children here")).toBeInTheDocument()})});