@occmundial/occ-atomic 2.0.0-beta.1 → 2.0.0-beta.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (289) hide show
  1. package/.prettierrc +6 -0
  2. package/.whitesource +12 -0
  3. package/CHANGELOG.md +1361 -584
  4. package/CONTRIBUTING.md +24 -0
  5. package/README.md +21 -21
  6. package/build/Autocomplete/Autocomplete.js +217 -117
  7. package/build/Autocomplete/Autocomplete.test.js +90 -74
  8. package/build/Autocomplete/__snapshots__/Autocomplete.test.js.snap +20 -0
  9. package/build/Autocomplete/index.js +6 -1
  10. package/build/Autocomplete/styles.js +2 -5
  11. package/build/Avatar/Avatar.js +66 -28
  12. package/build/Avatar/Avatar.test.js +36 -13
  13. package/build/Avatar/AvatarContent/AvatarContent.js +11 -14
  14. package/build/Avatar/AvatarContent/AvatarContent.test.js +55 -50
  15. package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +41 -0
  16. package/build/Avatar/AvatarContent/index.js +6 -1
  17. package/build/Avatar/AvatarContent/styles.js +12 -11
  18. package/build/Avatar/__snapshots__/Avatar.test.js.snap +17 -0
  19. package/build/Avatar/index.js +22 -1
  20. package/build/Avatar/styles.js +2 -6
  21. package/build/Banner/Banner.js +76 -0
  22. package/build/Banner/Banner.test.js +40 -0
  23. package/build/Banner/__snapshots__/Banner.test.js.snap +33 -0
  24. package/build/Banner/index.js +18 -0
  25. package/build/Banner/styles.js +41 -0
  26. package/build/Button/Button.js +134 -61
  27. package/build/Button/Button.test.js +69 -20
  28. package/build/Button/Loading.js +82 -0
  29. package/build/Button/__snapshots__/Button.test.js.snap +322 -0
  30. package/build/Button/index.js +22 -1
  31. package/build/Button/styles.js +187 -178
  32. package/build/ButtonAlign/ButtonAlign.js +20 -16
  33. package/build/ButtonAlign/ButtonAlign.test.js +3 -3
  34. package/build/ButtonAlign/__snapshots__/ButtonAlign.test.js.snap +19 -0
  35. package/build/Card/Card.js +4 -5
  36. package/build/Card/Card.test.js +40 -35
  37. package/build/Card/__snapshots__/Card.test.js.snap +46 -0
  38. package/build/Card/index.js +22 -1
  39. package/build/Card/styles.js +2 -4
  40. package/build/Check/Check.js +18 -14
  41. package/build/Check/Check.test.js +7 -7
  42. package/build/Check/__snapshots__/Check.test.js.snap +92 -0
  43. package/build/Check/styles.js +2 -2
  44. package/build/Checkbox/Checkbox.js +106 -60
  45. package/build/Checkbox/Checkbox.test.js +58 -42
  46. package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +92 -0
  47. package/build/Checkbox/index.js +4 -2
  48. package/build/Checkbox/styles.js +2 -5
  49. package/build/Column/Column.js +1 -1
  50. package/build/Column/Column.test.js +3 -3
  51. package/build/Column/__snapshots__/Column.test.js.snap +647 -0
  52. package/build/Container/Container.js +1 -1
  53. package/build/Container/Container.test.js +4 -4
  54. package/build/Container/__snapshots__/Container.test.js.snap +43 -0
  55. package/build/Droplist/Droplist.js +474 -227
  56. package/build/Droplist/Droplist.test.js +111 -87
  57. package/build/Droplist/__snapshots__/Droplist.test.js.snap +65 -0
  58. package/build/Droplist/functions.js +9 -2
  59. package/build/Droplist/index.js +22 -1
  60. package/build/Droplist/styles.js +41 -15
  61. package/build/Flexbox/Flexbox.js +64 -29
  62. package/build/Flexbox/Flexbox.test.js +32 -14
  63. package/build/Flexbox/__snapshots__/Flexbox.test.js.snap +106 -0
  64. package/build/Flexbox/index.js +22 -1
  65. package/build/Flexbox/styles.js +2 -6
  66. package/build/Footer/Footer.js +42 -30
  67. package/build/Footer/Footer.test.js +2 -2
  68. package/build/Footer/List/List.js +32 -25
  69. package/build/Footer/__snapshots__/Footer.test.js.snap +90 -0
  70. package/build/Footer/styles.js +5 -0
  71. package/build/Grid/Col/Col.js +15 -22
  72. package/build/Grid/Col/Col.test.js +33 -13
  73. package/build/Grid/Col/__snapshots__/Col.test.js.snap +963 -0
  74. package/build/Grid/Col/index.js +22 -1
  75. package/build/Grid/Col/styles.js +97 -116
  76. package/build/Grid/Grid.js +18 -12
  77. package/build/Grid/Row/Row.js +1 -1
  78. package/build/Grid/Row/Row.test.js +2 -2
  79. package/build/Grid/Row/__snapshots__/Row.test.js.snap +22 -0
  80. package/build/Grid/Row/index.js +4 -2
  81. package/build/Grid/index.js +4 -2
  82. package/build/Header/Header.js +35 -31
  83. package/build/Header/Header.test.js +8 -8
  84. package/build/Header/Menu/Menu.js +23 -19
  85. package/build/Header/Menu/Menu.test.js +7 -7
  86. package/build/Header/Menu/__snapshots__/Menu.test.js.snap +113 -0
  87. package/build/Header/Nav/Nav.js +19 -15
  88. package/build/Header/Nav/Nav.test.js +5 -5
  89. package/build/Header/Nav/__snapshots__/Nav.test.js.snap +101 -0
  90. package/build/Header/__snapshots__/Header.test.js.snap +79 -0
  91. package/build/Hidden/Hidden.js +17 -13
  92. package/build/Hidden/Hidden.test.js +6 -6
  93. package/build/Hidden/__snapshots__/Hidden.test.js.snap +3 -0
  94. package/build/Hidden/index.js +4 -2
  95. package/build/Icon/Icon.js +90 -15
  96. package/build/Icon/Icon.test.js +49 -56
  97. package/build/Icon/__snapshots__/Icon.test.js.snap +32 -0
  98. package/build/Icon/index.js +22 -1
  99. package/build/Icon/styles.js +16 -9
  100. package/build/Input/Input.js +29 -25
  101. package/build/Input/Input.test.js +21 -21
  102. package/build/Input/__snapshots__/Input.test.js.snap +194 -0
  103. package/build/Input/index.js +17 -13
  104. package/build/Label/Label.js +17 -13
  105. package/build/Label/Label.test.js +6 -6
  106. package/build/Label/__snapshots__/Label.test.js.snap +82 -0
  107. package/build/LayerApp/LayerApp.js +22 -18
  108. package/build/LayerApp/LayerApp.test.js +4 -4
  109. package/build/LayerApp/__snapshots__/LayerApp.test.js.snap +37 -0
  110. package/build/Modal/Modal.js +55 -37
  111. package/build/Modal/Modal.test.js +15 -12
  112. package/build/Modal/__snapshots__/Modal.test.js.snap +208 -0
  113. package/build/Modal/index.js +19 -13
  114. package/build/Modal/styles.js +43 -31
  115. package/build/NavAside/NavAside.js +24 -19
  116. package/build/NavAside/NavAside.test.js +15 -13
  117. package/build/NavAside/__snapshots__/NavAside.test.js.snap +116 -0
  118. package/build/NavAside/index.js +16 -12
  119. package/build/NavIcon/NavIcon.js +41 -20
  120. package/build/NavIcon/styles.js +6 -16
  121. package/build/NavItem/NavItem.js +29 -16
  122. package/build/NavTab/NavTab.js +38 -29
  123. package/build/NavTop/NavTop.js +20 -16
  124. package/build/OrderBy/OrderBy.js +23 -19
  125. package/build/OrderBy/OrderBy.test.js +6 -6
  126. package/build/OrderBy/__snapshots__/OrderBy.test.js.snap +54 -0
  127. package/build/Pager/Break/Break.js +1 -1
  128. package/build/Pager/Break/Break.test.js +4 -4
  129. package/build/Pager/Break/__snapshots__/Break.test.js.snap +13 -0
  130. package/build/Pager/Page/Page.js +1 -1
  131. package/build/Pager/Page/Page.test.js +5 -5
  132. package/build/Pager/Page/__snapshots__/Page.test.js.snap +27 -0
  133. package/build/Pager/Pager.js +21 -17
  134. package/build/Pager/Pager.test.js +12 -12
  135. package/build/Pager/__snapshots__/Pager.test.js.snap +50 -0
  136. package/build/Pager/styles.js +1 -1
  137. package/build/Pill/Choice/Choice.js +23 -18
  138. package/build/Pill/Choice/styles.js +8 -3
  139. package/build/Pill/Group/Group.js +7 -4
  140. package/build/Pill/Group/styles.js +7 -4
  141. package/build/Pill/Pill.js +36 -23
  142. package/build/Pill/Pill.test.js +12 -12
  143. package/build/Pill/Stack/Stack.js +10 -7
  144. package/build/Pill/Stack/styles.js +4 -1
  145. package/build/Pill/__snapshots__/Pill.test.js.snap +62 -0
  146. package/build/Pill/styles.js +6 -2
  147. package/build/Placeholder/Placeholder.js +2 -2
  148. package/build/Placeholder/Placeholder.test.js +3 -3
  149. package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +130 -0
  150. package/build/Placeholder/styles.js +23 -16
  151. package/build/Provider/Provider.js +89 -0
  152. package/build/Provider/index.js +13 -0
  153. package/build/Provider/useAtomic.js +17 -0
  154. package/build/{hooks → Provider}/usePrevious.js +1 -1
  155. package/build/Radio/Radio.js +29 -15
  156. package/build/Radio/Radio.test.js +6 -6
  157. package/build/Radio/__snapshots__/Radio.test.js.snap +83 -0
  158. package/build/RangeCounter/RangeCounter.js +17 -13
  159. package/build/RangeCounter/RangeCounter.test.js +3 -3
  160. package/build/RangeCounter/__snapshots__/RangeCounter.test.js.snap +20 -0
  161. package/build/RangeCounter/styles.js +1 -1
  162. package/build/Row/Row.js +1 -1
  163. package/build/Row/Row.test.js +2 -2
  164. package/build/Row/__snapshots__/Row.test.js.snap +22 -0
  165. package/build/SightLogo/SightLogo.js +2 -2
  166. package/build/SightLogo/SightLogo.test.js +2 -2
  167. package/build/SightLogo/__snapshots__/SightLogo.test.js.snap +24 -0
  168. package/build/SlideDown/SlideDown.js +41 -27
  169. package/build/SlideDown/SlideDown.test.js +22 -16
  170. package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +42 -0
  171. package/build/SlideToggle/SlideToggle.js +31 -17
  172. package/build/SlideToggle/SlideToggle.test.js +7 -7
  173. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +62 -0
  174. package/build/SubHeader/SubHeader.js +20 -16
  175. package/build/SubHeader/SubHeader.test.js +7 -7
  176. package/build/SubHeader/__snapshots__/SubHeader.test.js.snap +50 -0
  177. package/build/SwitchGroup/SwitchGroup.js +17 -13
  178. package/build/SwitchGroup/SwitchGroup.test.js +6 -6
  179. package/build/SwitchGroup/__snapshots__/SwitchGroup.test.js.snap +52 -0
  180. package/build/SwitchGroup/styles.js +1 -1
  181. package/build/Tag/Tag.js +27 -10
  182. package/build/Tag/Tag.test.js +8 -8
  183. package/build/Tag/__snapshots__/Tag.test.js.snap +137 -0
  184. package/build/Tag/styles.js +72 -27
  185. package/build/Text/Text.js +454 -122
  186. package/build/Text/Text.test.js +13 -13
  187. package/build/Text/__snapshots__/Text.test.js.snap +216 -0
  188. package/build/Text/styles.js +171 -78
  189. package/build/TextField/TextField.js +455 -302
  190. package/build/TextField/TextField.test.js +138 -146
  191. package/build/TextField/__snapshots__/TextField.test.js.snap +258 -0
  192. package/build/TextField/index.js +6 -1
  193. package/build/TextField/styles.js +99 -33
  194. package/build/Tip/Tip.js +91 -27
  195. package/build/Tip/Tip.test.js +8 -8
  196. package/build/Tip/__snapshots__/Tip.test.js.snap +49 -0
  197. package/build/Tip/styles.js +32 -12
  198. package/build/Title/Title.js +16 -12
  199. package/build/Title/Title.test.js +3 -3
  200. package/build/Title/__snapshots__/Title.test.js.snap +31 -0
  201. package/build/Toaster/Toast/Toast.js +13 -13
  202. package/build/Toaster/Toaster.js +27 -23
  203. package/build/Toaster/Toaster.test.js +6 -6
  204. package/build/Toaster/__snapshots__/Toaster.test.js.snap +5 -0
  205. package/build/Tooltip/Tooltip.js +210 -0
  206. package/build/Tooltip/Tooltip.test.js +35 -0
  207. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +33 -0
  208. package/build/Tooltip/hooks.js +132 -0
  209. package/build/Tooltip/index.js +18 -0
  210. package/build/Tooltip/styles.js +44 -0
  211. package/build/TourTip/TourTip.js +15 -11
  212. package/build/TourTip/TourTip.test.js +2 -2
  213. package/build/TourTip/__snapshots__/TourTip.test.js.snap +74 -0
  214. package/build/Visible/Visible.js +16 -12
  215. package/build/Visible/Visible.test.js +4 -4
  216. package/build/Visible/__snapshots__/Visible.test.js.snap +3 -0
  217. package/build/WindowSize/WindowSize.js +17 -11
  218. package/build/WindowSize/WindowSize.test.js +4 -4
  219. package/build/WindowSize/__snapshots__/WindowSize.test.js.snap +3 -0
  220. package/build/index.js +82 -8
  221. package/build/plugin/babel.js +61 -0
  222. package/build/subatomic/colors.js +8 -3
  223. package/build/subatomic/fonts.js +1 -1
  224. package/build/subatomic/icons/attachment.js +23 -0
  225. package/build/subatomic/icons/attachmentSolid.js +23 -0
  226. package/build/subatomic/icons/avatarSmile.js +23 -0
  227. package/build/subatomic/icons/book.js +23 -0
  228. package/build/subatomic/icons/cash.js +23 -0
  229. package/build/subatomic/icons/copy.js +23 -0
  230. package/build/subatomic/icons/copySolid.js +23 -0
  231. package/build/subatomic/icons/crossSolid.js +23 -0
  232. package/build/subatomic/icons/dislike.js +1 -1
  233. package/build/subatomic/icons/dislikeSolid.js +23 -0
  234. package/build/subatomic/icons/energy.js +23 -0
  235. package/build/subatomic/icons/energySolid.js +23 -0
  236. package/build/subatomic/icons/eye.js +1 -1
  237. package/build/subatomic/icons/eyeClosed.js +1 -1
  238. package/build/subatomic/icons/eyeClosedSolid.js +23 -0
  239. package/build/subatomic/icons/eyeSolid.js +23 -0
  240. package/build/subatomic/icons/hourGlass.js +23 -0
  241. package/build/subatomic/icons/like.js +1 -1
  242. package/build/subatomic/icons/likeSolid.js +23 -0
  243. package/build/subatomic/icons/location.js +23 -0
  244. package/build/subatomic/icons/locationSolid.js +23 -0
  245. package/build/subatomic/icons/matchJob.js +23 -0
  246. package/build/subatomic/icons/messages.js +1 -1
  247. package/build/subatomic/icons/messagesSolid.js +1 -1
  248. package/build/subatomic/icons/moreOptionsHorizontal.js +23 -0
  249. package/build/subatomic/icons/noMessages.js +23 -0
  250. package/build/subatomic/icons/noMessagesSolid.js +23 -0
  251. package/build/subatomic/icons/occDart.js +25 -8
  252. package/build/subatomic/icons/occHorizontal.js +25 -8
  253. package/build/subatomic/icons/occLogo.js +65 -0
  254. package/build/subatomic/icons/occVertical.js +25 -8
  255. package/build/subatomic/icons/profile.js +23 -0
  256. package/build/subatomic/icons/profileSolid.js +23 -0
  257. package/build/subatomic/icons/profileView.js +23 -0
  258. package/build/subatomic/icons/refresh.js +23 -0
  259. package/build/subatomic/icons/refreshSolid.js +23 -0
  260. package/build/subatomic/icons/sendMessage.js +23 -0
  261. package/build/subatomic/icons/sendMessageSolid.js +23 -0
  262. package/build/subatomic/icons/starsSolid.js +23 -0
  263. package/build/subatomic/icons/suitcase.js +23 -0
  264. package/build/subatomic/icons/suitcaseSolid.js +23 -0
  265. package/build/subatomic/icons/tag.js +1 -1
  266. package/build/subatomic/icons/tagSolid.js +23 -0
  267. package/build/subatomic/icons/trash.js +1 -1
  268. package/build/subatomic/icons/trashSolid.js +1 -1
  269. package/build/subatomic/icons/warning.js +23 -0
  270. package/build/subatomic/icons/warningSolid.js +23 -0
  271. package/build/subatomic/icons/webSite.js +23 -0
  272. package/build/subatomic/icons/webSiteSolid.js +23 -0
  273. package/build/subatomic/icons.js +230 -112
  274. package/build/subatomic/mappedIcons.js +171 -0
  275. package/build/tokens/borderRadius.json +8 -0
  276. package/build/tokens/colors.json +567 -0
  277. package/build/tokens/fonts.json +231 -0
  278. package/build/tokens/index.js +47 -0
  279. package/build/tokens/shadows.json +13 -0
  280. package/build/tokens/spacing.json +16 -0
  281. package/commitlint.config.js +6 -0
  282. package/package.json +124 -113
  283. package/playroom/FrameComponent.js +31 -0
  284. package/playroom/styles.js +14 -0
  285. package/playroom.config.js +7 -7
  286. package/build/Grid/Grid.test.js +0 -22
  287. package/build/Grid/Row/Rowdsd.js +0 -39
  288. package/build/hooks/useEventListener.js +0 -23
  289. package/yarn-error.log +0 -10737
