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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (284) hide show
  1. package/.prettierrc +6 -0
  2. package/.whitesource +12 -0
  3. package/CHANGELOG.md +1276 -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 +123 -62
  27. package/build/Button/Button.test.js +67 -18
  28. package/build/Button/Loading.js +89 -0
  29. package/build/Button/__snapshots__/Button.test.js.snap +334 -0
  30. package/build/Button/index.js +22 -1
  31. package/build/Button/styles.js +176 -160
  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 +65 -21
  96. package/build/Icon/Icon.test.js +47 -56
  97. package/build/Icon/__snapshots__/Icon.test.js.snap +26 -0
  98. package/build/Icon/index.js +22 -1
  99. package/build/Icon/styles.js +2 -5
  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 +10 -10
  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 +22 -18
  116. package/build/NavAside/NavAside.test.js +12 -12
  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 +31 -19
  120. package/build/NavItem/NavItem.js +29 -16
  121. package/build/NavTab/NavTab.js +36 -29
  122. package/build/NavTop/NavTop.js +20 -16
  123. package/build/OrderBy/OrderBy.js +23 -19
  124. package/build/OrderBy/OrderBy.test.js +6 -6
  125. package/build/OrderBy/__snapshots__/OrderBy.test.js.snap +54 -0
  126. package/build/Pager/Break/Break.js +1 -1
  127. package/build/Pager/Break/Break.test.js +4 -4
  128. package/build/Pager/Break/__snapshots__/Break.test.js.snap +13 -0
  129. package/build/Pager/Page/Page.js +1 -1
  130. package/build/Pager/Page/Page.test.js +5 -5
  131. package/build/Pager/Page/__snapshots__/Page.test.js.snap +27 -0
  132. package/build/Pager/Pager.js +21 -17
  133. package/build/Pager/Pager.test.js +12 -12
  134. package/build/Pager/__snapshots__/Pager.test.js.snap +50 -0
  135. package/build/Pager/styles.js +1 -1
  136. package/build/Pill/Choice/Choice.js +23 -18
  137. package/build/Pill/Choice/styles.js +8 -3
  138. package/build/Pill/Group/Group.js +7 -4
  139. package/build/Pill/Group/styles.js +7 -4
  140. package/build/Pill/Pill.js +36 -23
  141. package/build/Pill/Pill.test.js +12 -12
  142. package/build/Pill/Stack/Stack.js +10 -7
  143. package/build/Pill/Stack/styles.js +4 -1
  144. package/build/Pill/__snapshots__/Pill.test.js.snap +62 -0
  145. package/build/Pill/styles.js +6 -2
  146. package/build/Placeholder/Placeholder.js +2 -2
  147. package/build/Placeholder/Placeholder.test.js +3 -3
  148. package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +130 -0
  149. package/build/Placeholder/styles.js +23 -16
  150. package/build/Radio/Radio.js +29 -15
  151. package/build/Radio/Radio.test.js +6 -6
  152. package/build/Radio/__snapshots__/Radio.test.js.snap +83 -0
  153. package/build/RangeCounter/RangeCounter.js +17 -13
  154. package/build/RangeCounter/RangeCounter.test.js +3 -3
  155. package/build/RangeCounter/__snapshots__/RangeCounter.test.js.snap +20 -0
  156. package/build/RangeCounter/styles.js +1 -1
  157. package/build/Row/Row.js +1 -1
  158. package/build/Row/Row.test.js +2 -2
  159. package/build/Row/__snapshots__/Row.test.js.snap +22 -0
  160. package/build/SightLogo/SightLogo.js +2 -2
  161. package/build/SightLogo/SightLogo.test.js +2 -2
  162. package/build/SightLogo/__snapshots__/SightLogo.test.js.snap +24 -0
  163. package/build/SlideDown/SlideDown.js +37 -26
  164. package/build/SlideDown/SlideDown.test.js +9 -9
  165. package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +42 -0
  166. package/build/SlideToggle/SlideToggle.js +31 -17
  167. package/build/SlideToggle/SlideToggle.test.js +7 -7
  168. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +62 -0
  169. package/build/SubHeader/SubHeader.js +20 -16
  170. package/build/SubHeader/SubHeader.test.js +7 -7
  171. package/build/SubHeader/__snapshots__/SubHeader.test.js.snap +50 -0
  172. package/build/SwitchGroup/SwitchGroup.js +17 -13
  173. package/build/SwitchGroup/SwitchGroup.test.js +6 -6
  174. package/build/SwitchGroup/__snapshots__/SwitchGroup.test.js.snap +52 -0
  175. package/build/SwitchGroup/styles.js +1 -1
  176. package/build/Tag/Tag.js +27 -10
  177. package/build/Tag/Tag.test.js +8 -8
  178. package/build/Tag/__snapshots__/Tag.test.js.snap +137 -0
  179. package/build/Tag/styles.js +72 -27
  180. package/build/Text/Text.js +30 -15
  181. package/build/Text/Text.test.js +8 -8
  182. package/build/Text/__snapshots__/Text.test.js.snap +158 -0
  183. package/build/Text/styles.js +32 -23
  184. package/build/TextField/TextField.js +455 -302
  185. package/build/TextField/TextField.test.js +138 -146
  186. package/build/TextField/__snapshots__/TextField.test.js.snap +258 -0
  187. package/build/TextField/index.js +6 -1
  188. package/build/TextField/styles.js +99 -33
  189. package/build/Tip/Tip.js +91 -27
  190. package/build/Tip/Tip.test.js +5 -5
  191. package/build/Tip/__snapshots__/Tip.test.js.snap +49 -0
  192. package/build/Tip/styles.js +32 -12
  193. package/build/Title/Title.js +16 -12
  194. package/build/Title/Title.test.js +3 -3
  195. package/build/Title/__snapshots__/Title.test.js.snap +31 -0
  196. package/build/Toaster/Toast/Toast.js +11 -11
  197. package/build/Toaster/Toaster.js +27 -23
  198. package/build/Toaster/Toaster.test.js +6 -6
  199. package/build/Toaster/__snapshots__/Toaster.test.js.snap +5 -0
  200. package/build/Tooltip/Tooltip.js +210 -0
  201. package/build/Tooltip/Tooltip.test.js +35 -0
  202. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +33 -0
  203. package/build/Tooltip/hooks.js +132 -0
  204. package/build/Tooltip/index.js +18 -0
  205. package/build/Tooltip/styles.js +44 -0
  206. package/build/TourTip/TourTip.js +15 -11
  207. package/build/TourTip/TourTip.test.js +2 -2
  208. package/build/TourTip/__snapshots__/TourTip.test.js.snap +74 -0
  209. package/build/Visible/Visible.js +16 -12
  210. package/build/Visible/Visible.test.js +4 -4
  211. package/build/Visible/__snapshots__/Visible.test.js.snap +3 -0
  212. package/build/WindowSize/WindowSize.js +17 -11
  213. package/build/WindowSize/WindowSize.test.js +4 -4
  214. package/build/WindowSize/__snapshots__/WindowSize.test.js.snap +3 -0
  215. package/build/index.js +79 -8
  216. package/build/plugin/babel.js +59 -0
  217. package/build/subatomic/colors.js +8 -3
  218. package/build/subatomic/fonts.js +1 -1
  219. package/build/subatomic/icons/attachment.js +23 -0
  220. package/build/subatomic/icons/attachmentSolid.js +23 -0
  221. package/build/subatomic/icons/avatarSmile.js +23 -0
  222. package/build/subatomic/icons/book.js +23 -0
  223. package/build/subatomic/icons/cash.js +23 -0
  224. package/build/subatomic/icons/copy.js +23 -0
  225. package/build/subatomic/icons/copySolid.js +23 -0
  226. package/build/subatomic/icons/crossSolid.js +23 -0
  227. package/build/subatomic/icons/dislike.js +1 -1
  228. package/build/subatomic/icons/dislikeSolid.js +23 -0
  229. package/build/subatomic/icons/energy.js +23 -0
  230. package/build/subatomic/icons/energySolid.js +23 -0
  231. package/build/subatomic/icons/eye.js +1 -1
  232. package/build/subatomic/icons/eyeClosed.js +1 -1
  233. package/build/subatomic/icons/eyeClosedSolid.js +23 -0
  234. package/build/subatomic/icons/eyeSolid.js +23 -0
  235. package/build/subatomic/icons/hourGlass.js +23 -0
  236. package/build/subatomic/icons/like.js +1 -1
  237. package/build/subatomic/icons/likeSolid.js +23 -0
  238. package/build/subatomic/icons/location.js +23 -0
  239. package/build/subatomic/icons/locationSolid.js +23 -0
  240. package/build/subatomic/icons/matchJob.js +23 -0
  241. package/build/subatomic/icons/messages.js +1 -1
  242. package/build/subatomic/icons/messagesSolid.js +1 -1
  243. package/build/subatomic/icons/moreOptionsHorizontal.js +23 -0
  244. package/build/subatomic/icons/noMessages.js +23 -0
  245. package/build/subatomic/icons/noMessagesSolid.js +23 -0
  246. package/build/subatomic/icons/occDart.js +23 -8
  247. package/build/subatomic/icons/occHorizontal.js +23 -8
  248. package/build/subatomic/icons/occLogo.js +63 -0
  249. package/build/subatomic/icons/occVertical.js +23 -8
  250. package/build/subatomic/icons/profile.js +23 -0
  251. package/build/subatomic/icons/profileSolid.js +23 -0
  252. package/build/subatomic/icons/profileView.js +23 -0
  253. package/build/subatomic/icons/refresh.js +23 -0
  254. package/build/subatomic/icons/refreshSolid.js +23 -0
  255. package/build/subatomic/icons/sendMessage.js +23 -0
  256. package/build/subatomic/icons/sendMessageSolid.js +23 -0
  257. package/build/subatomic/icons/starsSolid.js +23 -0
  258. package/build/subatomic/icons/suitcase.js +23 -0
  259. package/build/subatomic/icons/suitcaseSolid.js +23 -0
  260. package/build/subatomic/icons/tag.js +1 -1
  261. package/build/subatomic/icons/tagSolid.js +23 -0
  262. package/build/subatomic/icons/trash.js +1 -1
  263. package/build/subatomic/icons/trashSolid.js +1 -1
  264. package/build/subatomic/icons/warning.js +23 -0
  265. package/build/subatomic/icons/warningSolid.js +23 -0
  266. package/build/subatomic/icons/webSite.js +23 -0
  267. package/build/subatomic/icons/webSiteSolid.js +23 -0
  268. package/build/subatomic/icons.js +230 -112
  269. package/build/tokens/borderRadius.json +8 -0
  270. package/build/tokens/colors.json +567 -0
  271. package/build/tokens/fonts.json +231 -0
  272. package/build/tokens/index.js +47 -0
  273. package/build/tokens/shadows.json +13 -0
  274. package/build/tokens/spacing.json +16 -0
  275. package/commitlint.config.js +6 -0
  276. package/package.json +124 -113
  277. package/playroom/FrameComponent.js +31 -0
  278. package/playroom/styles.js +14 -0
  279. package/playroom.config.js +7 -7
  280. package/build/Grid/Grid.test.js +0 -22
  281. package/build/Grid/Row/Rowdsd.js +0 -39
  282. package/build/hooks/useEventListener.js +0 -23
  283. package/build/hooks/usePrevious.js +0 -19
  284. package/yarn-error.log +0 -10737
@@ -0,0 +1,24 @@
1
+ # Contributing
2
+
3
+ If you want to contribute to this project, you can do it in the following ways:
4
+ - Report bugs or ask for new features in the [issue tracker](https://github.com/OCCMundial/occ-atomic/issues).
5
+ - Send pull requests.
6
+ - Star the project.
7
+ - Share the project with others.
8
+
9
+ This project is using `semantic-release` for its automatic releases. It's following the [Angular Commit Message Conventions](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format), so make sure you follow them using this format in your commit messages:
10
+ ```
11
+ <type>: <summary>
12
+ ```
13
+
14
+ The type must be one of the following:
15
+ - **build**: Changes that affect the build system or external dependencies (new dependencies, babel or typescript configuration, etc.)
16
+ - **ci**: Changes to our CI configuration files and scripts (Github Actions, scripts, husky hooks, etc.)
17
+ - **docs**: Documentation only changes
18
+ - **feat**: A new feature
19
+ - **fix**: A bug fix
20
+ - **perf**: A code change that improves performance
21
+ - **refactor**: A code change that neither fixes a bug nor adds a feature
22
+ - **test**: Adding missing tests or correcting existing tests
23
+
24
+ The summary is in present tense. Not capitalized. No period at the end.
package/README.md CHANGED
@@ -1,21 +1,21 @@
1
- # [OCC-Atomic](https://occmundial.github.io/occ-atomic) • [![npm version](https://badge.fury.io/js/%40occmundial%2Focc-atomic.svg)](https://badge.fury.io/js/%40occmundial%2Focc-atomic)
2
-
3
- To see the live version and demo of this project click here:
4
- https://occmundial.github.io/occ-atomic
5
-
6
- This library contains a collection of shareable styled React components, ready to use for the applications developed by OCC.
7
-
8
- ## Instalation and usage
9
- To install this library, use the next command:
10
- ```
11
- // With npm
12
- npm install --save @occmundial/occ-atomic
13
- // With yarn
14
- yarn add @occmundial/occ-atomic
15
- ```
16
- To use its components, you just have to import them like this:
17
- ```
18
- import { Button } from '@occmundial/occ-atomic';
19
- ```
20
- For more details, check how to implement each component in the live demo:
21
- https://occmundial.github.io/occ-atomic
1
+ # [OCC-Atomic](https://occmundial.github.io/occ-atomic) • [![npm version](https://badge.fury.io/js/%40occmundial%2Focc-atomic.svg)](https://badge.fury.io/js/%40occmundial%2Focc-atomic) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
2
+
3
+ To see the live version and demo of this project click here:
4
+ https://occmundial.github.io/occ-atomic
5
+
6
+ This library contains a collection of shareable styled React components, ready to use for the applications developed by OCC.
7
+
8
+ ## Instalation and usage
9
+ To install this library, use the next command:
10
+ ```
11
+ // With npm
12
+ npm install --save @occmundial/occ-atomic
13
+ // With yarn
14
+ yarn add @occmundial/occ-atomic
15
+ ```
16
+ To use its components, you just have to import them like this:
17
+ ```
18
+ import { Button } from '@occmundial/occ-atomic';
19
+ ```
20
+ For more details, check how to implement each component in the live demo:
21
+ https://occmundial.github.io/occ-atomic
@@ -1,139 +1,233 @@
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
 
14
+ var _classAutobind = _interopRequireDefault(require("class-autobind"));
15
+
12
16
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
13
17
 
14
- var _classnames = _interopRequireDefault(require("classnames"));
18
+ var _idx = _interopRequireDefault(require("idx"));
15
19
 
16
20
  var _TextField = _interopRequireDefault(require("../TextField"));
17
21
 
18
22
  var _Droplist = _interopRequireDefault(require("../Droplist"));
19
23
 
20
- var _styles = _interopRequireDefault(require("./styles"));
21
-
22
- var _usePrevious = _interopRequireDefault(require("../hooks/usePrevious"));
23
-
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
25
 
26
- 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; } }
27
-
28
26
  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); }