@@ -1,330 +1,466 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireWildcard(require("react"));
10
+ var _react = _interopRequireDefault(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
12
14
  var _reactTextMask = _interopRequireDefault(require("react-text-mask"));
13
15
 
14
- var _classnames10 = _interopRequireDefault(require("classnames"));
15
-
16
- var _Text = _interopRequireDefault(require("../Text"));
17
-
18
16
  var _Icon = _interopRequireDefault(require("../Icon"));
19
17
 
20
18
  var _colors = _interopRequireDefault(require("../subatomic/colors"));
21
19
 
22
20
  var _iconSizes = _interopRequireDefault(require("../subatomic/iconSizes"));
23
21
 
24
- var _styles = _interopRequireDefault(require("./styles"));
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
23
 
26
- var _usePrevious = _interopRequireDefault(require("../hooks/usePrevious"));
24
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
25
 
28
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
26
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
29
27
 
30
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } }
28
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
31
29
 
32
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
30
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
33
31
 
34
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
35
-
36
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
37
-
38
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
39
-
40
- function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
41
-
42
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
43
-
44
- /**
45
- * TextField component that includes all the markup, functions and behaviors to implement any type of input field.
46
- */
47
- var TextField = (0, _react.forwardRef)(function (_ref, ref) {
48
- var className = _ref.className,
49
- valueProp = _ref.valueProp,
50
- disabled = _ref.disabled,
51
- onFocus = _ref.onFocus,
52
- selectOnFocus = _ref.selectOnFocus,
53
- onBlur = _ref.onBlur,
54
- onChange = _ref.onChange,
55
- onKeyUp = _ref.onKeyUp,
56
- onClear = _ref.onClear,
57
- regex = _ref.regex,
58
- iconName = _ref.iconName,
59
- clear = _ref.clear,
60
- type = _ref.type,
61
- inputClassName = _ref.inputClassName,
62
- alignRight = _ref.alignRight,
63
- hjWhitelist = _ref.hjWhitelist,
64
- label = _ref.label,
65
- placeholder = _ref.placeholder,
66
- counter = _ref.counter,
67
- maxLength = _ref.maxLength,
68
- name = _ref.name,
69
- options = _ref.options,
70
- id = _ref.id,
71
- style = _ref.style,
72
- autoFocus = _ref.autoFocus,
73
- error = _ref.error,
74
- assistiveText = _ref.assistiveText,
75
- allowError = _ref.allowError,
76
- lockHeight = _ref.lockHeight,
77
- required = _ref.required,
78
- mask = _ref.mask,
79
- guide = _ref.guide,
80
- disableAutoComplete = _ref.disableAutoComplete;
81
- var classes = (0, _styles["default"])();
82
-
83
- var _useState = (0, _react.useState)('default'),
84
- _useState2 = _slicedToArray(_useState, 2),
85
- status = _useState2[0],
86
- setStatus = _useState2[1];
87
-
88
- var _useState3 = (0, _react.useState)(valueProp || ''),
89
- _useState4 = _slicedToArray(_useState3, 2),
90
- value = _useState4[0],
91
- setValue = _useState4[1];
92
-
93
- var _useState5 = (0, _react.useState)(false),
94
- _useState6 = _slicedToArray(_useState5, 2),
95
- touched = _useState6[0],
96
- setTouched = _useState6[1];
97
-
98
- var _useState7 = (0, _react.useState)(false),
99
- _useState8 = _slicedToArray(_useState7, 2),
100
- showPass = _useState8[0],
101
- setShowPass = _useState8[1];
102
-
103
- var _useState9 = (0, _react.useState)(false),
104
- _useState10 = _slicedToArray(_useState9, 2),
105
- passIconBeingClicked = _useState10[0],
106
- setPassIconBeingClicked = _useState10[1];
107
-
108
- var prevDisabled = (0, _usePrevious["default"])(disabled);
109
- var inputRef = (0, _react.useRef)(null);
110
- (0, _react.useEffect)(function () {
111
- if (valueProp !== value) setValue(valueProp);
112
- if (disabled && !prevDisabled) setStatus('default');
113
- }, [valueProp, disabled, prevDisabled]);
114
- (0, _react.useImperativeHandle)(ref, function () {
115
- return {
116
- focus: function focus() {
117
- return inputRef.current.focus();
118
- },
119
- blur: function blur() {
120
- return inputRef.current.blur();
121
- }
32
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
33
+
34
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
35
+
36
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
37
+
38
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
39
+
40
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
41
+
42
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
43
+
44
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
45
+
46
+ /** TextField component that includes all the markup, functions and behaviors to implement any type of input field. */
47
+ var TextField = /*#__PURE__*/function (_React$Component) {
48
+ _inherits(TextField, _React$Component);
49
+
50
+ var _super = _createSuper(TextField);
51
+
52
+ function TextField(props) {
53
+ var _this;
54
+
55
+ _classCallCheck(this, TextField);
56
+
57
+ _this = _super.call(this, props);
58
+ _this.state = {
59
+ status: 'default',
60
+ value: props.valueProp ? props.valueProp : '',
61
+ touched: false,
62
+ showPass: false,
63
+ passIconBeingClicked: false
122
64
  };
123
- });
124
-
125
- var _onFocus = (0, _react.useCallback)(function (_ref2) {
126
- var target = _ref2.target;
127
- if (selectOnFocus) target.select();
128
- setStatus('focus');
129
- setTouched(true);
130
- if (onFocus) onFocus();
131
- }, [onFocus, selectOnFocus]);
132
-
133
- var _onBlur = (0, _react.useCallback)(function (_ref3) {
134
- var value = _ref3.target.value;
135
- setValue(value);
136
- setStatus('default');
137
- if (onBlur) onBlur(value);
138
- }, [onBlur]);
139
-
140
- var _onChange = (0, _react.useCallback)(function (_ref4) {
141
- var value = _ref4.target.value;
142
- var valid = true;
143
- if (regex) valid = new RegExp(regex).test(value);
144
-
145
- if (valid) {
146
- setValue(value);
147
- if (onChange) onChange(value);
65
+ _this.onFocus = _this.onFocus.bind(_assertThisInitialized(_this));
66
+ _this.onBlur = _this.onBlur.bind(_assertThisInitialized(_this));
67
+ _this.onChange = _this.onChange.bind(_assertThisInitialized(_this));
68
+ _this.onKeyUp = _this.onKeyUp.bind(_assertThisInitialized(_this));
69
+ _this.onClear = _this.onClear.bind(_assertThisInitialized(_this));
70
+ _this.togglePass = _this.togglePass.bind(_assertThisInitialized(_this));
71
+ _this.focusInput = _this.focusInput.bind(_assertThisInitialized(_this));
72
+ _this.outOfPassIcon = _this.outOfPassIcon.bind(_assertThisInitialized(_this));
73
+ _this.setClassName = _this.setClassName.bind(_assertThisInitialized(_this));
74
+ _this.setInputClassName = _this.setInputClassName.bind(_assertThisInitialized(_this));
75
+ return _this;
76
+ }
77
+
78
+ _createClass(TextField, [{
79
+ key: "componentWillMount",
80
+ value: function componentWillMount() {
81
+ var _this$props = this.props,
82
+ input = _this$props.input,
83
+ onRef = _this$props.onRef;
84
+ if (input && input.value) this.setState({
85
+ value: input.value
86
+ });
87
+ if (onRef) onRef(this);
148
88
  }
149
- }, [onChange, regex]);
150
-
151
- var _onKeyUp = (0, _react.useCallback)(function (_ref5) {
152
- var which = _ref5.which,
153
- keyCode = _ref5.keyCode;
154
- if (onKeyUp) onKeyUp(which || keyCode);
155
- }, [onKeyUp]);
156
-
157
- var _onClear = (0, _react.useCallback)(function () {
158
- setValue('');
159
- setStatus('default');
160
- if (onClear) onClear();
161
- }, [onClear]);
162
-
163
- var togglePass = (0, _react.useCallback)(function () {
164
- setShowPass(!showPass);
165
- setPassIconBeingClicked(true);
166
- }, [showPass]);
167
- var focusInput = (0, _react.useCallback)(function () {
168
- setPassIconBeingClicked(false);
169
- inputRef.current.focus();
170
- }, []);
171
- var outOfPassIcon = (0, _react.useCallback)(function () {
172
- return setPassIconBeingClicked(false);
173
- }, []);
174
- var errorStatus = (0, _react.useMemo)(function () {
175
- return error && (touched || allowError) && !passIconBeingClicked;
176
- }, [allowError, error, passIconBeingClicked, touched]);
177
- var realStatus = (0, _react.useMemo)(function () {
178
- return disabled ? 'disabled' : status !== 'focus' && errorStatus ? 'error' : status;
179
- }, [status, disabled, errorStatus]);
180
- var InputType = (0, _react.useMemo)(function () {
181
- return type == 'select' ? 'select' : type == 'textarea' ? 'textarea' : 'input';
182
- }, [type]);
183
-
184
- var _className = (0, _react.useMemo)(function () {
185
- return (0, _classnames10["default"])(classes.container, classes[realStatus], className);
186
- }, [className, classes, realStatus]);
187
-
188
- var _inputClassName = (0, _react.useMemo)(function () {
189
- return (0, _classnames10["default"])(classes.input, _defineProperty({}, classes.hasIcon, iconName), _defineProperty({}, classes.hasClear, clear), _defineProperty({}, classes.alignRight, alignRight), _defineProperty({}, classes.select, type === 'select'), _defineProperty({}, classes.textarea, type === 'textarea'), _defineProperty({}, classes.hasPass, type === 'password'), {
190
- 'data-hj-whitelist': hjWhitelist
191
- }, inputClassName);
192
- }, [alignRight, classes.alignRight, classes.hasClear, classes.hasIcon, classes.hasPass, classes.input, classes.select, classes.textarea, clear, hjWhitelist, iconName, inputClassName, type]);
193
-
194
- var commonProps = (0, _react.useMemo)(function () {
195
- return {
196
- name: name,
197
- id: id,
198
- className: _inputClassName,
199
- value: value,
200
- autoFocus: autoFocus,
201
- maxLength: maxLength,
202
- onFocus: _onFocus,
203
- onBlur: _onBlur,
204
- onChange: _onChange,
205
- onKeyUp: _onKeyUp,
206
- ref: inputRef,
207
- required: required
208
- };
209
- }, [name, id, _inputClassName, value, autoFocus, maxLength, _onFocus, _onBlur, _onChange, _onKeyUp, required]);
210
- var element = (0, _react.useMemo)(function () {
211
- if (disabled) {
212
- if (type === 'select') {
213
- var selectedOption = options.filter(function (option) {
214
- return option.value == value;
89
+ }, {
90
+ key: "componentWillReceiveProps",
91
+ value: function componentWillReceiveProps(props) {
92
+ var input = props.input,
93
+ valueProp = props.valueProp,
94
+ disabled = props.disabled;
95
+ if (input && input.value) this.setState({
96
+ value: input.value
97
+ });else if (valueProp != this.state.value) this.setState({
98
+ value: valueProp
99
+ });
100
+
101
+ if (disabled && !this.props.disabled) {
102
+ this.setState({
103
+ status: 'default'
215
104
  });
216
- var optionLabel;
217
- if (selectedOption.length) optionLabel = selectedOption[0].label;
218
- return _react["default"].createElement("label", {
219
- className: (0, _classnames10["default"])(classes.input, _defineProperty({}, classes.hasIcon, iconName))
220
- }, optionLabel ? optionLabel : value ? value : placeholder);
221
- } else return _react["default"].createElement("label", {
222
- className: (0, _classnames10["default"])(classes.input, _defineProperty({}, classes.textarea, type === 'textarea'), _defineProperty({}, classes.hasIcon, iconName))
223
- }, value ? value : placeholder);
224
- } else if (type === 'select') return _react["default"].createElement(InputType, commonProps, _react["default"].createElement("option", {
225
- value: "",
226
- disabled: true,
227
- hidden: true
228
- }, placeholder), options.map(function (item) {
229
- return item.grouped ? _react["default"].createElement("optgroup", {
230
- key: item.key,
231
- label: item.label,
232
- disabled: item.disabled
233
- }, item.options.map(function (option) {
234
- return _react["default"].createElement("option", {
235
- key: option.value,
236
- value: option.value,
237
- disabled: option.disabled
238
- }, option.label);
239
- })) : _react["default"].createElement("option", {
240
- key: item.value,
241
- value: item.value,
242
- disabled: item.disabled
243
- }, item.label);
244
- }));else if (mask) return _react["default"].createElement(_reactTextMask["default"], _extends({}, commonProps, {
245
- placeholder: placeholder,
246
- type: "text",
247
- mask: mask,
248
- guide: guide
249
- }));else return _react["default"].createElement(InputType, _extends({}, commonProps, {
250
- placeholder: placeholder,
251
- type: type == 'password' && showPass ? 'text' : type
252
- }, disableAutoComplete && {
253
- autoComplete: 'off'
254
- }));
255
- }, [classes.hasIcon, classes.input, classes.textarea, commonProps, disableAutoComplete, disabled, guide, iconName, mask, options, placeholder, showPass, type, value]);
256
- var passIcon = (0, _react.useMemo)(function () {
257
- return disabled ? type !== 'select' ? _react["default"].createElement("div", {
258
- className: classes.passIcon
259
- }, _react["default"].createElement(_Icon["default"], {
260
- iconName: "eye",
261
- width: _iconSizes["default"].small,
262
- height: _iconSizes["default"].small,
263
- colors: [_colors["default"].grey100]
264
- })) : null : type !== 'select' ? _react["default"].createElement("div", {
265
- onMouseDown: togglePass,
266
- onMouseUp: focusInput,
267
- onMouseOut: outOfPassIcon,
268
- className: classes.passIcon
269
- }, _react["default"].createElement(_Icon["default"], {
270
- iconName: "eye",
271
- width: _iconSizes["default"].small,
272
- height: _iconSizes["default"].small,
273
- colors: showPass ? [_colors["default"].grey500] : [_colors["default"].grey200]
274
- })) : null;
275
- }, [classes.passIcon, disabled, focusInput, outOfPassIcon, showPass, togglePass, type]);
276
- return _react["default"].createElement("div", {
277
- className: _className,
278
- style: style
279
- }, (label || lockHeight) && _react["default"].createElement("div", {
280
- className: classes.top
281
- }, label && _react["default"].createElement(_Text["default"], {
282
- small: true,
283
- tag: "label",
284
- disabled: disabled,
285
- className: (0, _classnames10["default"])(classes.label, classes.left)
286
- }, label)), _react["default"].createElement("div", {
287
- className: classes.inputWrap
288
- }, iconName && _react["default"].createElement(_Icon["default"], {
289
- iconName: iconName,
290
- width: _iconSizes["default"].base,
291
- height: _iconSizes["default"].base,
292
- className: classes.icon,
293
- colors: [_colors["default"].grey500]
294
- }), type == 'select' && _react["default"].createElement("div", {
295
- className: classes.selectIcon
296
- }, _react["default"].createElement(_Icon["default"], {
297
- iconName: "arrowDown",
298
- width: _iconSizes["default"].small,
299
- height: _iconSizes["default"].small,
300
- colors: disabled ? [_colors["default"].grey200] : [_colors["default"].grey900]
301
- })), type == 'password' && passIcon, value && clear && _react["default"].createElement("div", {
302
- onClick: _onClear,
303
- className: classes.clear
304
- }, _react["default"].createElement(_Icon["default"], {
305
- iconName: "close"
306
- })), element), (assistiveText || counter && maxLength || lockHeight) && _react["default"].createElement("div", {
307
- className: classes.bottom
308
- }, assistiveText && _react["default"].createElement(_Text["default"], {
309
- small: true,
310
- tag: "label",
311
- disabled: disabled && realStatus !== 'error',
312
- low: !disabled && realStatus !== 'error',
313
- error: !disabled && realStatus === 'error',
314
- className: (0, _classnames10["default"])(classes.label, classes.left)
315
- }, realStatus == 'error' ? _react["default"].createElement(_Icon["default"], {
316
- iconName: "warning",
317
- width: _iconSizes["default"].tiny,
318
- height: _iconSizes["default"].tiny,
319
- className: classes.errorIcon
320
- }) : null, " ", assistiveText), counter && maxLength && _react["default"].createElement(_Text["default"], {
321
- small: true,
322
- tag: "label",
323
- disabled: disabled,
324
- low: !disabled,
325
- className: (0, _classnames10["default"])(classes.label, classes.right)
326
- }, value.length, " / ", maxLength)));
327
- });
105
+ }
106
+ }
107
+ }, {
108
+ key: "componentWillUnmount",
109
+ value: function componentWillUnmount() {
110
+ var onRef = this.props.onRef;
111
+ if (onRef) onRef(undefined);
112
+ }
113
+ }, {
114
+ key: "onFocus",
115
+ value: function onFocus(_ref) {
116
+ var target = _ref.target;
117
+ var _this$props2 = this.props,
118
+ onFocus = _this$props2.onFocus,
119
+ selectOnFocus = _this$props2.selectOnFocus;
120
+ if (selectOnFocus) target.select();
121
+ this.setState({
122
+ status: 'focus',
123
+ touched: true
124
+ });
125
+ if (onFocus) onFocus();
126
+ }
127
+ }, {
128
+ key: "onBlur",
129
+ value: function onBlur(_ref2) {
130
+ var value = _ref2.target.value;
131
+ var _this$props3 = this.props,
132
+ input = _this$props3.input,
133
+ onBlur = _this$props3.onBlur;
134
+ this.setState({
135
+ value: value,
136
+ status: 'default'
137
+ });
138
+ if (onBlur) onBlur(value);
139
+ if (input) input.onBlur(value);
140
+ }
141
+ }, {
142
+ key: "onChange",
143
+ value: function onChange(_ref3) {
144
+ var value = _ref3.target.value;
145
+ var _this$props4 = this.props,
146
+ input = _this$props4.input,
147
+ onChange = _this$props4.onChange,
148
+ regex = _this$props4.regex;
149
+ var valid = true;
150
+ if (regex) valid = new RegExp(regex).test(value);
151
+
152
+ if (valid) {
153
+ this.setState({
154
+ value: value
155
+ });
156
+ if (input) input.onBlur(value);
157
+ if (onChange) onChange(value);
158
+ }
159
+ }
160
+ }, {
161
+ key: "onKeyUp",
162
+ value: function onKeyUp(_ref4) {
163
+ var which = _ref4.which,
164
+ keyCode = _ref4.keyCode;
165
+ var onKeyUp = this.props.onKeyUp;
166
+ if (onKeyUp) onKeyUp(which || keyCode);
167
+ }
168
+ }, {
169
+ key: "onClear",
170
+ value: function onClear() {
171
+ var _this$props5 = this.props,
172
+ input = _this$props5.input,
173
+ onClear = _this$props5.onClear;
174
+ this.setState({
175
+ value: '',
176
+ status: 'default'
177
+ });
178
+ if (onClear) onClear();
179
+ if (input) input.onBlur(value);
180
+ }
181
+ }, {
182
+ key: "togglePass",
183
+ value: function togglePass() {
184
+ var showPass = this.state.showPass;
185
+ this.setState({
186
+ showPass: !showPass,
187
+ passIconBeingClicked: true
188
+ });
189
+ }
190
+ }, {
191
+ key: "focusInput",
192
+ value: function focusInput() {
193
+ this.setState({
194
+ passIconBeingClicked: false
195
+ });
196
+ this.input.focus();
197
+ }
198
+ }, {
199
+ key: "outOfPassIcon",
200
+ value: function outOfPassIcon() {
201
+ this.setState({
202
+ passIconBeingClicked: false
203
+ });
204
+ }
205
+ }, {
206
+ key: "setClassName",
207
+ value: function setClassName(status) {
208
+ var _this$props6 = this.props,
209
+ classes = _this$props6.classes,
210
+ className = _this$props6.className;
211
+ var containerClassName = classes.container + ' ' + classes[status];
212
+ if (className) containerClassName += ' ' + className;
213
+ return containerClassName;
214
+ }
215
+ }, {
216
+ key: "setInputClassName",
217
+ value: function setInputClassName() {
218
+ var _this$props7 = this.props,
219
+ classes = _this$props7.classes,
220
+ iconName = _this$props7.iconName,
221
+ clear = _this$props7.clear,
222
+ type = _this$props7.type,
223
+ inputClassName = _this$props7.inputClassName,
224
+ alignRight = _this$props7.alignRight,
225
+ hjWhitelist = _this$props7.hjWhitelist,
226
+ searchField = _this$props7.searchField;
227
+ var className = classes.input;
228
+ if (searchField) className += " ".concat(classes.searchField);
229
+ if (iconName) className += " ".concat(classes.hasIcon);
230
+ if (searchField && iconName) className += " ".concat(classes.searchFieldHasIcon);
231
+ if (clear) className += " ".concat(classes.hasClear);
232
+ if (alignRight) className += " ".concat(classes.alignRight);
233
+ if (type == 'select') className += " ".concat(classes.select);
234
+ if (type == 'textarea') className += " ".concat(classes.textarea);
235
+ if (type == 'password') className += " ".concat(classes.hasPass);
236
+ if (hjWhitelist) className += ' data-hj-whitelist';
237
+ if (inputClassName) className += " ".concat(inputClassName);
238
+ return className;
239
+ }
240
+ }, {
241
+ key: "setIconColor",
242
+ value: function setIconColor() {
243
+ var _this$state = this.state,
244
+ status = _this$state.status,
245
+ value = _this$state.value,
246
+ touched = _this$state.touched;
247
+ var _this$props8 = this.props,
248
+ disabled = _this$props8.disabled,
249
+ searchField = _this$props8.searchField,
250
+ error = _this$props8.error,
251
+ allowError = _this$props8.allowError;
252
+ if (disabled) return _colors["default"].grey500;
253
+ if (status === 'focus' && searchField) return _colors["default"].prim;
254
+ if (error && (allowError || touched)) return _colors["default"].error;
255
+ if (status !== 'focus' && searchField && value) return _colors["default"].grey900;
256
+ return _colors["default"].grey500;
257
+ }
258
+ }, {
259
+ key: "render",
260
+ value: function render() {
261
+ var _this2 = this;
262
+
263
+ var _this$state2 = this.state,
264
+ status = _this$state2.status,
265
+ value = _this$state2.value,
266
+ touched = _this$state2.touched,
267
+ showPass = _this$state2.showPass,
268
+ passIconBeingClicked = _this$state2.passIconBeingClicked;
269
+ var _this$props9 = this.props,
270
+ classes = _this$props9.classes,
271
+ input = _this$props9.input,
272
+ meta = _this$props9.meta,
273
+ label = _this$props9.label,
274
+ placeholder = _this$props9.placeholder,
275
+ counter = _this$props9.counter,
276
+ maxLength = _this$props9.maxLength,
277
+ type = _this$props9.type,
278
+ name = _this$props9.name,
279
+ options = _this$props9.options,
280
+ id = _this$props9.id,
281
+ style = _this$props9.style,
282
+ disabled = _this$props9.disabled,
283
+ autoFocus = _this$props9.autoFocus,
284
+ error = _this$props9.error,
285
+ assistiveText = _this$props9.assistiveText,
286
+ clear = _this$props9.clear,
287
+ iconName = _this$props9.iconName,
288
+ allowError = _this$props9.allowError,
289
+ lockHeight = _this$props9.lockHeight,
290
+ required = _this$props9.required,
291
+ mask = _this$props9.mask,
292
+ guide = _this$props9.guide,
293
+ inputMode = _this$props9.inputMode,
294
+ disableAutoComplete = _this$props9.disableAutoComplete,
295
+ pattern = _this$props9.pattern,
296
+ searchField = _this$props9.searchField,
297
+ testId = _this$props9.testId;
298
+ var realStatus = status;
299
+ var InputType = type == 'select' ? 'select' : type == 'textarea' ? 'textarea' : 'input';
300
+ var errorStatus = meta && meta.error && (meta.touched || allowError) || error && (touched || allowError) && !passIconBeingClicked;
301
+ if (disabled) realStatus = 'disabled';else if (status != 'focus' && errorStatus) realStatus = 'error';else if (status !== 'focus' && searchField && value) realStatus = 'filled';
302
+ var element, passIcon;
303
+ var commonProps = {
304
+ name: name,
305
+ id: id,
306
+ className: this.setInputClassName(),
307
+ value: input && input.value ? input.value : value,
308
+ autoFocus: autoFocus,
309
+ maxLength: maxLength,
310
+ onFocus: this.onFocus,
311
+ onBlur: this.onBlur,
312
+ onChange: this.onChange,
313
+ onKeyUp: this.onKeyUp,
314
+ ref: function ref(_ref5) {
315
+ _this2.input = _ref5;
316
+ },
317
+ required: required,
318
+ pattern: pattern,
319
+ inputMode: inputMode,
320
+ 'data-testid': testId
321
+ };
322
+
323
+ if (disabled) {
324
+ if (type == 'select') {
325
+ var selectedOption = options.filter(function (option) {
326
+ return option.value == value;
327
+ });
328
+ var optionLabel;
329
+
330
+ if (selectedOption.length) {
331
+ optionLabel = selectedOption[0].label;
332
+ }
333
+
334
+ element = /*#__PURE__*/_react["default"].createElement("label", {
335
+ className: "".concat(classes.input).concat(iconName ? " ".concat(classes.hasIcon) : '')
336
+ }, /*#__PURE__*/_react["default"].createElement("div", {
337
+ className: "".concat(classes.inputDisabled, " ").concat(classes.hasRightIcon)
338
+ }, input && input.value ? input.value : optionLabel ? optionLabel : value ? value : placeholder));
339
+ } else {
340
+ element = /*#__PURE__*/_react["default"].createElement("label", {
341
+ className: "".concat(classes.input).concat(type == 'textarea' ? " ".concat(classes.textarea) : '').concat(iconName ? " ".concat(classes.hasIcon) : '')
342
+ }, /*#__PURE__*/_react["default"].createElement("div", {
343
+ className: classes.inputDisabled
344
+ }, input && input.value ? input.value : value ? value : placeholder));
345
+ }
346
+
347
+ passIcon = /*#__PURE__*/_react["default"].createElement("div", {
348
+ className: classes.passIcon
349
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
350
+ iconName: "eyeClosed",
351
+ width: _iconSizes["default"].small,
352
+ height: _iconSizes["default"].small,
353
+ colors: [_colors["default"].grey200]
354
+ }));
355
+ } else if (type == 'select') {
356
+ element = /*#__PURE__*/_react["default"].createElement(InputType, commonProps, /*#__PURE__*/_react["default"].createElement("option", {
357
+ value: "",
358
+ disabled: true,
359
+ hidden: true
360
+ }, placeholder), options.map(function (item) {
361
+ if (item.grouped) {
362
+ return /*#__PURE__*/_react["default"].createElement("optgroup", {
363
+ key: item.key,
364
+ label: item.label,
365
+ disabled: item.disabled
366
+ }, item.options.map(function (option) {
367
+ return /*#__PURE__*/_react["default"].createElement("option", _extends({
368
+ key: option.value,
369
+ value: option.value,
370
+ disabled: option.disabled
371
+ }, testId && {
372
+ 'data-testid': "".concat(testId, "__item-").concat(item.value)
373
+ }), option.label);
374
+ }));
375
+ } else {
376
+ return /*#__PURE__*/_react["default"].createElement("option", _extends({
377
+ key: item.value,
378
+ value: item.value,
379
+ disabled: item.disabled
380
+ }, testId && {
381
+ 'data-testid': "".concat(testId, "__item-").concat(item.value)
382
+ }), item.label);
383
+ }
384
+ }));
385
+ } else if (mask) {
386
+ element = /*#__PURE__*/_react["default"].createElement(_reactTextMask["default"], _extends({}, commonProps, {
387
+ placeholder: placeholder,
388
+ type: type == 'password' && showPass ? 'text' : type
389
+ }, disableAutoComplete && {
390
+ autoComplete: 'off'
391
+ }, {
392
+ mask: mask,
393
+ guide: guide
394
+ }));
395
+ } else {
396
+ element = /*#__PURE__*/_react["default"].createElement(InputType, _extends({}, commonProps, {
397
+ placeholder: placeholder,
398
+ type: type == 'password' && showPass ? 'text' : type
399
+ }, disableAutoComplete && {
400
+ autoComplete: 'off'
401
+ }));
402
+ passIcon = /*#__PURE__*/_react["default"].createElement("div", {
403
+ onMouseDown: this.togglePass,
404
+ onMouseUp: this.focusInput,
405
+ onMouseOut: this.outOfPassIcon,
406
+ className: classes.passIcon
407
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
408
+ iconName: showPass ? 'eye' : 'eyeClosed',
409
+ width: _iconSizes["default"].small,
410
+ height: _iconSizes["default"].small,
411
+ colors: showPass ? [_colors["default"].grey900] : [_colors["default"].grey400]
412
+ }));
413
+ }
414
+
415
+ return /*#__PURE__*/_react["default"].createElement("div", {
416
+ className: this.setClassName(realStatus),
417
+ style: style
418
+ }, (label || lockHeight) && /*#__PURE__*/_react["default"].createElement("div", {
419
+ className: classes.top
420
+ }, label && /*#__PURE__*/_react["default"].createElement("label", {
421
+ className: "".concat(classes.label, " ").concat(classes.left)
422
+ }, label)), /*#__PURE__*/_react["default"].createElement("div", {
423
+ className: classes.inputWrap
424
+ }, iconName && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
425
+ iconName: iconName,
426
+ width: _iconSizes["default"].small,
427
+ height: _iconSizes["default"].small,
428
+ className: classes.icon,
429
+ colors: [this.setIconColor()]
430
+ }), type == 'select' && /*#__PURE__*/_react["default"].createElement("div", {
431
+ className: classes.selectIcon
432
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
433
+ iconName: "arrowDown",
434
+ width: _iconSizes["default"].small,
435
+ height: _iconSizes["default"].small,
436
+ colors: disabled ? [_colors["default"].grey200] : [_colors["default"].grey900]
437
+ })), type == 'password' && passIcon, value && clear && /*#__PURE__*/_react["default"].createElement("div", _extends({
438
+ onClick: this.onClear,
439
+ className: classes.clear
440
+ }, testId && {
441
+ 'data-testid': "".concat(testId, "__container-close-icon")
442
+ }), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
443
+ iconName: "close",
444
+ width: _iconSizes["default"].small,
445
+ height: _iconSizes["default"].small
446
+ })), element), (assistiveText || counter && maxLength || lockHeight) && /*#__PURE__*/_react["default"].createElement("div", {
447
+ className: classes.bottom
448
+ }, assistiveText && /*#__PURE__*/_react["default"].createElement("label", {
449
+ className: "".concat(classes.label, " ").concat(classes.left, " ").concat(realStatus == 'error' ? classes.errorAssistiveText : classes.assistiveText)
450
+ }, realStatus == 'error' ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
451
+ iconName: "warningSolid",
452
+ width: _iconSizes["default"].tiny,
453
+ height: _iconSizes["default"].tiny,
454
+ className: classes.errorIcon
455
+ }) : null, ' ', assistiveText), counter && maxLength && /*#__PURE__*/_react["default"].createElement("label", {
456
+ className: "".concat(classes.label, " ").concat(classes.right, " ").concat(classes.counter)
457
+ }, value.length, " / ", maxLength)));
458
+ }
459
+ }]);
460
+
461
+ return TextField;
462
+ }(_react["default"].Component);
463
+
328
464
  TextField.defaultProps = {
329
465
  type: 'text',
330
466
  counter: false,
@@ -337,6 +473,8 @@ TextField.defaultProps = {
337
473
  hjWhitelist: true
338
474
  };
339
475
  TextField.propTypes = {
476
+ classes: _propTypes["default"].object,
477
+
340
478
  /** Type of the input. Use any of the following types: text, email, password, textarea, select, date, number, search, file. */
341
479
  type: _propTypes["default"].string,
342
480
 
@@ -388,6 +526,9 @@ TextField.propTypes = {
388
526
  /** Boolean to show or hide the full mask while writing. */
389
527
  guide: _propTypes["default"].bool,
390
528
 
529
+ /** The type of input the field will receive, to show the right keyboard in mobile. */
530
+ inputMode: _propTypes["default"].oneOf(['none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url']),
531
+
391
532
  /** Disables native autoComplete on browsers. */
392
533
  disableAutoComplete: _propTypes["default"].bool,
393
534
 
@@ -412,6 +553,9 @@ TextField.propTypes = {
412
553
  /** Function to call after clicking the 'x' icon shown by the 'clear' property. */
413
554
  onClear: _propTypes["default"].func,
414
555
 
556
+ /** Function to call when you need to call the input by a reference. */
557
+ onRef: _propTypes["default"].func,
558
+
415
559
  /** Array of objects with options in case you set the 'type' property as 'select'. Each option must have a value and a label. You can group the options. */
416
560
  options: _propTypes["default"].array,
417
561
 
@@ -434,7 +578,16 @@ TextField.propTypes = {
434
578
  alignRight: _propTypes["default"].bool,
435
579
  id: _propTypes["default"].string,
436
580
  className: _propTypes["default"].string,
437
- style: _propTypes["default"].object
581
+ style: _propTypes["default"].object,
582
+
583
+ /** Regular expression to validate the input content. */
584
+ pattern: _propTypes["default"].string,
585
+
586
+ /** Size of the TextField. */
587
+ searchField: _propTypes["default"].bool,
588
+
589
+ /** The testId property adds the data attribute data-testid to the main element and should be used for testing only. */
590
+ testId: _propTypes["default"].string
438
591
  };
439
592
  var _default = TextField;
440
593
  exports["default"] = _default;