29
27
 
30
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
31
-
32
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
33
-
34
- 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; }
35
-
36
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
-
38
- /**
39
- * This component integrates the TextField and Droplist components.
40
- * The value of TextField filters the list in Droplist.
41
- */
42
- var Autocomplete = function Autocomplete(props) {
43
- var textfieldProps = props.textfieldProps,
44
- droplistProps = props.droplistProps,
45
- onChange = props.onChange,
46
- onFocus = props.onFocus,
47
- onBlur = props.onBlur,
48
- onKeyUp = props.onKeyUp,
49
- onClear = props.onClear,
50
- onMouseDown = props.onMouseDown,
51
- onEnter = props.onEnter,
52
- id = props.id,
53
- className = props.className,
54
- style = props.style;
55
- var classes = (0, _styles["default"])(props);
56
-
57
- var _useState = (0, _react.useState)(textfieldProps.valueProp || ''),
58
- _useState2 = _slicedToArray(_useState, 2),
59
- value = _useState2[0],
60
- setValue = _useState2[1];
61
-
62
- var _useState3 = (0, _react.useState)(false),
63
- _useState4 = _slicedToArray(_useState3, 2),
64
- focus = _useState4[0],
65
- setFocus = _useState4[1];
66
-
67
- var autocompleteRef = (0, _react.useRef)(null);
68
- var textfieldRef = (0, _react.useRef)(null);
69
- var prevTextfieldProps = (0, _usePrevious["default"])(textfieldProps) || {};
70
- (0, _react.useEffect)(function () {
71
- if (textfieldProps.valueProp !== prevTextfieldProps.valueProp) setValue(textfieldProps.valueProp);
72
- }, [textfieldProps.valueProp, prevTextfieldProps.valueProp]);
73
-
74
- var _onChange = (0, _react.useCallback)(function (value) {
75
- setValue(value);
76
- setFocus(true);
77
- if (onChange) onChange(value);
78
- }, [onChange]);
79
-
80
- var _onFocus = (0, _react.useCallback)(function () {
81
- setFocus(true);
82
- if (onFocus) onFocus();
83
- }, [onFocus]);
84
-
85
- var _onBlur = (0, _react.useCallback)(function () {
86
- setFocus(false);
87
- if (onBlur) onBlur();
88
- }, [onBlur]);
89
-
90
- var _onKeyUp = (0, _react.useCallback)(function (key) {
91
- if (onKeyUp) onKeyUp(key);
92
- }, [onKeyUp]);
93
-
94
- var _onClear = (0, _react.useCallback)(function () {
95
- setValue('');
96
- if (onClear) onClear();
97
- }, [onClear]);
98
-
99
- var _onMouseDown = (0, _react.useCallback)(function (item) {
100
- setValue(item[droplistProps.itemTextKey]);
101
- setFocus(false);
102
- if (onChange) onChange(item[droplistProps.itemTextKey]);
103
- if (onMouseDown) onMouseDown(item);
104
- }, [droplistProps.itemTextKey, onChange, onMouseDown]);
105
-
106
- var _onEnter = (0, _react.useCallback)(function (item) {
107
- setValue(item[droplistProps.itemTextKey]);
108
- setFocus(false);
109
- if (onChange) onChange(item[droplistProps.itemTextKey]);
110
- if (onEnter) onEnter(item);
111
- }, [droplistProps.itemTextKey, onChange, onEnter]);
112
-
113
- return _react["default"].createElement("div", {
114
- className: (0, _classnames["default"])(classes.autoComplete, className),
115
- id: id,
116
- style: style,
117
- ref: autocompleteRef
118
- }, _react["default"].createElement(_TextField["default"], _extends({}, textfieldProps, {
119
- ref: textfieldRef,
120
- onChange: _onChange,
121
- onFocus: _onFocus,
122
- onBlur: _onBlur,
123
- onKeyUp: _onKeyUp,
124
- onClear: _onClear,
125
- valueProp: value
126
- })), value && focus && droplistProps.items && _react["default"].createElement(_Droplist["default"], _extends({}, droplistProps, {
127
- items: (0, _cloneDeep["default"])(droplistProps.items),
128
- term: value,
129
- onMouseDown: _onMouseDown,
130
- onEnter: _onEnter,
131
- isOnFocus: true,
132
- className: (0, _classnames["default"])(classes.droplist, droplistProps.className)
133
- })));
134
- };
28
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
29
+
30
+ 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
+
32
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
33
+
34
+ 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); }
35
+
36
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
37
+
38
+ 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); }; }
39
+
40
+ 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); }
41
+
42
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
43
+
44
+ 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; } }
45
+
46
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
47
+
48
+ /**
49
+ * This component integrates the TextField and Droplist components.
50
+ * The value of TextField filters the list in Droplist.
51
+ */
52
+ var Autocomplete = /*#__PURE__*/function (_React$Component) {
53
+ _inherits(Autocomplete, _React$Component);
54
+
55
+ var _super = _createSuper(Autocomplete);
56
+
57
+ function Autocomplete(props) {
58
+ var _this;
59
+
60
+ _classCallCheck(this, Autocomplete);
61
+
62
+ _this = _super.call(this, props);
63
+ (0, _classAutobind["default"])(_assertThisInitialized(_this));
64
+ _this.state = {
65
+ value: (0, _idx["default"])(props, function (_) {
66
+ return _.textfieldProps.valueProp;
67
+ }) || '',
68
+ focus: false,
69
+ labels: []
70
+ };
71
+ return _this;
72
+ }
73
+
74
+ _createClass(Autocomplete, [{
75
+ key: "componentWillMount",
76
+ value: function componentWillMount() {
77
+ var onRef = this.props.onRef;
78
+ if (onRef) onRef(this);
79
+ }
80
+ }, {
81
+ key: "componentWillReceiveProps",
82
+ value: function componentWillReceiveProps(props) {
83
+ if ((0, _idx["default"])(props, function (_) {
84
+ return _.textfieldProps.valueProp;
85
+ }) !== (0, _idx["default"])(this.props, function (_) {
86
+ return _.textfieldProps.valueProp;
87
+ })) {
88
+ this.setState({
89
+ value: props.textfieldProps.valueProp
90
+ });
91
+ }
92
+ }
93
+ }, {
94
+ key: "componentWillUnmount",
95
+ value: function componentWillUnmount() {
96
+ var onRef = this.props.onRef;
97
+ if (onRef) onRef(undefined);
98
+ }
99
+ }, {
100
+ key: "onChange",
101
+ value: function onChange(value) {
102
+ var onChange = this.props.onChange;
103
+ this.setState({
104
+ value: value,
105
+ focus: true
106
+ });
107
+ if (onChange) onChange(value);
108
+ }
109
+ }, {
110
+ key: "onFocus",
111
+ value: function onFocus() {
112
+ var onFocus = this.props.onFocus;
113
+ this.setState({
114
+ focus: true
115
+ });
116
+ if (onFocus) onFocus();
117
+ }
118
+ }, {
119
+ key: "onBlur",
120
+ value: function onBlur() {
121
+ var onBlur = this.props.onBlur;
122
+ this.setState({
123
+ focus: false
124
+ });
125
+ if (onBlur) onBlur();
126
+ }
127
+ }, {
128
+ key: "onKeyUp",
129
+ value: function onKeyUp(key) {
130
+ var onKeyUp = this.props.onKeyUp;
131
+ if (onKeyUp) onKeyUp(key);
132
+ }
133
+ }, {
134
+ key: "onClear",
135
+ value: function onClear() {
136
+ var onClear = this.props.onClear;
137
+ this.setState({
138
+ value: ''
139
+ });
140
+ if (onClear) onClear();
141
+ }
142
+ }, {
143
+ key: "onMouseDown",
144
+ value: function onMouseDown(item) {
145
+ var _this$props = this.props,
146
+ onMouseDown = _this$props.onMouseDown,
147
+ onChange = _this$props.onChange,
148
+ droplistProps = _this$props.droplistProps;
149
+ this.setState({
150
+ value: item[droplistProps.itemTextKey],
151
+ focus: false
152
+ });
153
+ if (onChange) onChange(item[droplistProps.itemTextKey]);
154
+ if (onMouseDown) onMouseDown(item);
155
+ }
156
+ }, {
157
+ key: "onEnter",
158
+ value: function onEnter(item) {
159
+ var _this$props2 = this.props,
160
+ onEnter = _this$props2.onEnter,
161
+ onChange = _this$props2.onChange,
162
+ droplistProps = _this$props2.droplistProps;
163
+ this.setState({
164
+ value: item[droplistProps.itemTextKey],
165
+ focus: false
166
+ });
167
+ if (onChange) onChange(item[droplistProps.itemTextKey]);
168
+ if (onEnter) onEnter(item);
169
+ }
170
+ }, {
171
+ key: "forceValue",
172
+ value: function forceValue(value) {
173
+ this.setState({
174
+ value: value
175
+ });
176
+ }
177
+ }, {
178
+ key: "setRef",
179
+ value: function setRef(input) {
180
+ if (input) this.input = input;
181
+ }
182
+ }, {
183
+ key: "render",
184
+ value: function render() {
185
+ var _this2 = this;
186
+
187
+ var _this$state = this.state,
188
+ value = _this$state.value,
189
+ focus = _this$state.focus;
190
+ var _this$props3 = this.props,
191
+ classes = _this$props3.classes,
192
+ id = _this$props3.id,
193
+ textfieldProps = _this$props3.textfieldProps,
194
+ droplistProps = _this$props3.droplistProps,
195
+ className = _this$props3.className,
196
+ style = _this$props3.style,
197
+ showInitialData = _this$props3.showInitialData;
198
+ var showDropList = showInitialData ? focus && droplistProps.items : value && focus && droplistProps.items;
199
+ return /*#__PURE__*/_react["default"].createElement("div", {
200
+ className: "".concat(classes.autoComplete).concat(className ? " ".concat(className) : ''),
201
+ id: id,
202
+ style: style,
203
+ ref: function ref(_ref) {
204
+ _this2.autocomplete = _ref;
205
+ }
206
+ }, /*#__PURE__*/_react["default"].createElement(_TextField["default"], _extends({}, textfieldProps, {
207
+ onRef: this.setRef,
208
+ onChange: this.onChange,
209
+ onFocus: this.onFocus,
210
+ onBlur: this.onBlur,
211
+ onKeyUp: this.onKeyUp,
212
+ onClear: this.onClear,
213
+ valueProp: value
214
+ })), showDropList && /*#__PURE__*/_react["default"].createElement(_Droplist["default"], _extends({}, droplistProps, {
215
+ items: (0, _cloneDeep["default"])(droplistProps.items),
216
+ term: value,
217
+ onMouseDown: this.onMouseDown,
218
+ onEnter: this.onEnter,
219
+ isOnFocus: true,
220
+ className: "".concat(classes.droplist).concat(droplistProps.className ? " ".concat(droplistProps.className) : '')
221
+ })));
222
+ }
223
+ }]);
224
+
225
+ return Autocomplete;
226
+ }(_react["default"].Component);
135
227
 
136
228
  Autocomplete.propTypes = {
229
+ classes: _propTypes["default"].object,
230
+
137
231
  /** Object with the props for the TextField component. Check their descriptions in the TextField docs. */
138
232
  textfieldProps: _propTypes["default"].shape({
139
233
  id: _propTypes["default"].string,
@@ -148,7 +242,8 @@ Autocomplete.propTypes = {
148
242
  valueProp: _propTypes["default"].string,
149
243
  className: _propTypes["default"].string,
150
244
  inputClassName: _propTypes["default"].string,
151
- disabled: _propTypes["default"].bool
245
+ disabled: _propTypes["default"].bool,
246
+ testId: _propTypes["default"].string
152
247
  }).isRequired,
153
248
 
154
249
  /** Object with the props for the Droplist component. Check their descriptions in the Droplist docs. */
@@ -162,7 +257,8 @@ Autocomplete.propTypes = {
162
257
  groupNameKey: _propTypes["default"].string,
163
258
  groupItemsKey: _propTypes["default"].string,
164
259
  className: _propTypes["default"].string,
165
- filter: _propTypes["default"].bool
260
+ filter: _propTypes["default"].bool,
261
+ testId: _propTypes["default"].string
166
262
  }).isRequired,
167
263
 
168
264
  /** Function to call on change (TextField). */
@@ -188,12 +284,16 @@ Autocomplete.propTypes = {
188
284
  disableAutoComplete: _propTypes["default"].bool,
189
285
  id: _propTypes["default"].string,
190
286
  className: _propTypes["default"].string,
191
- style: _propTypes["default"].object
287
+ style: _propTypes["default"].object,
288
+
289
+ /** Shows dropList if it has initial data. */
290
+ showInitialData: _propTypes["default"].bool
192
291
  };
193
292
  Autocomplete.defaultProps = {
194
293
  textfieldProps: {},
195
294
  droplistProps: {},
196
- disableAutoComplete: false
295
+ disableAutoComplete: false,
296
+ showInitialData: false
197
297
  };
198
298
  var _default = Autocomplete;
199
299
  exports["default"] = _default;